Ë
    ,Tg<!  ã                   óˆ   — d dl Z d dlZd dlZd dlmZmZ d dlmZmZ d dl	m
Z
mZmZmZmZmZmZmZmZ d dlmZ  G d„ d«      Zy)é    N)Ú	FrameTypeÚTracebackType)ÚUnionÚIterable)	Ústyle_with_executing_nodeÚOptionsÚLineÚ	FrameInfoÚLINE_GAPÚVariableÚRepeatedFramesÚBlankLineRangeÚ
BlankLines)Úassert_c                   óB  — e Zd Zddddddddddd	d
ddddddddœd„Zd„ Zd$ddœd„Zd$ddœd„Zddœd„Zd$dee	   fd„Z
d$dee	   fd„Zdeeeef      dee	   fd„Zdede	fd„Zdeeeef   dee	   fd„Zdede	fd„Zdede	fd„Zd„ Zdedee	   fd „Zd!ede	fd"„Zde	fd#„Zy)%Ú	FormatterNFTÚmonokaiz
bg:#005080Ú^z-->z(...)Ú:z{:4} | )ÚoptionsÚ	pygmentedÚshow_executing_nodeÚpygments_formatter_clsÚpygments_formatter_kwargsÚpygments_styleÚexecuting_node_modifierÚexecuting_node_underlineÚcurrent_line_indicatorÚline_gap_stringÚline_number_gap_stringÚline_number_format_stringÚshow_variablesÚuse_code_qualnameÚshow_linenosÚstrip_leading_indentÚhtmlÚchainÚcollapse_repeated_framesc                ó$  — |€
t        «       }|r5|j                  s)|rt        ||«      }|€ddlm}  |dd|i|xs i ¤Ž|_        || _        || _        t        t        |«      dk(  t        d«      «       || _
        |	xs d| _        |
| _        || _        || _        || _        || _        || _        || _        || _        || _        || _        || _        | j                   s3| j*                  j.                  t0        j2                  k(  rt        d«      ‚y y )	Nr   )ÚTerminal256FormatterÚstyleé   z3executing_node_underline must be a single characterÚ z@BlankLines.SINGLE option can only be used when show_linenos=True© )r   Úpygments_formatterr   Úpygments.formatters.terminal256r*   r   r   r   ÚlenÚ
ValueErrorr   r   r   r    r!   r"   r$   r#   r%   r&   r'   r   r(   Úblank_linesr   ÚSINGLE)Úselfr   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   s                       úf/workspace/moltex-experiments/.pixi/envs/default/lib/python3.12/site-packages/stack_data/formatting.pyÚ__init__zFormatter.__init__   s6  € ð, ˆ?Ü“iˆGá˜W×7Ò7Ù"Ü!:Ø"Ð$;ó"�ð &Ð-õ.ñ *@ñ *Ø$ð*à+Ò1¨rñ*ˆGÔ&ð
 #ˆŒØ#6ˆÔ ÜÜÐ(Ó)¨QÑ.ÜÐLÓMô	
ð )AˆÔ%Ø&<Ò&BÀˆÔ#Ø.ˆÔØ&<ˆÔ#Ø)BˆÔ&Ø,ˆÔØ(ˆÔØ!2ˆÔØ$8ˆÔ!ØˆŒ	ØˆŒ
ØˆŒØ(@ˆÔ%Ø× Ò  T§\¡\×%=Ñ%=Ä×ARÑARÒ%RÜØRóð ð &SÐ ó    c                 ó&   ‡ — ˆ fd„}|t         _        y )Nc                 ó(   •— ‰j                  |«       y ©N)Úprint_exception)Ú_etypeÚevalueÚ_tbr5   s      €r6   Ú
excepthookz&Formatter.set_hook.<locals>.excepthookN   s   ø€ Ø× Ñ  Õ(r8   )Úsysr@   )r5   r@   s   ` r6   Úset_hookzFormatter.set_hookM   s   ø€ ô	)ð $Œ�r8   ©Úfilec                óH   — | j                  | j                  |«      |¬«       y ©NrC   )Úprint_linesÚformat_exception)r5   ÚerD   s      r6   r<   zFormatter.print_exceptionS   s    € Ø×Ñ˜×.Ñ.¨qÓ1¸ÐÕ=r8   c                óˆ   — |€t        j                  «       j                  }| j                  | j	                  |«      |¬«       y rF   )ÚinspectÚcurrentframeÚf_backrG   Úformat_stack)r5   Úframe_or_tbrD   s      r6   Úprint_stackzFormatter.print_stackV   s:   € ØÐÜ!×.Ñ.Ó0×7Ñ7ˆKà×Ñ˜×*Ñ*¨;Ó7¸dÐÕCr8   c                óR   — |€t         j                  }|D ]  }t        ||d¬«       Œ y )Nr-   )rD   Úend)rA   ÚstderrÚprint)r5   ÚlinesrD   Úlines       r6   rG   zFormatter.print_lines\   s&   € Øˆ<Ü—:‘:ˆDÛˆDÜ�$˜T rÖ*ñ r8   Úreturnc              #   ó   K  — |€t        j                  «       d   }| j                  r�|j                  �6| j	                  |j                  «      E d {  –—†  t
        j                  –— nM|j                  �A|j                  s5| j	                  |j                  «      E d {  –—†  t
        j                  –— d–— | j                  |j                  «      E d {  –—†  t        j                  t        |«      |«      E d {  –—†  y 7 Œ³7 Œg7 Œ07 Œ­w)Nr,   z#Traceback (most recent call last):
)rA   Úexc_infor'   Ú	__cause__rH   Ú	tracebackÚ_cause_messageÚ__context__Ú__suppress_context__Ú_context_messagerN   Ú__traceback__Úformat_exception_onlyÚtype)r5   rI   s     r6   rH   zFormatter.format_exceptionb   sÕ   è ø€ Øˆ9Ü—‘“˜qÑ!ˆAà�:Š:Ø�{‰{Ð&Ø×0Ñ0°·±Ó=×=Ð=Ü×.Ñ.Ó.Ø—-‘-Ð+Ø×0Ò0Ø×0Ñ0°·±Ó?×?Ð?Ü×0Ñ0Ò0à4Ò4Ø×$Ñ$ Q§_¡_Ó5×5Ð5Ü×2Ñ2´4¸³7¸AÓ>×>Ñ>ð >øð @øð 	6øØ>úsI   ‚ADÁDÁADÂ DÂ!8DÃD
Ã&DÄ DÄDÄDÄ
DÄDc              #   óÖ   K  — |€t        j                  «       j                  }| j                  t	        j
                  || j                  | j                  ¬«      «      E d {  –—†  y 7 Œ­w)N)r(   )rK   rL   rM   Úformat_stack_datar
   Ú
stack_datar   r(   )r5   rO   s     r6   rN   zFormatter.format_stacks   sY   è ø€ ØÐÜ!×.Ñ.Ó0×7Ñ7ˆKà×)Ñ)Ü× Ñ ØØ—‘Ø)-×)FÑ)Fôó
÷ 	
ò 	
ús   ‚AA)Á!A'Á"A)Ústackc              #   ó˜   K  — |D ]?  }t        |t        «      r| j                  |«      E d {  –—†  Œ-| j                  |«      –— ŒA y 7 Œ­wr;   )Ú
isinstancer
   Úformat_frameÚformat_repeated_frames)r5   rf   Úitems      r6   rd   zFormatter.format_stack_data   sD   è ø€ ó ˆDÜ˜$¤	Ô*Ø×,Ñ,¨TÓ2×2Ñ2à×1Ñ1°$Ó7Ó7ñ	 à2ús   ‚*A
¬A­A
Úrepeated_framesc                 ó8   — dj                  |j                  «      S )Nz&    [... skipping similar frames: {}]
)ÚformatÚdescription)r5   rl   s     r6   rj   z Formatter.format_repeated_framesˆ   s   € Ø8×?Ñ?Ø×'Ñ'ó
ð 	
r8   Úframec              #   óä  K  — t        |t        «      st        || j                  «      }| j                  |«      –— |j                  D ]l  }t        |t
        «      r| j                  |«      –— Œ't        |t        «      r| j                  |«      –— ŒKt        |t        u «       | j                  dz   –— Œn | j                  r	 | j                  |«      E d {  –—†  y y 7 Œ# t        $ r Y y w xY w­w)NÚ
)rh   r
   r   Úformat_frame_headerrU   r	   Úformat_liner   Úformat_blank_lines_linenumbersr   r   r   r"   Úformat_variablesÚ	Exception)r5   rp   rV   s      r6   ri   zFormatter.format_frame�   sÐ   è ø€ Ü˜%¤Ô+Ü˜e T§\¡\Ó2ˆEà×&Ñ& uÓ-Ò-à—K”KˆDÜ˜$¤Ô%Ø×&Ñ& tÓ,Ó,Ü˜D¤.Ô1Ø×9Ñ9¸$Ó?Ó?ä˜¤Ð(Ô)Ø×*Ñ*¨TÑ1Ó1ð  ð ×ÒðØ×0Ñ0°Ó7×7Ñ7ð à7ùÜò Ùðüs<   ‚CC0ÃC! ÃCÃC! ÃC0ÃC! Ã!	C-Ã*C0Ã,C-Ã-C0Ú
frame_infoc                 ó¦   — dj                  || j                  r|j                  j                  «       ¬«      S |j                  j
                  ¬«      S )NzC File "{frame_info.filename}", line {frame_info.lineno}, in {name}
)rx   Úname)rn   r#   Ú	executingÚcode_qualnameÚcodeÚco_name)r5   rx   s     r6   rs   zFormatter.format_frame_header¢   s\   € ØU×\Ñ\Ø!ð ×)Ò)ð ×$Ñ$×2Ñ2Ó4ð ]ó 
ð 	
ð
 —‘×'Ñ'ð ]ó 
ð 	
r8   rV   c                 ó†  — d}| j                   r7|j                  r| j                   }ndt        | j                   «      z  }|dz  }nd}| j                  r(|| j                  j                  |j                  «      z  }|}||j                  | j                  | j                  | j                  ¬«      dz   z  }| j                  r| j                  ss|j                  D ]d  }|j                  |j                  z
  }|j                  |j                  z
  }||kD  sŒ;|d|t        |«      z   z  | j                   ||z
  z  z   dz   z  }Œf |S )Nr-   Ú ú   )r   Úescape_htmlr%   rr   )r   Ú
is_currentr1   r$   r!   rn   ÚlinenoÚrenderr   r&   r%   r   Úexecuting_node_rangesÚstartÚleading_indentrR   r   )r5   rV   ÚresultÚprefixÚ
line_ranger‡   rR   s          r6   rt   zFormatter.format_line¬   sC  € ØˆØ×&Ò&Ø�ŠØ×4Ñ4‘àœs 4×#>Ñ#>Ó?Ñ?�Ø�c‰M‰FàˆFà×ÒØ�d×4Ñ4×;Ñ;¸D¿K¹KÓHÑHˆFàˆà�$—+‘+Ø—n‘nØŸ	™	Ø!%×!:Ñ!:ð ó 
ð ñ	ñ 	ˆð ×#Ò#¨D¯NªNØ"×8Ô8�
Ø"×(Ñ(¨4×+>Ñ+>Ñ>�Ø —n‘n t×':Ñ':Ñ:�ð ˜“;ØØ 5¬3¨v«;Ñ#6Ñ7Ø"×;Ñ;¸sÀU¹{ÑKñLà"ñ#ñ‘Fð 9ð ˆr8   c                 ó  — | j                   rdt        | j                   «      z  dz   }nd}|j                  |j                  k(  r+|| j                  j                  |j                  «      z   dz   S |dj                  | j                  «      z   S )Nr€   r�   rr   z   {}
)r   r1   Úbegin_linenoÚ
end_linenor!   rn   r    )r5   Ú
blank_liner‰   s      r6   ru   z(Formatter.format_blank_lines_linenumbersÒ   s‚   € Ø×&Ò&Øœ3˜t×:Ñ:Ó;Ñ;¸cÑA‰FàˆFØ×"Ñ" j×&;Ñ&;Ò;Ø˜D×:Ñ:×AÑAÀ*×BYÑBYÓZÑZÐ]aÑaÐaØ˜	×(Ñ(¨×)DÑ)DÓEÑEÐEr8   c              #   ó’   K  — t        |j                  d„ ¬«      D ]  }	 | j                  |«      dz   –— Œ y # t        $ r Y Œ(w xY w­w)Nc                 ó   — | j                   S r;   )rz   )Úvs    r6   Ú<lambda>z,Formatter.format_variables.<locals>.<lambda>Ý   s   € ¸a¿fºfr8   )Úkeyrr   )ÚsortedÚ	variablesÚformat_variablerw   )r5   rx   Úvars      r6   rv   zFormatter.format_variablesÜ   sM   è ø€ Ü˜*×.Ñ.Ñ4D×EˆCðØ×*Ñ*¨3Ó/°$Ñ6Ó6ñ Føô ò Ùðüs%   ‚AŸ8µA¸	AÁAÁAÁAr˜   c                 ól   — dj                  |j                  | j                  |j                  «      «      S )Nz{} = {})rn   rz   Úformat_variable_valueÚvalue)r5   r˜   s     r6   r—   zFormatter.format_variableã   s.   € Ø×ÑØ�H‰HØ×&Ñ& s§y¡yÓ1ó
ð 	
r8   c                 ó   — t        |«      S r;   )Úrepr)r5   r›   s     r6   rš   zFormatter.format_variable_valueé   s   € Ü�E‹{Ðr8   r;   )Ú__name__Ú
__module__Ú__qualname__r7   rB   r<   rP   rG   r   ÚstrrH   rN   r   r
   r   rd   rj   r   r   ri   rs   r	   rt   ru   rv   r   r—   rš   r.   r8   r6   r   r      sP  „ ð ØØ $Ø#'Ø&*Ø$Ø$0Ø%(Ø#(Ø#Ø#&Ø&/Ø Ø"ØØ!%ØØØ%)ô)>ò@$ð>¨dô >ðD°Dô Dð *.ô +ñ?¨(°3©-ó ?ñ"

°¸±ó 

ð8Ø! %¨	°>Ð(AÑ"BÑCð8à	�#‰ó8ð
°nð 
Èó 
ð
 %¨	°9¸mÐ(KÑ"Lð ÐQYÐZ]ÑQ^ó ð*
¨ið 
¸Có 
ð# ð #¨ó #òLFð¨9ð ¸À#¹ó ð
 8ð 
°ó 
ð¨cô r8   r   )rK   rA   r[   Útypesr   r   Útypingr   r   re   r   r   r	   r
   r   r   r   r   r   Ústack_data.utilsr   r   r.   r8   r6   Ú<module>r¥      s5   ðÛ Û 
Û ß *ß "÷M÷ Mõ Må $÷^ò ^r8   