§
    ‚Øj1  ã                   ó  — d dl Z d dlZd dlZd dlmZ d dlmZmZm	Z	 d dl
Z
d dlmZmZmZmZmZmZ d dlmZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d„ Z d„ Z!d„ Z"d„ Z#d„ Z$ edgdd¬¦  «        d„ ¦   «         Z%d„ Z&d„ Z'e
j(         )                    d¦  «        d„ ¦   «         Z*d„ Z+d„ Z, e d¦  «        d„ ¦   «         Z- e d¦  «        d„ ¦   «         Z.d„ Z/d „ Z0 e d¦  «        d!„ ¦   «         Z1 e d¦  «        d"„ ¦   «         Z2d#„ Z3d$„ Z4d%„ Z5d&„ Z6dS )'é    N)Úassert_array_almost_equal)ÚfeaturesÚImageÚTiffTags)ÚcollectionsÚpatheffectsÚpyplotÚ
transformsÚrcParamsÚ
rc_context)ÚRendererAgg)ÚFigure)Úimread)ÚPath)Úimage_comparison)ÚIdentityTransformc                 ó  — t          j        ¦   «         5  t          j        d¦  «         t          j        |                      ¦   «         ¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j                             | | › d�¬¦  «        S )NÚignorez support not available)Úreason)	ÚwarningsÚcatch_warningsÚsimplefilterr   ÚcheckÚlowerÚpytestÚmarkÚskipif)ÚnameÚ	availables     úŽ/Users/tedpeters/Documents/Projects/Claude Projects/Misc Tools/notename-sheets/.venv/lib/python3.11/site-packages/matplotlib/tests/test_agg.pyÚrequire_pillow_featurer!      s¶   € Ý	Ô	 Ñ	"Ô	"ð 1ð 1ÝÔ˜hÑ'Ô'Ð'Ý”N 4§:¢:¡<¤<Ñ0Ô0ˆ	ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1õ Œ;×Ò )˜m°tÐ4SÐ4SÐ4SÐÑTÔTÐTs   ”;AÁAÁ"Ac                  ó  — t          ddg¦  «        } |                      d¦  «         | j                             d¦  «         t	          j        ¦   «         }|                      ||                      ¦   «         d¬¦  «         |                     d¦  «         |                      ||                      ¦   «         d¬¦  «         |                     d¦  «         t          t          t          |¦  «        d         ¦  «        d	d
¬¦  «         d S )Né   çš™™™™™Ù?)r   r#   r$   ç      Ð?Únone)Ú	facecolorÚ	edgecolorr   ©r   r   )ç        ç      ð?r$   r%   é   )Údecimal)r   Úset_facecolorÚpatchÚ	set_alphaÚioÚBytesIOÚsavefigÚget_facecolorÚseekr   Útupler   )ÚfigÚbufs     r    Útest_repeated_save_with_alphar9      s  € õ �!�S�Ñ
Ô
€CØ×Ò�kÑ"Ô"Ð"Ø„I×Ò˜ÑÔÐõ Œ*‰,Œ,€Cà‡K‚K�Ø×+Ò+Ñ-Ô-Ø ð ñ "ô "ð "ð ‡H‚HˆQ�K„K€KØ‡K‚K�Ø×+Ò+Ñ-Ô-Ø ð ñ "ô "ð "ð ‡H‚HˆQ�K„K€KÝ�e¥F¨3¡K¤K°Ô$5Ñ6Ô6Ø4Ø&'ð)ñ )ô )ð )ð )ð )ó    c            
      ó8  — t          j        ¦   «         } t          j        ¦   «         \  }}t	          j        t          ddgddgddgddgddgg¦  «        g¦  «        }|                     |¦  «         |                     dd¦  «         t          j	        | ¦  «         d S )Niöÿÿÿé   é
   éûÿÿÿgü©ñÒMbP?r#   )
r1   r2   ÚpltÚsubplotsr   ÚPathCollectionr   Ú
add_artistÚset_xlimr3   )ÚbuffÚfÚaxÚ
collections       r    Ú!test_large_single_path_collectionrH   ;   s›   € ÝŒ:‰<Œ<€Dõ
 ŒL‰NŒN�E€A€rÝÔ+Ý	��Qˆx˜"˜a˜ 2 r (¨S°"¨I¸¸Q°xÐ@Ñ	AÔ	AÐBñDô D€Jà‡M‚M�*ÑÔÐØ‡K‚K�˜ÑÔÐÝ„K�ÑÔÐÐÐr:   c                  ó  — t          j        d¦  «        \  } }d}t          j        |¦  «        }|                     |¦  «         |                     ||dz  |dz  ¦  «         t          j        ¦   «         }|                      |d¬¦  «         d S )Nr#   iè  gš™™™™™é?g333333ó?Úpng©Úformat)	r?   r@   ÚnpÚarangeÚsemilogxÚfill_betweenr1   r2   r3   )r7   rF   ÚstepsÚdatar8   s        r    Útest_marker_with_nanrS   I   s€   € õ Œl˜1‰oŒo�G€CˆØ€EÝŒ9�UÑÔ€DØ‡K‚K�ÑÔÐØ‡O‚O�D˜$˜s™( D¨¡HÑ-Ô-Ð-Ý
Œ*‰,Œ,€CØ‡K‚K�˜E€KÑ"Ô"Ð"Ð"Ð"r:   c                  ó  — t          j        ¦   «         } t          ¦   «         }|                     ¦   «         }t	          j        d¦  «        }|d d d…xx         dz  cc<   |                     |¦  «         |                     | d¬¦  «         d S )Né † é   éÿÿÿÿrJ   rK   )r1   r2   r   r@   rM   ÚonesÚplotr3   )rD   r7   rF   Úpointss       r    Útest_long_pathr[   U   sy   € ÝŒ:‰<Œ<€DÝ
‰(Œ(€CØ	�Š‰Œ€BÝŒW�WÑÔ€FØ
ˆ3ˆ3ˆQˆ3€K€K„K�2Ñ€K€K�KØ‡G‚GˆF�O„O€OØ‡K‚K�˜U€KÑ#Ô#Ð#Ð#Ð#r:   zagg_filter.pngTÚ_classic_test)Úremove_textÚstylec                  ó
  ‡‡‡‡— d„ Šd"ˆfd„	Š G d„ d¦  «        }  G d„ d| ¦  «        Š G ˆfd„d	| ¦  «        Š G ˆˆfd
„d| ¦  «        }t          j        ¦   «         \  }}|                     g d¢g d¢ddddddd¬¦	  «	        \  }|                     g d¢g d¢ddddddd¬¦	  «	        \  } |d¦  «        }||fD ]ë}|                     ¦   «         }|                     ¦   «         }	|                     ||	¦  «        \  }
|
                     |¦  «         t          j        |                     ¦   «         |ddd¬¦  «        }|
 	                    |¦  «         |
 
                    |                     ¦   «         dz
  ¦  «         |
                     |¦  «         |
                     d¦  «         Œì|                     dd ¦  «         |                     dd ¦  «         |j                             d!¦  «         |j                             d!¦  «         d S )#Nc                 ó$  — t           j        d| d         z  | |dd…         z
  | d| d         z  | d| d…         z
  f         }t          j        |¦  «        }t          j        ||                     ¦   «         z  |d¬¦  «        }||dz
  | dz   …         S )NrV   r   r#   rW   Úsame)Úmode)rM   Úr_ÚhanningÚconvolveÚsum)ÚxÚ
window_lenÚsÚwÚys        r    Úsmooth1dz!test_agg_filter.<locals>.smooth1da   s—   € åŒEØˆa�Œd‰F�Q�z ! B�Ô'Ñ'¨¨A¨a°¬e©G°a¸¸J¸;ÀrÐ8IÔ6JÑ,JÐJôLˆåŒJ�zÑ"Ô"ˆÝŒK˜˜!Ÿ%š%™'œ'™	 1¨6Ð2Ñ2Ô2ˆØ�˜A‘˜z˜k¨!™mÐ+Ô,Ð,r:   r,   c                 óª   •— t          t          |¦  «        d¦  «        dz  dz   }t          j        ‰d| |¦  «        } t          j        ‰d| |¦  «        } | S )Nr,   rV   r#   r   )ÚmaxÚintrM   Úapply_along_axis)ÚAÚsigmarh   rl   s      €r    Úsmooth2dz!test_agg_filter.<locals>.smooth2di   sS   ø€ Ý�˜U™œ QÑ'Ô'¨!Ñ+¨aÑ/ˆ
ÝÔ ¨!¨Q°
Ñ;Ô;ˆÝÔ ¨!¨Q°
Ñ;Ô;ˆØˆr:   c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ú#test_agg_filter.<locals>.BaseFilterc                 ó   — dS )Nr   © ©ÚselfÚdpis     r    Úget_padz+test_agg_filter.<locals>.BaseFilter.get_padq   s   € Ø�1r:   c                 ó    — t          d¦  «        ‚)Nz"Should be overridden by subclasses)ÚNotImplementedError)ry   Ú
padded_srcrz   s      r    Úprocess_imagez1test_agg_filter.<locals>.BaseFilter.process_imaget   s   € Ý%Ð&JÑKÔKÐKr:   c                 ó    — |                       |¦  «        }t          j        |||f||fdgd¦  «        }|                      ||¦  «        }|| | fS )Nr)   Úconstant)r{   rM   Úpadr   )ry   Úimrz   r‚   r~   Ú	tgt_images         r    Ú__call__z,test_agg_filter.<locals>.BaseFilter.__call__w   s`   € Ø—,’,˜sÑ#Ô#ˆCÝœ  c¨3 Z°#°s°¸VÐ$DØ *ñ,ô ,ˆJà×*Ò*¨:°sÑ;Ô;ˆIØ˜s˜d S DÐ(Ð(r:   N)Ú__name__Ú
__module__Ú__qualname__r{   r   r…   rw   r:   r    Ú
BaseFilterru   o   sD   € € € € € ð	ð 	ð 	ð	Lð 	Lð 	Lð	)ð 	)ð 	)ð 	)ð 	)r:   r‰   c                   ó"   — e Zd Zdd„Zd„ Zd„ ZdS )ú%test_agg_filter.<locals>.OffsetFilterr)   c                 ó   — || _         d S ©N)Úoffsets)ry   rŽ   s     r    Ú__init__z.test_agg_filter.<locals>.OffsetFilter.__init__€   s   € Ø"ˆDŒLˆLˆLr:   c                 óP   — t          t          | j        ¦  «        dz  |z  ¦  «        S )NéH   )ro   rn   rŽ   rx   s     r    r{   z-test_agg_filter.<locals>.OffsetFilter.get_padƒ   s$   € Ý•s˜4œ<Ñ(Ô(¨2Ñ-°Ñ3Ñ4Ô4Ð4r:   c                 óÄ   — | j         \  }}t          j        |t          |dz  |z  ¦  «        d¬¦  «        }t          j        |t          |dz  |z  ¦  «         d¬¦  «        }|S )Nr‘   r#   )Úaxisr   )rŽ   rM   Úrollro   )ry   r~   rz   ÚoxÚoyÚa1Úa2s          r    r   z3test_agg_filter.<locals>.OffsetFilter.process_image†   sa   € Ø”\‰FˆB�Ý”˜¥S¨¨b©°3©Ñ%7Ô%7¸aÐ@Ñ@Ô@ˆBÝ”˜�c " r¡'¨C¡-Ñ0Ô0Ð0°qÐ9Ñ9Ô9ˆBØˆIr:   N)r)   ©r†   r‡   rˆ   r�   r{   r   rw   r:   r    ÚOffsetFilterr‹   ~   sF   € € € € € ð	#ð 	#ð 	#ð 	#ð	5ð 	5ð 	5ð	ð 	ð 	ð 	ð 	r:   rš   c                   ó,   •— e Zd ZdZdd„Zd„ Zˆ fd„ZdS )	ú'test_agg_filter.<locals>.GaussianFilterzSimple Gaussian filter.ç      à?©r   r   r   c                 ó0   — || _         || _        || _        d S r�   )rr   ÚalphaÚcolor)ry   rr   r    r¡   s       r    r�   z0test_agg_filter.<locals>.GaussianFilter.__init__�   s   € ØˆDŒJØˆDŒJØˆDŒJˆJˆJr:   c                 ó<   — t          | j        dz  dz  |z  ¦  «        S ©Nr,   r‘   )ro   rr   rx   s     r    r{   z/test_agg_filter.<locals>.GaussianFilter.get_pad”   s    € Ý�t”z !‘| bÑ(¨3Ñ.Ñ/Ô/Ð/r:   c                 óÂ   •— t          j        |¦  «        }| j        |d d …d d …d d…f<    ‰|d d …d d …df         | j        z  | j        dz  |z  ¦  «        |d d …d d …df<   |S r£   )rM   Ú
empty_liker¡   r    rr   )ry   r~   rz   r„   rs   s       €r    r   z5test_agg_filter.<locals>.GaussianFilter.process_image—   s†   ø€ Ýœ jÑ1Ô1ˆIØ"&¤*ˆI�a�a�a˜˜˜˜B˜Q˜B�hÑØ!) ¨*°Q°Q°Q¸¸¸¸1°WÔ*=ÀÄ
Ñ*JØ*.¬*°r©/¸CÑ*?ñ"Aô "AˆI�a�a�a˜˜˜˜A�gÑàÐr:   N)r�   rž   )r†   r‡   rˆ   Ú__doc__r�   r{   r   )rs   s   €r    ÚGaussianFilterrœ   Œ   sW   ø€ € € € € Ø%Ð%ð	ð 	ð 	ð 	ð
	0ð 	0ð 	0ð	ð 	ð 	ð 	ð 	ð 	ð 	r:   r§   c                   ó*   •— e Zd Zdˆ ˆfd„	Zd„ Zd„ ZdS )	ú)test_agg_filter.<locals>.DropShadowFilterç333333Ó?rž   r)   c                 óL   •—  ‰|||¦  «        | _          ‰|¦  «        | _        d S r�   )Úgauss_filterÚoffset_filter)ry   rr   r    r¡   rŽ   r§   rš   s        €€r    r�   z2test_agg_filter.<locals>.DropShadowFilter.__init__    s1   ø€ Ø . ¨u°e¸UÑ CÔ CˆDÔØ!- ¨gÑ!6Ô!6ˆDÔÐÐr:   c                 ó‚   — t          | j                             |¦  «        | j                             |¦  «        ¦  «        S r�   )rn   r¬   r{   r­   rx   s     r    r{   z1test_agg_filter.<locals>.DropShadowFilter.get_pad¤   s;   € Ý�tÔ(×0Ò0°Ñ5Ô5ØÔ)×1Ò1°#Ñ6Ô6ñ8ô 8ð 8r:   c                 ór   — | j                              ||¦  «        }| j                             ||¦  «        }|S r�   )r¬   r   r­   )ry   r~   rz   Út1Út2s        r    r   z7test_agg_filter.<locals>.DropShadowFilter.process_image¨   s7   € ØÔ"×0Ò0°¸SÑAÔAˆBØÔ#×1Ò1°"°cÑ:Ô:ˆBØˆIr:   N)rª   rž   r)   r™   )r§   rš   s   €€r    ÚDropShadowFilterr©   ž   sV   ø€ € € € € ð	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð	8ð 	8ð 	8ð	ð 	ð 	ð 	ð 	r:   r²   )çš™™™™™¹?r�   çÍÌÌÌÌÌì?)r³   r´   r�   zbo-Úbrj   r<   r=   zLine 1)ÚmecÚmfcÚlwÚmewÚmsÚlabel)r�   gš™™™™™É?gffffffæ?zro-Úré   g      @g      ÀrZ   )rg   rk   Úunitsr�   Tr*   r+   F)r,   )r?   r@   rY   Ú	get_xdataÚ	get_ydataÚupdate_fromÚmtransformsÚoffset_copyÚget_transformÚset_transformÚ
set_zorderÚ
get_zorderÚset_agg_filterÚset_rasterizedrC   Úset_ylimÚxaxisÚset_visibleÚyaxis)r‰   r²   r7   rF   Úline1Úline2ÚgaussÚlineÚxxÚyyÚshadowÚ	transformr§   rš   rl   rs   s               @@@@r    Útest_agg_filterrÖ   _   sÐ  øøøø€ ð-ð -ð -ðð ð ð ð ð ð)ð )ð )ð )ð )ñ )ô )ð )ðð ð ð ð �zñ ô ð ðð ð ð ð ð ð ˜ñ ô ð ð$ð ð ð ð ð ð ð ˜:ñ ô ð õ Œl‰nŒn�G€Cˆð �WŠW�_�_�_ o o o°uØ #¨!°°rÀð ñ Kô K�F€Eà�WŠW�_�_�_ o o o°uØ #¨!°°rÀð ñ Kô K�F€Eð Ð˜QÑÔ€Eà˜�ð $ð $ˆð �^Š^ÑÔˆØ�^Š^ÑÔˆØ—'’'˜"˜b‘/”/‰ˆØ×Ò˜4Ñ Ô Ð õ  Ô+Ø×ÒÑ Ô  #¨°¸HðFñ Fô Fˆ	à×Ò˜YÑ'Ô'Ð'ð 	×Ò˜$Ÿ/š/Ñ+Ô+¨cÑ1Ñ2Ô2Ð2Ø×Ò˜eÑ$Ô$Ð$Ø×Ò˜dÑ#Ô#Ð#Ð#à‡K‚K��BÑÔÐØ‡K‚K��BÑÔÐà„H×Ò˜ÑÔÐØ„H×Ò˜ÑÔÐÐÐr:   c                  óä   — t          j        d¬¦  «        } t          j        ¦   «         }t	          j        t          ¦  «        5  |                      |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)i,  i   )Úfigsize)r?   Úfigurer1   r2   r   ÚraisesÚ
ValueErrorr3   )r7   rD   s     r    Útest_too_large_imagerÜ   Ñ   s¥   € Ý
Œ*˜\Ð
*Ñ
*Ô
*€CÝŒ:‰<Œ<€DÝ	Œ•zÑ	"Ô	"ð ð Ø�Š�DÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÁA%Á%A)Á,A)c                  ó”  — t          d¦  «        } t          j        ¦   «         \  }}|                     | t	          j        | ¦  «        ¦  «         |j                             ¦   «          t          j        ¦   «         \  }}dt          d<   |                     | t	          j        | ¦  «        ¦  «         |j                             ¦   «          d S )NéÈ   éi   úagg.path.chunksize)	Úranger?   r@   rY   rM   ÚsinÚcanvasÚdrawr   )rg   r7   rF   s      r    Útest_chunksizerå   Ø   sœ   € Ýˆc‰
Œ
€Aõ Œl‰nŒn�G€CˆØ‡G‚GˆA�rŒv�a‰yŒyÑÔÐØ„J‡O‚OÑÔÐõ Œl‰nŒn�G€CˆØ%(…HÐ!Ñ"Ø‡G‚GˆA�rŒv�a‰yŒyÑÔÐØ„J‡O‚OÑÔÐÐÐr:   ÚAggc                  óÚ   — t          j        g d¢g d¢¦  «         t          j        ¦   «         } t          j        | dd¬¦  «         t          j        | ¦  «        }|j        d         dk    sJ ‚d S )N©r   r#   rV   ©r   r#   r   ÚjpgrÞ   )rL   rz   rz   )rÞ   rÞ   )r?   rY   r1   r2   r3   r   ÚopenÚinfo©r8   rƒ   s     r    Útest_jpeg_dpirî   ç   sj   € õ „HˆYˆYˆY˜	˜	˜	Ñ"Ô"Ð"Ý
Œ*‰,Œ,€CÝ„K�˜E sÐ+Ñ+Ô+Ð+Ý	Œ�C‰Œ€BØŒ7�5Œ>˜ZÒ'Ð'Ð'Ð'Ð'Ð'r:   c                  ó  — ddl m}  t          j        ¦   «         } | ¦   «         }|                     dd¦  «         t          j        ¦   «                              |dd|i¬¦  «         t          j	        |¦  «        }|j
        d         dk    sJ ‚d S )Nr   )ÚPngInfoÚSoftwareÚtestrJ   Úpnginfo©rL   Ú
pil_kwargs)ÚPIL.PngImagePluginrð   r1   r2   Úadd_textr?   rÙ   r3   r   rë   rì   )rð   r8   ró   rƒ   s       r    Útest_pil_kwargs_pngrø   ñ   s‘   € Ø*Ð*Ð*Ð*Ð*Ð*Ý
Œ*‰,Œ,€CØˆg‰iŒi€GØ×Ò�Z Ñ(Ô(Ð(Ý„J�L„L×Ò˜ U¸	À7Ð7KÐÑLÔLÐLÝ	Œ�C‰Œ€BØŒ7�:Ô &Ò(Ð(Ð(Ð(Ð(Ð(r:   c                  ó  — t          j        ¦   «         } ddi}t          j        ¦   «                              | d|¬¦  «         t          j        | ¦  «        }d„ |j                             ¦   «         D ¦   «         }|d         dk    sJ ‚d S )NÚdescriptionz
test imageÚtiffrô   c                 óD   — i | ]\  }}t           j        |         j        |“ŒS rw   )r   ÚTAGS_V2r   )Ú.0ÚkÚvs      r    ú
<dictcomp>z(test_pil_kwargs_tiff.<locals>.<dictcomp>   s)   € ÐFÐFÐF©D¨A¨q�HÔ˜QÔÔ$ aÐFÐFÐFr:   ÚImageDescription)	r1   r2   r?   rÙ   r3   r   rë   Útag_v2Úitems)r8   rõ   rƒ   Útagss       r    Útest_pil_kwargs_tiffr  û   s�   € Ý
Œ*‰,Œ,€CØ Ð.€JÝ„J�L„L×Ò˜ V¸
ÐÑCÔCÐCÝ	Œ�C‰Œ€BØFÐF°B´I·O²OÑ4EÔ4EÐFÑFÔF€DØÐ"Ô# |Ò3Ð3Ð3Ð3Ð3Ð3r:   ÚWebPc                  ó°  — t          j        g d¢g d¢¦  «         t          j        ¦   «         } ddi}t          j        | d|¬¦  «         t          |¦  «        dk    sJ ‚t          j        ¦   «         }ddi}t          j        |d|¬¦  «         t          |¦  «        dk    sJ ‚|                     ¦   «         j        |                      ¦   «         j        k    sJ ‚d S )Nrè   ré   Úqualityr#   Úwebprô   éd   ©r?   rY   r1   r2   r3   ÚlenÚ	getbufferÚnbytes©Ú	buf_smallÚpil_kwargs_lowÚ	buf_largeÚpil_kwargs_highs       r    Útest_pil_kwargs_webpr    óÚ   € å„HˆYˆYˆY˜	˜	˜	Ñ"Ô"Ð"Ý”
‘”€IØ �^€NÝ„K�	 &°^ÐDÑDÔDÐDÝˆ~ÑÔ !Ò#Ð#Ð#Ð#Ý”
‘”€IØ  #Ð&€OÝ„K�	 &°_ÐEÑEÔEÐEÝˆÑÔ 1Ò$Ð$Ð$Ð$Ø×ÒÑ Ô Ô'¨)×*=Ò*=Ñ*?Ô*?Ô*FÒFÐFÐFÐFÐFÐFr:   ÚAVIFc                  ó°  — t          j        g d¢g d¢¦  «         t          j        ¦   «         } ddi}t          j        | d|¬¦  «         t          |¦  «        dk    sJ ‚t          j        ¦   «         }ddi}t          j        |d|¬¦  «         t          |¦  «        dk    sJ ‚|                     ¦   «         j        |                      ¦   «         j        k    sJ ‚d S )Nrè   ré   r	  r#   Úavifrô   r  r  r  s       r    Útest_pil_kwargs_avifr    r  r:   c                  ó"  — t          j        g d¢g d¢¦  «         t          j        ¦   «         } t          j        | dd¬¦  «         t          j        | ¦  «        }|j        dk    sJ ‚|j        d         t          |j
        j        ¦  «        k    sJ ‚d S )Nrè   ré   ÚgifF©rL   ÚtransparentÚPÚtransparency©r?   rY   r1   r2   r3   r   rë   rb   rì   r  ÚpaletteÚcolorsrí   s     r    Útest_gif_no_alphar$     s…   € Ý„HˆYˆYˆY˜	˜	˜	Ñ"Ô"Ð"Ý
Œ*‰,Œ,€CÝ„K�˜E¨uÐ5Ñ5Ô5Ð5Ý	Œ�C‰Œ€BØŒ7�cŠ>ˆ>ˆ>ˆ>ØŒ7�>Ô"¥c¨"¬*Ô*;Ñ&<Ô&<Ò<Ð<Ð<Ð<Ð<Ð<r:   c                  ó"  — t          j        g d¢g d¢¦  «         t          j        ¦   «         } t          j        | dd¬¦  «         t          j        | ¦  «        }|j        dk    sJ ‚|j        d         t          |j
        j        ¦  «        k     sJ ‚d S )Nrè   ré   r  Tr  r  r   r!  rí   s     r    Útest_gif_alphar&  )  s…   € Ý„HˆYˆYˆY˜	˜	˜	Ñ"Ô"Ð"Ý
Œ*‰,Œ,€CÝ„K�˜E¨tÐ4Ñ4Ô4Ð4Ý	Œ�C‰Œ€BØŒ7�cŠ>ˆ>ˆ>ˆ>ØŒ7�>Ô"¥S¨¬Ô):Ñ%;Ô%;Ò;Ð;Ð;Ð;Ð;Ð;r:   c                  óÎ   — t          j        g d¢g d¢¦  «         t          j        ¦   «         } t          j        | dd¬¦  «         t          j        | ¦  «        }|j        dk    sJ ‚d S )Nrè   ré   r
  Tr  ÚRGBA©r?   rY   r1   r2   r3   r   rë   rb   rí   s     r    Útest_webp_alphar*  2  ód   € å„HˆYˆYˆY˜	˜	˜	Ñ"Ô"Ð"Ý
Œ*‰,Œ,€CÝ„K�˜F°Ð5Ñ5Ô5Ð5Ý	Œ�C‰Œ€BØŒ7�fÒÐÐÐÐÐr:   c                  óÎ   — t          j        g d¢g d¢¦  «         t          j        ¦   «         } t          j        | dd¬¦  «         t          j        | ¦  «        }|j        dk    sJ ‚d S )Nrè   ré   r  Tr  r(  r)  rí   s     r    Útest_avif_alphar-  ;  r+  r:   c                  ó<  — t          j        ¦   «         \  } }|                     dgdg¦  «                             t	          ddg¦  «        ¦  «         t          j        t          ¦  «        5  | j         	                    ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )Nr#   )r   r#   )rV   r,   )
r?   r@   ÚscatterÚ	set_pathsr   r   rÚ   Ú	TypeErrorrã   rä   )r7   rF   s     r    Ú(test_draw_path_collection_error_handlingr2  D  sÊ   € ÝŒl‰nŒn�G€CˆØ‡J‚J�ˆs�Q�CÑÔ×"Ò"¥4¨°Ð(8Ñ#9Ô#9Ñ:Ô:Ð:Ý	Œ•yÑ	!Ô	!ð ð ØŒ
�ŠÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Á*BÂBÂBc                 óì  — d}d}d|z  }d|z  }t          j        d||¦  «        }t          j        |¦  «        |z  }d|d d d…<   t          t          j        ||f¦  «        j        ¦  «        }d|_        t          |||¦  «        }|                     ¦   «         }	|	 	                    d¦  «         |	 
                    d¦  «         |	                     d	¦  «         t          j        t          d
¬¦  «        5  |                     |	|t!          ¦   «         ¦  «         d d d ¦  «         n# 1 swxY w Y   |	                     d ¦  «         t          j        t          d¬¦  «        5  |                     |	|t!          ¦   «         d¦  «         d d d ¦  «         n# 1 swxY w Y   t#          ddi¦  «        5  t          j        t          d¬¦  «        5  |                     |	|t!          ¦   «         ¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   t#          ddi¦  «        5  t          j        t          d¬¦  «        5  |                     |	|t!          ¦   «         ¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   t#          ddi¦  «        5  t          j        t          d¬¦  «        5  |                     |	|t!          ¦   «         ¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   d|_        t          j        t          d¬¦  «        5  |                     |	|t!          ¦   «         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrU   iô  r<   é   r   rV   r#   r¼   ú/zcannot split hatched path)Úmatchzcannot split filled path)r#   r   r   rà   z
Please seti@B zPlease reducei�_ Fzshould_simplify is False)rM   ÚlinspacerX   r   ÚvstackÚTÚsimplify_thresholdr   Únew_gcÚset_linewidthÚset_foregroundÚ	set_hatchr   rÚ   ÚOverflowErrorÚ	draw_pathr   r   Úshould_simplify)
Úhigh_memoryÚNrz   rj   Úhrg   rk   ÚpathÚraÚgcs
             r    Útest_chunksize_failsrH  K  sp  € ð 	€AØ
€CØ	ˆ#‰€AØ	ˆ#‰€Aõ 	Œ�A�q˜!ÑÔ€AÝ
Œ�‰
Œ
�Q‰€AØ€A€c€cˆ€c�FÝ•”	˜1˜a˜&Ñ!Ô!Ô#Ñ$Ô$€Dà€DÔõ 
�Q˜˜3Ñ	Ô	€BØ	�Š‰Œ€BØ×Ò�QÑÔÐØ×Ò�cÑÔÐà‡L‚L�ÑÔÐÝ	Œ•}Ð,GÐ	HÑ	HÔ	Hð 4ð 4Ø
�Š�R˜Õ0Ñ2Ô2Ñ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4à‡L‚L�ÑÔÐå	Œ•}Ð,FÐ	GÑ	GÔ	Gð ?ð ?Ø
�Š�R˜Õ0Ñ2Ô2°IÑ>Ô>Ð>ð?ð ?ð ?ñ ?ô ?ð ?ð ?ð ?ð ?ð ?ð ?øøøð ?ð ?ð ?ð ?õ 
Ð)¨1Ð-Ñ	.Ô	.ð 8ð 8ÝŒ]�=°Ð=Ñ=Ô=ð 	8ð 	8Ø�LŠL˜˜TÕ#4Ñ#6Ô#6Ñ7Ô7Ð7ð	8ð 	8ð 	8ñ 	8ô 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8øøøð 	8ð 	8ð 	8ð 	8ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8õ
 
Ð)¨9Ð5Ñ	6Ô	6ð 8ð 8ÝŒ]�=°Ð@Ñ@Ô@ð 	8ð 	8Ø�LŠL˜˜TÕ#4Ñ#6Ô#6Ñ7Ô7Ð7ð	8ð 	8ð 	8ñ 	8ô 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8øøøð 	8ð 	8ð 	8ð 	8ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8õ
 
Ð)¨6Ð2Ñ	3Ô	3ð 8ð 8ÝŒ]�=°Ð@Ñ@Ô@ð 	8ð 	8Ø�LŠL˜˜TÕ#4Ñ#6Ô#6Ñ7Ô7Ð7ð	8ð 	8ð 	8ñ 	8ô 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8øøøð 	8ð 	8ð 	8ð 	8ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8ð !€DÔÝ	Œ•}Ð,FÐ	GÑ	GÔ	Gð 4ð 4Ø
�Š�R˜Õ0Ñ2Ô2Ñ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4ð 4ð 4sØ   Ã2$D"Ä"D&Ä)D&Å%FÆFÆFÆ*HÇ$G6Ç*HÇ6G:	Ç:HÇ=G:	Ç>HÈHÈHÈ)JÉ$I5É)JÉ5I9	É9JÉ<I9	É=JÊJÊJÊ(LË$K4Ë(LË4K8	Ë8LË;K8	Ë<LÌLÌLÌ8$M)Í)M-Í0M-c                  óæ   — t          j        ¦   «         } |                      d¬¦  «                             g d¢g d¢t	          j        d¬¦  «        g¬¦  «         | j                             ¦   «          d S )NÚ3d)Ú
projectionrè   r½   )Ú	linewidth)Úpath_effects)r?   rÙ   Úadd_subplotr/  r   ÚStrokerã   rä   ©r7   s    r    Útest_non_tuple_rgbafacerQ  €  ss   € å
Œ*‰,Œ,€CØ‡O‚O˜t€OÑ$Ô$×,Ò,Øˆ	ˆ	�9�9�9­KÔ,>ÈÐ,KÑ,KÔ,KÐ+Lð -ñ Nô Nð Nà„J‡O‚OÑÔÐÐÐr:   c                  óÐ   — t          j        dd¬¦  «        } | j        j        dk     sJ ‚| j                             ¦   «          | j                             ¦   «         j        dk    sJ ‚d S )N)r#   g=
×£p= @r  )rØ   rz   éË   )rS  r  r½   )r?   rÙ   ÚbboxÚheightrã   rä   Úbuffer_rgbaÚshaperP  s    r    Ú-test_rendered_height_floating_point_precisionrX  ˆ  se   € Ý
Œ*˜Y¨CÐ
0Ñ
0Ô
0€CØŒ8Œ?˜SÒ Ð Ð Ð Ø„J‡O‚OÑÔÐØŒ:×!Ò!Ñ#Ô#Ô)¨]Ò:Ð:Ð:Ð:Ð:Ð:r:   )7r1   r   ÚnumpyrM   Únumpy.testingr   ÚPILr   r   r   r   Ú
matplotlibr   r   r	   r?   r
   rÂ   r   r   Úmatplotlib.backends.backend_aggr   Úmatplotlib.figurer   Úmatplotlib.imager   Úmatplotlib.pathr   Úmatplotlib.testing.decoratorsr   Úmatplotlib.transformsr   r!   r9   rH   rS   r[   rÖ   rÜ   rå   r   Úbackendrî   rø   r  r  r  r$  r&  r*  r-  r2  rH  rQ  rX  rw   r:   r    ú<module>rd     s  ðØ 	€	€	€	Ø €€€à Ð Ð Ð Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ø €€€ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð 8Ð 7Ð 7Ð 7Ð 7Ð 7Ø $Ð $Ð $Ð $Ð $Ð $Ø #Ð #Ð #Ð #Ð #Ð #Ø  Ð  Ð  Ð  Ð  Ð  Ø :Ð :Ð :Ð :Ð :Ð :Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3ðUð Uð Uð)ð )ð )ð>ð ð ð	#ð 	#ð 	#ð$ð $ð $ð ÐÐ#Ð$°$¸oÐNÑNÔNðn ð n ñ OÔNðn ðbð ð ðð ð ð „×Ò�UÑÔð(ð (ñ Ôð(ð)ð )ð )ð4ð 4ð 4ð Ð˜ÑÔð
Gð 
Gñ  Ôð
Gð Ð˜ÑÔð
Gð 
Gñ  Ôð
Gð=ð =ð =ð<ð <ð <ð Ð˜ÑÔðð ñ  Ôðð Ð˜ÑÔðð ñ  Ôððð ð ð24ð 24ð 24ðjð ð ð;ð ;ð ;ð ;ð ;r:   