Ë
    íÍ:j›  ã            	      ó–  — U d dl mZ d dlZd dlZd dlZd dlZd dlmZ d dlm	Z	m
Z
 d dlmZmZmZ d dlZd dlmZmZmZ d dlZd dlZd dlmZmZ d dlmZ d dlmZmZ d d	lm Z   G d
„ d«      Z! G d„ d«      Z" G d„ d«      Z# G d„ d«      Z$ G d„ d«      Z%d„ Z&d„ Z'e'd„ «       Z(d„ Z)d„ Z*ejV                  jY                  dg d¢«      d„ «       Z-d„ Z.d„ Z/d„ Z0dd d!œd"d#gifdd d!œd"d"d#gifgZ1d$e2d%<   di i fdd d!œdd d!œi fd#d id"d id"d"d#gifgZ3d&e2d'<   ejV                  jY                  d(e1«      d)„ «       Z4ejV                  jY                  d*e3«      d+„ «       Z5d,„ Z6d-„ Z7d.„ Z8d/„ Z9d0„ Z:d1„ Z;d2„ Z<d3„ Z=ejV                  jY                  d4 ej|                  d5«      j                  d6d7«      d"f ej|                  d5«      d"f ej|                  d5«       ej|                  d6«      fg«      d8„ «       Z@d9„ ZAd:„ ZBd;„ ZCd<„ ZDd=„ ZEd>„ ZFd?„ ZGd@„ ZHdA„ ZIdB„ ZJdC„ ZKdD„ ZLdE„ ZMdF„ ZNdG„ ZOdH„ ZPdI„ ZQejV                  jY                  dJg dK¢«      dL„ «       ZRdM„ ZSdN„ ZTdO„ ZUdP„ ZVy)Qé    )ÚannotationsN)ÚAny)ÚpatchÚMock)ÚdatetimeÚdateÚ	timedelta)Úassert_array_equalÚassert_approx_equalÚassert_array_almost_equal)Ú_apiÚcbook)Údelete_masked_pointsÚ
strip_math)Ú
ModuleTypec                  ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚTest_delete_masked_pointsc                ó    — t        j                  t        «      5  t        dt	        j
                  dd«      «       d d d «       y # 1 sw Y   y xY w)Nza stringg      ð?g      @)ÚpytestÚraisesÚ
ValueErrorr   ÚnpÚarange©Úselfs    úp/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/matplotlib/tests/test_cbook.pyÚtest_bad_first_argz,Test_delete_masked_points.test_bad_first_arg   s<   € Ü�]‰]œ:Ó&ñ 	BÜ  ¬R¯Y©Y°s¸CÓ-@ÔA÷	B÷ 	Bñ 	Bús   š!AÁAc                ó  — g d¢}dddt         j                  t         j                  dg}t        ||«      \  }}g d¢}t        |t        j                  |«      |   «       t        |t        j                  |«      |   «       y )N)ÚaÚbÚcÚdÚeÚfé   é   é   é   )r   r%   r&   é   )r   Únanr   r
   Úarray)r   Úa1Úa2Úresult1Úresult2Úinds         r   Útest_string_seqz)Test_delete_masked_points.test_string_seq   se   € Ú+ˆØ��A”r—v‘vœrŸv™v qÐ)ˆÜ/°°BÓ7Ñˆ�ÚˆÜ˜7¤B§H¡H¨R£L°Ñ$5Ô6Ü˜7¤B§H¡H¨R£L°Ñ$5Õ6ó    c           
     óÌ  — t        ddd«      t        ddd«      t        ddd«      t        ddd«      t        ddd«      t        ddd«      g}t        j                  j                  dddt        j                  t        j                  dgg d¢¬	«      }t        ||«      }g d
¢}t        |d   t        j                  |«      |   «       t        |d   ||   j                  «       «       y )NiØ  r%   r&   r'   é   r)   r(   ©FFTTFF©Úmask©r   r%   r)   r   )r   r   Úmar+   r*   r   r
   Ú
compressed)r   ÚdatesÚa_maskedÚactualr0   s        r   Útest_datetimez'Test_delete_masked_points.test_datetime&   sÉ   € Ü˜$  1Ó%¤x°°a¸Ó';Ü˜$  1Ó%¤x°°a¸Ó';Ü˜$  1Ó%¤x°°a¸Ó';ð=ˆô —5‘5—;‘;  1 a¬¯©´·±¸Ð;Ú$Lð ó Nˆä% e¨XÓ6ˆÚˆÜ˜6 !™9¤b§h¡h¨u£o°cÑ&:Ô;Ü˜6 !™9 h¨s¡m×&>Ñ&>Ó&@ÕAr2   c                ó@  — t         j                  j                  dddt         j                  t         j                  dgg d¢¬«      }t	        j
                  g d¢«      }t        ||«      }g d¢}t        |d	   ||   j                  «       «       t        |d   ||   «       y )
Nr%   r&   r'   r(   r5   r6   )ÚrÚgr    r!   ÚmÚyr8   r   )	r   r9   r+   r*   ÚmcolorsÚto_rgba_arrayr   r
   r:   )r   r<   Úa_rgbar=   r0   s        r   Ú	test_rgbaz#Test_delete_masked_points.test_rgba1   sƒ   € Ü—5‘5—;‘;  1 a¬¯©´·±¸Ð;Ú$Lð ó Nˆä×&Ñ&Ò'EÓFˆÜ% h°Ó7ˆÚˆÜ˜6 !™9 h¨s¡m×&>Ñ&>Ó&@ÔAÜ˜6 !™9 f¨S¡kÕ2r2   N)Ú__name__Ú
__module__Ú__qualname__r   r1   r>   rG   © r2   r   r   r      s   „ òBò7ò	Bó3r2   r   c                  óZ   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zy)ÚTest_boxplot_statsc                ó  — t         j                  j                  d«       d| _        d| _        t         j                  j                  | j                  | j                  fdd¬«      | _        t        g d¢«      | _        t        j                  | j                  «      | _        dd	d
ddt        j                  g d¢«      dddddœ
| _        dddœ| _        ddt        j                  ddg«      dœ| _        dddœ| _        dddœ| _        y )Ni©  é%   r4   ç      ø?g      ü?)ÚsizeÚmeanÚsigma)rR   ÚmedÚq1Úq3ÚiqrÚciloÚcihiÚwhisloÚwhishiÚfliersÚlabelgP¬Ý$·C@g@÷®ÓÃ¿g>zÔzDü*@gjtÀxJ*@g–Dm‡(«
@)çÓ¾¹#W@ç7ˆ9µqÂU@g¶®EÉ³E@g—q×ž¥C@g¥å]YŒÁõ?gó6 v´-@gIÿ÷Qæ;@g äinÞ“¥?)
rY   rX   rW   rR   rT   r\   rU   rV   r[   rZ   gÑÁNá!@gûˆèý?)rY   rX   g =É³E@r^   r_   )r[   rZ   r\   gÖeLMÀÈ?)rZ   r[   g¯,Á¹#W@)r   ÚrandomÚseedÚnrowsÚncolsÚ	lognormalÚdataÚsortedÚ
known_keysr   Úboxplot_statsÚstd_resultsr+   Úknown_nonbootstrapped_resÚknown_bootstrapped_ciÚknown_whis3_resÚknown_res_percentilesÚknown_res_ranger   s    r   Úsetup_methodzTest_boxplot_stats.setup_method<   s  € Ü
�	‰	�‰�sÔØˆŒ
ØˆŒ
Ü—I‘I×'Ñ'¨d¯j©j¸$¿*¹*Ð-EØ-0¸ð (ó >ˆŒ	ä ò "
ó ˆŒô
 !×.Ñ.¨t¯y©yÓ9ˆÔð 'Ø'Ø%Ø%Ø%Ü—h‘hò  ó ð %Ø#Ø(Ø*ñ*
ˆÔ&ð  &Ø&ñ&
ˆÔ"ð )Ø*Ü—h‘h ¨[Ð9Ó:ñ 
ˆÔð +Ø)ñ&
ˆÔ"ð +Ø(ñ 
ˆÕr2   c                ó<   — t        | j                  t        «      sJ ‚y ©N)Ú
isinstanceri   Úlistr   s    r   Útest_form_main_listz&Test_boxplot_stats.test_form_main_listn   s   € Ü˜$×*Ñ*¬DÔ1Ð1Ñ1r2   c                óJ   — | j                   D ]  }t        |t        «      rŒJ ‚ y rq   )ri   rr   Údict©r   Úress     r   Útest_form_each_dictz&Test_boxplot_stats.test_form_each_dictq   s'   € Ø×#Ñ#ò 	)ˆCÜ˜c¤4Õ(Ð(Ð(ñ	)r2   c                ól   — | j                   D ]%  }t        |«      t        | j                  «      k  rŒ%J ‚ y rq   )ri   Úsetrg   rw   s     r   Útest_form_dict_keysz&Test_boxplot_stats.test_form_dict_keysu   s2   € Ø×#Ñ#ò 	4ˆCÜ�s“8œs 4§?¡?Ó3Ó3Ð3Ð3ñ	4r2   c                ó„   — | j                   d   }| j                  j                  «       D ]  \  }}t        ||   |«       Œ y )Nr   )ri   rj   Úitemsr   )r   rx   ÚkeyÚvalues       r   Útest_results_baselinez(Test_boxplot_stats.test_results_baseliney   sB   € Ø×Ñ˜qÑ!ˆØ×8Ñ8×>Ñ>Ó@ò 	7‰JˆC�Ü% c¨#¡h°Õ6ñ	7r2   c                ó²   — t        j                  | j                  d¬«      }|d   }| j                  j	                  «       D ]  \  }}t        ||   |«       Œ y )Ni'  )Ú	bootstrapr   )r   rh   re   rk   r~   r   ©r   Úresultsrx   r   r€   s        r   Útest_results_bootstrappedz,Test_boxplot_stats.test_results_bootstrapped~   sQ   € Ü×%Ñ% d§i¡i¸5ÔAˆØ�a‰jˆØ×4Ñ4×:Ñ:Ó<ò 	1‰JˆC�Ü  C¡¨%Õ0ñ	1r2   c                ó²   — t        j                  | j                  d¬«      }|d   }| j                  j	                  «       D ]  \  }}t        ||   |«       Œ y )Nr'   ©Úwhisr   )r   rh   re   rl   r~   r   r„   s        r   Útest_results_whiskers_floatz.Test_boxplot_stats.test_results_whiskers_float„   sQ   € Ü×%Ñ% d§i¡i°aÔ8ˆØ�a‰jˆØ×.Ñ.×4Ñ4Ó6ò 	7‰JˆC�Ü% c¨#¡h°Õ6ñ	7r2   c                ó¶   — t        j                  | j                  ddg¬«      }|d   }| j                  j	                  «       D ]  \  }}t        ||   |«       Œ y )Nr   éd   rˆ   )r   rh   re   rn   r~   r   r„   s        r   Útest_results_whiskers_rangez.Test_boxplot_stats.test_results_whiskers_rangeŠ   sU   € Ü×%Ñ% d§i¡i°q¸#°hÔ?ˆØ�a‰jˆØ×.Ñ.×4Ñ4Ó6ò 	7‰JˆC�Ü% c¨#¡h°Õ6ñ	7r2   c                ó¶   — t        j                  | j                  ddg¬«      }|d   }| j                  j	                  «       D ]  \  }}t        ||   |«       Œ y )Nr)   é_   rˆ   r   )r   rh   re   rm   r~   r   r„   s        r   Ú!test_results_whiskers_percentilesz4Test_boxplot_stats.test_results_whiskers_percentiles�   sU   € Ü×%Ñ% d§i¡i°q¸"°gÔ>ˆØ�a‰jˆØ×4Ñ4×:Ñ:Ó<ò 	7‰JˆC�Ü% c¨#¡h°Õ6ñ	7r2   c                óâ   — g d¢}t        j                  | j                  |¬«      }t        ||«      D ]  \  }}|d   |k(  rŒJ ‚ t        j                  | j                  «      }|D ]  }d|vrŒJ ‚ y )N)ÚTest1r&   ÚAardvarkr4   ©Úlabelsr]   )r   rh   re   Úzip)r   r•   r…   Úlabrx   s        r   Útest_results_withlabelsz*Test_boxplot_stats.test_results_withlabels–   s|   € Ú,ˆÜ×%Ñ% d§i¡i¸Ô?ˆÜ˜F GÓ,ò 	'‰HˆC�Ø�w‘< 3Ó&Ð&Ð&ð	'ô ×%Ñ% d§i¡iÓ0ˆØò 	&ˆCØ #Ò%Ð%Ð%ñ	&r2   c                óª   — ddg}t        j                  t        «      5  t        j                  | j
                  |¬«       d d d «       y # 1 sw Y   y xY w)Nr%   r&   r”   )r   r   r   r   rh   re   )r   r•   s     r   Útest_label_errorz#Test_boxplot_stats.test_label_error    s@   € Ø�Q�ˆÜ�]‰]œ:Ó&ñ 	:Ü×Ñ §	¡	°&Õ9÷	:÷ 	:ñ 	:ús   ž"A	Á	Ac                óÊ   — t         j                  j                  d¬«      }t        j                  t
        «      5  t        j                  |«       d d d «       y # 1 sw Y   y xY w)N)é"   rœ   rœ   )rQ   )r   r`   Únormalr   r   r   r   rh   ©r   re   s     r   Útest_bad_dimsz Test_boxplot_stats.test_bad_dims¥   sH   € Ü�y‰y×Ñ \ÐÓ2ˆÜ�]‰]œ:Ó&ñ 	&Ü×Ñ Ô%÷	&÷ 	&ñ 	&ús   ºAÁA"c                óp  — t        j                  d¬«      }t        j                  d|dg«      }t        j                  |d¬«      }t        j                  |d¬«      }|d   d	   dk(  sJ ‚|d   d
   dk(  sJ ‚t        |d   d   ddg«       |d   d	   dk(  sJ ‚|d   d
   dk(  sJ ‚t        |d   d   g «       y )NéŒ   )Úshapeiçÿÿÿé   F)Ú	autorangeTr   rZ   r[   r\   )r   ÚzerosÚhstackr   rh   r   )r   ÚxÚbstats_falseÚbstats_trues       r   Ú"test_boxplot_stats_autorange_falsez5Test_boxplot_stats.test_boxplot_stats_autorange_falseª   sÎ   € Ü�H‰H˜3ÔˆÜ�I‰I�s˜A˜r�lÓ#ˆÜ×*Ñ*¨1¸Ô>ˆÜ×)Ñ)¨!°tÔ<ˆà˜A‰˜xÑ(¨AÒ-Ð-Ð-Ø˜A‰˜xÑ(¨AÒ-Ð-Ð-Ü! ,¨q¡/°(Ñ";¸cÀ2¸YÔGà˜1‰~˜hÑ'¨3Ò.Ð.Ð.Ø˜1‰~˜hÑ'¨2Ò-Ð-Ð-Ü! +¨a¡.°Ñ":¸BÕ?r2   N)rH   rI   rJ   ro   rt   ry   r|   r�   r†   rŠ   r�   r�   r˜   rš   rŸ   rª   rK   r2   r   rM   rM   ;   sE   „ ò0
òd2ò)ò4ò7ò
1ò7ò7ò7ò&ò:ò
&ó
@r2   rM   c                  ó   — e Zd Zd„ Zy)ÚHashablec                 ó   — y rq   rK   r   s    r   ÚdummyzHashable.dummyº   ó   � r2   N)rH   rI   rJ   r®   rK   r2   r   r¬   r¬   ¹   s   „ Ûr2   r¬   c                  ó   — e Zd ZdZd„ Zy)Ú
UnhashableNc                 ó   — y rq   rK   r   s    r   r®   zUnhashable.dummy¿   r¯   r2   )rH   rI   rJ   Ú__hash__r®   rK   r2   r   r±   r±   ½   s
   „ Ø€HÛr2   r±   c                  ó˜  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	e
j                  j                  dd	d
g«      e
j                  j                  deeg«      d„ «       «       Ze
j                  j                  dd	d
g«      e
j                  j                  deeg«      d„ «       «       Ze
j                  j                  dd	d
g«      e
j                  j                  deeg«      d„ «       «       Ze
j                  j                  dd	d
g«      e
j                  j                  deeg«      d„ «       «       Ze
j                  j                  dd	d
g«      e
j                  j                  deeg«      d„ «       «       Zd„ Ze
j                  j                  dd	d
g«      e
j                  j                  deeg«      d„ «       «       Zd„ Ze
j                  j                  dd	d
g«      e
j                  j                  deeg«      d„ «       «       Ze
j                  j                  dd	d
g«      e
j                  j                  deeg«      d„ «       «       Zd„ Zy)ÚTest_callback_registryc                óD   — d| _         t        j                  «       | _        y )NÚtest)Úsignalr   ÚCallbackRegistryÚ	callbacksr   s    r   ro   z#Test_callback_registry.setup_methodÃ   s   € ØˆŒÜ×/Ñ/Ó1ˆ�r2   c                óv   — |r| j                   j                  ||«      S | j                   j                  ||«      S rq   )rº   ÚconnectÚ_connect_picklable)r   ÚsÚfuncÚpickles       r   r¼   zTest_callback_registry.connectÇ   s3   € ÙØ—>‘>×)Ñ)¨!¨TÓ2Ð2à—>‘>×4Ñ4°Q¸Ó=Ð=r2   c                ó8   — | j                   j                  |«      S rq   )rº   Ú
disconnect©r   Úcids     r   rÂ   z!Test_callback_registry.disconnectÍ   s   € Ø�~‰~×(Ñ(¨Ó-Ð-r2   c                óÖ   ‡ — t        ˆ fd„‰ j                  j                  D «       «      }t        ‰ j                  j                  j	                  ‰ j
                  «      «      }||k(  sJ ‚|S )Nc              3  óB   •K  — | ]  \  }}|‰j                   k(  –— Œ y ­wrq   ©r¸   )Ú.0r¾   Úpr   s      €r   ú	<genexpr>z/Test_callback_registry.count.<locals>.<genexpr>Ñ   s   øè ø€ ÒO©$¨!¨Q�Q˜$Ÿ+™+Õ%ÑOùs   ƒ)Úsumrº   Ú_func_cid_mapÚlenÚgetr¸   )r   Úcount1Úcount2s   `  r   ÚcountzTest_callback_registry.countÐ   sS   ø€ ÜÓO°$·.±.×2NÑ2NÔOÓOˆÜ�T—^‘^×-Ñ-×1Ñ1°$·+±+Ó>Ó?ˆØ˜ÒÐÐØˆr2   c                óö   — t         j                  j                  «        g | j                  j                  ¢g k(  sJ ‚| j                  j                  i k(  sJ ‚| j                  j
                  t        «       k(  sJ ‚y rq   )r   ÚtestingÚbreak_cyclesrº   rÌ   Ú_pickled_cidsr{   r   s    r   Úis_emptyzTest_callback_registry.is_emptyÖ   sa   € Ü
�
‰
×ÑÔ!Ø.�—‘×-Ñ-Ð.°"Ò4Ð4Ð4Ø�~‰~×'Ñ'¨2Ò-Ð-Ð-Ø�~‰~×+Ñ+¬s«uÒ4Ð4Ñ4r2   c                ó°   — t         j                  j                  «        g | j                  j                  ¢g k7  sJ ‚| j                  j                  i k7  sJ ‚y rq   )r   rÓ   rÔ   rº   rÌ   r   s    r   Úis_not_emptyz#Test_callback_registry.is_not_emptyÜ   sG   € Ü
�
‰
×ÑÔ!Ø.�—‘×-Ñ-Ð.°"Ò4Ð4Ð4Ø�~‰~×'Ñ'¨2Ò-Ð-Ñ-r2   c                óÖ   — t        j                  «       }|j                  dd„ «       t        j                  t        j
                  |«      «      }|j                  dd„ «      }|dk(  sJ ‚y )Nr   c                  ó   — y rq   rK   rK   r2   r   ú<lambda>z9Test_callback_registry.test_cid_restore.<locals>.<lambda>ã   r¯   r2   r!   c                  ó   — y rq   rK   rK   r2   r   rÛ   z9Test_callback_registry.test_cid_restore.<locals>.<lambda>å   r¯   r2   r%   )r   r¹   r¼   rÀ   ÚloadsÚdumps)r   ÚcbÚcb2rÄ   s       r   Útest_cid_restorez'Test_callback_registry.test_cid_restoreá   sP   € Ü×#Ñ#Ó%ˆØ
�
‰
�3™Ô%Ü�l‰lœ6Ÿ<™<¨Ó+Ó,ˆØ�k‰k˜#™|Ó,ˆØ�aŠxˆ‰xr2   rÀ   TFÚclsc                óø  — | j                  «         |«       }| j                  | j                  |j                  |«      }t	        |«      t
        u sJ ‚| j                  «        | j                  | j                  |j                  |«      }||k(  sJ ‚| j                  «        t        g | j                  j                  ¢«      dk(  sJ ‚t        | j                  j                  «      dk(  sJ ‚~| j                  «        y )Nr%   )
rÖ   r¼   r¸   r®   ÚtypeÚintrØ   rÍ   rº   rÌ   )r   rÀ   râ   Úmini_meÚcid1Úcid2s         r   Útest_callback_completez-Test_callback_registry.test_callback_completeè   sÒ   € ð 	�‰Œñ “%ˆð �|‰|˜DŸK™K¨¯©¸Ó?ˆÜ�D‹zœSÑ Ð Ð Ø×ÑÔð �|‰|˜DŸK™K¨¯©¸Ó?ˆØ�tŠ|Ðˆ|Ø×ÑÔÜÐ2�T—^‘^×1Ñ1Ð2Ó3°qÒ8Ð8Ð8Ü�4—>‘>×+Ñ+Ó,°Ò1Ð1Ð1àð 	�‰�r2   c                ó  — | j                  «         |«       }| j                  | j                  |j                  |«      }t	        |«      t
        u sJ ‚| j                  «        | j                  |«       | j                  «        y rq   ©rÖ   r¼   r¸   r®   rä   rå   rØ   rÂ   ©r   rÀ   râ   ræ   rç   s        r   Útest_callback_disconnectz/Test_callback_registry.test_callback_disconnect  sg   € ð 	�‰Œñ “%ˆð �|‰|˜DŸK™K¨¯©¸Ó?ˆÜ�D‹zœSÑ Ð Ð Ø×ÑÔà�‰˜Ôð 	�‰�r2   c                ó  — | j                  «         |«       }| j                  | j                  |j                  |«      }t	        |«      t
        u sJ ‚| j                  «        | j                  d«       | j                  «        y )NÚfoorë   rì   s        r   Útest_callback_wrong_disconnectz5Test_callback_registry.test_callback_wrong_disconnect  sj   € ð 	�‰Œñ “%ˆð �|‰|˜DŸK™K¨¯©¸Ó?ˆÜ�D‹zœSÑ Ð Ð Ø×ÑÔà�‰˜Ôð 	×ÑÕr2   c                ó"  — | j                  «         |«       }| j                  | j                  |j                  |«       | j	                  «        | j
                  j                  |j                  | j                  ¬«       | j                  «        y )NrÇ   ©rÖ   r¼   r¸   r®   rØ   rº   rÂ   ©r   rÀ   râ   ræ   s       r   Útest_callback_disconnect_funcz4Test_callback_registry.test_callback_disconnect_func(  sh   € ð 	�‰Œñ “%ˆð 	�‰�T—[‘[ '§-¡-°Ô8Ø×ÑÔð 	�‰×!Ñ! '§-¡-¸¿¹Ð!ÔDð 	�‰�r2   c                óž  — | j                  «         |«       }| j                  | j                  |j                  |«       | j	                  «        | j
                  j                  |j                  d¬«       | j	                  «         |«       }| j
                  j                  |j                  | j                  ¬«       | j	                  «        y )NÚwrong_signalrÇ   rò   ©r   rÀ   râ   ræ   Úmini_me2s        r   Ú#test_callback_disconnect_func_wrongz:Test_callback_registry.test_callback_disconnect_func_wrong;  s�   € ð 	�‰Œñ “%ˆð 	�‰�T—[‘[ '§-¡-°Ô8Ø×ÑÔð 	�‰×!Ñ! '§-¡-¸Ð!ÔGð 	×ÑÔñ “5ˆØ�‰×!Ñ! (§.¡.¸¿¹Ð!ÔEð 	×ÑÕr2   c                ó
  — | j                  «        d„ }| j                  j                  | j                  |«       | j	                  «        d„ }| j                  j                  || j                  ¬«       | j	                  «        y )Nc                  ó   — y rq   rK   rK   r2   r   r¿   zLTest_callback_registry.test_callback_disconnect_func_redefined.<locals>.func[  ó   € Ør2   c                  ó   — y rq   rK   rK   r2   r   r¿   zLTest_callback_registry.test_callback_disconnect_func_redefined.<locals>.funcb  rü   r2   rÇ   )rÖ   rº   r¼   r¸   rØ   rÂ   )r   r¿   s     r   Ú'test_callback_disconnect_func_redefinedz>Test_callback_registry.test_callback_disconnect_func_redefinedU  sh   € ð 	�‰Œò	ð 	�‰×Ñ˜tŸ{™{¨DÔ1Ø×ÑÔò	ð 	�‰×!Ñ! $¨t¯{©{Ð!Ô;ð 	×ÑÕr2   c                óŽ  — | j                  «         |«       }| j                  j                  d|j                  «       | j                  j                  d|j                  «       t	        t        | j                  j                  «      «      dk(  sJ ‚| j                  j                  |j                  «       | j                  «        y )NÚsignal1Úsignal2r&   ©rÖ   rº   r¼   r®   rÍ   rs   rÌ   rÂ   ró   s       r   Ú)test_callback_disconnect_func_all_signalsz@Test_callback_registry.test_callback_disconnect_func_all_signalsk  s‹   € ð 	�‰Œá“%ˆð 	�‰×Ñ˜y¨'¯-©-Ô8Ø�‰×Ñ˜y¨'¯-©-Ô8Ü”4˜Ÿ™×4Ñ4Ó5Ó6¸!Ò;Ð;Ð;ð 	�‰×!Ñ! '§-¡-Ô0ð 	�‰�r2   c                ó   — | j                  «        | j                  j                  | j                  d„ «      }t	        j
                  t        d¬«      5  | j                  j                  || j                  ¬«       d d d «       y # 1 sw Y   y xY w)Nc                  ó   — y rq   rK   rK   r2   r   rÛ   zOTest_callback_registry.test_disconnect_cid_with_signal_raises.<locals>.<lambda>�  r¯   r2   zsignal cannot be specified©ÚmatchrÇ   )rÖ   rº   r¼   r¸   r   r   r   rÂ   rÃ   s     r   Ú&test_disconnect_cid_with_signal_raisesz=Test_callback_registry.test_disconnect_cid_with_signal_raises~  sd   € à�‰ŒØ�n‰n×$Ñ$ T§[¡[±,Ó?ˆÜ�]‰]œ:Ð-IÔJñ 	?Ø�N‰N×%Ñ% c°$·+±+Ð%Ô>÷	?÷ 	?ñ 	?ús   Á(BÂBc                ó¢  — | j                  «         |«       }| j                  j                  d|j                  «       | j                  j                  d|j                  «       t	        t        | j                  j                  «      «      dk(  sJ ‚| j                  j                  |j                  d¬«       t	        t        | j                  j                  «      «      dk(  sJ ‚d| j                  j                  v sJ ‚d| j                  j                  vsJ ‚| j                  j                  |j                  d¬«       | j                  «        y )Nr   r  r&   rÇ   r%   r  ró   s       r   Ú'test_callback_disconnect_func_selectivez>Test_callback_registry.test_callback_disconnect_func_selective…  s  € ð
 	�‰Œá“%ˆð 	�‰×Ñ˜y¨'¯-©-Ô8Ø�‰×Ñ˜y¨'¯-©-Ô8Ü”4˜Ÿ™×4Ñ4Ó5Ó6¸!Ò;Ð;Ð;ð 	�‰×!Ñ! '§-¡-¸	Ð!ÔBô ”4˜Ÿ™×4Ñ4Ó5Ó6¸!Ò;Ð;Ð;Ø˜DŸN™N×4Ñ4Ñ4Ð4Ð4Ø §¡× 8Ñ 8Ñ8Ð8Ð8ð 	�‰×!Ñ! '§-¡-¸	Ð!ÔBð 	�‰�r2   c                óª  — | j                  «         |«       }| j                  | j                  |j                  |«        |«       }| j                  | j                  |j                  |«        |«       }| j                  | j                  |j                  |«       | j	                  «        | j                  «       dk(  sJ ‚d }d }| j                  «        y ©Nr&   )rÖ   r¼   r¸   r®   rØ   rÑ   r÷   s        r   Ú'test_registration_on_non_empty_registryz>Test_callback_registry.test_registration_on_non_empty_registry¡  s§   € ð 	�‰Œñ “%ˆØ�‰�T—[‘[ '§-¡-°Ô8ñ “5ˆØ�‰�T—[‘[ (§.¡.°&Ô9ñ “5ˆØ�‰�T—[‘[ (§.¡.°&Ô9ð 	×ÑÔØ�z‰z‹|˜qÒ Ð Ð ð ˆØˆØ�‰�r2   c                ó�   — t        t        j                  t        j                  t	        j
                  «       «      «      d«      sJ ‚y )Nrº   )ÚhasattrrÀ   rÝ   rÞ   r   r¹   r   s    r   Útest_picklingz$Test_callback_registry.test_pickling¼  s4   € Ü”v—|‘|¤F§L¡L´×1GÑ1GÓ1IÓ$JÓKØ"ô$ð 	$ñ $r2   N)rH   rI   rJ   ro   r¼   rÂ   rÑ   rÖ   rØ   rá   r   ÚmarkÚparametrizer¬   r±   ré   rí   rð   rô   rù   rþ   r  r  r
  r  r  rK   r2   r   rµ   rµ   Â   sl  „ ò2ò>ò.òò5ò.ò
ð ‡[�[×Ñ˜X¨¨e }Ó5Ø‡[�[×Ñ˜U X¨zÐ$:Ó;ñó <ó 6ðð0 ‡[�[×Ñ˜X¨¨e }Ó5Ø‡[�[×Ñ˜U X¨zÐ$:Ó;ñó <ó 6ðð" ‡[�[×Ñ˜X¨¨e }Ó5Ø‡[�[×Ñ˜U X¨zÐ$:Ó;ñó <ó 6ðð" ‡[�[×Ñ˜X¨¨e }Ó5Ø‡[�[×Ñ˜U X¨zÐ$:Ó;ñó <ó 6ðð" ‡[�[×Ñ˜X¨¨e }Ó5Ø‡[�[×Ñ˜U X¨zÐ$:Ó;ñó <ó 6ðò0ð, ‡[�[×Ñ˜X¨¨e }Ó5Ø‡[�[×Ñ˜U X¨zÐ$:Ó;ñó <ó 6ðò"?ð ‡[�[×Ñ˜X¨¨e }Ó5Ø‡[�[×Ñ˜U X¨zÐ$:Ó;ñó <ó 6ðð4 ‡[�[×Ñ˜X¨¨e }Ó5Ø‡[�[×Ñ˜U X¨zÐ$:Ó;ñó <ó 6ðó2$r2   rµ   c                ó   — t        j                  «       }|j                  dd„ «       |j                  t         dd„ «       t	        j
                  t        «      5  |j                  dd«       d d d «       | j                  «       }|j                  |j                  cxk(  rdk(  sJ ‚ J ‚|j                  t         dd„ «       |j                  dd«       | j                  «       }|j                  dk(  sJ ‚d|j                  v sJ ‚y # 1 sw Y   Œ™xY w)	Nrï   c                  ó   — y rq   rK   rK   r2   r   rÛ   zAtest_callbackregistry_default_exception_handler.<locals>.<lambda>Ã  r¯   r2   Ú"_get_running_interactive_frameworkc                  ó   — y rq   rK   rK   r2   r   rÛ   zAtest_callbackregistry_default_exception_handler.<locals>.<lambda>Æ  r¯   r2   zargument mismatchÚ c                  ó   — y)Nznot-nonerK   rK   r2   r   rÛ   zAtest_callbackregistry_default_exception_handler.<locals>.<lambda>Í  r¯   r2   z,takes 0 positional arguments but 1 was given)r   r¹   r¼   Úsetattrr   r   Ú	TypeErrorÚprocessÚ
readouterrÚoutÚerr)ÚcapsysÚmonkeypatchrß   Úouterrs       r   Ú/test_callbackregistry_default_exception_handlerr"  Á  sí   € Ü	×	Ñ	Ó	!€BØ‡J�Jˆu‘lÔ#à×ÑÜÐ3±\ôCä	�‰”yÓ	!ñ /Ø
�
‰
�5Ð-Ô.÷/à×ÑÓ €FØ�:‰:˜Ÿ™Ô) rÒ)Ð)Ñ)Ð)Ð)à×ÑÜÐ3Ñ5GôIà‡J�JˆuÐ)Ô*Ø×ÑÓ €FØ�:‰:˜ÒÐÐØ9¸V¿Z¹ZÑGÐGÑG÷/ð /ús   ÁDÄDc                ó”  ‡—  G d„ dt         «      Šd„ }d„ }ˆfd„}t        j                  d ¬«      }|j                  d|«       t        j                  |¬«      }|j                  d|«       t        j                  |¬«      }|j                  d|«       t	        j
                  j                  d|t        g|‰g|t        gg«      | «      S )	Nc                  ó   — e Zd Zy)ú%raising_cb_reg.<locals>.TestExceptionN©rH   rI   rJ   rK   r2   r   ÚTestExceptionr%  Õ  ó   „ Ør2   r'  c                 ó   — t         ‚rq   )ÚRuntimeErrorrK   r2   r   Úraise_runtime_errorz+raising_cb_reg.<locals>.raise_runtime_errorØ  s   € ÜÐr2   c                 ó   — t         ‚rq   ©r   rK   r2   r   Úraise_value_errorz)raising_cb_reg.<locals>.raise_value_errorÛ  s   € ÜÐr2   c                ó,   •— t        | t        «      r‰‚| ‚rq   )rr   r*  )Úexcpr'  s    €r   Útransformerz#raising_cb_reg.<locals>.transformerÞ  s   ø€ Ü�dœLÔ)ØÐØˆ
r2   ©Úexception_handlerrï   zcb, excp)	Ú	Exceptionr   r¹   r¼   r   r  r  r*  r   )r¿   r+  r.  r1  Úcb_oldÚcb_filtÚcb_filt_passr'  s          @r   Úraising_cb_regr8  Ô  sÉ   ø€ ôœ	ô òòôô ×#Ñ#°dÔ;€FØ
‡N�N�5Ð-Ô.ô ×$Ñ$°{ÔC€GØ‡O�O�EÐ.Ô/ô ×)Ñ)¸KÔH€LØ×Ñ˜Ð 1Ô2ä�;‰;×"Ñ" :Ø%+¬\Ð$:Ø%,¨mÐ$<Ø%1´:Ð$>ð$@óAð BFóGð Gr2   c                óª   — | j                  t        dd„ «       t        j                  |«      5  |j	                  d«       d d d «       y # 1 sw Y   y xY w)Nr  c                  ó   — y rq   rK   rK   r2   r   rÛ   z@test_callbackregistry_custom_exception_handler.<locals>.<lambda>ø  r¯   r2   rï   )r  r   r   r   r  )r   rß   r0  s      r   Ú.test_callbackregistry_custom_exception_handlerr;  õ  sF   € à×ÑÜÐ3±\ôCä	�‰�tÓ	ñ Ø
�
‰
�5Ô÷÷ ñ ús   ®A	Á	Ac                 óš  ‡— t        j                  dg¬«      } g Šˆfd„}| j                  d|«       t        j                  t
        «      5  | j                  d|«       d d d «       | j                  dd«       t        j                  t
        «      5  | j                  dd«       d d d «       ‰dgk(  sJ ‚y # 1 sw Y   ŒXxY w# 1 sw Y   ŒxY w)Nrï   )Úsignalsc                ó(   •— ‰j                  | «       y rq   )Úappend)r§   r…   s    €r   rß   z)test_callbackregistry_signals.<locals>.cb   s   ø€ ˆw�~‰~˜aÕ r2   Úbarr%   )r   r¹   r¼   r   r   r   r  )Úcrrß   r…   s     @r   Útest_callbackregistry_signalsrB  ý  s¥   ø€ Ü	×	Ñ	¨¨Ô	0€BØ€GÜ Ø‡J�Jˆu�bÔÜ	�‰”zÓ	"ñ Ø
�
‰
�5˜"Ô÷à‡J�Jˆu�aÔÜ	�‰”zÓ	"ñ Ø
�
‰
�5˜!Ô÷à�q�cŠ>Ð‰>÷ð ú÷ð ús   ÁB5ÂCÂ5B>ÃC
c                 ó  — d„ } t        j                  | ¬«      }d„ }d„ }|j                  d|«       |j                  d|«       |j                  «       5  |j	                  d«       |j	                  d«       d d d «       |j                  d¬«      5  |j	                  d«       t        j                  t        d¬	«      5  |j	                  d«       d d d «       d d d «       t        j                  t        d
¬	«      5  |j	                  d«       d d d «       t        j                  t        d¬	«      5  |j	                  d«       d d d «       y # 1 sw Y   ŒÕxY w# 1 sw Y   ŒˆxY w# 1 sw Y   ŒŒxY w# 1 sw Y   ŒcxY w# 1 sw Y   y xY w)Nc                ó   — | ‚rq   rK   )r0  s    r   Úraise_handlerz5test_callbackregistry_blocking.<locals>.raise_handler  s   € Øˆ
r2   r2  c                 ó   — t        d«      ‚)Nú1 should be blockedr-  rK   r2   r   Ú
test_func1z2test_callbackregistry_blocking.<locals>.test_func1  ó   € ÜÐ.Ó/Ð/r2   c                 ó   — t        d«      ‚)Nú2 should be blockedr-  rK   r2   r   Ú
test_func2z2test_callbackregistry_blocking.<locals>.test_func2  rI  r2   Útest1Útest2rÇ   rK  r  rG  )r   r¹   r¼   Úblockedr  r   r   r   )rE  rß   rH  rL  s       r   Útest_callbackregistry_blockingrP  
  s=  € òä	×	Ñ	°-Ô	@€Bò0ò0à‡J�Jˆw˜
Ô#Ø‡J�Jˆw˜
Ô#ð 
�‰‹ñ Ø
�
‰
�7ÔØ
�
‰
�7Ô÷ð
 
�‰˜7ˆÓ	#ñ  à
�
‰
�7Ôä�]‰]œ:Ð-BÔCñ 	 Ø�J‰J�wÔ÷	 ÷	 ô 
�‰”zÐ)>Ô	?ñ Ø
�
‰
�7Ô÷ä	�‰”zÐ)>Ô	?ñ Ø
�
‰
�7Ô÷ð ÷ð ú÷	 ð 	 ú÷	 ð  ú÷ð ú÷ð úsH   Á#EÂ-E#Â>EÃE#Ã;E/Ä0E;ÅEÅE 	ÅE#Å#E,Å/E8Å;Fzline, result)	)úa : no_commentrQ  )úa : "quoted str"rR  )za : "quoted str" # commentrR  )úa : "#000000"rS  )za : "#000000" # commentrS  )úa : ["#000000", "#FFFFFF"]rT  )z$a : ["#000000", "#FFFFFF"] # commentrT  )z"a : val  # a comment "with quotes"za : val)z# only comment "with quotes" xxr  c                ó8   — t        j                  | «      |k(  sJ ‚y)z+Strip everything from the first unquoted #.N)r   Ú_strip_comment)ÚlineÚresults     r   Útest_strip_commentrY  +  s   € ô ×Ñ Ó%¨Ò/Ð/Ñ/r2   c                 óŽ   — t        j                  t        d¬«      5  t        j                  d«       d d d «       y # 1 sw Y   y xY w)NzMissing closing quoter  zgrid.color: "aa)r   r   r   r   rV  rK   r2   r   Útest_strip_comment_invalidr[  ;  s5   € Ü	�‰”zÐ)@Ô	Añ 0Ü×ÑÐ.Ô/÷0÷ 0ñ 0ús	   œ;»Ac                 ó¶  — ddddœ} g d¢}g d¢}g d¢}|t        t        j                  | j                  «       «      «      k(  sJ ‚|t        t        j                  | j	                  «       «      «      k(  sJ ‚|t        t        j                  | j                  «       «      «      k(  sJ ‚|t        j                  |«      k(  sJ ‚|t        j                  |«      k(  sJ ‚y )Nr%   r&   r'   ©r   r    r!   ©r%   r&   r'   ))r   r%   )r    r&   )r!   r'   )rf   r   Úsanitize_sequenceÚkeysÚvaluesr~   )r"   ÚkÚvÚis       r   Útest_sanitize_sequencere  @  s»   € Ø�a˜aÑ €AÚ€AÚ€AÚ&€AØ””u×.Ñ.¨q¯v©v«xÓ8Ó9Ò9Ð9Ð9Ø””u×.Ñ.¨q¯x©x«zÓ:Ó;Ò;Ð;Ð;Ø””u×.Ñ.¨q¯w©w«yÓ9Ó:Ò:Ð:Ð:Ø”×'Ñ'¨Ó*Ò*Ð*Ð*Ø”×'Ñ'¨Ó*Ò*Ð*Ñ*r2   c                 óž  — g d¢} t        j                  g d¢«      }t        j                  | d«      | u sJ ‚t        j                  |d«      |u sJ ‚t        j                  | d«      ddgk(  sJ ‚t	        t        j                  |d«      ddg«       t        j                  | d«      g d¢k(  sJ ‚t	        t        j                  |d«      g d¢«       y )Nr^  r'   r&   r%   r)   )r%   r&   r'   r%   r&   )r   r+   r   Ú_resize_sequencer
   )Úa_listÚarrs     r   Útest_resize_sequencerj  L  s½   € Ú€FÜ
�(‰(’9Ó
€Cô ×!Ñ! &¨!Ó,°Ñ6Ð6Ð6Ü×!Ñ! # qÓ)¨SÑ0Ð0Ð0ô ×!Ñ! &¨!Ó,°°A°Ò6Ð6Ð6Ü”u×-Ñ-¨c°1Ó5¸¸1°vÔ>ô ×!Ñ! &¨!Ó,²Ò?Ð?Ð?Ü”u×-Ñ-¨c°1Ó5²ÕGr2   r%   r&   )r   r    r   r    zlist[tuple[dict, dict]]Úfail_mappingzlist[tuple[Any, dict, dict]]Úpass_mappingzinp, alias_defc                ó  — t        j                  |«       G d„ dt        j                  j                  «      «       }t        j                  t        «      5  t        j                  | |«       d d d «       y # 1 sw Y   y xY w)Nc                  ó   — e Zd Zd„ Zy)ú(test_normalize_kwargs_fail.<locals>.Typec                 ó   — y rq   rK   r   s    r   Úget_az.test_normalize_kwargs_fail.<locals>.Type.get_an  ó   €  r2   N©rH   rI   rJ   rq  rK   r2   r   ÚTypero  l  ó   „ ã$r2   rt  )
r   Údefine_aliasesÚmplÚartistÚArtistr   r   r  r   Únormalize_kwargs)ÚinpÚ	alias_defrt  s      r   Útest_normalize_kwargs_failr}  i  se   € ô 
×Ñ˜Ó#ô%Œs�z‰z× Ñ ó %ó $ð%ô 
�‰”yÓ	!ñ *Ü×Ñ˜s DÔ)÷*÷ *ñ *ús   ÁA5Á5A>zinp, expected, alias_defc                óâ  — t        j                  |«       G d„ dt        j                  j                  «      «       }|t        j                  | |«      k(  sJ ‚i }|j                  j                  «       D ]&  \  }}|j                  |g «      j                  |«       Œ( t        j                  t        j                  «      5  |t        j                  | |«      k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nc                  ó   — e Zd Zd„ Zy)ú(test_normalize_kwargs_pass.<locals>.Typec                 ó   — y rq   rK   r   s    r   rq  z.test_normalize_kwargs_pass.<locals>.Type.get_ay  rr  r2   Nrs  rK   r2   r   rt  r€  w  ru  r2   rt  )r   rv  rw  rx  ry  r   rz  Ú_alias_to_propr~   Ú
setdefaultr?  r   ÚwarnsÚMatplotlibDeprecationWarning)r{  Úexpectedr|  rt  Úold_alias_mapÚaliasÚprops          r   Útest_normalize_kwargs_passrŠ  t  s×   € ô 
×Ñ˜Ó#ô%Œs�z‰z× Ñ ó %ó $ð%ð ”u×-Ñ-¨c°4Ó8Ò8Ð8Ð8Ø€MØ×*Ñ*×0Ñ0Ó2ò 9‰ˆˆtØ× Ñ   rÓ*×1Ñ1°%Õ8ð9ä	�‰”c×6Ñ6Ó	7ñ FØœ5×1Ñ1°#°}ÓEÒEÐEÑE÷F÷ Fñ Fús   Â?C%Ã%C.c                ól  — t        j                  d«       t        | «      dk(  sJ ‚t        j                  d d dk\  rat        j                  t        «      j                  d   }| d   j                  j                  t        |dz  «      t        |dz  «      f«      rJ ‚y | d   j                  t        k(  sJ ‚y )NÚoopsr%   r&   )r'   é   r   Ú
matplotlibÚmpl_toolkits)r   Úwarn_externalrÍ   ÚsysÚversion_infoÚpathlibÚPathÚ__file__ÚparentsÚfilenameÚ
startswithÚstr)ÚrecwarnÚbasedirs     r   Útest_warn_externalrœ  ƒ  s¶   € Ü×Ñ�vÔÜˆw‹<˜1ÒÐÐÜ
×Ñ˜˜Ð˜wÒ&ô —,‘,œxÓ(×0Ñ0°Ñ3ˆØ˜1‘:×&Ñ&×1Ñ1´3°wÀÑ7MÓ3NÜ36°wÀÑ7OÓ3Pð3Rô Sð 	Sð Sð Sð
 �q‰z×"Ñ"¤hÒ.Ð.Ñ.r2   c                 ó  — t        j                  t        d«      5 } t        d ¬«      | _        t        j                  t        d¬«      5  t        j                  d«       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nr‘  )Úreturn_valuez	\Adummy\Zr  r®   )
r   Úobjectr   r   Ú	_getframer   r„  ÚUserWarningr   r�  )Úmock_syss    r   Ú(test_warn_external_frame_embedded_pythonr£  “  sj   € Ü	�‰”e˜UÓ	#ð ( xÜ!¨tÔ4ˆÔÜ�\‰\œ+¨\Ô:ñ 	(Ü×Ñ˜wÔ'÷	(÷(ð (÷	(ð 	(ú÷(ð (ús#   ›-A;ÁA/ÁA;Á/A8	Á4A;Á;Bc                 ó  — t        j                  d«      } t        j                  d«      }t        j                  d«      d d d…   }t        j                  | ||«      \  }}}t        j                  g d¢t
        ¬«      }t        j                  g d¢t
        ¬«      }t        j                  g d¢t
        ¬«      }t        ||«       t        ||«       t        ||«       t        j                  | |«      \  }}t        ||«       t        ||«       y )Nr4   éÿÿÿÿ©r   r   r%   r%   r&   r&   r'   ©Údtype©r   r%   r%   r&   r&   r'   r'   )r'   r&   r&   r%   r%   r   r   )r   r   r   Úpts_to_prestepÚasarrayÚfloatr
   ©	r§   Úy1Úy2ÚxsÚy1sÚy2sÚx_targetÚ	y1_targetÚ	y2_targets	            r   Útest_to_prestepr¶  š  sÇ   € Ü
�	‰	�!‹€AÜ	�‰�1‹€BÜ	�‰�1‹‘d˜�dÑ	€Bä×'Ñ'¨¨2¨rÓ2�L€BˆˆSä�z‰zÒ/´uÔ=€HÜ—
‘
Ò0¼Ô>€IÜ—
‘
Ò0¼Ô>€Iä�x Ô$Ü�y #Ô&Ü�y #Ô&ä×"Ñ" 1 bÓ)�G€BˆÜ�x Ô$Ü�y #Õ&r2   c                 óR   — t        j                  g g «      } | j                  dk(  sJ ‚y ©N)r&   r   )r   rª  r¢   ©Ústepss    r   Útest_to_prestep_emptyr»  ®  ó&   € Ü× Ñ   RÓ(€EØ�;‰;˜&Ò Ð Ñ r2   c                 ó  — t        j                  d«      } t        j                  d«      }t        j                  d«      d d d…   }t        j                  | ||«      \  }}}t        j                  g d¢t
        ¬«      }t        j                  g d¢t
        ¬«      }t        j                  g d¢t
        ¬«      }t        ||«       t        ||«       t        ||«       t        j                  | |«      \  }}t        ||«       t        ||«       y )Nr4   r¥  r©  r§  r¦  )r'   r'   r&   r&   r%   r%   r   )r   r   r   Úpts_to_poststepr«  r¬  r
   r­  s	            r   Útest_to_poststepr¿  ³  sÇ   € Ü
�	‰	�!‹€AÜ	�‰�1‹€BÜ	�‰�1‹‘d˜�dÑ	€Bä×(Ñ(¨¨B°Ó3�L€BˆˆSä�z‰zÒ/´uÔ=€HÜ—
‘
Ò0¼Ô>€IÜ—
‘
Ò0¼Ô>€Iä�x Ô$Ü�y #Ô&Ü�y #Ô&ä×#Ñ# A rÓ*�G€BˆÜ�x Ô$Ü�y #Õ&r2   c                 óR   — t        j                  g g «      } | j                  dk(  sJ ‚y r¸  )r   r¾  r¢   r¹  s    r   Útest_to_poststep_emptyrÁ  Ç  s&   € Ü×!Ñ! " bÓ)€EØ�;‰;˜&Ò Ð Ñ r2   c                 ó  — t        j                  d«      } t        j                  d«      }t        j                  d«      d d d…   }t        j                  | ||«      \  }}}t        j                  g d¢t
        ¬«      }t        j                  g d¢t
        ¬«      }t        j                  g d¢t
        ¬«      }t        ||«       t        ||«       t        ||«       t        j                  | |«      \  }}t        ||«       t        ||«       y )Nr4   r¥  )r   ç      à?rÃ  rP   rP   ç      @rÄ  r'   r§  )r   r   r%   r%   r&   r&   r'   r'   )r'   r'   r&   r&   r%   r%   r   r   )r   r   r   Úpts_to_midstepr«  r¬  r
   r­  s	            r   Útest_to_midsteprÆ  Ì  sÇ   € Ü
�	‰	�!‹€AÜ	�‰�1‹€BÜ	�‰�1‹‘d˜�dÑ	€Bä×'Ñ'¨¨2¨rÓ2�L€BˆˆSä�z‰zÒ<ÄEÔJ€HÜ—
‘
Ò3¼5ÔA€IÜ—
‘
Ò3¼5ÔA€Iä�x Ô$Ü�y #Ô&Ü�y #Ô&ä×"Ñ" 1 bÓ)�G€BˆÜ�x Ô$Ü�y #Õ&r2   c                 óR   — t        j                  g g «      } | j                  dk(  sJ ‚y r¸  )r   rÅ  r¢   r¹  s    r   Útest_to_midstep_emptyrÈ  à  r¼  r2   Úargsr�  r'   r4   c                ó„   — t        j                  t        «      5  t        j                  | Ž  d d d «       y # 1 sw Y   y xY wrq   )r   r   r   r   rª  )rÉ  s    r   Útest_step_failsrË  å  s3   € ô 
�‰”zÓ	"ñ $Ü×Ñ˜dÑ#÷$÷ $ñ $ús   š6¶?c                 ó†  —  G d„ d«      } t        d«      D �cg c]	  } | «       ‘Œ c}x\  }}}}}}t        j                  «       } |j                  |Ž  t	        t        |«      d   «      t	        |«      k(  sJ ‚t	        |j                  |«      «      t	        |«      k(  sJ ‚||j                  |d¬«      vsJ ‚|dd  D ]  }	|j                  ||	«      rŒJ ‚ |j                  |«       |dd  D ]  }	|j                  ||	«      sŒJ ‚ t        j                  |dd  |dd  «      D ]  \  }
}|j                  |
|«      rŒJ ‚ y c c}w )Nc                  ó   — e Zd Zy)útest_grouper.<locals>.DummyNr&  rK   r2   r   ÚDummyrÎ  ð  r(  r2   rÏ  r)   r   F)Úinclude_selfr%   )Úranger   ÚGrouperÚjoinr{   rs   Úget_siblingsÚjoinedÚremoveÚ	itertoolsÚproduct)rÏ  Ú_r   r    r!   r"   r#   ÚobjsrA   ÚotherÚAÚBs               r   Útest_grouperrÞ  ï  sF  € ÷ñ ä-2°1«XÖ6¨™E�GÒ6Ð6�M€A€qˆ!ˆQ��DÜ�‰‹€AØ
€A‡F�FˆD�MÜŒt�A‹w�q‰z‹?œc $›iÒ'Ð'Ð'Üˆq�~‰~˜aÓ Ó!¤S¨£YÒ.Ð.Ð.Ø�A—N‘N 1°5�NÓ9Ñ9Ð9Ð9à�a�b�ò "ˆØ�x‰x˜˜5Õ!Ð!Ð!ð"ð ‡H�HˆQ„KØ�a�b�ò &ˆØ—8‘8˜A˜uÕ%Ð%Ð%ð&ô ×!Ñ! $ q r (¨D°°¨HÓ5ò ‰ˆˆ1Ø�x‰x˜˜1�~Ðˆ~ñùò 7s   ˜D>c                 ó
  —  G d„ d«      } t        d«      D �cg c]	  } | «       ‘Œ }}t        j                  «       } |j                  |Ž  |j                  }|D ]  }||v rŒJ ‚ ||d      }|dd  D ]  }||   |u rŒJ ‚ y c c}w )Nc                  ó   — e Zd Zy)ú#test_grouper_private.<locals>.DummyNr&  rK   r2   r   rÏ  rá    r(  r2   rÏ  r)   r   r%   )rÑ  r   rÒ  rÓ  Ú_mapping)rÏ  rÙ  rÚ  rA   ÚmappingÚoÚbase_sets          r   Útest_grouper_privateræ    s�   € ÷ñ ä" 1›XÖ&˜‰E�GÐ&€DÐ&Ü�‰‹€AØ
€A‡F�FˆD�Mà�j‰j€Gàò ˆØ�GŠ|Ðˆ|ðð �t˜A‘wÑ€HØ�!�"ˆXò &ˆØ�q‰z˜XÒ%Ð%Ð%ñ&ùò 's   ˜B c                 óþ   — t        j                  d«      } | j                  }dt        |«      k(  sJ ‚dt        |«      k(  sJ ‚t	        j
                  |«      }|dk(  sJ ‚dt        |«      k(  sJ ‚dt        |«      k(  sJ ‚y )Nr)   r   r%   )r   r   ÚflatÚnextr   Ú_safe_first_finite)r§   ÚitÚrets      r   Útest_flatiterrí    ss   € Ü
�	‰	�!‹€AØ	
�‰€BØ”�R“Š=Ðˆ=Ø”�R“Š=Ðˆ=Ü
×
"Ñ
" 2Ó
&€CØ�!Š8€Oˆ8à”�R“Š=Ðˆ=Ø”�R“Š=Ð‰=r2   c                 ó¤   — t        j                  dt         j                  «      } t        j                  | «      }t        j
                  |«      sJ ‚y r  )r   Úfullr*   r   rê  Úisnan©ri  rì  s     r   Útest__safe_first_finite_all_nanrò  !  ó6   € Ü
�'‰'�!”R—V‘VÓ
€CÜ
×
"Ñ
" 3Ó
'€CÜ�8‰8�CŒ=Ð‰=r2   c                 ó¤   — t        j                  dt         j                  «      } t        j                  | «      }t        j
                  |«      sJ ‚y r  )r   rï  Úinfr   rê  Úisinfrñ  s     r   Útest__safe_first_finite_all_infr÷  '  ró  r2   c                 ó2	  —  G d„ d«      } t        j                  g d«      }t        j                  |«      dk(  sJ ‚t	        d«      D �cg c]	  } | «       ‘Œ }}t        j                  |d«      }t        j                  |«      dk(  sJ ‚t        j
                  d«      }t        j                  |d«      }t        j                  |«      dk(  sJ ‚t	        d«      D �cg c]   }t	        d«      D �cg c]	  } | «       ‘Œ c}‘Œ" }}t        j                  |d«      }t        j                  |«      dk(  sJ ‚t        j                  j                  dd«      }t        j                  |d«      }t        j                  |«      d	k(  sJ ‚d
gdgdgg}t        j                  |d«      }t        |t        «      sJ ‚t        |d   t        j                  «      r|d   j                  dk(  sJ ‚t        |d
   t        j                  «      r|d
   j                  dk(  sJ ‚t        |d   t        j                  «      r|d   j                  dk(  sJ ‚t        j                  d«      t        j                  d
«      t        j                  d«      g}t        j                  |d«      }t        |t        «      sJ ‚t        |«      d
k(  sJ ‚t        |d   t        j                  «      r|d   j                  dk(  sJ ‚g d¢ddgdgg}t        j                  |d«      }t        |t        «      sJ ‚t        |d   t        j                  «      r|d   j                  dk(  sJ ‚t        |d
   t        j                  «      r|d
   j                  dk(  sJ ‚t        |d   t        j                  «      r|d   j                  dk(  sJ ‚ G d„ dt        j                  «      }t        j
                  dt        ¬«      } |dt        |j                  ¬«      }t        j                  |d«      }t        |«      d
k(  sJ ‚t        |d   |«      sJ ‚g d¢}t        j                  |d«      }t        |d   «      t        |«      k(  sJ ‚t        |d   t        j                  «      sJ ‚y c c}w c c}w c c}w )Nc                  ó   — e Zd Zy)útest_reshape2d.<locals>.DummyNr&  rK   r2   r   rÏ  rú  /  r(  r2   rÏ  r§   )r%   r   r)   )r%   r)   r'   )r'   r)   )r)   r'   r%   r&   r   )r%   )r'   r^  r4   )r&   c                  ó(   ‡ — e Zd Zˆ fd„Zˆ fd„Zˆ xZS )ú%test_reshape2d.<locals>.ArraySubclassc              3  ób   •K  — t         ‰| �  «       D ]  }t        j                  |«      –— Œ y ­wrq   )ÚsuperÚ__iter__r   r+   )r   r€   Ú	__class__s     €r   rÿ  z.test_reshape2d.<locals>.ArraySubclass.__iter__h  s,   øè ø€ Ü™Ñ)Ó+ò &�Ü—h‘h˜u“oÓ%ñ&ùs   ƒ,/c                óH   •— t        j                  t        ‰| �  |«      «      S rq   )r   r+   rþ  Ú__getitem__)r   Úitemr   s     €r   r  z1test_reshape2d.<locals>.ArraySubclass.__getitem__l  s   ø€ Ü—8‘8œE™GÑ/°Ó5Ó6Ð6r2   )rH   rI   rJ   rÿ  r  Ú__classcell__)r   s   @r   ÚArraySubclassrü  f  s   ø„ ô	&÷	7ð 	7r2   r  é
   r§  )r  )r¨  Úbuffer)	r   r    r!   r!   Úddr#   r$   Úffr$   )r   Ú_reshape_2Dr   r¢   rÑ  r   r`   Úrandrr   rs   Úndarrayr+   rÍ   r¬  re   )rÏ  ÚxnewrÙ  r§   r  rc  s         r   Útest_reshape2dr  -  sÓ  € ÷ñ ô ×Ñ˜R Ó%€DÜ�8‰8�D‹>˜VÒ#Ð#Ð#ä ›(Ö#�Q‰�Ð#€AÐ#ä×Ñ˜Q Ó$€DÜ�8‰8�D‹>˜VÒ#Ð#Ð#ä
�	‰	�!‹€AÜ×Ñ˜Q Ó$€DÜ�8‰8�D‹>˜VÒ#Ð#Ð#ä.3°A«hÖ7¨œ5 ›8Ö	$�a‰%�'Ô	$Ð7€AÐ7Ü×Ñ˜Q Ó$€DÜ�8‰8�D‹>˜VÒ#Ð#Ð#ô 	�	‰	�‰�q˜!Ó€AÜ×Ñ˜Q Ó$€DÜ�8‰8�D‹>˜VÒ#Ð#Ð#ð ˆˆqˆc�A�3ˆ€AÜ×Ñ˜Q Ó$€DÜ�dœDÔ!Ð!Ð!Ü�d˜1‘gœrŸz™zÔ*¨t°A©w¯}©}ÀÒ/DÐDÐDÜ�d˜1‘gœrŸz™zÔ*¨t°A©w¯}©}ÀÒ/DÐDÐDÜ�d˜1‘gœrŸz™zÔ*¨t°A©w¯}©}ÀÒ/DÐDÐDô 
�‰�!‹”b—h‘h˜q“k¤2§8¡8¨A£;Ð/€AÜ×Ñ˜Q Ó$€DÜ�dœDÔ!Ð!Ð!Üˆt‹9˜Š>Ðˆ>Ü�d˜1‘gœrŸz™zÔ*¨t°A©w¯}©}ÀÒ/DÐDÐDò 
�Q˜�F˜Q˜CÐ €AÜ×Ñ˜Q Ó$€DÜ�dœDÔ!Ð!Ð!Ü�d˜1‘gœrŸz™zÔ*¨t°A©w¯}©}ÀÒ/DÐDÐDÜ�d˜1‘gœrŸz™zÔ*¨t°A©w¯}©}ÀÒ/DÐDÐDÜ�d˜1‘gœrŸz™zÔ*¨t°A©w¯}©}ÀÒ/DÐDÐDô7œŸ
™
ô 7ô 	�	‰	�"œEÔ"€AÙ�e¤5°·±Ô8€Aä×Ñ˜Q Ó$€Dô ˆt‹9˜Š>Ðˆ>Ü�d˜1‘g˜}Ô-Ð-Ð-ò 	8€AÜ×Ñ˜Q Ó$€DÜˆt�A‰w‹<œ3˜q›6Ò!Ð!Ð!Ü�d˜1‘gœrŸz™zÔ*Ð*Ñ*ùòQ 	$ùò 
%ùÒ7s   ÁR
ÃRÃ,R
Ã:RÒRc                ó   — t        j                  d«      j                  dd«      }| j                  |g d¢¬«      }t	        j
                  |d«      }t        |j                  |«      D ]%  \  }}t         j                  j                  ||«       Œ' y )Né   r  r'   r]  ©Úcolumnsr§   )
r   r   ÚreshapeÚ	DataFramer   r
  r–   ÚTrÓ   r
   )ÚpdÚXr§   ÚXnewr  s        r   Útest_reshape2d_pandasr  €  sq   € ä
�	‰	�"‹×Ñ˜b !Ó$€AØ
�‰�Q¢ˆÓ0€AÜ×Ñ˜Q Ó$€Dä�q—s‘s˜D“>ò /‰ˆˆ4Ü
�
‰
×%Ñ% a¨Õ.ñ/r2   c                ó   — t        j                  d«      j                  dd«      }| j                  |ddg¬«      }t	        j
                  |d«      }t        |j                  |«      D ]%  \  }}t         j                  j                  ||«       Œ' y ©Nr  r  r'   r§   rC   )Údims)
r   r   r  Ú	DataArrayr   r
  r–   r  rÓ   r
   )Úxrr  r§   r  r  s        r   Útest_reshape2d_xarrayr  Š  su   € ä
�	‰	�"‹×Ñ˜b !Ó$€AØ
�‰�Q˜c 3˜ZˆÓ(€AÜ×Ñ˜Q Ó$€Dä�q—s‘s˜D“>ò /‰ˆˆ4Ü
�
‰
×%Ñ% a¨Õ.ñ/r2   c                óR  — t        j                  d«      j                  dd«      }| j                  |g d¢¬«      }t	        j
                  |«      \  }}t         j                  j                  ||«       t        j                  d«      }t         j                  j                  ||«       y )Nr  r  r'   r]  r  )r   r   r  r  r   Úindex_ofrÓ   r
   )r  r  r§   ÚIdxr  ÚIdxRefs         r   Útest_index_of_pandasr$  ”  su   € ä
�	‰	�"‹×Ñ˜b !Ó$€AØ
�‰�Q¢ˆÓ0€AÜ—‘˜qÓ!�I€CˆÜ‡J�J×!Ñ! ! TÔ*Ü�Y‰Y�r‹]€FÜ‡J�J×!Ñ! # vÕ.r2   c                óR  — t        j                  d«      j                  dd«      }| j                  |ddg¬«      }t	        j
                  |«      \  }}t         j                  j                  ||«       t        j                  d«      }t         j                  j                  ||«       y r  )r   r   r  r  r   r!  rÓ   r
   )r  r  r§   r"  r  r#  s         r   Útest_index_of_xarrayr&  ž  sy   € ä
�	‰	�"‹×Ñ˜b !Ó$€AØ
�‰�Q˜c 3˜ZˆÓ(€AÜ—‘˜qÓ!�I€CˆÜ‡J�J×!Ñ! ! TÔ*Ü�Y‰Y�r‹]€FÜ‡J�J×!Ñ! # vÕ.r2   c                 ó  — d\  } }}dg| z  dg|z  z   dg|z  z   }d| f| |z   | |z   |z   fg}t        j                  |«      |k(  sJ ‚d\  }}|dg|z  z   }t        j                  |«      |k(  sJ ‚dg|z  |d |  z   }||| z   f|| z   |z   || z   |z   |z   fg}t        j                  |«      |k(  sJ ‚|dg|z  z   }t        j                  |«      |k(  sJ ‚t        j                  dgdz  «      g k(  sJ ‚t        j                  g «      g k(  sJ ‚y )N)r'   r4   r)   TFr   )r(   é   r)   )r   Úcontiguous_regions)r   r    r!   r7   r†  r"   r#   s          r   Útest_contiguous_regionsr*  ¨  sT  € Ø�G€A€qˆ!àˆ6�!‰8�u�g˜a‘iÑ 4 &¨¡(Ñ*€DØ�A�˜˜1™˜a ™c !™e˜Ð%€HÜ×#Ñ# DÓ)¨XÒ5Ð5Ð5Ø�D€A€qà�5�'˜!‘)Ñ€DÜ×#Ñ# DÓ)¨XÒ5Ð5Ð5àˆ7�1‰9�t˜C˜a˜R�yÑ €DØ�A�a‘C�˜1˜Q™3˜q™5 ! A¡# a¡%¨¡'Ð*Ð+€HÜ×#Ñ# DÓ)¨XÒ5Ð5Ð5à�5�'˜!‘)Ñ€DÜ×#Ñ# DÓ)¨XÒ5Ð5Ð5ä×#Ñ# U G¨A¡IÓ.°"Ò4Ð4Ð4ä×#Ñ# BÓ'¨2Ò-Ð-Ñ-r2   c                óˆ   — | j                  t        d«      t        dd«      ¬«      }t        j                  |«      }|dk(  sJ ‚y )Nr)   r  é   )Úindexr   )ÚSeriesrÑ  r   rê  )r  r¾   r=   s      r   Ú%test_safe_first_element_pandas_seriesr/  ¿  s:   € à
�	‰	”%˜“(¤%¨¨B£-ˆ	Ó0€AÜ×%Ñ% aÓ(€FØ�QŠ;Ð‰;r2   c                 óê   — d„ } d„ }dD ]h  \  }}t        j                  ||z  «      j                  ||«      }t        j                   ||dz
  «       ||dz
  «      «      D ]  \  }} | |||¬«       Œ Œj y )Nc           	     óú  — | j                   \  }}g t        d|dz
  |«      ¢|dz
  ‘}g t        d|dz
  |«      ¢|dz
  ‘}g }t        j                  |«      D ]a  \  }}	t        j                  |«      D ]D  \  }
}t	        j
                  | ||	dz   …|
|dz   …f   «      j                  }|j                  |«       ŒF Œc t        j                  |«      }t        j                  |t	        j                  | ||¬«      «      sJ ‚y )Nr   r%   ©ÚrstrideÚcstride)r¢   rÑ  r×  Úpairwiser   Ú_array_perimeterr  r?  r   r«  Úarray_equalÚ_array_patch_perimeters)r§   r3  r4  ÚrowsÚcolsÚrow_indsÚcol_indsÚpolysÚrsÚrs_nextÚcsÚcs_nextÚpss                r   Úcheckz*test_array_patch_perimeters.<locals>.checkÉ  s  € Ø—W‘W‰
ˆˆdØ7”U˜1˜d 1™f gÓ.Ð7°°Q±Ð7ˆØ7”U˜1˜d 1™f gÓ.Ð7°°Q±Ð7ˆØˆÜ$×-Ñ-¨hÓ7ò 	!‰KˆB�Ü(×1Ñ1°(Ó;ò !‘��Gä×+Ñ+¨A¨b°¸±¨l¸B¸wÀq¹y¸LÐ.HÑ,IÓJ×LÑL�Ø—‘˜RÕ ñ!ð	!ô
 —
‘
˜5Ó!ˆÜ�~‰~˜eÜ#×;Ñ;Ø"#¨W¸gôGôHð 	Hñ Hr2   c                óX   — t        d| dz   «      D �cg c]  }| |z  dk(  sŒ|‘Œ c}S c c}w )Nr%   r   )rÑ  )Únrd  s     r   Údivisorsz-test_array_patch_perimeters.<locals>.divisorsØ  s*   € Ü   A¨¡E›?Ö9�a¨a°!©e°q«j’Ò9Ð9ùÒ9s   ’' '))r)   r)   )r(  é   )é   é	   r%   r2  )r   r   r  r×  rØ  )rC  rF  r9  r:  r§   r3  r4  s          r   Útest_array_patch_perimetersrJ  Æ  s„   € òHò:ð 1ò 7‰
ˆˆdÜ�I‰I�d˜T‘kÓ"×*Ñ*¨4°Ó6ˆÜ )× 1Ñ 1±(¸4À!¹8Ó2DÙ2:¸4À!¹8Ó2Dó!Fò 	7ÑˆG�Wá�!˜W¨gÖ6ñ	7ñ7r2   c                 óš  ‡‡‡—  G d„ d«      Š G d„ d‰«      }  ‰«       Šˆˆˆfd„} | «       Š‰j                   ‰_         |‰«       t        j                  ‰ddd„ d	d
d„ ddd¬«
      5  ‰j                   ‰j                   u sJ ‚‰j                  ‰j                  u sJ ‚‰j                  dk(  sJ ‚‰j
                  d	k(  sJ ‚‰j                  d
k(  sJ ‚‰j                  dk(  sJ ‚‰j                  ‰j                   k7  sJ ‚‰j                  dk(  sJ ‚‰j                  dk(  sJ ‚‰j                  dk(  sJ ‚	 d d d «        |‰«       y # 1 sw Y   ŒxY w)Nc                  óˆ   — e Zd Z e«       Z e«       Zd„ Zd„ Zed„ «       Z	e
d„ «       Zed„ «       Zej                  d„ «       Zy)útest_setattr_cm.<locals>.Ac                ó.   — d| _         d| _        d| _        y )NÚaardvarkÚoverriderÉ   )rO  rP  Ú_pr   s    r   Ú__init__z#test_setattr_cm.<locals>.A.__init__ç  s   € Ø&ˆDŒMØ&ˆDŒMØˆD�Gr2   c                 ó   — y rq   rK   r   s    r   Úmethztest_setattr_cm.<locals>.A.methì  s   € Ør2   c                 ó   — y rq   rK   )râ   s    r   Úclassyz!test_setattr_cm.<locals>.A.classyï  ó   € àr2   c                  ó   — y rq   rK   rK   r2   r   Ústaticz!test_setattr_cm.<locals>.A.staticó  rW  r2   c                ó   — | j                   S rq   ©rQ  r   s    r   r‰  ztest_setattr_cm.<locals>.A.prop÷  s   € à—7‘7ˆNr2   c                ó   — || _         y rq   r[  )r   Úvals     r   r‰  ztest_setattr_cm.<locals>.A.propû  s	   € àˆD�Gr2   N)rH   rI   rJ   rŸ  Ú	cls_levelrP  rR  rT  ÚclassmethodrV  ÚstaticmethodrY  Úpropertyr‰  ÚsetterrK   r2   r   rÜ  rM  ã  sn   „ Ù“Hˆ	Ù“8ˆò	ò
	ð 
ñ	ó 
ð	ð 
ñ	ó 
ð	ð 
ñ	ó 
ð	ð 
�‰ñ	ó 
ñ	r2   rÜ  c                  ó   — e Zd Zy)útest_setattr_cm.<locals>.BNr&  rK   r2   r   rÝ  rd  ÿ  s   „ Ør2   rÝ  c                ó"  •— | j                   | j                   usJ ‚| j                  | j                  u sJ ‚‰j                  dk(  sJ ‚| j                  | j                  u sJ ‚| j                  ‰j                  u sJ ‚| j                  dk(  sJ ‚t        | d«      rJ ‚| j                  dk(  sJ ‚| j                  ‰j                   k(  sJ ‚| j                  ‰j                  u sJ ‚d| j                  vsJ ‚d| j                  vsJ ‚d| j                  vsJ ‚y )NrO  rP  ÚextrarÉ   r^  rV  rY  )rT  rO  r‰  r^  rP  r  ÚmonkeyÚ__dict__)ÚobjrÜ  r   rÛ  s    €€€r   Úverify_pre_post_statez.test_setattr_cm.<locals>.verify_pre_post_state  s  ø€ ð �x‰x˜sŸx™xÑ'Ð'Ð'à�|‰|˜sŸ|™|Ñ+Ð+Ð+Ø�z‰z˜ZÒ'Ð'Ð'à�x‰x˜3Ÿ8™8Ñ#Ð#Ð#Ø�}‰} §¡Ñ+Ð+Ð+Ø�|‰|˜zÒ)Ð)Ð)Ü˜3 Ô(Ð(Ð(Ø�x‰x˜3ŠÐˆØ�z‰z˜UŸZ™ZÒ'Ð'Ð'Ø�}‰} §¡Ñ+Ð+Ð+Ø #§,¡,Ñ.Ð.Ð.Ø˜sŸ|™|Ñ+Ð+Ð+Ø˜sŸ|™|Ñ+Ð+Ñ+r2   ÚsquirrelÚmoosec                  ó   — y rq   rK   rK   r2   r   rÛ   z!test_setattr_cm.<locals>.<lambda>   r¯   r2   Úboorf  c                  ó   — y rq   rK   rK   r2   r   rÛ   z!test_setattr_cm.<locals>.<lambda>"  r¯   r2   ÚbobrV  rY  )	r‰  rO  rT  rP  rf  rg  r^  rV  rY  )rT  rg  r   Ú_setattr_cmrO  rP  rf  r‰  r^  rV  rY  )rÝ  rj  rÜ  r   rÛ  s     @@@r   Útest_setattr_cmrr  â  sK  ú€ ÷ñ ô8ˆAô ñ ‹C€Eö,ñ, 	
‹€Aà�z‰z€A„HÙ˜!ÔÜ	×	Ñ	Ø�JØ¡<Ø 'Ù¨5Ø Hô
.ñ $ð �v‰v˜Ÿ™ÑÐÐØ�z‰z˜QŸZ™ZÑ'Ð'Ð'Ø�z‰z˜WÒ$Ð$Ð$Ø�z‰z˜UÒ"Ð"Ð"Ø�w‰w˜'Ò!Ð!Ð!Ø�v‰v˜Ò#Ð#Ð#Ø�x‰x˜5Ÿ:™:Ò%Ð%Ð%Ø�{‰{˜eÒ#Ð#Ð#Ø�x‰x˜8Ò#Ð#Ð#Ø�x‰x˜8Ò#Ð#Ñ#÷#$ñ& ˜!Õ÷'$ð $ús   Á(CEÅE
c                 ó$  — t         j                  }  | dd«      dk(  sJ ‚ | dd«      dk(  sJ ‚ | dd«      dk(  sJ ‚ | dd«      dk(  sJ ‚ | dd	«      dk(  sJ ‚ | d
d	«      dk(  sJ ‚ | dd	«      dk(  sJ ‚ | d
d«       | d
d«      cxk(  rdk(  sJ ‚ J ‚y )Nr   r%   Ú0r&   r'   g�(í¾0‰¿z-0gH¯¼šò×z>r)   g…Ó´:T?z0.00123g…Ó´:T¿z-0.00123é   r  z
0.00123456)r   Ú_format_approx)r$   s    r   Útest_format_approxrw  4  s½   € Ü×Ñ€AÙˆQ�‹7�cŠ>Ðˆ>ÙˆQ�‹7�cŠ>Ðˆ>ÙˆQ�‹7�cŠ>Ðˆ>ÙˆW�a‹=˜DÒ Ð Ð ÙˆT�1‹:˜ÒÐÐÙˆ_˜aÓ  IÒ-Ð-Ð-ÙÐ˜qÓ! ZÒ/Ð/Ð/Ùˆ_˜aÓ ¡A o°rÓ$:ÔJ¸lÒJÐJÑJÐJÑJr2   c                 óÈ   — t        d«      D � cg c]#  } t        j                  «       t        | ¬«      z   ‘Œ% }} d |d<   t	        j
                  |«      }|�||d   k(  sJ ‚y c c} w )Nr  )Údaysr   r%   )rÑ  r   Útodayr	   r   rê  )rd  Údatetime_lstr=   s      r   Ú!test_safe_first_element_with_noner|  @  sb   € Ü>CÀB»iÖH¸”D—J‘J“L¤9°!Ô#4Ó4ÐH€LÐHØ€L��OÜ×%Ñ% lÓ3€FØÐ &¨L¸©OÒ";Ð;Ð;Ð";ùò Is   Ž(Ac                 ód   — t        d«      dk(  sJ ‚t        d«      dk(  sJ ‚t        d«      dk(  sJ ‚y )Nz
1 \times 2z$1 \times 2$z1 x 2z	$\rm{hi}$Úhi)r   rK   r2   r   Útest_strip_mathr  G  s;   € Ü�mÓ$¨Ò5Ð5Ð5Ü�oÓ&¨'Ò1Ð1Ð1Ü�lÓ# tÒ+Ð+Ñ+r2   zfmt, value, result))z%.2f mçš™™™™™É?ú0.20 m)z{:.2f} mr€  r�  )z{} mr€  z0.2 m)Úconstr€  r‚  )z%d or {}r€  z0 or {})z{{{:,.0f}}}g     jAz	{200,000})z{:.2%}gUUUUUUå?z66.67%)z$%ggR¸…ëQ@z$2.54c                ó–   — t        j                  | |«      |k(  sJ ‚t        j                  | t        j                  |«      «      |k(  sJ ‚y)z)Apply *value* to the format string *fmt*.N)r   Ú_auto_format_strr   Úfloat64)Úfmtr€   rX  s      r   Útest_auto_format_strr‡  M  sC   € ô ×!Ñ! # uÓ-°Ò7Ð7Ð7Ü×!Ñ! #¤r§z¡z°%Ó'8Ó9¸VÒCÐCÑCr2   c                 ó(  —  G d„ d«      } t        d«      }| |_        |t        j                  d<   t	        j
                  d«      }|j                  |«      }t        j                  |«      }t        |t        j                  «      sJ ‚t        ||«       y)z•
    Test that torch tensors are converted to NumPy arrays.

    We don't want to create a dependency on torch in the test suite, so we mock it.
    c                  ó   — e Zd Zd„ Zd„ Zy)ú/test_unpack_to_numpy_from_torch.<locals>.Tensorc                ó   — || _         y rq   ©re   rž   s     r   rR  z8test_unpack_to_numpy_from_torch.<locals>.Tensor.__init__d  ó	   € ØˆD�Ir2   c                ó   — | j                   S rq   rŒ  r   s    r   Ú	__array__z9test_unpack_to_numpy_from_torch.<locals>.Tensor.__array__g  ó   € Ø—9‘9Ðr2   N©rH   rI   rJ   rR  r�  rK   r2   r   ÚTensorrŠ  c  ó   „ ò	ó	r2   r’  Útorchr  N)r   r’  r‘  Úmodulesr   r   r   Ú_unpack_to_numpyrr   r  r
   )r’  r”  re   Útorch_tensorrX  s        r   Útest_unpack_to_numpy_from_torchr˜  ]  sx   € ÷ñ ô �wÓ€EØ€E„LØ „C‡K�K�Ñä�9‰9�R‹=€DØ—<‘< Ó%€Lä×#Ñ# LÓ1€FÜ�fœbŸj™jÔ)Ð)Ð)ô �v˜tÕ$r2   c                 ó(  —  G d„ d«      } t        d«      }| |_        |t        j                  d<   t	        j
                  d«      }|j                  |«      }t        j                  |«      }t        |t        j                  «      sJ ‚t        ||«       y)z�
    Test that jax arrays are converted to NumPy arrays.

    We don't want to create a dependency on jax in the test suite, so we mock it.
    c                  ó   — e Zd Zd„ Zd„ Zy)ú,test_unpack_to_numpy_from_jax.<locals>.Arrayc                ó   — || _         y rq   rŒ  rž   s     r   rR  z5test_unpack_to_numpy_from_jax.<locals>.Array.__init__€  r�  r2   c                ó   — | j                   S rq   rŒ  r   s    r   r�  z6test_unpack_to_numpy_from_jax.<locals>.Array.__array__ƒ  r�  r2   Nr‘  rK   r2   r   ÚArrayr›    r“  r2   rž  Újaxr  N)r   rž  r‘  r•  r   r   r   r–  rr   r  r
   )rž  rŸ  re   Ú	jax_arrayrX  s        r   Útest_unpack_to_numpy_from_jaxr¡  y  sw   € ÷ñ ô �UÓ
€CØ€C„Ià„C‡K�K�Ñä�9‰9�R‹=€DØ—	‘	˜$“€Iä×#Ñ# IÓ.€FÜ�fœbŸj™jÔ)Ð)Ð)ô �v˜tÕ$r2   c                 ó>  ‡—  G d„ d«      Št        d«      } ˆfd„| _        ‰| _        | t        j                  d<   t        j                  d«      }| j                  |«      }t        j                  |«      }t        |t
        j                  «      sJ ‚t        ||«       y)zž
    Test that tensorflow arrays are converted to NumPy arrays.

    We don't want to create a dependency on tensorflow in the test suite, so we mock it.
    c                  ó   — e Zd Zd„ Zd„ Zy)ú4test_unpack_to_numpy_from_tensorflow.<locals>.Tensorc                ó   — || _         y rq   rŒ  rž   s     r   rR  z=test_unpack_to_numpy_from_tensorflow.<locals>.Tensor.__init__�  r�  r2   c                ó   — | j                   S rq   rŒ  r   s    r   r�  z>test_unpack_to_numpy_from_tensorflow.<locals>.Tensor.__array__   r�  r2   Nr‘  rK   r2   r   r’  r¤  œ  r“  r2   r’  Ú
tensorflowc                ó   •— t        | ‰«      S rq   )rr   )r§   r’  s    €r   rÛ   z6test_unpack_to_numpy_from_tensorflow.<locals>.<lambda>¤  s   ø€ ¤Z°°6Ó%:€ r2   r  N)r   Ú	is_tensorr’  r‘  r•  r   r   r   r–  rr   r  r
   )r§  re   Ú	tf_tensorrX  r’  s       @r   Ú$test_unpack_to_numpy_from_tensorflowr«  –  s„   ø€ ÷ñ ô ˜LÓ)€JÛ:€JÔØ€JÔà *„C‡K�K�Ñä�9‰9�R‹=€DØ×!Ñ! $Ó'€Iä×#Ñ# IÓ.€FÜ�fœbŸj™jÔ)Ð)Ð)ô �v˜tÕ$r2   c                 ó(  —  G d„ d«      } t        d«      }| |_        |t        j                  d<   t	        j
                  d«      }|j                  |«      }t        j                  |«      }t        |t        j                  «      sJ ‚t        ||«       y)z�
    Test that mlx arrays are converted to NumPy arrays.

    We don't want to create a dependency on mlx in the test suite, so we mock it.
    c                  ó   — e Zd Zd„ Zd„ Zy)ú,test_unpack_to_numpy_from_mlx.<locals>.Arrayc                ó   — || _         y rq   rŒ  rž   s     r   rR  z5test_unpack_to_numpy_from_mlx.<locals>.Array.__init__»  r�  r2   c                ó   — | j                   S rq   rŒ  r   s    r   r�  z6test_unpack_to_numpy_from_mlx.<locals>.Array.__array__¾  r�  r2   Nr‘  rK   r2   r   rž  r®  º  r“  r2   rž  zmlx.corer  N)r   r+   r‘  r•  r   r   r   r–  rr   r  r
   )rž  Úmlx_corere   Ú	mlx_arrayrX  s        r   Útest_unpack_to_numpy_from_mlxr³  ´  sx   € ÷ñ ô ˜*Ó%€HØ€H„Nà&„C‡K�K�
Ñä�9‰9�R‹=€DØ—‘˜tÓ$€Iä×#Ñ# IÓ.€FÜ�fœbŸj™jÔ)Ð)Ð)ô �v˜tÕ$r2   )WÚ
__future__r   r×  r“  rÀ   r‘  Útypingr   Úunittest.mockr   r   r   r   r	   Únumpyr   Únumpy.testingr
   r   r   r   rŽ  rw  r   r   Úmatplotlib.colorsÚcolorsrD   Úmatplotlib.cbookr   r   Útypesr   r   rM   r¬   r±   rµ   r"  r8  r;  rB  rP  r  r  rY  r[  re  rj  rk  Ú__annotations__rl  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/  rJ  rr  rw  r|  r  r‡  r˜  r¡  r«  r³  rK   r2   r   ú<module>r¾     sí  ðÞ "ã Û Û Û 
å ß %ç .Ñ .ã ÷6ñ 6ã ã ß "Ý #ß =Ý ÷3ñ 3÷D{@ñ {@÷|ñ ÷ñ ÷
|$ñ |$ò~Hò&GðB ñó ðò
òðB ‡�×Ñ˜ò 
*ó 
ñ0ó
ð0ò
0ò
	+òHð$ �1Ñ˜˜c˜U�|Ð$Ø�1Ñ˜˜c 3˜ZÐ(Ð)ð)€Ð%ó ð 
ˆ2ˆr€NØ�1Ñ˜Q QÑ'¨Ð,Ø	ˆ1€X��Qˆx˜#  S˜zÐ*Ð+ð.€Ð*ó ð ‡�×ÑÐ)¨<Ó8ñ*ó 9ð*ð ‡�×ÑÐ3°\ÓBñFó CðFò/ò (ò'ò(!ò
'ò(!ò
'ò(!ð
 ‡�×ÑØ
Ø€b‡i�i�ƒm×Ñ˜A˜qÓ! 3Ð'Ø€b‡i�i�ƒm�SÐØ€b‡i�i�ƒm�Y�R—Y‘Y˜q“\Ð"ð$ó%ñ
$ó%ð
$ò
ò*&ò"	òòòP+òf/ò/ò/ò/ò.ò.ò7ò8Oòd	Kò<ò,ð ‡�×ÑÐ-ò 	0ó 	ñDó	ðDò%ò8%ò:%ó<%r2   