ó
    Ãu„jL  ã                  óÒ   • S SK Jr  S SKrS SKrS SKrS SKrS SKJr  S SKJ	r	J
r
JrJr  S SKJr  S SKJr  S SKJr  SrSS	 jr         S                 SS
 jjrSS jrg)é    )ÚannotationsN)ÚPath)Ú	AwaitableÚCallableÚIterableÚcast)Ú
import_app)ÚApp)ÚPilotz.screenshot_cachec                óî  •  [         R                  " US   5      nUS   nUR                  SS5      n	UR                  SS5      n
U	(       a  / U	R                  S5      QO/ nU
b!  UR                  U
R	                  SS5      5        UR                  S	5      n[        S
U< 35        [        R                  " 5       n [        UR                  SS5      5      n[        UR                  SS5      5      nUR                  SS5      n[        SUUUUXþ4SSS9n[        R                  " U5        Uc   eU$ ! [        R                  " U5        f = f! [         a  nSSKnUR                  U5         SnAgSnAff = f)ú4A superfences formatter to insert an SVG screenshot.Úpathr   ÚpressNÚtypeÚ,z\tÚ	Útitlezscreenshotting Úlinesé   ÚcolumnséP   ÚhoverÚ F)r   r   Úterminal_sizeÚwait_for_animationÚsimplify)ÚshlexÚsplitÚgetÚextendÚreplaceÚprintÚosÚgetcwdÚintÚtake_svg_screenshotÚchdirÚ	ExceptionÚ	tracebackÚprint_exception)ÚsourceÚlanguageÚ	css_classÚoptionsÚmdÚattrsÚkwargsÚcmdr   Ú_pressÚ_typer   r   ÚcwdÚrowsr   r   ÚsvgÚerrorr)   s                       ÚšC:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\textual/_doc.pyÚ
format_svgr:      sR  € ð&ÜŸš U¨6¡]Ó3ˆØ�1‰vˆà—‘˜7 DÓ)ˆØ—	‘	˜& $Ó'ˆÞ(.Ð$�&—,‘,˜sÓ#Ñ$°BˆØÑØ�L‰L˜Ÿ™ u¨dÓ3Ô4Ø—	‘	˜'Ó"ˆä� ™xÐ(Ô)ä�iŠi‹kˆð	Ü�u—y‘y ¨"Ó-Ó.ˆDÜ˜%Ÿ)™) I¨rÓ2Ó3ˆGØ—I‘I˜g rÓ*ˆEÜ%ØØØØØØ&˜oØ#(Øñ	ˆCô �HŠH�SŒMà‰ÐˆØˆ
øô �HŠH�S�Mûô
 ó Ûà×!Ñ! %Ô(Üûð	ús1   ‚B7E Â:AD0 ÄE Ä0EÅE Å
E4ÅE/Å/E4c	           	     ó²  ^^^^^^^^• U c  Tc   e[        T5      n U c   eTc  U R                  mSUUUUU4S jjn	TbP  TcM  [        [        5      n
U
R	                  SS9  X©" U 5      -  nUR                  5       (       a  UR                  5       $ SUUUUUU4S jjn[        [        U R                  SUTS95      nTb  Tc  WR                  U5        Uc   eU$ )av  

Args:
    app: An app instance. Must be supplied if app_path is not.
    app_path: A path to an app. Must be supplied if app is not.
    press: Key presses to run before taking screenshot. "_" is a short pause.
    hover: Hover over the given widget.
    title: The terminal title in the output image.
    terminal_size: A pair of integers (rows, columns), representing terminal size.
    run_before: An arbitrary callable that runs arbitrary code before taking the
        screenshot. Use this to simulate complex user interactions with the app
        that cannot be simulated by key presses.
    wait_for_animation: Wait for animation to complete before taking screenshot.
    simplify: Simplify the segments by combining contiguous segments with the same style.

Returns:
    An SVG string, showing the content of the terminal window at the time
        the screenshot was taken.
c           	     óv  >• [         R                  " 5       nT/U R                  -   nU H<  nUc   e[        US5       nUR	                  UR                  5       5        S S S 5        M>     UR	                  T ST ST
 ST	 3R                  S5      5        UR                  5        S3nU$ ! , (       d  f       M�  = f)NÚrbÚ-zutf-8z.svg)ÚhashlibÚmd5Úcss_pathÚopenÚupdateÚreadÚencodeÚ	hexdigest)ÚappÚhashÚ
file_pathsr   Úsource_fileÚ	cache_keyÚapp_pathr   r   r   r   s         €€€€€r9   Úget_cache_keyÚ*take_svg_screenshot.<locals>.get_cache_keyg   s°   ø€ Ü�{Š{‹}ˆØ�Z #§,¡,Ñ.ˆ
ÛˆDØÑ#Ð#Ð#Ü�d˜DÔ! [Ø—‘˜K×,Ñ,Ó.Ô/÷ "Ñ!ñ ð 	�‰�u�g˜Q˜u˜g Q u g¨Q¨}¨oÐ>×EÑEÀgÓNÔOØ—~‘~Ó'Ð(¨Ð-ˆ	ØÐ÷	 "Ö!ús   ½ B)Â)
B8	T)Úexist_okc              “  óŠ  >#   • U R                   nTb-  T" U 5      n[        R                  " U5      (       a
  UI S h  v•N   U R                  5       I S h  v•N   U R                  " T6 I S h  v•N   T(       a2  U R                  T5      I S h  v•N   U R                  S5      I S h  v•N   T	(       a0  U R                  5       I S h  v•N   U R                  5       I S h  v•N   U R                  5       I S h  v•N   U R                  5       I S h  v•N   UR                  TTS9nUR                  U5        g  Nõ Nß NÊ N¬ N• Nx Nb NL N67f)Ng      à?)r   r   )	rG   ÚinspectÚisawaitableÚpauser   r   Úwait_for_scheduled_animationsÚexport_screenshotÚexit)
ÚpilotrG   Úresultr7   r   r   Ú
run_beforer   r   r   s
       €€€€€€r9   Ú
auto_pilotÚ'take_svg_screenshot.<locals>.auto_pilotz   s  øé € Ø�i‰iˆØÑ!Ù Ó&ˆFÜ×"Ò" 6×*Ñ*Ø—�Ø�k‰k‹m×ÐØ�kŠk˜5Ð!×!Ð!ÞØ—+‘+˜eÓ$×$Ð$Ø—+‘+˜cÓ"×"Ð"ÞØ×5Ñ5Ó7×7Ð7Ø—+‘+“-×ÐØ�k‰k‹m×ÐØ×1Ñ1Ó3×3Ð3Ø×#Ñ#¨%¸(Ð#ÐCˆà�‰��ñ ÙÙ!á$Ù"á7ÙÙÙ3ùsŸ   ƒ8E»D1¼EÁD3ÁEÁ*D5Á+EÂ
D7ÂEÂ#D9Â$EÃD;ÃEÃD=ÃEÃ2D?Ã3EÄ
EÄ'EÄ3EÄ5EÄ7EÄ9EÄ;EÄ=EÄ?EÅE)ÚheadlessrZ   Úsize)rG   r
   ÚreturnÚstr)rW   r   r^   ÚNone)r	   r   r   ÚSCREENSHOT_CACHEÚmkdirÚexistsÚ	read_textr   r_   ÚrunÚ
write_text)rG   rL   r   r   r   r   rY   r   r   rM   Úscreenshot_cacheÚscreenshot_pathrZ   r7   s    ````````     r9   r&   r&   ?   sö   ÿ€ ð> �{ØÑ#Ð#Ð#Ü˜Ó"ˆà‰?Ðˆ?à�}Ø—	‘	ˆ÷	ó 	ð Ñ 
Ñ 2ÜÔ 0Ó1ÐØ×Ñ¨ÐÑ-à*¨]¸3Ó-?Ñ?ˆØ×!Ñ!×#Ñ#Ø"×,Ñ,Ó.Ð.÷ô ô( ÜØ�‰ØØ!Øð 	ð 	
ó€Cð Ñ 
Ñ 2Ø×"Ñ" 3Ô'à‰?Ðˆ?à€Jó    c           	     ó–  • SSK nSSKJn  UR                  SS5      n	[	        UR                  SS5      5      n
[	        UR                  SS	5      5      nU" UR                  5       S
S
SUU
S9nU" S
S9n0 n [        X5        SU;   a  UR                  US   5        UR                  U	S9nU$ ! [         a    UR                  5          NGf = f)r   r   N)ÚConsoler   ÚRichr   r   r   r   TÚ	truecolor)ÚfileÚrecordÚforce_terminalÚcolor_systemÚwidthÚheight)ÚstderrÚoutput)r   )ÚioÚrich.consolerk   r   r%   ÚStringIOÚexecr(   r*   r"   Ú
export_svg)r+   r,   r-   r.   r/   r0   r1   rv   rk   r   r6   r   ÚconsoleÚerror_consoleÚglobalsÚ
output_svgs                   r9   Úrichr   Ÿ   sÕ   € ó å$à�I‰I�g˜vÓ&€Eäˆu�y‰y˜ "Ó%Ó&€DÜ�%—)‘)˜I rÓ*Ó+€GáØ�[‰[‹]ØØØ ØØñ€Gñ  4Ñ(€Mà€Gð(ÜˆVÔð
 �7ÓØ�‰�g˜hÑ'Ô(Ø×#Ñ#¨%Ð#Ð0€JØÐøô ó (Ø×%Ñ%Ö'ð(ús   Á5B+ Â+CÃC)r^   r_   )	NN© r   N)r   r   NTT)rG   z
App | NonerL   ú
str | Noner   zIterable[str]r   r_   r   r�   r   ztuple[int, int]rY   z0Callable[[Pilot], Awaitable[None] | None] | Noner   Úboolr^   r_   )Ú
__future__r   r?   rQ   r#   r   Úpathlibr   Útypingr   r   r   r   Útextual._import_appr	   Útextual.appr
   Útextual.pilotr   ra   r:   r&   r   r€   ri   r9   Ú<module>r‰      s»   ðÝ "ã Û Û 	Û Ý ß 6Ó 6å *Ý Ý à&Ð ô
)ðZ ØØØØØ%-ØCGØ#Øð]Ø	ð]àð]ð ð]ð ð	]ð
 ð]ð #ð]ð Að]ð ð]ð 	õ]õ@ ri   