Ë
    èÿæi÷  ã                   óŒ  — d dl mZ d dlZd dlZd dlmZ  ej                  d«      Zej                  ej                  «       ej                  Zej                  e_
         G d„ d«      Z G d„ de«      Z G d	„ d
e«      Zej                  dd„«       Z G d„ dej$                  «      Zee_
        edk(  r ej*                  «        yy)é    )ÚStringION)ÚtracingÚtracec                   ó(   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zy)ÚCapturedTracez-Capture the trace temporarily for validation.c                 ój   — t        «       | _        t        j                  | j                  «      | _        y ©N)r   ÚbufferÚloggingÚStreamHandlerÚhandler©Úselfs    úm/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/numba/tests/test_tracing.pyÚ__init__zCapturedTrace.__init__   s!   € Ü“jˆŒÜ×,Ñ,¨T¯[©[Ó9ˆ�ó    c                 óž   — t         j                  | _        t        «       | _        t        j                  | j                  «      gt         _        y r	   )ÚloggerÚhandlersÚ	_handlersr   r
   r   r   r   s    r   Ú	__enter__zCapturedTrace.__enter__   s/   € ÜŸ™ˆŒÜ“jˆŒÜ"×0Ñ0°·±Ó=Ð>Œ�r   c                 ó.   — | j                   t        _        y r	   )r   r   r   )r   ÚtypeÚvalueÚ	tracebacks       r   Ú__exit__zCapturedTrace.__exit__   s   € ØŸ.™.Œ�r   c                 ól   — | j                   j                  «       }|j                  t        dz   d«      }|S )NÚ.Ú )r
   ÚgetvalueÚreplaceÚ__name__)r   Úlogs     r   r    zCapturedTrace.getvalue   s/   € ð
 �k‰k×"Ñ"Ó$ˆØ�k‰kœ( S™.¨Ó,ˆØˆ
r   N)r"   Ú
__module__Ú__qualname__Ú__doc__r   r   r   r    © r   r   r   r      s   „ Ù7ò:ò?ò)ór   r   c                   óÖ   — e Zd Zej                  ed„ «       «       Zej                  ed„ «       «       ZdZ	d„ Z
d„ Z ej                   ee
e«      «      Zej                  dd„«       Zd„ Zy)	ÚClassc                  ó   — y r	   r'   ©Úclss    r   Úclass_methodzClass.class_method%   ó   € ð 	r   c                   ó   — y r	   r'   r'   r   r   Ústatic_methodzClass.static_method*   r.   r   Nc                 ó   — | j                   S r	   ©Ú_Class__testr   s    r   Ú	_test_getzClass._test_get1   s   € Ø�{‰{Ðr   c                 ó   — || _         y r	   r2   ©r   r   s     r   Ú	_test_setzClass._test_set4   s	   € Øˆ�r   c                  ó   — y r	   r'   )r   ÚsomeÚotherÚargsÚkwdss        r   ÚmethodzClass.method9   ó   € àr   c                  ó   — y)ú,Generate a deterministic string for testing.z<Class instance>r'   r   s    r   Ú__repr__zClass.__repr__=   s   € à!r   )r   )r"   r$   r%   r   r   Úclassmethodr-   Ústaticmethodr0   r3   r4   r7   ÚpropertyÚtestr=   rA   r'   r   r   r)   r)   #   s…   „ à‡]�]Øñó ó ðð ‡]�]Øñó ó ðð €Fòòð ˆ7�=‰=™ )¨YÓ7Ó8€Dà‡]�]òó ðó"r   r)   c                   óv   — e Zd Zed„ «       Zed„ «       ZdZed„ «       Z	e	j                  d„ «       Z	d„ Zd„ Zd„ Zy)	ÚClass2c                  ó   — y r	   r'   r+   s    r   r-   zClass2.class_methodB   r>   r   c                   ó   — y r	   r'   r'   r   r   r0   zClass2.static_methodF   r>   r   Nc                 ó   — | j                   S r	   ©Ú_Class2__testr   s    r   rE   zClass2.testK   s   € à�{‰{Ðr   c                 ó   — || _         y r	   rK   r6   s     r   rE   zClass2.testN   s	   € àˆ�r   c                  ó   — y r	   r'   r   s    r   r=   zClass2.methodR   s   € Ør   c                 ó8   — dt        | j                  «      z   dz   S )NzTest(Ú))ÚstrrE   r   s    r   Ú__str__zClass2.__str__U   s   € Øœ˜TŸY™Y›Ñ'¨#Ñ-Ð-r   c                  ó   — y)r@   z<Class2 instance>r'   r   s    r   rA   zClass2.__repr__X   s   € à"r   )r"   r$   r%   rB   r-   rC   r0   rL   rD   rE   Úsetterr=   rR   rA   r'   r   r   rG   rG   A   sf   „ Øñó ðð ñó ðð €FØñó ðà	‡[�[ñó ðòò.ó#r   rG   c                 ó"   — | |z   }| |z  }|r|S |S r	   r'   )ÚxÚyÚzÚaÚbs        r   rE   rE   ]   s    € à	ˆA‰€AØ	ˆA‰€AÙ�ˆ(Øˆ(r   c                   óx   ‡ — e Zd Zˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
 ej                  d	«      d
„ «       Zˆ xZS )ÚTestTracingc                 ó&   •— t        t        | �
  |Ž  y r	   )Úsuperr\   r   )r   r;   Ú	__class__s     €r   r   zTestTracing.__init__f   s   ø€ ÜŒk˜4Ñ)¨4Ò0r   c                 ó"   — t        «       | _        y r	   )r   Úcapturer   s    r   ÚsetUpzTestTracing.setUpi   s   € Ü$“ˆ�r   c                 ó   — | ` y r	   )ra   r   s    r   ÚtearDownzTestTracing.tearDownl   s   € Ø‰Lr   c                 óÐ   — | j                   5  t        «       j                  dd¬«       d d d «       | j                  | j                   j	                  «       d«       y # 1 sw Y   Œ4xY w)NÚfooÚbaz)Úbarz]>> Class.method(self=<Class instance>, some='foo', other='value', bar='baz')
<< Class.method
)ra   r)   r=   ÚassertEqualr    r   s    r   Útest_methodzTestTracing.test_methodo   sJ   € à�\‹\Ü‹G�N‰N˜5 eˆNÔ,÷ à×Ñ˜Ÿ™×.Ñ.Ó0ð-õ	.÷ ˆ\ús   �AÁA%c                 óÂ   — | j                   5  t        j                  «        d d d «       | j                  | j                   j	                  «       d«       y # 1 sw Y   Œ4xY w)NzA>> Class.class_method(cls=<class 'Class'>)
<< Class.class_method
)ra   r)   r-   ri   r    r   s    r   Útest_class_methodzTestTracing.test_class_methodw   sD   € à�\‹\Ü×ÑÔ ÷ à×Ñ˜Ÿ™×.Ñ.Ó0ð3õ	4÷ ˆ\úó   �AÁAc                 óÂ   — | j                   5  t        j                  «        d d d «       | j                  | j                   j	                  «       d«       y # 1 sw Y   Œ4xY w)Nz$>> static_method()
<< static_method
)ra   r)   r0   ri   r    r   s    r   Útest_static_methodzTestTracing.test_static_method   sD   € à�\‹\Ü×ÑÔ!÷ à×Ñ˜Ÿ™×.Ñ.Ó0ð.õ	/÷ ˆ\úrm   c                 óà   — | j                   5  t        «       }d|_        d|j                  k(  sJ ‚	 d d d «       | j                  | j                   j	                  «       d«       y # 1 sw Y   Œ4xY w)Né   zˆ>> Class._test_set(self=<Class instance>, value=1)
<< Class._test_set
>> Class._test_get(self=<Class instance>)
<< Class._test_get -> 1
)ra   r)   rE   ri   r    ©r   rE   s     r   Útest_propertyzTestTracing.test_propertyˆ   sX   € à�\‹\Ü“7ˆDØˆDŒIØ˜Ÿ	™	’>Ð!‘>÷ ð 	×Ñ˜Ÿ™×.Ñ.Ó0ð5õ	6÷	 ˆ\ús   �#A$Á$A-c                 óÌ   — | j                   5  t        dd«       t        ddd«       d d d «       | j                  | j                   j                  «       d«       y # 1 sw Y   Œ4xY w)Né   FzQ>> test(x=5, y=5, z=True)
<< test -> 10
>> test(x=5, y=5, z=False)
<< test -> 25
)ra   rE   ri   r    r   s    r   Útest_functionzTestTracing.test_function”   sO   € à�\‹\Ü��AŒJÜ��A�uÔ÷ ð 	×Ñ˜Ÿ™×.Ñ.Ó0ð+õ	,÷ ˆ\ús   �AÁA#z(recursive decoration not yet implementedc                 ó„  — | j                   5  t        j                  t        d¬«       t        j	                  «        t        j                  «        t        «       }d|_        d|j                  k(  sJ ‚|j                  «        | j                  | j                   j                  «       d«       d d d «       y # 1 sw Y   y xY w)NT)Ú	recursiverq   zg>> Class2.class_method(cls=<type 'Class2'>)
<< Class2.class_method
>> static_method()
<< static_method
)
ra   r   r   rG   r-   r0   rE   r=   ri   r    rr   s     r   Útest_injectedzTestTracing.test_injectedŸ   s„   € ð �\‹\Ü�M‰Mœ&¨DÕ1Ü×ÑÔ!Ü× Ñ Ô"Ü“8ˆDØˆDŒIØ˜Ÿ	™	’>Ð!�>Ø�K‰KŒMà×Ñ˜TŸ\™\×2Ñ2Ó4ð.ô/÷ �\‰\ús   �B B6Â6B?)r"   r$   r%   r   rb   rd   rj   rl   ro   rs   rv   ÚunittestÚskipry   Ú__classcell__)r_   s   @r   r\   r\   d   sK   ø„ ô1ò'òò.ò4ò/ò
6ò	,ð €X‡]�]Ð=Ó>ñ/ó ?ô/r   r\   Ú__main__)T)Úior   r   rz   Ú
numba.corer   Ú	getLoggerr   ÚsetLevelÚINFOr   Ú
orig_traceÚdotracer   Úobjectr)   rG   rE   ÚTestCaser\   r"   Úmainr'   r   r   Ú<module>rˆ      s¹   ðÝ Û ã Ý à	ˆ×	Ñ	˜7Ó	#€Ø ‡��—‘Ô ð �]‰]€
Ø—‘€„÷ñ ô*"ˆFô "ô<#ˆVô #ð8 	‡�òó ðôK/�(×#Ñ#ô K/ð^ €„àˆzÒØ€H‡M�M…Oð r   