§
    ‡Ûgö)  ã                   ód  — d dl Z d dlZd dlmZ d dl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! edgd¬¦  «        d„ ¦   «         Z"d„ Z#d„ Z$ej%         &                    d¦  «        d„ ¦   «         Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z,d„ Z-d„ Z.dS )é    N)Úassert_array_almost_equal)ÚImageÚTiffTags)ÚcollectionsÚpatheffectsÚpyplotÚ
transformsÚrcParamsÚ
rc_context)ÚRendererAgg)ÚFigure)Úimread)ÚPath)Úimage_comparison)ÚIdentityTransformc                  ó  — 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     úO/granary/edev/quantum/lib/python3.11/site-packages/matplotlib/tests/test_agg.pyÚtest_repeated_save_with_alphar*      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   )
r!   r"   ÚpltÚsubplotsr   ÚPathCollectionr   Ú
add_artistÚset_xlimr#   )ÚbuffÚfÚaxÚ
collections       r)   Ú!test_large_single_path_collectionr9   3   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   éè  gš™™™™™é?g333333ó?Úpng©Úformat)	r0   r1   ÚnpÚarangeÚsemilogxÚfill_betweenr!   r"   r#   )r'   r7   ÚstepsÚdatar(   s        r)   Útest_marker_with_nanrE   A   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é † é   éÿÿÿÿr<   r=   )r!   r"   r   r1   r?   ÚonesÚplotr#   )r5   r'   r7   Úpointss       r)   Útest_long_pathrM   M   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)Úremove_textc                  ó  ‡‡‡‡— 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        |                     ¦   «         |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 )NrH   r   r   rI   Úsame)Úmode)r?   Úr_ÚhanningÚconvolveÚsum)ÚxÚ
window_lenÚsÚwÚys        r)   Úsmooth1dz!test_agg_filter.<locals>.smooth1dY   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   rH   r   r   )ÚmaxÚintr?   Úapply_along_axis)ÚAÚsigmarX   r\   s      €r)   Úsmooth2dz!test_agg_filter.<locals>.smooth2da   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_padi   s   € Ø�1r+   c                 ó    — t          d¦  «        ‚)Nz"Should be overridden by subclasses)ÚNotImplementedError)ri   Ú
padded_srcrj   s      r)   Úprocess_imagez1test_agg_filter.<locals>.BaseFilter.process_imagel   s   € Ý%Ð&JÑKÔKÐKr+   c                 ó    — |                       |¦  «        }t          j        |||f||fdgd¦  «        }|                      ||¦  «        }|| | fS )Nr   Úconstant)rk   r?   Úpadro   )ri   Úimrj   rr   rn   Ú	tgt_images         r)   Ú__call__z,test_agg_filter.<locals>.BaseFilter.__call__o   s`   € Ø—,’,˜sÑ#Ô#ˆCÝœ  c¨3 Z°#°s°¸VÐ$DØ *ñ,ô ,ˆJà×*Ò*¨:°sÑ;Ô;ˆIØ˜s˜d S DÐ(Ð(r+   N)Ú__name__Ú
__module__Ú__qualname__rk   ro   ru   rg   r+   r)   Ú
BaseFilterre   g   sD   € € € € € ð	ð 	ð 	ð	Lð 	Lð 	Lð	)ð 	)ð 	)ð 	)ð 	)r+   ry   c                   ó"   — e Zd Zdd„Zd„ Zd„ ZdS )ú%test_agg_filter.<locals>.OffsetFilterr   c                 ó   — || _         d S ©N)Úoffsets)ri   r~   s     r)   Ú__init__z.test_agg_filter.<locals>.OffsetFilter.__init__x   s   € Ø"ˆDŒLˆLˆLr+   c                 óP   — t          t          | j        ¦  «        dz  |z  ¦  «        S )NéH   )r_   r^   r~   rh   s     r)   rk   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~   r?   Úrollr_   )ri   rn   rj   ÚoxÚoyÚa1Úa2s          r)   ro   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   ©rv   rw   rx   r   rk   ro   rg   r+   r)   ÚOffsetFilterr{   v   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}   )rb   ÚalphaÚcolor)ri   rb   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�   )r_   rb   rh   s     r)   rk   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“   )r?   Ú
empty_liker‘   r�   rb   )ri   rn   rj   rt   rc   s       €r)   ro   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Ž   )rv   rw   rx   Ú__doc__r   rk   ro   )rc   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)ri   rb   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}   )r^   rœ   rk   r�   rh   s     r)   rk   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œ   ro   r�   )ri   rn   rj   Út1Út2s        r)   ro   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-ÚbrZ   r-   r.   zLine 1)ÚmecÚmfcÚlwÚmewÚmsÚlabel)r�   gš™™™™™É?gffffffæ?zro-Úré   g      @g      ÀrL   )rW   r[   Úunitsr�   Tr   r   F)r   )r0   r1   rK   Ú	get_xdataÚ	get_ydataÚupdate_fromÚmtransformsÚoffset_copyÚget_transformÚfigureÚset_transformÚ
set_zorderÚ
get_zorderÚset_agg_filterÚset_rasterizedr4   Úset_ylimÚxaxisÚset_visibleÚyaxis)ry   r¢   r'   r7   Úline1Úline2ÚgaussÚlineÚxxÚyyÚshadowÚ	transformr—   rŠ   r\   rc   s               @@@@r)   Útest_agg_filterrÇ   W   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Ñ Ô Ð õ  Ô+¨D×,>Ò,>Ñ,@Ô,@À"Ä)Ø.1°TÀðKñ Kô Kˆ	à×Ò˜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,  r;   )Úfigsize)r0   rµ   r!   r"   ÚpytestÚraisesÚ
ValueErrorr#   )r'   r5   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)	Úranger0   r1   rK   r?   ÚsinÚcanvasÚdrawr
   )rW   r'   r7   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   rH   ©r   r   r   ÚjpgrÏ   )r>   rj   rj   )rÏ   rÏ   )r0   rK   r!   r"   r#   r   ÚopenÚinfo©r(   rs   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Útestr<   Úpnginfo©r>   Ú
pil_kwargs)ÚPIL.PngImagePluginrá   r!   r"   Úadd_textr0   rµ   r#   r   rÜ   rÝ   )rá   r(   rä   rs   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 rg   )r   ÚTAGS_V2Úname)Ú.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)	r!   r"   r0   rµ   r#   r   rÜ   Útag_v2Úitems)r(   ræ   rs   Ú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+   c                  ó°  — 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   )r0   rK   r!   r"   r#   ÚlenÚ	getbufferÚnbytes)Ú	buf_smallÚpil_kwargs_lowÚ	buf_largeÚpil_kwargs_highs       r)   Útest_pil_kwargs_webpr  ü   sÚ   € Ý„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+   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û   T)r>   ÚtransparentÚRGBA)r0   rK   r!   r"   r#   r   rÜ   rR   rÞ   s     r)   Útest_webp_alphar  	  sd   € Ý„HˆYˆYˆY˜	˜	˜	Ñ"Ô"Ð"Ý
Œ*‰,Œ,€CÝ„K�˜F°Ð5Ñ5Ô5Ð5Ý	Œ�C‰Œ€BØŒ7�fÒÐÐÐÐÐ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   )rH   r   )
r0   r1   ÚscatterÚ	set_pathsr   rÊ   rË   Ú	TypeErrorrÔ   rÕ   )r'   r7   s     r)   Ú(test_draw_path_collection_error_handlingr    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 )NrG   iô  r-   é   r   rH   r   r¬   ú/zcan not split hatched path)Úmatchzcan not split filled path)r   r   r   rÑ   z
Please seti@B zPlease reducei�_ Fzshould_simplify is False)r?   ÚlinspacerJ   r   ÚvstackÚTÚsimplify_thresholdr   Únew_gcÚset_linewidthÚset_foregroundÚ	set_hatchrÊ   rË   ÚOverflowErrorÚ	draw_pathr   r   Úshould_simplify)	ÚNrj   rZ   ÚhrW   r[   ÚpathÚraÚgcs	            r)   Útest_chunksize_failsr"    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�ÑÔÐÝ	Œ•}Ð,HÐ	IÑ	IÔ	Ið 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�ÑÔÐå	Œ•}Ð,GÐ	HÑ	HÔ	Hð ?ð ?Ø
�Š�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)r0   rµ   Úadd_subplotr
  r   ÚStrokerÔ   rÕ   )r'   s    r)   Útest_non_tuple_rgbafacer*  M  ss   € å
Œ*‰,Œ,€CØ‡O‚O˜t€OÑ$Ô$×,Ò,Øˆ	ˆ	�9�9�9­KÔ,>ÈÐ,KÑ,KÔ,KÐ+Lð -ñ Nô Nð Nà„J‡O‚OÑÔÐÐÐr+   )/r!   Únumpyr?   Únumpy.testingr   ÚPILr   r   rÊ   Ú
matplotlibr   r   r   r0   r	   r²   r
   r   Úmatplotlib.backends.backend_aggr   Úmatplotlib.figurer   Úmatplotlib.imager   Úmatplotlib.pathr   Úmatplotlib.testing.decoratorsr   Úmatplotlib.transformsr   r*   r9   rE   rM   rÇ   rÍ   rÖ   ÚmarkÚbackendrß   ré   rø   r  r  r  r"  r*  rg   r+   r)   ú<module>r7     s<  ðØ 	€	€	€	à Ð Ð Ð Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø Ð Ð Ð Ð Ð Ð Ð Ø €€€ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð 8Ð 7Ð 7Ð 7Ð 7Ð 7Ø $Ð $Ð $Ð $Ð $Ð $Ø #Ð #Ð #Ð #Ð #Ð #Ø  Ð  Ð  Ð  Ð  Ð  Ø :Ð :Ð :Ð :Ð :Ð :Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3ð)ð )ð )ð>ð ð ð	#ð 	#ð 	#ð$ð $ð $ð ÐÐ#Ð$°$Ð7Ñ7Ô7ðn ð n ñ 8Ô7ðn ðbð ð ðð ð ð „×Ò�UÑÔð(ð (ñ Ôð(ð)ð )ð )ð4ð 4ð 4ð
Gð 
Gð 
Gðð ð ðð ð ð24ð 24ð 24ðjð ð ð ð r+   