§
    ŒŸj<!  ã                   ó�   — 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dS )é    N)Ú	FrameTypeÚTracebackType)ÚUnionÚIterable)	Ústyle_with_executing_nodeÚOptionsÚLineÚ	FrameInfoÚLINE_GAPÚVariableÚRepeatedFramesÚBlankLineRangeÚ
BlankLines)Úassert_c                   ót  — 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dS )%Ú	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          ¦   «         }|r2|j        s+|rt          ||¦  «        }|€ddlm}  |dd|i|pi ¤Ž|_        || _        || _        t          t          |¦  «        dk    t          d¦  «        ¦  «         || _
        |	pd| _        |
| _        || _        || _        || _        || _        || _        || _        || _        || _        || _        || _        | j        s)| j        j        t0          j        k    rt          d¦  «        ‚d S d S )	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                       úb/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/stack_data/formatting.pyÚ__init__zFormatter.__init__   sˆ  € ð, ˆ?Ý‘i”iˆGàð 	˜WÔ7ð 	Ø"ð Ý!:Ø"Ð$;ñ"ô "�ð &Ð-ð.ð .ð .ð .ð .ð .ð *@Ð)?ð *ð *Ø$ð*à+Ð1¨rð*ð *ˆGÔ&ð
 #ˆŒØ#6ˆÔ ÝÝÐ(Ñ)Ô)¨QÒ.ÝÐLÑMÔMñ	
ô 	
ð 	
ð )AˆÔ%Ø&<Ð&BÀˆÔ#Ø.ˆÔØ&<ˆÔ#Ø)BˆÔ&Ø,ˆÔØ(ˆÔØ!2ˆÔØ$8ˆÔ!ØˆŒ	ØˆŒ
ØˆŒØ(@ˆÔ%ØÔ ð 	 T¤\Ô%=ÅÔARÒ%RÐ%RÝØRñô ð ð	ð 	Ð%RÐ%Ró    c                 ó*   ‡ — ˆ fd„}|t           _        d S )Nc                 ó2   •— ‰                      |¦  «         d S ©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                óZ   — |                       |                      |¦  «        |¬¦  «         d S ©NrC   )Úprint_linesÚformat_exception)r5   ÚerD   s      r6   r<   zFormatter.print_exceptionS   s/   € Ø×Ò˜×.Ò.¨qÑ1Ô1¸ÐÑ=Ô=Ð=Ð=Ð=r8   c                óŽ   — |€t          j        ¦   «         j        }|                      |                      |¦  «        |¬¦  «         d S rF   )ÚinspectÚcurrentframeÚf_backrG   Úformat_stack)r5   Úframe_or_tbrD   s      r6   Úprint_stackzFormatter.print_stackV   sF   € ØÐÝ!Ô.Ñ0Ô0Ô7ˆKà×Ò˜×*Ò*¨;Ñ7Ô7¸dÐÑCÔCÐCÐCÐCr8   c                óP   — |€t           j        }|D ]}t          ||d¬¦  «         Œd S )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        rr|j        �/|                      |j        ¦  «        E d {V —† t
          j        V — n<|j        �5|j        s.|                      |j        ¦  «        E d {V —† t
          j	        V — dV — |  
                    |j        ¦  «        E d {V —† t          j        t          |¦  «        |¦  «        E d {V —† d S )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àŒ:ð 	1ØŒ{Ð&Ø×0Ò0°´Ñ=Ô=Ð=Ð=Ð=Ð=Ð=Ð=Ð=ÝÔ.Ð.Ð.Ð.Ð.Ø”-Ð+ØÔ0ð ,à×0Ò0°´Ñ?Ô?Ð?Ð?Ð?Ð?Ð?Ð?Ð?ÝÔ0Ð0Ð0Ð0à4Ð4Ð4Ð4Ø×$Ò$ Q¤_Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ð5Ð5ÝÔ2µ4¸±7´7¸AÑ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>r8   c              #   ó²   K  — |€t          j        ¦   «         j        }|                      t	          j        || j        | j        ¬¦  «        ¦  «        E d {V —† d S )N)r(   )rK   rL   rM   Úformat_stack_datar
   Ú
stack_datar   r(   )r5   rO   s     r6   rN   zFormatter.format_stacks   s€   è è € ØÐÝ!Ô.Ñ0Ô0Ô7ˆKà×)Ò)ÝÔ ØØ”Ø)-Ô)Fðñ ô ñ
ô 
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
r8   Ústackc              #   ó¤   K  — |D ]J}t          |t          ¦  «        r|                      |¦  «        E d {V —† Œ3|                      |¦  «        V — ŒKd S r;   )Ú
isinstancer
   Úformat_frameÚformat_repeated_frames)r5   rf   Úitems      r6   rd   zFormatter.format_stack_data   sy   è è € ð ð 	8ð 	8ˆDÝ˜$¥	Ñ*Ô*ð 8Ø×,Ò,¨TÑ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2Ð2Ð2à×1Ò1°$Ñ7Ô7Ð7Ð7Ð7Ð7ð		8ð 	8r8   Úrepeated_framesc                 ó6   — d                      |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        ¦  «        }|                      |¦  «        V — |j        D ]~}t          |t
          ¦  «        r|                      |¦  «        V — Œ/t          |t          ¦  «        r|                      |¦  «        V — Œ\t          |t          u ¦  «         | j        dz   V — Œ| j        r/	 |                      |¦  «        E d {V —† d S # t          $ r Y d S w xY wd S )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�   sD  è è € Ý˜%¥Ñ+Ô+ð 	3Ý˜e T¤\Ñ2Ô2ˆEà×&Ò& uÑ-Ô-Ð-Ð-Ð-à”Kð 	2ð 	2ˆDÝ˜$¥Ñ%Ô%ð 2Ø×&Ò& tÑ,Ô,Ð,Ð,Ð,Ð,Ý˜D¥.Ñ1Ô1ð 2Ø×9Ò9¸$Ñ?Ô?Ð?Ð?Ð?Ð?å˜¥Ð(Ñ)Ô)Ð)ØÔ*¨TÑ1Ð1Ð1Ð1Ð1àÔð 	ðØ×0Ò0°Ñ7Ô7Ð7Ð7Ð7Ð7Ð7Ð7Ð7Ð7Ð7øÝð ð ð Ø��ðøøøð	ð 	s   ÃC/ Ã/
C=Ã<C=Ú
frame_infoc                 ó„   — d                      || j        r|j                             ¦   «         n|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¢   sL   € ØU×\Ò\Ø!ð Ô)ð(�
Ô$×2Ò2Ñ4Ô4Ð4à”Ô'ð ]ñ 
ô 
ð 	
r8   rV   c                 óî  — d}| j         r,|j        r| j         }ndt          | j         ¦  «        z  }|dz  }nd}| j        r"|| j                             |j        ¦  «        z  }|}||                     | j        | j	        | j
        ¬¦  «        dz   z  }| j        r^| j        sW|j        D ]O}|j        |j        z
  }|j        |j        z
  }||k    r)|d|t          |¦  «        z   z  | j        ||z
  z  z   dz   z  }ŒP|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¬   sG  € ØˆØÔ&ð 	ØŒð @ØÔ4��à�s 4Ô#>Ñ?Ô?Ñ?�Ø�c‰MˆFˆFàˆFàÔð 	IØ�dÔ4×;Ò;¸D¼KÑHÔHÑHˆFàˆà�$—+’+Ø”nØœ	Ø!%Ô!:ð ñ 
ô 
ð ñ	ñ 	ˆð Ô#ð 	¨D¬Nð 	Ø"Ô8ð ð �
Ø"Ô(¨4Ô+>Ñ>�Ø ”n tÔ':Ñ:�ð ˜’;�;ØØ 5­3¨v©;¬;Ñ#6Ñ7Ø"Ô;¸sÀU¹{ÑKñLà"ñ#ñ�Føð
 ˆr8   c                 óî   — | j         rdt          | j         ¦  «        z  dz   }nd}|j        |j        k    r%|| j                             |j        ¦  «        z   dz   S |d                     | 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àˆFØÔ" jÔ&;Ò;Ð;Ø˜DÔ:×AÒAÀ*ÔBYÑZÔZÑZÐ]aÑaÐaØ˜	×(Ò(¨Ô)DÑEÔEÑEÐEr8   c              #   ó”   K  — t          |j        d„ ¬¦  «        D ]-}	 |                      |¦  «        dz   V — Œ# t          $ r Y Œ*w xY wd S )Nc                 ó   — | j         S r;   )rz   )Úvs    r6   ú<lambda>z,Formatter.format_variables.<locals>.<lambda>Ý   s   € ¸a¼f€ r8   )Úkeyrr   )ÚsortedÚ	variablesÚformat_variablerw   )r5   rx   Úvars      r6   rv   zFormatter.format_variablesÜ   sz   è è € Ý˜*Ô.Ð4DÐ4DÐEÑEÔEð 	ð 	ˆCðØ×*Ò*¨3Ñ/Ô/°$Ñ6Ð6Ð6Ð6Ð6øÝð ð ð Ø�ðøøøð	ð 	s   �8¸
AÁAr˜   c                 óh   — d                      |j        |                      |j        ¦  «        ¦  «        S )Nz{} = {})rn   rz   Úformat_variable_valueÚvalue)r5   r˜   s     r6   r—   zFormatter.format_variableã   s2   € Ø×ÒØŒHØ×&Ò& s¤yÑ1Ô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      sl  € € € € € ð ØØ $Ø#'Ø&*Ø$Ø$0Ø%(Ø#(Ø#Ø#&Ø&/Ø Ø"ØØ!%ØØØ%)ð)>ð >ð >ð >ð >ð@$ð $ð $ð>¨dð >ð >ð >ð >ð >ðD°Dð Dð Dð Dð Dð Dð *.ð +ð +ð +ð +ð +ð?ð ?¨(°3¬-ð ?ð ?ð ?ð ?ð"

ð 

°¸´ð 

ð 

ð 

ð 

ð8Ø! %¨	°>Ð(AÔ"BÔCð8à	�#Œð8ð 8ð 8ð 8ð
°nð 
Èð 
ð 
ð 
ð 
ð
 %¨	°9¸mÐ(KÔ"Lð ÐQYÐZ]ÔQ^ð ð ð ð ð*
¨ið 
¸Cð 
ð 
ð 
ð 
ð# ð #¨ð #ð #ð #ð #ðLFð Fð 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¥      s%  ðØ €€€Ø 
€
€
€
Ø Ð Ð Ð Ø *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ø "Ð "Ð "Ð "Ð "Ð "Ð "Ð "ðMð Mð Mð Mð Mð Mð Mð Mð Mð Mð Mð Mð Mð Mð Mð Mð Mð Mð Mð Mð Mð Mà $Ð $Ð $Ð $Ð $Ð $ð^ð ^ð ^ð ^ð ^ñ ^ô ^ð ^ð ^ð ^r8   