+
    "Ý³jW&  ã                  óÄ  € ^ RI Ht ^ RIHt ^ RIt^ RIt^ RIt^ RIHtH	t	H
t
 ]! RR7       ! R R4      4       tR	 R
 ltR?R R llt]! . RNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNR NR!NR"NR#NR$NR%NR&NR'NR(NR)NR*NR+NR,NR-N4      tR@tR. R/ ltR0 R1 lt]! ]P(                  P+                  R24      4      tR3 R4 ltR5R6/R7 R8 lltR9RR:R>R;RR5R6/R< R= lltR# )Aé    )Úannotations)Ú	dataclassN)ÚCallableÚOptionalÚTupleT)Úfrozenc                  ó~   € ] tR t^t$ RtR]R&   R]R&   R]R&   R]R&   R]R&   R]R	&   R]R
&   RtR]R&   RtR]R&   RtR# )ÚRenderBackendStatezESnapshot of the output backend capabilities for a single render pass.ÚintÚcolumnsÚlinesÚboolÚis_ttyÚnotebookÚsupports_cursorÚsupports_ansiÚsupports_stylingFÚsupports_symbolsÚheadless© N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__annotations__r   r   Ú__static_attributes__r   ó    ÚP/home/luca/screen-checking/.venv/lib/python3.14/site-packages/logbar/terminal.pyr
   r
      s@   ‡ áOàƒLØƒJØƒLØƒNØÓØÓØÓØ"Ð�dÓ"Ø€Hˆd×r   r
   c               ó$   € V ^8„  d   QhRRRRRR/# )é   ÚstreamúOptional[object]Úfallbackútuple[int, int]ÚreturnzOptional[tuple[int, int]]r   )Úformats   "r   Ú__annotate__r(       s(   € ÷ Dñ DÐ"2ð D¸oð DÐRkñ Dr   c                ó�  € V e   T M\         P                  p \        VRR4      p\        T4      '       g   R#  \        P                  ! T! 4       4      pTP                  ;'       g
    T^ ,          TP                  ;'       g
    T^,          3#   \        \        \
        3 d     R# i ; i  \        \        \
        3 d     R# i ; i)zFQuery terminal size from a specific stream when it exposes `fileno()`.NÚfileno)ÚsysÚstdoutÚgetattrÚAttributeErrorÚOSErrorÚ
ValueErrorÚcallableÚosÚget_terminal_sizer   r   )r"   r$   Útargetr*   Úsizes   &&   r   Ú_stream_terminal_sizer6       s°   € ð Ò)‰V¬s¯z©z€FðÜ˜ ¨4Ó0ˆô �F×ÒÙðÜ×#Ò#¡F£HÓ-ˆð �L‰L×'Ð'˜H Q�K¨¯©×)BÐ)B°xÀµ{ÐCÐCøô œG¤ZÐ0ô Úðûô œG¤ZÐ0ô Úðús"   ˜B ¹B+ ÂB(Â'B(Â+CÃCc               ó   € V ^8„  d   QhRR/# )r!   r"   r#   r   )r'   s   "r   r(   r(   2   s   € ÷ ;6ñ ;6Ð-=ñ ;6r   c                óÔ  € Ve   TM\         P                  p\        VRR4      p \        V4      '       d   V! 4       '       g   MH\	        W 4      pVe9   \        ^ \        V^ ,          4      4      \        ^ \        V^,          4      4      3#  ^ p^ p \        \        P                  R,          4      p \        \        P                  R,          4      pV^ 8:  g   V^ 8:  d`    \        P                  ! V 4      pV^ 8:  d   VP                  ;'       g
    V ^ ,          pV^ 8:  d   VP                   ;'       g
    V ^,          p\        ^ \        V4      4      \        ^ \        V4      4      3#   \        \        \        3 d     Lõi ; i  \        \        3 d     Lçi ; i  \        \        3 d     LÝi ; i  \        \        3 d$    T^ 8:  d
   T ^ ,          pT^ 8:  d
   T ^,          p L§i ; i)av  Get the size of the terminal window.

When ``stream`` reports itself as a TTY, the active terminal is queried
directly through its file descriptor (``os.get_terminal_size``) so that
stale ``COLUMNS``/``LINES`` environment variables do not override a resized
terminal. This matters for multiplexers such as tmux/screen, where the
shell may inherit an old window size.

If ``stream`` is not a TTY or its file descriptor cannot be queried,
``shutil.get_terminal_size`` is used. That helper will fall back to the
``COLUMNS``/``LINES`` environment variables and finally to the supplied
fallback tuple.

If the terminal size cannot be successfully queried, either because
the system doesn't support querying, or because we are not
connected to a terminal, the value given in fallback parameter
is used. Fallback defaults to (80, 24) which is the default
size used by many terminal emulators.
NÚisattyÚCOLUMNSÚLINES)r+   r,   r-   r1   r6   Úmaxr   r.   r/   r0   r2   ÚenvironÚKeyErrorÚshutilr3   r   r   )r$   r"   r4   r9   r5   r   r   Úquerieds   &&      r   Úterminal_sizerA   2   sµ  € ð* Ò)‰V¬s¯z©z€Fä�V˜X tÓ,€FðÜ�F×Ò¡F§H¢HØä(¨Ó:ˆDØÒÜ˜Aœs 4¨¥7›|Ó,¬c°!´S¸¸a½³\Ó.BÐCÐCð  ð
 €GØ€EðÜ”b—j‘j Õ+Ó,ˆðÜ”B—J‘J˜wÕ'Ó(ˆð �!„|�u ”zð
	$Ü×.Ò.¨xÓ8ˆGØ˜!Œ|Ø!Ÿ/™/×8Ð8¨X°a­[�Ø˜ŒzØŸ™×4Ð4¨°!­�ô �”3�w“<Ó ¤# a¬¨U«Ó"4Ð5Ð5øô9 œG¤ZÐ0ô Ùðûô ”jÐ!ô Ùðûô
 ”jÐ!ô Ùðûô œÐ$ô 	$Ø˜!Œ|Ø" 1�+�Ø˜ŒzØ  ��ùð		$úsZ   ¥E) ÁAE) Â F Â2 F Ã!/F3 Ä#F3 Ä5
F3 Å)FÆFÆFÆFÆF0Æ/F0Æ31G'Ç&G'ÚCIÚCI_NAMEÚBUILD_IDÚ	BUILDKITEÚTEAMCITY_VERSIONÚTF_BUILDÚJENKINS_URLÚCIRCLECIÚTRAVISÚGITHUB_ACTIONSÚ	GITLAB_CIÚAGENTÚAI_AGENTÚAGENT_IDÚSMITHERYÚAIDERÚ
CODEX_HOMEÚCODEX_SQLITE_HOMEÚCODEX_API_KEYÚCODEX_ACCESS_TOKENÚCODEX_NON_INTERACTIVEÚDEVIN_OUTPOST_SESSION_IDÚDEVIN_OUTPOST_CONNECT_TOKENÚDEVIN_OUTPOST_GATEWAY_URLÚDEVIN_REMOTE_AUTH_TOKENÚDEVIN_REMOTE_STATE_DIRÚDEVIN_PTY_BRIDGE_PORTÚJPY_PARENT_PIDÚIPYKERNEL_PARENT_PIDÚJUPYTER_SERVER_URIÚKAGGLE_KERNEL_RUN_TYPEÚ	COLAB_GPUÚCOLAB_BACKEND_VERSIONc               ó    € V ^8„  d   QhRRRR/# )r!   r"   r#   r&   r   r   )r'   s   "r   r(   r(   ¥   s   € ÷ 
ñ 
Ð+ð 
°ñ 
r   c                ó´   € V e   T M\         P                  p\        VRR4      p\        V4      '       g   R#  \	        V! 4       4      #   \
         d     R# i ; i)zEBest-effort check whether ``stream`` is connected to a real terminal.Nr9   F)r+   r,   r-   r1   r   Ú	Exception)r"   r4   r9   s   &  r   Ú_is_stream_ttyrf   ¥   sS   € ð Ò)‰V¬s¯z©z€FÜ�V˜X tÓ,€FÜ�F×ÒÙðÜ‘F“H‹~ÐøÜô Úðús   ¸A ÁAÁAc               ó    € V ^8„  d   QhRRRR/# )r!   ÚnameÚstrr&   r   r   )r'   s   "r   r(   r(   ²   s   € ÷ 8ñ 8˜Cð 8 Dñ 8r   c                ó„   € \         P                  P                  V R4      P                  4       P	                  4       pVR9  # )zEReturn True when ``name`` is set to a non-empty, non-disabling value.Ú >   rk   Ú0ÚnoÚoffÚfalse)r2   r=   ÚgetÚstripÚlower)rh   Úvalues   & r   Ú_env_flag_enabledrt   ²   s6   € ô �J‰J�N‰N˜4 Ó$×*Ñ*Ó,×2Ñ2Ó4€EØÐ7Ñ7Ð7r   ÚPYTEST_XDIST_WORKERc               ó   € V ^8„  d   QhRR/# )r!   r&   r   r   )r'   s   "r   r(   r(   ¾   s   € ÷ Dñ D˜tñ Dr   c                 óê   € \         '       d   R# \        P                  '       d/   \        \        P                  ^ ,          4      P	                  4       MRp R\
        P                  9   ;'       g    RV 9   # )z:Best-effort detection for pytest-driven terminal sessions.Trk   ÚPYTEST_CURRENT_TESTÚpytest)Ú_PYTEST_XDIST_WORKERr+   Úargvri   rr   r2   r=   )Úargv0s    r   Ú_running_under_pytestr}   ¾   sN   € ÷ ÓÙä(+¯¯¨ŒC”—‘˜•Ó×"Ñ"Ô$°b€EØ ¤B§J¡JÑ.×CÐC°(¸eÑ2CÐCr   r   Fc               ó    € V ^8„  d   QhRRRR/# )r!   r   r   r&   r   )r'   s   "r   r(   r(   È   s   € ÷ !ñ !¨$ð !¸4ñ !r   c                óª  a€ \         P                  oSP                  RR4      P                  4       P	                  4       R
9  d   R# SP                  RR4      P                  4       P	                  4       R
9  d   R# \        4       '       d   R# V '       d   R# \        ;QJ d#    V3R l\         4       F  '       g   K   RM	  RM! V3R l\         4       4      '       d   R# \        ;QJ d    R S 4       F  '       g   K   RM	  RM! R S 4       4      '       d   R# SP                  RR4      P                  4       P	                  4       R	8X  d   R# R# )a_  Detect non-interactive, AI-agent, notebook, or CI environments.

Headless detection is intentionally disabled while LogBar is running under
pytest so that the test suite can continue to assert against rendered
output. Callers can force redrawing with ``LOGBAR_FORCE_PROGRESS=1`` or
disable this heuristic with ``LOGBAR_DISABLE_HEADLESS_DETECTION=1``.
ÚLOGBAR_FORCE_PROGRESSrk   FÚ!LOGBAR_DISABLE_HEADLESS_DETECTIONTc              3  ó,   <"  € T F	  qS9   x € K  	  R # 5i©Nr   )Ú.0rh   Úenvs   & €r   Ú	<genexpr>Ú+_is_headless_environment.<locals>.<genexpr>à   s   øé € Ð
6Ñ#5˜4�3Ž;Ó#5ùs   ƒc              3  óJ   "  € T F  qP                  \        4      x € K  	  R # 5irƒ   )Ú
startswithÚ_HEADLESS_ENV_PREFIXES)r„   Úkeys   & r   r†   r‡   ã   s   é € Ð
A¹S°c�>‰>Ô0×1Ð1»Sùs   ‚!#ÚTERMÚdumb>   rk   rl   rm   rn   ro   )r2   r=   rp   rq   rr   r}   ÚanyÚ_HEADLESS_ENV_VARS)r   r…   s   $@r   Ú_is_headless_environmentr�   È   së   ø€ ô �*‰*€Cà
‡w�wÐ&¨Ó+×1Ñ1Ó3×9Ñ9Ó;ÐCbÔbÙà
‡w�wÐ2°BÓ7×=Ñ=Ó?×EÑEÓGÐOnÔnÙô ×ÒÙçÙç
ƒsÔ
6Õ#5Ó
6‡s‡s‚sÔ
6Õ#5Ó
6×6Ò6Ùç
ƒsÑ
A¹SÓ
A‡s‡s‚sÑ
A¹SÓ
A×AÒAÙà
‡w�wˆv�rÓ× Ñ Ó"×(Ñ(Ó*¨fÔ4Ùár   r"   r$   Úsize_providerc          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r!   r"   r#   r$   r%   r‘   z'Optional[Callable[[], Tuple[int, int]]]r   r   r&   r
   r   )r'   s   "r   r(   r(   ì   sC   € ÷ Kñ KàðKð ðKð ;ð	Kð
 ðKð ñKr   c                ó`  aaaa€ V e   T M\         P                  oT;'       g    VV3R lpV! 4       w  rV\        S4      p\        P                  oSP                  RR4      P                  4       P                  4       pSP                  RR4      p	\        V	P                  4       4      p
0 Rmo\        ;QJ d     VV3R lR 4       F  '       g   K   RM	  RM! VV3R lR 4       4      pRS9   ;'       g2    SP                  R	R4      P                  4       P                  4       S9  pVR
8H  ;'       d    V'       * pT;'       g    T
pV'       d   RpM
V
'       d   RpRpV'       g   V'       g   V'       g   T;'       g    TpRpV'       g   T;'       g    T;'       g    Tp\        VR7      pV'       d   RpV'       g   RpRpV'       d   RpT;'       d    \        R4      ;'       g    \        S4      p\        \        ^ \        V4      4      \        ^ \        V4      4      VVVVVVVR7	      # )zCResolve size and capability flags for the active rendering backend.c                 ó   <€ \        S SR 7      # ))r$   r"   )rA   )r$   r4   s   €€r   Ú<lambda>Ú&render_backend_state.<locals>.<lambda>ö   s   ø€ ¬ÀÐQWÕ)Xr   rŒ   rk   ÚLOGBAR_FORCE_TERMINAL_CURSORc              3  ó†   <"  € T F6  pSP                  VR 4      P                  4       P                  4       S9  x € K8  	  R# 5i)rk   N)rp   rq   rr   )r„   rh   Ú_disabled_valuesr…   s   & €€r   r†   Ú'render_backend_state.<locals>.<genexpr>  s;   øé € ð áJˆDð 	�‰��bÓ×ÑÓ!×'Ñ'Ó)Ð1AÖAÛJùs   ƒ>ATFÚNO_COLORÚANSI_COLORS_DISABLEDr�   )r   ÚLOGBAR_FORCE_SYMBOL_PREFIX)	r   r   r   r   r   r   r   r   r   >   rk   rl   rm   rn   ro   )ÚLOGBAR_FORCE_ANSIÚCLICOLOR_FORCEÚFORCE_COLOR)r+   r,   rf   r2   r=   rp   rq   rr   r   rŽ   r�   rt   r
   r<   r   )r"   r$   r‘   r   Úproviderr   r   r   Ú
term_valueÚforce_cursor_valueÚforce_cursorÚ
force_ansiÚdisable_stylingÚraw_ansi_blockedr   r   r   r   r   r™   r…   r4   s   $d$$               @@@r   Úrender_backend_stater¨   ì   sÿ  û€ ð Ò)‰V¬s¯z©z€FØ×YÐYÕ!X€HÙ“Z�N€Gä˜FÓ#€Fä
�*‰*€CØ—‘˜ Ó$×*Ñ*Ó,×2Ñ2Ó4€JØŸ™Ð!?ÀÓDÐÜÐ*×0Ñ0Ó2Ó3€Lâ6Ðß“õ áJó——’õ áJóó €Jð
 	�cÑ÷ 	Wð 	WØ�7‰7Ð)¨2Ó.×4Ñ4Ó6×<Ñ<Ó>ÐFVÑVð ð " VÑ+×>Ð>°J´Ðà×,Ð, €OßØ‰ß	Øˆà€MßŸO×4DØ"×,Ð, fˆàÐßØ#×;Ð; z×;Ð;°VÐä'°Ô:€H÷ ØˆßØ!ˆMØ$Ð÷ Ø$Ðð %÷ ð ÜÐ6Ó7×QÐQ¼>È&Ó;Qð ô Ü�A”s˜7“|Ó$Ü�!”S˜“ZÓ ØØØ'Ø#Ø)Ø)Øô
ð 
r   ©éP   é   )r©   N)ÚDEVIN_ÚCODEX_Ú	SMITHERY_ÚAIDER_ÚCLAUDE_Ú
ANTHROPIC_ÚCOPILOT_Ú__COG_)Ú
__future__r   Údataclassesr   r2   r?   r+   Útypingr   r   r   r
   r6   rA   Ú	frozensetr�   rŠ   rf   rt   r   r=   rp   rz   r}   r�   r¨   r   r   r   Ú<module>r¸      s  ðõ #å !Û 	Û Û 
ß ,Ñ ,ñ �$Ô÷ð ó ðõD÷$;6ñ@ ð"Øð"àð"ð 	ð"ð 	ð	"ð
 	ð"ð 	ð"ð 	ð"ð 	ð"ð 	ð"ð 	ð"ð 	ð"ð 	ð"ð 	ð"ð 	ð"ð 	ð"ð  	ð!"ð" 	ð#"ð$ 	ð%"ð& 	ð'"ð( 	ð)"ð* 	 ð+"ð, 	#ð-"ð. 	&ð/"ð0 	$ð1"ð2 	"ð3"ð4 	!ð5"ð6 	 ð7"ð8 	ð9"ð: 	ð;"ð< 	ð="ð> 	!ð?"ð@ 	ðA"ðB 	 ðC"ó$Ð ðN	Ð õ
õ8ñ ˜BŸJ™JŸN™NÐ+@ÓAÓBÐ õDð!°÷ !ðHKà#ðKð !)ðKð >Bð	Kð
 ÷Kñ Kr   