+
    LV-jËv  ã                  ó¤  € R t ^ RIHt ^ RIHt ^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHt ^RIHt ^RIHt ^R	IHt ^R
IHt ^RIHt ^RIHt ^RIHt ^RIHt ^RI H!t! ]PD                  ! R4      t# ! R R]PH                  4      t%R R lt&]	PN                  R8X  d   Rt(Rt)MRt(Rt) ! R R]PT                  ]#,          4      t+ ! R R]PX                  4      t-R9R R llt.]P^                  R9R  R! ll4       t0]P^                  R9R" R# ll4       t1]P^                  R9R$ R% ll4       t2 ! R& R'4      t3]P^                  R9R( R) ll4       t4 ! R* R+4      t5R:R, R- llt6R. R/ lt7]Pp                  R08X  d"   ^ RI9t9]P^                  R1 R2 l4       t:R3 R4 lt;R# ^ RI<t<^ RI=t=]P^                  R5 R6 l4       t:R7 R8 lt;R# );z¿
This module contains implementations for the termui module. To keep the
import time of Click down, some infrequently used functionality is
placed in this module and only imported as needed.
)ÚannotationsN)Úgettext)ÚStringIO)ÚPath)ÚTracebackType)Ú_default_text_stdout)ÚCYGWIN)Úget_best_encoding)Úisatty)Ú
strip_ansi)Úterm_len)ÚWIN)ÚClickException)ÚechoÚVc                  ó"   € ] tR t^$t$ R]R&   RtR# )Ú_BufferedTextPagerStreamú
t.BinaryIOÚbuffer© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotations__Ú__static_attributes__r   ó    Úc/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/click/_termui_impl.pyr   r   $   s   ‡ Ø×r   r   c               ó    € V ^8„  d   QhRRRR/# )é   Ústreamzt.BinaryIO | t.TextIOÚreturnz%t.TypeGuard[_BufferedTextPagerStream]r   )Úformats   "r   Ú__annotate__r#   (   s   € ÷ 7ñ 7Ø!ð7à*ñ7r   c                ó    € \        V R R4      RJ# )r   N)Úgetattr©r    s   &r   Ú_has_binary_bufferr'   (   s   € ô
 �6˜8 TÓ*°$Ð6Ð6r   ÚntÚÚ
z[?25lz[?25h
c                  ó   € ] tR t^8tR)R R lltR R ltR R ltR R	 ltR
 R ltR R lt	]
R R l4       t]
R R l4       t]
R R l4       tR R ltR R ltR R ltR R ltR R ltR R ltR  R! ltR*R" R# lltR$ R% ltR& R' ltR(tR# )+ÚProgressBarNc          "     ó\   € V ^8„  d   QhRRRRRRRRRRR	RR
RRRRRRRRRRRRRRRRRRRRR/# )r   Úiterablezcabc.Iterable[V] | NoneÚlengthz
int | NoneÚ	fill_charÚstrÚ
empty_charÚbar_templateÚinfo_sepÚhiddenÚboolÚshow_etaÚshow_percentúbool | NoneÚshow_posÚitem_show_funcz)t.Callable[[V | None], str | None] | NoneÚlabelú
str | NoneÚfilezt.TextIO | NoneÚcolorÚupdate_min_stepsÚintÚwidthr!   ÚNoner   )r"   s   "r   r#   ÚProgressBar.__annotate__9   sÈ   € ÷ E+ñ E+à)ðE+ð ðE+ð ð	E+ð
 ðE+ð ðE+ð ðE+ð ðE+ð ðE+ð "ðE+ð ðE+ð BðE+ð ðE+ð ðE+ð ðE+ð  ð!E+ð" ð#E+ð$ 
ñ%E+r   c                	óØ  € W0n         W@n        WPn        W`n        Wpn        W€n        W�n        W n        W°n        T;'       g    R V n	        Vf   \        4       pVf   \        4       pWÐn        Wàn        Wðn        ^ V n        VV n        V^ 8H  V n        Vf   ^ RIHp V! VR4      pVR8X  d   RpVf0   Vf   \)        R4      h\*        P,                  ! R\/        V4      4      p\1        V4      V n        W n        ^ V n        . V n        V  V  \8        P8                  ! 4       ;V n        V n        RV n        RV n         RV n!        RV n"        RV n#        \I        V P                  4      V n%        RV n&        R# )Ú N)Úlength_hintziterable or length is requiredzcabc.Iterable[V]Féÿÿÿÿ)'r0   r2   r3   r4   r5   r7   r8   r:   r;   r<   r   r   r>   r?   r@   Ú_completed_intervalsrB   Ú	autowidthÚoperatorrG   Ú	TypeErrorÚtÚcastÚrangeÚiterr/   ÚposÚavgÚtimeÚstartÚlast_etaÚ	eta_knownÚfinishedÚ	max_widthÚenteredÚcurrent_itemr
   Ú_is_attyÚ
_last_line)Úselfr.   r/   r0   r2   r3   r4   r5   r7   r8   r:   r;   r<   r>   r?   r@   rB   rG   s   &&&&&&&&&&&&&&&&& r   Ú__init__ÚProgressBar.__init__9   sE  € ð& #ŒØ$ŒØ(ÔØ ŒØŒØ ŒØ(ÔØ ŒØ,ÔØŸ+˜+ 2ˆŒ
àŠ<Ü'Ó)ˆDð Š|Ü“z�àŒ	ØŒ
Ø 0ÔØ$%ˆÔ!ØˆŒ
Ø$¨™zˆŒàŠ>Ý,á  ¨2Ó.ˆFà˜Œ|Ø�ØÒØŠ~ÜÐ @ÓAÐAÜ—v’vÐ0´%¸³-Ó@ˆHÜ&*¨8£nˆŒ	ØŒØˆŒØ "ˆŒÙÙÜ%)§Y¢Y£[Ð0ˆŒ
�T”]Ø$ˆŒØ#ˆŒØ%)ˆŒØ"ˆŒØ&*ˆÔÜ˜tŸy™yÓ)ˆŒØ&*ˆŽr   c               ó   € V ^8„  d   QhRR/# )r   r!   zProgressBar[V]r   )r"   s   "r   r#   rD   €   s   € ÷ ñ ˜>ñ r   c                	ó4   € R V n         V P                  4        V # )T)rY   Úrender_progress©r]   s   &r   Ú	__enter__ÚProgressBar.__enter__€   s   € ØˆŒØ×ÑÔØˆr   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r   Úexc_typeztype[BaseException] | NoneÚ	exc_valuezBaseException | NoneÚtbzTracebackType | Noner!   rC   r   )r"   s   "r   r#   rD   …   s2   € ÷ ñ à,ðð (ðð !ð	ð
 
ñr   c                	ó&   € V P                  4        R # ©N)Úrender_finish)r]   rg   rh   ri   s   &&&&r   Ú__exit__ÚProgressBar.__exit__…   s   € ð 	×ÑÖr   c               ó   € V ^8„  d   QhRR/# ©r   r!   zcabc.Iterator[V]r   )r"   s   "r   r#   rD   �   s   € ÷  ñ  Ð*ñ  r   c                	ó|   € V P                   '       g   \        R 4      hV P                  4        V P                  4       # )ú.You need to use progress bars in a with block.)rY   ÚRuntimeErrorrb   Ú	generatorrc   s   &r   Ú__iter__ÚProgressBar.__iter__�   s0   € Ø�|�|ˆ|ÜÐOÓPÐPØ×ÑÔØ�~‰~ÓÐr   c               ó   € V ^8„  d   QhRR/# )r   r!   r   r   )r"   s   "r   r#   rD   “   s   € ÷  ñ  ˜!ñ  r   c                	ó*   € \        \        V 4      4      # rk   )ÚnextrP   rc   s   &r   Ú__next__ÚProgressBar.__next__“   s   € ô ”D˜“JÓÐr   c               ó   € V ^8„  d   QhRR/# ©r   r!   rC   r   )r"   s   "r   r#   rD   ›   s   € ÷ ñ ˜tñ r   c                	óÄ   € V P                   '       g   V P                  '       g   R # V P                  P                  \        4       V P                  P                  4        R # rk   )r5   r[   r>   ÚwriteÚ	AFTER_BARÚflushrc   s   &r   rl   ÚProgressBar.render_finish›   s4   € Ø�;�;ˆ;˜dŸmŸm˜mÙØ�	‰	�‰œ	Ô"Ø�	‰	�‰Ör   c               ó   € V ^8„  d   QhRR/# ©r   r!   Úfloatr   )r"   s   "r   r#   rD   ¢   s   € ÷ Cñ C�Uñ Cr   c                	ó²   € V P                   '       d   R # \        V P                  \        V P                  ;'       g    ^4      ;'       g    ^,          R 4      # )ç      ð?)rW   ÚminrQ   r…   r/   rc   s   &r   ÚpctÚProgressBar.pct¡   s=   € à�=�=ˆ=ÙÜ�4—8‘8œu T§[¡[×%5Ð%5°AÓ6×;Ð;¸!Õ<¸cÓBÐBr   c               ó   € V ^8„  d   QhRR/# r„   r   )r"   s   "r   r#   rD   ¨   s   € ÷ 4ñ 4 Eñ 4r   c                	óš   € V P                   '       g   R # \        V P                   4      \        \        V P                   4      4      ,          # )ç        )rR   Úsumr…   Úlenrc   s   &r   Útime_per_iterationÚProgressBar.time_per_iteration§   s.   € à�x�xˆxÙÜ�4—8‘8‹}œu¤S¨¯©£]Ó3Õ3Ð3r   c               ó   € V ^8„  d   QhRR/# r„   r   )r"   s   "r   r#   rD   ®   s   € ÷ ñ �Uñ r   c                	ó¢   € V P                   eA   V P                  '       g/   V P                  V P                   V P                  ,
          ,          # R# )Nr�   )r/   rW   r�   rQ   rc   s   &r   ÚetaÚProgressBar.eta­   s5   € à�;‰;Ò"¨4¯=¯=¨=Ø×*Ñ*¨d¯k©k¸D¿H¹HÕ.DÕEÐEÙr   c               ó   € V ^8„  d   QhRR/# ©r   r!   r1   r   )r"   s   "r   r#   rD   ³   s   € ÷ ñ ˜Cñ r   c                	ó&  € V P                   '       d   \        V P                  4      pV^<,          pV^<,          pV^<,          pV^<,          pV^,          pV^,          pV^ 8”  d    RP                  V\	        R4      VVVR7      # VR RVR RVR 2# R# )é<   z#{d}{day_label} {h:02}:{m:02}:{s:02}Úd)rš   Ú	day_labelÚhÚmÚsÚ02Ú:rF   )rV   rA   r”   r"   Ú_)r]   rM   ÚsecondsÚminutesÚhourss   &    r   Ú
format_etaÚProgressBar.format_eta³   s£   € Ø�>�>ˆ>Ü�D—H‘H“ˆAØ˜"•fˆGØ�"�HˆAØ˜"•fˆGØ�"�HˆAØ˜•FˆEØ�"�HˆAØ�1ŒuØ<×CÑCØÜ ›fØØØð Dó ð ð   ˜ 1 W¨R L°°'¸"°Ð>Ð>Ùr   c               ó   € V ^8„  d   QhRR/# r—   r   )r"   s   "r   r#   rD   È   s   € ÷ ñ ˜Cñ r   c                	óx   € \        V P                  4      pV P                  e   VRV P                   2,          pV# )NÚ/)r1   rQ   r/   )r]   rQ   s   & r   Ú
format_posÚProgressBar.format_posÈ   s3   € Ü�$—(‘(‹mˆØ�;‰;Ò"Ø�Q�t—{‘{�mÐ$Õ$ˆCØˆ
r   c               ó   € V ^8„  d   QhRR/# r—   r   )r"   s   "r   r#   rD   Î   s   € ÷ 0ñ 0˜Cñ 0r   c                	óP   € \        V P                  ^d,          4      R R2R,          # )éd   z 4Ú%ºé   NN)rA   r‰   rc   s   &r   Ú
format_pctÚProgressBar.format_pctÎ   s$   € Ü�d—h‘h •nÓ% bÐ)¨Ð+¨BÕ/Ð/r   c               ó   € V ^8„  d   QhRR/# r—   r   )r"   s   "r   r#   rD   Ñ   s   € ÷ ñ ˜Cñ r   c                	ó¾  € V P                   ef   \        V P                  V P                  ,          4      pV P                  V,          pW P
                  V P                  V,
          ,          ,          pV# V P                  '       d    V P                  V P                  ,          pV# \        V P
                  V P                  ;'       g    ^,          4      pV P                  ^ 8w  dg   V P                  V\        \        P                  ! V P                  V P                  ,          4      R,          R,           V P                  ,          4      &   RP                  V4      pV# )Ng       @g      à?rF   )r/   rA   r‰   rB   r0   r2   rW   Úlistr�   ÚmathÚcosrQ   Újoin)r]   Ú
bar_lengthÚbarÚcharss   &   r   Ú
format_barÚProgressBar.format_barÑ   s  € Ø�;‰;Ò"Ü˜TŸX™X¨¯
©
Õ2Ó3ˆJØ—.‘. :Õ-ˆCØ—?‘? d§j¡j°:Õ&=Õ>Õ>ˆCð ˆ
ð �]�]ˆ]Ø—.‘. 4§:¡:Õ-ˆCð ˆ
ô ˜Ÿ™¨D¯J©J¯O¨O¸!Õ<Ó=ˆEØ×&Ñ&¨!Ô+ð —N‘Nð ÜÜŸš $§(¡(¨T×-DÑ-DÕ"DÓEÈÕKÈcÕQØŸ*™*õ%óñð —'‘'˜%“.ˆCØˆ
r   c               ó   € V ^8„  d   QhRR/# r—   r   )r"   s   "r   r#   rD   ä   s   € ÷ ñ  cñ r   c           	     	óê  € V P                   p. pV P                  e   Vf   V P                  '       * pV P                  '       d    VP                  V P	                  4       4       V'       d    VP                  V P                  4       4       V P                  '       dD   V P                  '       d2   V P                  '       g    VP                  V P                  4       4       V P                  e1   V P                  V P                  4      pVe   VP                  V4       V P                  RV P                  RV P                  4       RV P                  P!                  V4      /,          P#                  4       # )Nr<   r»   Úinfo)r8   r/   r:   Úappendrª   r²   r7   rV   rW   r¥   r;   rZ   r3   r<   r½   r4   r¹   Úrstrip)r]   r8   Ú	info_bitsÚ	item_infos   &   r   Úformat_progress_lineÚ ProgressBar.format_progress_lineä   s  € Ø×(Ñ(ˆàˆ	Ø�;‰;Ò" |Ò';Ø#Ÿ}™}Ô,ˆLà�=�=ˆ=Ø×Ñ˜TŸ_™_Ó.Ô/ßØ×Ñ˜TŸ_™_Ó.Ô/Ø�=�=ˆ=˜TŸ^Ÿ^˜^°D·M·M°MØ×Ñ˜TŸ_™_Ó.Ô/Ø×ÑÒ*Ø×+Ñ+¨D×,=Ñ,=Ó>ˆIØÒ$Ø× Ñ  Ô+ð ×Ñà˜Ÿ™Ø�t—‘Ó(Ø˜Ÿ™×*Ñ*¨9Ó5ðõ÷ ‰&‹(ð	r   c               ó   € V ^8„  d   QhRR/# r}   r   )r"   s   "r   r#   rD   ÿ   s   € ÷ ,ñ , ñ ,r   c                	ó°  € V P                   '       d   R # V P                  '       g[   V P                  V P                  8w  d>   V P                  V n        \	        V P                  V P
                  V P                  R7       R # . pV P                  '       d³   ^ R IpV P                  p^ V n	        \        V P                  4       4      p\        ^ VP                  4       P                  V,
          4      pWS8  dL   V P                  e>   VP!                  \"        4       VP!                  RV P                  ,          4       WPn        WPn	        V P                  pV P                  e   V P                  pVP!                  \"        4       V P                  4       p\        V4      pV P                  e   V P                  V8  d   W€n        VP!                  V4       VP!                  RWh,
          ,          4       RP%                  V4      pWpP                  8w  dE   Wpn        \	        WpP
                  V P                  RR7       V P
                  P'                  4        R # R # )N)r>   r?   Ú rF   F)r>   r?   Únl)r5   r[   r\   r<   r   r>   r?   rJ   ÚshutilrB   r   rÆ   ÚmaxÚget_terminal_sizeÚcolumnsrX   rÂ   Ú
BEFORE_BARr¹   r�   )	r]   ÚbufrÌ   Ú	old_widthÚclutter_lengthÚ	new_widthÚclear_widthÚlineÚline_lens	   &        r   rb   ÚProgressBar.render_progressÿ   s™  € Ø�;�;ˆ;Ùà�}�}ˆ}à�‰ $§*¡*Ô,Ø"&§*¡*�”Ü�T—Z‘Z d§i¡i°t·z±zÕBÙàˆà�>�>ˆ>ÛàŸ
™
ˆIØˆDŒJÜ% d×&?Ñ&?Ó&AÓBˆNÜ˜A˜v×7Ñ7Ó9×AÑAÀNÕRÓSˆIØÔ$¨¯©Ò)CØ—
‘
œ:Ô&Ø—
‘
˜3 §¡Õ/Ô0Ø!*”Ø"ŒJà—j‘jˆØ�>‰>Ò%ØŸ.™.ˆKà�
‰
”:ÔØ×(Ñ(Ó*ˆÜ˜D“>ˆØ�>‰>Ò! T§^¡^°hÔ%>Ø%ŒNà�
‰
�4ÔØ�
‰
�3˜+Õ0Õ1Ô2Ø�w‰w�s‹|ˆð —?‘?Ô"Ø"ŒOÜ�ŸI™I¨T¯Z©Z¸EÕBØ�I‰I�O‰OÖñ #r   c               ó    € V ^8„  d   QhRRRR/# )r   Ún_stepsrA   r!   rC   r   )r"   s   "r   r#   rD   -  s   € ÷ 1ñ 1 ð 1¨ñ 1r   c                	ód  € V ;P                   V,          un         V P                  e#   V P                   V P                  8¼  d   RV n        \        P                  ! 4       V P                  ,
          R8  d   R # \        P                  ! 4       V n        V P                   '       d9   \        P                  ! 4       V P
                  ,
          V P                   ,          pM&\        P                  ! 4       V P
                  ,
          pV P                  RR  V.,           V n        V P                  R JV n        R # )NTr‡   iúÿÿÿ)rQ   r/   rW   rS   rU   rT   rR   rV   )r]   rÚ   Ústeps   && r   Ú	make_stepÚProgressBar.make_step-  s»   € Ø�Š�GÕ�Ø�;‰;Ò" t§x¡x°4·;±;Ô'>Ø ˆDŒMä�IŠI‹K˜$Ÿ-™-Õ'¨3Ô.ÙäŸ	š	›ˆŒð
 �8�8ˆ8Ü—I’I“K $§*¡*Õ,°·±Õ8‰Dä—9’9“; §¡Õ+ˆDà—8‘8˜B˜C�= D 6Õ)ˆŒàŸ™¨DÐ0ˆŽr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   rÚ   rA   rZ   zV | Noner!   rC   r   )r"   s   "r   r#   rD   C  s!   € ÷ *ñ *˜cð *°ð *ÀTñ *r   c                óê   € Ve   W n         V ;P                  V,          un        V P                  V P                  8¼  d5   V P                  V P                  4       V P	                  4        ^ V n        R# R# )aÆ  Update the progress bar by advancing a specified number of
steps, and optionally set the ``current_item`` for this new
position.

:param n_steps: Number of steps to advance.
:param current_item: Optional item to set as ``current_item``
    for the updated position.

.. versionchanged:: 8.0
    Added the ``current_item`` optional parameter.

.. versionchanged:: 8.0
    Only render when the number of steps meets the
    ``update_min_steps`` threshold.
N)rZ   rI   r@   rÝ   rb   )r]   rÚ   rZ   s   &&&r   ÚupdateÚProgressBar.updateC  s`   € ð  Ò#Ø ,Ôà×!Ò! WÕ,Õ!à×$Ñ$¨×(=Ñ(=Ô=Ø�N‰N˜4×4Ñ4Ô5Ø× Ñ Ô"Ø()ˆDÖ%ñ >r   c               ó   € V ^8„  d   QhRR/# r}   r   )r"   s   "r   r#   rD   ]  s   € ÷ ñ ˜ñ r   c                	ó0   € R V n         RV n        RV n        R# )FNT)rV   rZ   rW   rc   s   &r   ÚfinishÚProgressBar.finish]  s   € ØˆŒØ ˆÔØˆŽr   c               ó   € V ^8„  d   QhRR/# rp   r   )r"   s   "r   r#   rD   b  s   € ÷ #ñ #Ð+ñ #r   c              #  óz  "  € V P                   '       g   \        R4      hV P                  '       g   V P                   Rj  x€L
  R# V P                   F?  pWn        V P
                  ^ 8X  d   V P                  4        Vx € V P                  ^4       KA  	  V P                  4        V P                  4        R#  Lw5i)z�Return a generator which yields the items added to the bar
during construction, and updates the progress bar *after* the
yielded block returns.
rr   N)	rY   rs   r[   rP   rZ   rI   rb   rá   rå   )r]   Úrvs   & r   rt   ÚProgressBar.generatorb  sŽ   é € ð �|�|ˆ|ÜÐOÓPÐPà�}�}ˆ}Ø—y‘y× Ò à—i”i�Ø$&Ô!ð
 ×,Ñ,°Ô1Ø×(Ñ(Ô*à’Ø—‘˜A–ñ  ð �K‰KŒMØ× Ñ Ö"ñ !ùs   ‚/B;²B;ÁB9ÁA8B;)rI   r[   r\   rJ   rR   r3   r?   rZ   r2   rY   rV   r>   r0   rW   r5   r4   r;   rP   r<   rU   r/   rX   rQ   r7   r8   r:   rT   r@   rB   )NÚ#rÊ   z%(bar)sz  FTNFNNNNr±   é   rk   )r   r   r   r   r^   rd   rm   ru   rz   rl   Úpropertyr‰   r�   r”   r¥   rª   r²   r½   rÆ   rb   rÝ   rá   rå   rt   r   r   r   r   r,   r,   8   s˜   † ÷E+õNõ
õ õ õð ôCó ðCð
 ô4ó ð4ð
 ôó ðõ
õ*õ0õõ&õ6,õ\1÷,*õ4÷
#ñ #r   r,   c                  ó@   a € ] tR tRtR V 3R lltR V 3R lltRtV ;t# )ÚMaybeStripAnsii„  c               ó$   € V ^8„  d   QhRRRRRR/# )r   r    zt.IO[bytes]r?   r6   Úkwargsút.Anyr   )r"   s   "r   r#   ÚMaybeStripAnsi.__annotate__…  s!   € ÷ ñ ˜{ð °dð Àeñ r   c               	ó6   <€ \         SV `  ! V3/ VB  W n        R # rk   )Úsuperr^   r?   )r]   r    r?   rñ   Ú	__class__s   &&$,€r   r^   ÚMaybeStripAnsi.__init__…  s   ø€ Ü‰Ò˜Ñ* 6Ò*ØŽ
r   c               ó    € V ^8„  d   QhRRRR/# )r   Útextr1   r!   rA   r   )r"   s   "r   r#   ró   ‰  s   € ÷ #ñ #˜#ð # #ñ #r   c                	ó\   <€ V P                   '       g   \        V4      p\        SV `  V4      # rk   )r?   r   rõ   r   )r]   rù   rö   s   &&€r   r   ÚMaybeStripAnsi.write‰  s%   ø€ Ø�z�zˆzÜ˜dÓ#ˆDÜ‰w‰}˜TÓ"Ð"r   ©r?   )r   r   r   r   r^   r   r   Ú__classcell__)rö   s   @r   rï   rï   „  s   ø† ÷ð ÷#ö #r   rï   c               ó    € V ^8„  d   QhRRRR/# )r   r?   r9   r!   z9t.ContextManager[tuple[t.BinaryIO | t.TextIO, str, bool]]r   )r"   s   "r   r#   r#   �  s   € ÷ 'ñ 'Øð'à>ñ'r   c                óX  € \        4       pVf   \        4       p\        \        P                  4      '       d   \        V4      '       g   \        W4      # \        P                  ! \        P                  P                  RR4      4      pV'       d#   \        '       d   \        W 4      # \        W 4      # \        P                  P                  R4      R9   d   \        W4      # \        '       g&   \        P                  P                  R4      '       d   \        R.V 4      # \        R.V 4      # )z2Decide what method to use for paging through text.ÚPAGERrF   ÚTERMÚos2ÚmoreÚless)ÚdumbÚemacs)r   r   r
   ÚsysÚstdinÚ
_nullpagerÚshlexÚsplitÚosÚenvironÚgetr   Ú_tempfilepagerÚ
_pipepagerÚplatformÚ
startswith)r?   ÚstdoutÚpager_cmd_partss   &  r   Ú_pager_contextmanagerr  �  sÑ   € ô "Ó#€Fð ‚~Ü“ˆä”#—)‘)×Ò¤F¨6§N¢NÜ˜&Ó(Ð(ô —k’k¤"§*¡*§.¡.°¸"Ó"=Ó>€Oßß‹3Ü! /Ó9Ð9Ü˜/Ó1Ð1ä	‡z�z‡~�~�fÓÐ!2Ô2Ü˜&Ó(Ð(ß
ƒsŒc�l‰l×%Ñ% e×,Ò,Ü˜v˜h¨Ó.Ð.Ü�v�h Ó&Ð&r   c               ó    € V ^8„  d   QhRRRR/# )r   r?   r9   r!   z!t.Generator[t.TextIO, None, None]r   )r"   s   "r   r#   r#   ¯  s   € ÷ ñ ˜+ð Ð1Rñ r   c              #  óx  "  € \        V R7      ;_uu_ 4       w  rp \        V4      '       d   \        VP                  WR7      pM-\	        V\
        P                  4      '       d   \        WVR7      p Vx € VP                  4         RRR4       R#   TP                  4        i ; i  + '       g   i     R# ; i5i)zÞContext manager.
Yields a writable file-like object which can be used as an output pager.
.. versionadded:: 8.4
:param color: controls if the pager supports ANSI colors or not.  The
              default is autodetection.
rü   )r?   ÚencodingN)r  r'   rï   r   Ú
isinstancerM   ÚBinaryIOr�   )r?   r    r  s   &  r   Úget_pager_filer  ®  s†   é € ô 
 U×	+Õ	+Ñ/H°À%ô ˜f×%Ò%ä# F§M¡M¸ÔR‰FÜ˜¤§
¡
×+Ò+ä# FÀ(ÔKˆFð	ØŠLà�L‰L�N÷ 
,Ñ	+øð �L‰L�Nú÷ 
,×	+Ð	+üs5   ‚B:—AB&Á2BÁ6B&Â
B:ÂB#Â#B&Â&B7	Â1	B:c               ó$   € V ^8„  d   QhRRRRRR/# ©r   Ú	cmd_partsz	list[str]r?   r9   r!   z3t.Iterator[tuple[t.BinaryIO | t.TextIO, str, bool]]r   )r"   s   "r   r#   r#   Ç  s)   € ÷ dñ dØðdØ!,ðdà8ñdr   c           	   #  óÈ  "  € V '       g&   \        4       ;'       g    \        4       pVRR3x € R# ^ RIpV ^ ,          pV R,          pVP                  V4      pV'       g&   \        4       ;'       g    \        4       pVRR3x € R# \	        V4      P                  4       pVP                  p^ RIp	\        \        P                  4      p
Vf[   VR8X  dT   \        P                  P                  RR4       RP                  V4       2pV'       g	   R	V
R&   R
pMRV9   g   RV9   d   R
pVf   RpV	P                  \        V4      .V,           RV	P                  V
RR
R7      p\         P"                  ! \         P$                  VP&                  4      p\)        V4      p WÞV3x €  TP1                  4          TP3                  4        R#   \*         d     L2\,         d   pTP/                  4        ThRp?ii ; i  \*         d     LRi ; i  \4         d     Kd  i ; i   TP1                  4        M  \*         d     Mi ; i  TP3                  4        i   \4         d     K!  i ; i; i5i)a¾  Page through text by feeding it to another program.

Invokes the pager via :class:`subprocess.Popen` with an ``argv`` list
produced by :func:`shlex.split`. The command is resolved to an absolute
path with :func:`shutil.which` as recommended by the
:mod:`subprocess` docs for Windows compatibility.

Invoking a pager through this might support colors: if piping to
``less`` and the user hasn't decided on colors, ``LESS=-R`` is set
automatically.
úutf-8FNr°   r  ÚLESSrF   rÊ   ú-RTÚrÚRÚreplace)Úshellr  ÚenvÚerrorsrù   )r   r   rÌ   Úwhichr   ÚabsoluteÚnameÚ
subprocessÚdictr  r  r  r¹   ÚPopenr1   ÚPIPErM   rN   r  r  r	   ÚBrokenPipeErrorÚ	ExceptionÚ	terminateÚcloseÚwaitÚKeyboardInterrupt)r  r?   r  rÌ   ÚcmdÚ
cmd_paramsÚcmd_filepathÚcmd_pathÚcmd_namer,  r'  Ú
less_flagsÚcr  r  Úes   &&              r   r  r  Æ  s;  é € ÷  Ü%Ó'×5Ð5¬8«:ˆØ�g˜uÐ$Ò$Ùãà
�A�,€CØ˜2•€Jà—<‘< Ó$€LßÜ%Ó'×5Ð5¬8«:ˆØ�g˜uÐ$Ò$Ùô
 �LÓ!×*Ñ*Ó,€HØ�}‰}€Hãô Œr�z‰zÓ
€Cð ‚}˜ VÔ+ÜŸ
™
Ÿ™ v¨rÓ2Ð3°C·H±H¸ZÓ4HÐ3IÐJˆ
ßØˆC�‰KØ‰EØ�JÔ #¨Ô"3ØˆEà‚}Øˆà×ÑÜ	ˆX‹ˆ˜*Õ$ØØ�o‰oØØØð 	ó 	€Aô �FŠF”1—:‘:˜qŸw™wÓ'€EÜ  Ó'€Hð#Ø˜uÐ$Ò$ð	Ø�K‰KŒMð ðØ—‘”ñ øôC ô áÜô ð
 	
�‰ŒØˆûðûô ô 	Ùð	ûô %ô Úðûð%	Ø�K‰K�Møô ô 	Ùð	úð ðØ—‘”ð øô %ô Úðÿsë   ‚I"œAI"ÁI"Á0BI"ÄB
I"ÆG ÆG3 Æ.I"Æ0H Ç I"ÇG0ÇH ÇG0ÇG0ÇG+Ç+G0Ç0H Ç3HÇ>I"È HÈI"ÈHÈI"ÈHÈI"ÈIÈH)È(IÈ)H7È4IÈ6H7È7IÈ<IÉIÉIÉIÉIÉIÉI"c               ó$   € V ^8„  d   QhRRRRRR/# r  r   )r"   s   "r   r#   r#   /  s$   € ÷ /ñ /Øð/Ø!,ð/à8ñ/r   c              #  ó  "  € V '       g&   \        4       ;'       g    \        4       pVRR3x € R# ^ RIp^ RIpV ^ ,          pVP	                  V4      pV'       g&   \        4       ;'       g    \        4       pVRR3x € R# \        V4      P                  4       p^ RIp\        \        P                  4      p	Vf   RpVP                  RRR7      p
 \        P                  ! \        P                  V
4      W‘3x € V
P                  4        V
P!                  4        VP#                  \%        V4      V
P&                  .4       \(        P*                  ! V
P&                  4       R#   \(        P*                  ! T
P&                  4       i ; i5i)a  Page through text by invoking a program on a temporary file.

Used as the primary pager strategy on Windows (where piping to
``more`` adds spurious ``\r\n``), and as a fallback on other
platforms. The command is resolved to an absolute path with
:func:`shutil.which`.
r   FNÚwb)ÚmodeÚdelete)r   r   rÌ   r,  r)  r   r*  Útempfiler	   r  r  ÚNamedTemporaryFilerM   rN   r  r�   r3  Úcallr1   r+  r  Úunlink)r  r?   r  rÌ   r,  r6  r8  r9  rC  r  Úfs   &&         r   r  r  .  s  é € ÷ Ü%Ó'×5Ð5¬8«:ˆØ�g˜uÐ$Ò$ÙãÛà
�A�,€Cà—<‘< Ó$€LßÜ%Ó'×5Ð5¬8«:ˆØ�g˜uÐ$Ò$Ùô
 �LÓ!×*Ñ*Ó,€Hãä ¤§¡Ó,€HØ‚}Øˆð 	×#Ñ#¨°eÐ#Ó<€AðÜ�fŠf”Q—Z‘Z Ó# XÐ4Ò4Ø	�‰Œ	Ø	�‰Œ	Ø�‰œ˜X›¨¯©Ð/Ô0ä
�	Š	�!—&‘&ÖøŒ�	Š	�!—&‘&Õüs0   ‚Fœ=FÁFÁ+A#FÃA/E  Ä>"FÅ "FÆFc                  óP   € ] tR tRtR R ltR R lt]R R l4       tR R	 ltR
t	R# )Ú
_SkipCloseia  c               ó    € V ^8„  d   QhRRRR/# )r   r    zt.IO[t.Any]r!   rC   r   )r"   s   "r   r#   Ú_SkipClose.__annotate__b  s   € ÷ ñ ˜{ð ¨tñ r   c                	ó   € Wn         R # rk   r&   )r]   r    s   &&r   r^   Ú_SkipClose.__init__b  s   € ØŽr   c               ó    € V ^8„  d   QhRRRR/# )r   r+  r1   r!   rò   r   )r"   s   "r   r#   rK  e  s   € ÷ *ñ * ð *¨ñ *r   c                	ó.   € \        V P                  V4      # rk   )r%   r    )r]   r+  s   &&r   Ú__getattr__Ú_SkipClose.__getattr__e  s   € Ü�t—{‘{ DÓ)Ð)r   c               ó   € V ^8„  d   QhRR/# )r   r!   r   r   )r"   s   "r   r#   rK  i  s   € ÷ .ñ .˜
ñ .r   c                	ó@   € \        V P                  P                  4      # rk   )rI  r    r   rc   s   &r   r   Ú_SkipClose.bufferh  s   € ä˜$Ÿ+™+×,Ñ,Ó-Ð-r   c               ó   € V ^8„  d   QhRR/# r}   r   )r"   s   "r   r#   rK  l  s   € ÷ ñ �tñ r   c                	ó   € R # rk   r   rc   s   &r   r3  Ú_SkipClose.closel  s   € Ùr   r&   N)
r   r   r   r   r^   rP  rí   r   r3  r   r   r   r   rI  rI  a  s*   † õõ*ð ô.ó ð.÷ñ r   rI  c               ó$   € V ^8„  d   QhRRRRRR/# )r   r    zt.TextIOr?   r9   r!   z&t.Iterator[tuple[t.TextIO, str, bool]]r   )r"   s   "r   r#   r#   q  s$   € ÷ .ñ .Øð.Ø(ð.à+ñ.r   c              #  óN   "  € \        V 4      pVf   Rp\        V 4      W!3x € R# 5i)z­Simply print unformatted text. This is the ultimate fallback. Don't close the
output stream in this case, since it's coming from elsewhere rather than our
internal helpers.
NF)r	   rI  )r    r?   r  s   && r   r	  r	  p  s+   é € ô ! Ó(€Hà‚}Øˆä
�VÓ
˜hÐ
-Ô-ùs   ‚#%c                  óž   € ] tR tRtRR R lltR R ltR R lt]P                  R	 R
 l4       t	]P                  R R l4       t	R R lt	Rt
R# )ÚEditori€  Nc          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r   Úeditorr=   r'  zcabc.Mapping[str, str] | NoneÚrequire_saver6   Ú	extensionr1   r!   rC   r   )r"   s   "r   r#   ÚEditor.__annotate__�  s<   € ÷ 
#ñ 
#àð
#ð +ð
#ð ð	
#ð
 ð
#ð 
ñ
#r   c                	ó6   € Wn         W n        W0n        W@n        R # rk   )r]  r'  r^  r_  )r]   r]  r'  r^  r_  s   &&&&&r   r^   ÚEditor.__init__�  s   € ð ŒØŒØ(ÔØ"Žr   c               ó   € V ^8„  d   QhRR/# r—   r   )r"   s   "r   r#   r`  �  s   € ÷ ñ ˜Cñ r   c                	óø   € V P                   e   V P                   # R F.  p\        P                  P                  V4      pV'       g   K,  Vu # 	  \        '       d   R# ^ RIHp R F  pV! V4      f   K  Vu # 	  R# )NÚnotepad)r)  Úvi)ÚVISUALÚEDITOR)zsensible-editorÚvimÚnano)r]  r  r  r  r   rÌ   r)  )r]   Úkeyré   r)  r]  s   &    r   Ú
get_editorÚEditor.get_editor�  sg   € Ø�;‰;Ò"Ø—;‘;ÐÛ%ˆCÜ—‘—‘ Ó$ˆBß‰rØ’	ñ &÷ ‹3Ùå ã6ˆFÙ�V‹}Ô(Ø’ñ 7ñ r   c               ó    € V ^8„  d   QhRRRR/# )r   Ú	filenameszcabc.Iterable[str]r!   rC   r   )r"   s   "r   r#   r`  ž  s   € ÷ ñ Ð$6ð ¸4ñ r   c                ó  € ^ RI p^ RIpV P                  4       pRpV P                  '       d:   \        P
                  P                  4       pVP                  V P                  4        VP                  VP                  ! V4      \        V4      ,           VR7      pVP                  4       pV^ 8w  d%   \        \        R4      P                  VR7      4      hR#   \         d+   p\        \        R4      P                  YHR7      4      ThRp?ii ; i)z Open files in the user's editor.N)Úargsr'  z{editor}: Editing failed)r]  z{editor}: Editing failed: {e})r]  r=  )r
  r,  rl  r'  r  r  Úcopyrá   r.  r  r¶   r4  r   r¡   r"   ÚOSError)	r]   ro  r
  r,  r]  r  r<  Ú	exit_coder=  s	   &&       r   Ú
edit_filesÚEditor.edit_filesž  sì   € ãÛà—‘Ó"ˆØ)-ˆà�8�8ˆ8Ü—j‘j—o‘oÓ'ˆGØ�N‰N˜4Ÿ8™8Ô$ð	ð × Ñ Ø—[’[ Ó(¬4°	«?Õ:Øð !ó ˆAð Ÿ™›ˆIØ˜AŒ~Ü$ÜÐ0Ó1×8Ñ8ÀÐ8ÓGóð ñ øô ô 	Ü ÜÐ1Ó2×9Ñ9ÀÐ9ÓMóàðûð	ús   Á'A.C ÃDÃ"%DÄDc               ó    € V ^8„  d   QhRRRR/# )r   rù   zbytes | bytearrayr!   zbytes | Noner   )r"   s   "r   r#   r`  ½  s   € ×@Ñ@Ð*Ð@¨|Ñ@r   c                	ó   € R # rk   r   ©r]   rù   s   &&r   ÚeditÚEditor.edit¼  s   € Ù=@r   c               ó    € V ^8„  d   QhRRRR/# )r   rù   r=   r!   r   )r"   s   "r   r#   r`  Â  s   € ×7Ñ7˜Ð7¨
Ñ7r   c                	ó   € R # rk   r   ry  s   &&r   rz  r{  Á  s   € Ù47r   c               ó    € V ^8„  d   QhRRRR/# )r   rù   zstr | bytes | bytearray | Noner!   zstr | bytes | Noner   )r"   s   "r   r#   r`  Ä  s   € ÷ -ñ -Ð7ð -Ð<Nñ -r   c                	ó>  € ^ RI pVf   RpM†\        V\        \        34      '       d   TpMgV'       d!   VP	                  R4      '       g
   VR,          p\
        '       d#   VP                  RR4      P                  R4      pMVP                  R4      pVP                  RV P                  R7      w  rE \        P                  ! VR	4      ;_uu_ 4       pVP                  V4       RRR4       \        P                  ! V\        P                  P                  V4      \        P                  P!                  V4      ^,
          34       \        P                  P!                  V4      pV P#                  V34       V P$                  '       d>   \        P                  P!                  V4      V8X  d    \        P&                  ! V4       R# \)        VR
4      ;_uu_ 4       pVP+                  4       pRRR4       \        V\        \        34      '       d   X\        P&                  ! V4       # XP-                  R4      P                  RR4      \        P&                  ! V4       #   + '       g   i     ELƒ; i  + '       g   i     L�; i  \        P&                  ! T4       i ; i)é    Nr   r*   z
z	utf-8-sigr   zeditor-)ÚprefixÚsuffixr@  Úrb)rC  r  ÚbytesÚ	bytearrayÚendswithr   r%  ÚencodeÚmkstempr_  r  Úfdopenr   ÚutimeÚpathÚgetatimeÚgetmtimeru  r^  rF  ÚopenÚreadÚdecode)	r]   rù   rC  ÚdataÚfdr+  rG  Ú	timestampré   s	   &&       r   rz  r{  Ä  sÍ  € ÛàŠ<Ø&)‰DÜ˜œu¤iÐ0×1Ò1Ø‰Dç˜DŸM™M¨$×/Ò/Ø˜•�ç‹sØ—|‘| D¨&Ó1×8Ñ8¸ÓE‘à—{‘{ 7Ó+�à×#Ñ#¨9¸T¿^¹^Ð#ÓL‰ˆð	Ü—’˜2˜t×$Ô$¨Ø—‘˜”÷ %ô �HŠH�TœBŸG™G×,Ñ,¨TÓ2´B·G±G×4DÑ4DÀTÓ4JÈQÕ4NÐOÔPô Ÿ™×(Ñ(¨Ó.ˆIà�O‰O˜T˜GÔ$à× × Ð ¤R§W¡W×%5Ñ%5°dÓ%;¸yÔ%HØô �IŠI�dŽOô �d˜D×!Ô! QØ—V‘V“X�÷ "ô ˜$¤¬	Ð 2×3Ò3Øô �IŠI�d�Oð —9‘9˜[Ó)×1Ñ1°&¸$Ó?ä�IŠI�d�O÷3 %×$Ð$ú÷" "×!ûô �IŠI�d�OúsO   Â2J ÃIÃ#B$J Æ$J ÇJ ÇI1Ç*%J È& J ÉI.	É(	J É1J	É<J ÊJ)r]  r'  r_  r^  )NNTz.txt)r   r   r   r   r^   rl  ru  rM   Úoverloadrz  r   r   r   r   r[  r[  €  sC   † ÷
#õõ"ð< ‡Z�ZÜ@ó Ø@ð ‡Z�ZÜ7ó Ø7÷-ñ -r   r[  c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   Úurlr1   r4  r6   Úlocater!   rA   r   )r"   s   "r   r#   r#   ô  s.   € ÷ Cñ C�#ð C˜Tð C°4ð CÀCñ Cr   c                óø  € ^ RI pR R lp\        P                  R8X  dŠ   R.pV'       d   VP                  R4       V'       d   VP                  R4       VP                  V! V 4      4       \	        RR	4      p VP                  WVR
7      P                  4       VP                  4        # \        '       dA   V'       d    V! V 4      p RRV .p VP                  V4      #  \        P                  ! V 4       ^ # \        '       dr   V'       d+   V! V 4      p R\        P                  P                  V 4      .pM-R.pV'       d   VP                  R4       VP                  V 4        VP                  V4      #  V'       d1   \        P                  P                  V! V 4      4      ;'       g    Rp MV! V 4      p VP                  RV .4      pV'       d   VP                  4       # ^ #   TP                  4        i ; i  \         d     ^# i ; i  \         d     ^# i ; i  \         d     ^# i ; i  \         dD    T P!                  R4      '       d)   T'       g!   T'       g   ^ RIpTP	                  T 4        ^ #  ^# i ; i)r€  Nc               ó    € V ^8„  d   QhRRRR/# )r   r–  r1   r!   r   )r"   s   "r   r#   Úopen_url.<locals>.__annotate__÷  s   € ÷ ñ ˜3ð  3ñ r   c                ó^   € ^ RI Hp V P                  R4      '       d   V! V R,          4      p V # )r€  )Úunquotezfile://:é   NN)Úurllib.parserœ  r  )r–  rœ  s   & r   Ú_unquote_fileÚopen_url.<locals>._unquote_file÷  s'   € Ý(à�>‰>˜)×$Ò$Ù˜#˜b�'Ó"ˆCàˆ
r   ÚdarwinrŽ  z-Wr"  z	/dev/nullÚw)ÚstderrÚexplorerz/select,Úcygstartz-wÚ.zxdg-open)zhttp://zhttps://)r,  r  r  rÂ   rŽ  r.  r4  r3  r   rE  rs  r  Ú	startfiler   r‹  Údirnamer  Ú
webbrowser)	r–  r4  r—  r,  rŸ  rq  Únullr<  r©  s	   &&&      r   Úopen_urlr«  ô  s   € Ûõô ‡|�|�xÔØˆxˆßØ�K‰K˜ÔßØ�K‰K˜ÔØ�‰‘M #Ó&Ô'Ü�K Ó%ˆð	Ø×#Ñ# DÐ#Ó6×;Ñ;Ó=à�J‰J�Lß	‹ßÙ Ó$ˆCØ 
¨CÐ0ˆDðØ!—‘ tÓ,Ð,ðÜ—’˜SÔ!ñ ß	‹ßÙ Ó$ˆCØ¤§¡§¡°Ó 4Ð5‰Dà�<ˆDßØ—‘˜DÔ!Ø�K‰K˜Ôð	Ø—?‘? 4Ó(Ð(ð
ßÜ—'‘'—/‘/¡-°Ó"4Ó5×<Ð<¸‰Cá Ó$ˆCØ×Ñ˜j¨#Ð.Ó/ˆßØ—6‘6“8ˆOÙøðM �J‰J�Lûô ô Úðûô
 ô Úðûô ô 	âð	ûô ô Ø�>‰>Ð1×2Ò2¿6Ï$Ûà�O‰O˜CÔ ÚÚðúsr   Á9G  ÃG5 ÃH Å!H Å3H+ Å;+H+ Æ'&H+ ÇH+ Ç G2Ç5HÈHÈHÈHÈH(È'H(È+)I9ÉI9ÉI9É8I9c               ó    € V ^8„  d   QhRRRR/# )r   Úchr1   r!   rC   r   )r"   s   "r   r#   r#   :  s   € ÷ ñ ˜Sð  Tñ r   c                ó    € V R 8X  d   \        4       hV R8X  d   \        '       g   \        4       hV R8X  d   \        '       d   \        4       hR# R# )ÚÚÚN)r5  r   ÚEOFError)r­  s   &r   Ú_translate_ch_to_excr³  :  s?   € Ø	ˆV„|ÜÓ!Ð!à	ˆV„|ŸC›CÜ‹jÐà	ˆV„|Ÿ›Ü‹jÐñ �|r   Úwin32c               ó   € V ^8„  d   QhRR/# ©r   r!   zcabc.Iterator[int]r   )r"   s   "r   r#   r#   I  s   € ÷ ñ Ð,ñ r   c               #  ó   "  € Rx € R# 5i)r±   NrH   r   r   r   r   Úraw_terminalr¸  H  s
   é € àŒùs   ‚	c               ó    € V ^8„  d   QhRRRR/# ©r   r   r6   r!   r1   r   )r"   s   "r   r#   r#   L  s   € ÷ ,ñ ,�dð ,˜sñ ,r   c                ód  € V '       dB   \         P                  ! \         P                  . \        3,          \        P
                  4      pM@\         P                  ! \         P                  . \        3,          \        P                  4      pV! 4       pVR9   d   W!! 4       ,          p\        V4       V# )Ú )r¼  ô   Ã )rM   rN   ÚCallabler1   ÚmsvcrtÚgetwcheÚgetwchr³  )r   Úfuncré   s   &  r   ÚgetcharrÃ  L  ss   € ÷> Ü—6’6œ!Ÿ*™* R¬ WÕ-¬v¯~©~Ó>‰Dä—6’6œ!Ÿ*™* R¬ WÕ-¬v¯}©}Ó=ˆDá‹VˆàÐ!Ô!ð �$“&�LˆBä˜RÔ Øˆ	r   c               ó   € V ^8„  d   QhRR/# r¶  r   )r"   s   "r   r#   r#     s   € ÷ ñ Ð,ñ r   c               #  óÐ  "  € \        \        P                  4      '       g   \        R 4      p V P	                  4       pM \        P                  P	                  4       pRp  \
        P                  ! V4      p \        P                  ! V4       Vx € \
        P                  ! V\
        P                  V4       \        P                  P                  4        V e   V P                  4        R# R#   \
        P                  ! T\
        P                  T4       \        P                  P                  4        T e   T P                  4        i i ; i  \
        P                   d     R# i ; i5i)z/dev/ttyN)r
   r  r  rŽ  ÚfilenoÚtermiosÚ	tcgetattrÚttyÚsetrawÚ	tcsetattrÚ	TCSADRAINr  r�   r3  Úerror)rG  r’  Úold_settingss      r   r¸  r¸  ~  sú   é € ô
 ”c—i‘i× Ò Ü�ZÓ ˆAØ—‘“‰Bä—‘×!Ñ!Ó#ˆBØˆAð	Ü"×,Ò,¨RÓ0ˆLðÜ—
’
˜2”Ø’ä×!Ò! "¤g×&7Ñ&7¸ÔFÜ—
‘
× Ñ Ô"à’=Ø—G‘G–Iñ !øô ×!Ò! "¤g×&7Ñ&7¸ÔFÜ—
‘
× Ñ Ô"à’=Ø—G‘G•Ið !ûä�}‰}ô 	Úð	üsD   ‚AE&ÁE
 Á6C, ÂAE
 Ã(E&Ã,AEÅE
 Å
E#ÅE&Å"E#Å#E&c               ó    € V ^8„  d   QhRRRR/# rº  r   )r"   s   "r   r#   r#   ™  s   € ÷ ñ �dð ˜sñ r   c                ó†  € \        4       ;_uu_ 4       p\        P                  ! V^ 4      P                  \	        \
        P                  4      R4      pV '       d?   \        \
        P                  4      '       d    \
        P                  P                  V4       \        V4       VuuRRR4       #   + '       g   i     R# ; i)é    r%  N)r¸  r  r�  r�  r	   r  r  r
   r  r   r³  )r   r’  r­  s   &  r   rÃ  rÃ  ™  sk   € Ü�^Œ^˜rÜ—’˜˜R“×'Ñ'Ô(9¼#¿)¹)Ó(DÀiÓPˆBçœœsŸz™z×*Ò*Ü—
‘
× Ñ  Ô$ä  Ô$Ø÷ �^�^‹^ús   “BB/Â/C 	rk   )FF)>Ú__doc__Ú
__future__r   Úcollections.abcÚabcÚcabcÚ
contextlibÚior·   r  r
  r  rS   ÚtypingrM   r   r¡   r   Úpathlibr   Útypesr   Ú_compatr   r   r	   r
   r   r   r   Ú
exceptionsr   Úutilsr   ÚTypeVarr   ÚProtocolr   r'   r+  rÐ   r€   ÚGenericr,   ÚTextIOWrapperrï   r  Úcontextmanagerr  r  r  rI  r	  r[  r«  r³  r  r¿  r¸  rÃ  rÇ  rÉ  r   r   r   Ú<module>rä     s¥  ðñõ #å Û Û 	Û Û 	Û Û 
Û Û Ý  Ý Ý Ý å )Ý Ý &Ý Ý Ý Ý Ý &Ý à‡I‚IˆcƒN€ô˜qŸz™zô õ7ð ‡7�7ˆd„?Ø€JØ�Ià€JØ€IôI#�!—)‘)˜A•,ô I#ôX
#�R×%Ñ%ô #÷'ð> ×Ñöó ðð. ×Ñödó ðdðN ×Ñö/ó ð/÷dñ ð ×Ñö.ó ð.÷qñ q÷hCõLð ‡<�<�7ÔÛà×Ñôó ð÷,ó^ Ûà×Ñôó ð÷4r   