Ë
    ¨ehBT  ã                   ó  — d dl Z d dlZd dlZd dlZd dlmZmZ d dlZd dl	m
Z
mZmZ d dlmZ d dlmZmZ d dlmZ  edgd¬«      d	„ «       Z ed
gd ej,                  «       dk(  rd nd¬«      d„ «       Z edgd¬«      d„ «       Zd„ Zd„ Zd„ Zej8                  j;                  dd ej<                  dz  ej<                  dz  ej<                  dz  g«      ej8                  j;                  dd dg«      d„ «       «       Zd„ Z  edgdd¬«      d„ «       Z! e
«       d„ «       Z" e
«       d „ «       Z# ed!gd¬«      d"„ «       Z$ ed#gd¬«      d$„ «       Z%d%„ Z&d&„ Z' ed'gd¬«      d(„ «       Z( ed)gd¬«      d*„ «       Z) ed+g«      d,„ «       Z*d-„ Z+d.„ Z,y)/é    N)Úassert_array_almost_equalÚassert_array_equal)Úcheck_figures_equalÚimage_comparisonÚremove_ticks_and_titles)ÚpatchesÚ
transforms)ÚPathÚclippingT)Úremove_textc                  óü   — t        j                  ddd«      } t        j                  dt         j                  z  | z  «      }t	        j
                  «       \  }}|j                  | |d¬«       |j                  d«       y )Nç        ç       @ç{®Gáz„?é   ç      ð?)Ú	linewidth)gš™™™™™É¿gìQ¸…ëÑ¿)ÚnpÚarangeÚsinÚpiÚpltÚsubplotsÚplotÚset_ylim)ÚtÚsÚfigÚaxs       úb/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/matplotlib/tests/test_simplification.pyÚtest_clippingr!      s[   € ä
�	‰	�#�s˜DÓ!€AÜ
�‰ˆq”—‘‰w�q‰yÓ€Aä�l‰l‹n�G€CˆØ‡G�GˆAˆq˜C€GÔ Ø‡K�K�Õó    ÚoverflowÚx86_64gyé&1¬|?)r   Útolc                  óä   — t        j                  g d¢«      } t        j                  t        | «      «      }t	        j
                  «       \  }}|j                  | |«       |j                  dd«       y )N)r   r   ç      @g     jAr   é   )r   Úarrayr   Úlenr   r   r   Úset_xlim©ÚxÚyr   r   s       r    Útest_overflowr/      sO   € ô 	�‰Ò'Ó(€AÜ
�	‰	”#�a“&Ó€Aä�l‰l‹n�G€CˆØ‡G�GˆAˆq„MØ‡K�K��1Õr"   Úclipping_diamondc                  óú   — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  «       \  }}|j	                  | |«       |j                  dd«       |j                  dd«       y )N)r   r   r   ç      ð¿r   )r   r   r2   r   r   g333333ã¿g333333ã?)r   r)   r   r   r   r+   r   r,   s       r    Útest_diamondr3   *   sX   € ä
�‰Ò+Ó,€AÜ
�‰Ò+Ó,€Aä�l‰l‹n�G€CˆØ‡G�GˆAˆq„MØ‡K�K��cÔØ‡K�K��cÕr"   c                  óò  — t        g d¢«      } | j                  d¬«      }t        |j                  dg«       |j                  t         j
                  gk(  sJ ‚t        g d¢t         j                  t         j                  t         j                  g«      } | j                  d¬«      }t        |j                  dg«       |j                  t         j
                  gk(  sJ ‚t        g d¢t         j                  t         j                  t         j                  g«      } | j                  «       }| j                  d¬«      }t        |j                  |j                  «       t        |j                  |j                  «       y )N)©r   r   ©é   r   ©r   r7   )é
   r9   é   r:   ©Úclipr5   )r5   r6   )r   é   )	r
   Úcleanedr   ÚverticesÚcodesÚSTOPÚMOVETOÚLINETOÚCURVE3)ÚpathÚ
simplifiedÚsimplified_clippeds      r    Útest_clipping_out_of_boundsrH   5   s  € äÒ(Ó)€DØ—‘Ð#3�Ó4€JÜ�z×*Ñ*¨V¨HÔ5Ø×Ñ¤§	¡	˜{Ò*Ð*Ð*ô Ò(Ü—‘œdŸk™k¬4¯;©;Ð7ó9€Dà—‘Ð#3�Ó4€JÜ�z×*Ñ*¨V¨HÔ5Ø×Ñ¤§	¡	˜{Ò*Ð*Ð*ô Ò(Ü—‘œdŸk™k¬4¯;©;Ð7ó9€Dà—‘“€JØŸ™Ð+;˜Ó<ÐÜ�z×*Ñ*Ð,>×,GÑ,GÔHÜ�z×'Ñ'Ð);×)AÑ)AÕBr"   c                  óÚ  — t         j                  j                  d«       t         j                  j                  d¬«      dz  } t	        j
                  «       \  }}|j                  | dd¬«      }|j                  j                  «        |d   j                  «       }|d   j                  «       }|j                  |«      }|j                  d¬	«      }|j                  j                  d
k(  sJ ‚y )Nr   éPÃ  ©Úsizeé2   Úroundr   ©Úsolid_joinstyler   T©Úsimplifyi¨c  )r   ÚrandomÚseedÚuniformr   r   r   ÚcanvasÚdrawÚget_pathÚget_transformÚtransform_pathr>   r?   rL   ©r-   r   r   Úp1rE   Ú	transformrF   s          r    Ú
test_noiser^   L   s½   € Ü‡I�I‡N�N�1ÔÜ
�	‰	×Ñ˜uÐÓ%¨Ñ*€Aä�l‰l‹n�G€CˆØ	�‰� G°sˆÓ	;€Bð ‡J�J‡O�OÔØˆa‰5�>‰>Ó€DØ�1‘×#Ñ#Ó%€IØ×#Ñ# DÓ)€DØ—‘ t�Ó,€Jà×Ñ×#Ñ# uÒ,Ð,Ñ,r"   c                  ób  — d„ } g d¢}g d¢} | ||«      }t        ddgddgddgddgg|j                  d d	…d d …f   «       g d¢}g d
¢} | ||«      }t        ddgddgddgddgg|j                  d d	…d d …f   «       g d¢}g d¢} | ||«      }t        ddgddgddgddgddgg|j                  d d	…d d …f   «       g d¢}g d¢} | ||«      }t        ddgddgddgg|j                  d d	…d d …f   «       g d¢}g d¢} | ||«      }t        ddgddgddgddgg|j                  d d	…d d …f   «       y )Nc                 ó(  — t        j                  «       \  }}|j                  | |«      }|d   j                  «       }|d   j	                  «       }|j                  |«      }|j                  d¬«      }|j                  «       j                  |«      }|S )Nr   TrQ   )r   r   r   rX   rY   rZ   r>   Úinverted)r-   r.   r   r   r\   rE   r]   rF   s           r    Ú_get_simplifiedz9test_antiparallel_simplification.<locals>._get_simplified^   s�   € Ü—,‘,“.‰ˆˆRØ�W‰W�Q˜‹]ˆà�!‰u�~‰~ÓˆØ�q‘E×'Ñ'Ó)ˆ	Ø×'Ñ'¨Ó-ˆØ—\‘\¨4�\Ó0ˆ
Ø×'Ñ'Ó)×8Ñ8¸ÓDˆ
àÐr"   )r   r   r   r   r   r7   )ç      à?r7   éÿÿÿÿr7   r   rc   r   rc   r2   r   r   éþÿÿÿ)rc   r7   rd   r7   re   rc   g       À)rc   r7   rd   r7   r   rc   )rc   r7   r   r7   r=   rc   r'   )rc   r7   r   r7   r7   rc   )r   r?   )rb   r-   r.   rF   s       r    Ú test_antiparallel_simplificationrf   ]   s¿  € ò
ò 	€AÚ€Aá   AÓ&€Jä  C˜yØ " C˜yØ " B˜xØ " C˜yð*ð )×1Ñ1°#°2°#²q°&Ñ9ô	;ò 	€AÚ€Aá   AÓ&€Jä  C˜yØ " B˜xØ " C˜yØ " C˜yð*ð )×1Ñ1°#°2°#²q°&Ñ9ô	;ò 	€AÚ€Aá   AÓ&€Jä  C˜yØ " B˜xØ " C˜yØ " B˜xØ " C˜yð	*ð
 )×1Ñ1°#°2°#²q°&Ñ9ô;ò 	€AÚ€Aá   AÓ&€Jä  C˜yØ " B˜xØ " C˜yð*ð )×1Ñ1°#°2°#²q°&Ñ9ô;ò 	€AÚ€Aá   AÓ&€Jä  C˜yØ " B˜xØ " B˜xØ " C˜yð*ð )×1Ñ1°#°2°#²q°&Ñ9õ	;r"   Úangleé   r=   r   Úoffsetrc   c                 ó*  — d}t         j                  j                  d«       t         j                  j                  d«      |z
  |z  }d|d<   d|d<   t        j                  | «      |z  }t        j
                  | «      |z  }|dd  j                  «       }|dd  j                  «       }|dd  j                  «       }|dd  j                  «       }	|dkD  r%t        ddg||g||	g|d   |d   gddggg d¢¬«      }
n!t        ddg||g|d   |d   gddggg d	¢¬«      }
t        t        j                  ||g«      j                  «      }|j                  d
¬«      }t        |
j                  |j                  «       t        |
j                  |j                  «       y )Né   i!N,é   r   r7   rd   )r7   r   r   r   r   )r@   )r7   r   r   r   TrQ   )r   rS   rT   Úrandr   ÚcosÚmaxÚminr
   ÚvstackÚTr>   r   r?   r   r@   )rg   ri   ÚscaleÚvert_offsetsr-   r.   Úx_maxÚx_minÚy_maxÚy_minÚ
p_expectedÚpÚp2s                r    Útest_angled_antiparallelr|   ¬   s‹  € ð €EÜ‡I�I‡N�N�8Ôô —I‘I—N‘N 2Ó&¨Ñ/°5Ñ8€Là€L��Oà€L��Oä
�‰ˆu‹˜Ñ$€AÜ
�‰ˆu‹˜Ñ$€Að ˆaˆbˆE�I‰I‹K€EØˆaˆbˆE�I‰I‹K€EàˆaˆbˆE�I‰I‹K€EØˆaˆbˆE�I‰I‹K€Eà�‚zÜ˜A˜q˜6Ø! 5˜>Ø! 5˜>Ø˜b™E 1 R¡5˜>Ø˜q˜6ð	#ò
 !0ô1‰
ô ˜A˜q˜6Ø! 5˜>Ø˜b™E 1 R¡5˜>Ø˜q˜6ð#ò !-ô	.ˆ
ô 	ŒR�Y‰Y˜˜1�vÓ× Ñ Ó!€AØ	
�‰˜DˆÓ	!€Bä˜j×1Ñ1Ø Ÿk™kô+ä�z×'Ñ'¨¯©Õ2r"   c                  óR  — t         j                  j                  d«       t        j                  t        j                  dt         j
                  dz  d«      «      t         j                  j                  d¬«      dz  z   } t        j                  «       \  }}|j                  | dd¬«      }|j                  j                  «        |d   j                  «       }|d   j                  «       }|j                  |«      }|j                  d¬	«      }|j                   j"                  d
k(  sJ ‚y )Nr   r   rJ   rK   r   rN   rO   TrQ   i˜b  )r   rS   rT   r   Úlinspacer   rU   r   r   r   rV   rW   rX   rY   rZ   r>   r?   rL   r[   s          r    Útest_sine_plus_noiser   Ú   så   € Ü‡I�I‡N�N�1ÔÜ	�‰”—‘˜AœrŸu™u s™{¨EÓ2Ó	3Ü	�‰×	Ñ	 Ð	Ó	&¨Ñ	-ñ
.€Aô �l‰l‹n�G€CˆØ	�‰� G°sˆÓ	;€Bð ‡J�J‡O�OÔØˆa‰5�>‰>Ó€DØ�1‘×#Ñ#Ó%€IØ×#Ñ# DÓ)€DØ—‘ t�Ó,€Jà×Ñ×#Ñ# uÒ,Ð,Ñ,r"   Úsimplify_curvegœÄ °rh‘?c                  óú  — t        j                  t        dddt        j                  dfddddgt        j
                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  g«      d¬«      } t        j                  «       \  }}|j                  | «       |j                  d	«       |j                  d	«       y )
Nr5   ©r7   r   ©r7   r7   r7   )r   r   ©r   r   Únone)Úfc)r   r   )r   Ú	PathPatchr
   r   ÚnanrB   rD   Ú	CLOSEPOLYr   r   Ú	add_patchr+   r   )Úpp1r   r   s      r    Útest_simplify_curverŒ   ì   s©   € ä
×
Ñ
Üˆf�f˜f¤r§v¡v¨q k°6¸6À6Øðä�k‰kœ4Ÿ;™;¬¯©´T·[±[Ä$Ç+Á+Ü�k‰kœ4Ÿ;™;¬¯©ð8ó	9ð ô€Cô �l‰l‹n�G€CˆØ‡L�L�ÔØ‡K�K�ÔØ‡K�K�Õr"   c                 óÌ  — | j                  dd«      j                  «       }|j                  dd«      j                  «       }t        dt        j                  gddgddgddgddggt        j
                  t        j                  t        j                  t        j                  t        j                  g«      }|d   j                  t        j                  |d¬«      «       t        dt        j                  gddgddgddgdt        j                  ggt        j
                  t        j                  t        j                  t        j                  t        j                  g«      }|d   j                  t        j                  |d¬«      «       t        ddgddgddgdt        j                  gddggt        j
                  t        j                  t        j                  t        j                  t        j                  g«      }|d   j                  t        j                  |d¬«      «       t        ddgddgddgdt        j                  gddggt        j
                  t        j                  t        j                  t        j                  t        j                  g«      }|d   j                  t        j                  |d¬«      «       t        dt        j                  gddgddgddgddgddgddgddgdt        j                  gddgg
t        j
                  t        j                  t        j                  t        j                  t        j                  t        j
                  t        j                  t        j                  t        j                  t        j                  g
«      }|d   j                  t        j                  |d¬«      «       t        dt        j                  gddgddgddgdt        j                  gddgddgddgdt        j                  gddgg
t        j
                  t        j                  t        j                  t        j                  t        j                  t        j
                  t        j                  t        j                  t        j                  t        j                  g
«      }|d   j                  t        j                  |d¬«      «       t        d	d	gdd	gdt        j                  gddgd	dgd	d	ggt        j
                  t        j                  t        j                  t        j                  t        j                  t        j                  g«      }|d   j                  t        j                  |d¬«      «       t        d	d	gdd	gdt        j                  gddgd	dgd	d	ggt        j
                  t        j                  t        j                  t        j                  t        j                  t        j                  g«      }|d   j                  t        j                  |d¬«      «       t        ddgddgddgdt        j                  gddgddggt        j
                  t        j                  t        j                  t        j                  t        j                  t        j                  g«      }|d   j                  t        j                  |d¬«      «       t        ddgddgddgdt        j                  gddgddggt        j
                  t        j                  t        j                  t        j                  t        j                  t        j                  g«      }|d   j                  t        j                  |d¬«      «       t        d	d	gdd	gdt        j                  gddgddgd	dgd	d	ggt        j
                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  g«      }|d   j                  t        j                  |d¬«      «       t        d	d	gdd	gdt        j                  gddgddgd	dgd	d	ggt        j
                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  g«      }|d   j                  t        j                  |d¬«      «       t        ddgddgddgdt        j                  gddgddgddggt        j
                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  g«      }|d   j                  t        j                  |d¬«      «       t        ddgddgddgdt        j                  gddgddgddggt        j
                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  g«      }|d   j                  t        j                  |d¬«      «       t        ddgddgddgddgdt        j                  gddgddggt        j
                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  g«      }|d   j                  t        j                  |d¬«      «       t        ddgddgddgddgdt        j                  gddgddggt        j
                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  g«      }|d   j                  t        j                  |d¬«      «       g |j                  ¢|j                  ¢D ]  }|j                  d
d
¬«       Œ t        | «       t        |«       y )Nr   éýÿÿÿr=   r   r…   ©Ú	facecolorre   r7   rd   )g      Àg      @)ÚxlimÚylim)r   Úflattenr
   r   rˆ   rB   rC   r‰   rŠ   r   r‡   rD   ÚCURVE4ÚflatÚsetr   )Úfig_testÚfig_refÚax_testÚax_refrE   r   s         r    Útest_closed_path_nan_removalr›   û   s5	  € à×Ñ  1Ó%×-Ñ-Ó/€GØ×Ñ˜a Ó#×+Ñ+Ó-€Fô Ø
Œb�f‰fˆ˜˜2�w  A ¨¨Q¨°"°b°Ð:Ü	�‰”d—k‘k¤4§;¡;´·±¼T¿^¹^ÐLóN€Dð ˆA�J×Ñœ×*Ñ*¨4¸6ÔBÔCÜØ
Œb�f‰fˆ˜˜2�w  A ¨¨Q¨°"´b·f±f°Ð>Ü	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[ÐIóK€Dð ˆ1�I×Ñœ×)Ñ)¨$¸&ÔAÔBô Ø
ˆbˆ�A�r�7˜Q ˜F R¬¯© L°2°r°(Ð;Ü	�‰”d—k‘k¤4§;¡;´·±¼T¿^¹^ÐLóN€Dð ˆA�J×Ñœ×*Ñ*¨4¸6ÔBÔCÜØ
ˆbˆ�A�r�7˜Q ˜F R¬¯© L°2°r°(Ð;Ü	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[ÐIóK€Dð ˆ1�I×Ñœ×)Ñ)¨$¸&ÔAÔBô Ø
Œb�f‰fˆ˜˜2�w  A ¨¨Q¨°"°b°Ø
ˆbˆ�A�r�7˜Q ˜F R¬¯© L°2°r°(ð	<ä	�‰”d—k‘k¤4§;¡;´·±¼T¿^¹^Ü	�‰”d—k‘k¤4§;¡;´·±¼T¿^¹^ð	MóN€Dð
 ˆA�J×Ñœ×*Ñ*¨4¸6ÔBÔCÜØ
Œb�f‰fˆ˜˜2�w  A ¨¨Q¨°"´b·f±f°Ø
ˆbˆ�A�r�7˜Q ˜F R¬¯© L°2°r°(ð	<ä	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[Ü	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[ð	JóK€Dð
 ˆ1�I×Ñœ×)Ñ)¨$¸&ÔAÔBô Ø
ˆbˆ�A�r�7˜Q¤§¡˜K¨!¨Q¨°"°a°¸2¸r¸(ÐCÜ	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[Ü	�‰ð	ó€Dð ˆA�J×Ñœ×*Ñ*¨4¸6ÔBÔCÜØ
ˆbˆ�A�r�7˜Q¤§¡˜K¨!¨Q¨°"°a°¸2¸r¸(ÐCÜ	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[Ü	�‰ð	ó€Dð ˆ1�I×Ñœ×)Ñ)¨$¸&ÔAÔBô Ø
ˆbˆ�A�r�7˜Q ˜F Q¬¯© K°"°a°¸2¸r¸(ÐCÜ	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[Ü	�‰ð	ó€Dð ˆA�J×Ñœ×*Ñ*¨4¸6ÔBÔCÜØ
ˆbˆ�A�r�7˜Q ˜F Q¬¯© K°"°a°¸2¸r¸(ÐCÜ	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[Ü	�‰ð	ó€Dð ˆ1�I×Ñœ×)Ñ)¨$¸&ÔAÔBô Ø
ˆbˆ�A�r�7˜Q¤§¡˜K¨!¨Q¨°!°Q°¸"¸a¸À2ÀrÀ(ÐKÜ	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[Ü	�‰”d—n‘nð	&ó'€Dð ˆA�J×Ñœ×*Ñ*¨4¸6ÔBÔCÜØ
ˆbˆ�A�r�7˜Q¤§¡˜K¨!¨Q¨°!°Q°¸"¸a¸À2ÀrÀ(ÐKÜ	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[Ü	�‰”d—n‘nð	&ó'€Dð ˆ1�I×Ñœ×)Ñ)¨$¸&ÔAÔBô Ø
ˆbˆ�A�r�7˜Q ˜F Q¬¯© K°!°Q°¸"¸a¸À2ÀrÀ(ÐKÜ	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[Ü	�‰”d—k‘kð	#ó$€Dð ˆA�J×Ñœ×*Ñ*¨4¸6ÔBÔCÜØ
ˆbˆ�A�r�7˜Q ˜F Q¬¯© K°!°Q°¸"¸a¸À2ÀrÀ(ÐKÜ	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[Ü	�‰”d—k‘kð	#ó$€Dð ˆ1�I×Ñœ×)Ñ)¨$¸&ÔAÔBô Ø
ˆbˆ�A�r�7˜Q ˜F Q¨ F¨Q´·±¨K¸"¸a¸À2ÀrÀ(ÐKÜ	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[Ü	�‰”d—k‘kð	#ó$€Dð ˆA�J×Ñœ×*Ñ*¨4¸6ÔBÔCÜØ
ˆbˆ�A�r�7˜Q ˜F Q¨ F¨Q´·±¨K¸"¸a¸À2ÀrÀ(ÐKÜ	�‰”d—k‘k¤4§;¡;´·±¼T¿[¹[Ü	�‰”d—k‘kð	#ó$€Dð ˆ1�I×Ñœ×)Ñ)¨$¸&ÔAÔBð ,�—‘Ð+˜vŸ{™{Ð+ò 3ˆØ
�‰�K kˆÕ2ð3ä˜HÔ%Ü˜GÕ$r"   c           
      óª  — g }t        d«      D ]  }d|z  dz   }ddgddgddgddgd|dz  z
  dgd|dz  z
  |g|dz  |g|dz  dgg}t        j                  ||d¬«      }t        j                  ||d d…d d …f   f«      }|j	                  |«       Œ� t        j
                  t        |d   «      t        j                  «      }t        j                  |d<   t        j                  |d	<   t        j                  |t        |«      «      }t        j                  |«      }| j                  d
«       t        ||«      }| j                  t        j                  |d¬«      «       |j                  d
«       |j!                  «       }t        j                  ||t        j                  k(  <   t        ||«      }|j                  t        j                  |d¬«      «       y )Né   gš™™™™™¹?g      à¿g      ø?r7   r   r   )Úaxisrd   )rk   rk   r…   r�   )Úranger   ÚrollÚconcatenateÚappendÚfullr*   r
   rC   rB   r‰   ÚtileÚset_size_inchesÚ
add_artistr   r‡   Úcopy)r—   r˜   r?   r    ri   Úpatternr@   rE   s           r    Útest_closed_path_clippingr©   g  s¨  € à€HÜ�a“ò !ˆØ�t‘˜cÑ!ˆð �3ˆK˜$ ˜¨¨T {°S¸#°Jà�˜!‘‰^˜SÐ! A¨°©
¡N°FÐ#;Ø�a‰Z˜Ð  6¨A¡:¨sÐ"3ð	
ˆô —'‘'˜' 4¨aÔ0ˆÜ—.‘. '¨7°2°A°2²q°5©>Ð!:Ó;ˆà�‰˜Õ ð!ô& �G‰G”C˜ ™Ó$¤d§k¡kÓ2€EÜ�{‰{€Eˆ!�HÜ—‘€Eˆ"�IÜ�G‰G�Eœ3˜x›=Ó)€EÜ�~‰~˜hÓ'€Hà×Ñ˜VÔ$Ü�˜%Ó €DØ×Ñœ×)Ñ)¨$¸&ÔAÔBð ×Ñ˜FÔ#Ø�J‰J‹L€EÜ%)§[¡[€Eˆ%”4—>‘>Ñ
!Ñ"Ü�˜%Ó €DØ×Ñ”w×(Ñ(¨¸Ô@ÕAr"   Úhatch_simplifyc            	      óÈ   — t        j                  «       \  } }|j                  t        j                  ddddd¬«      «       |j	                  d«       |j                  d«       y )Nr5   r7   Fú/)ÚfillÚhatch)gÍÌÌÌÌÌÜ?gš™™™™™á?)r   r   rŠ   Ú	Rectangler+   r   )r   r   s     r    Ú
test_hatchr°   �  sF   € ä�l‰l‹n�G€CˆØ‡L�L”—‘˜v q¨!°%¸sÔCÔDØ‡K�K�ÔØ‡K�K�Õr"   Ú	fft_peaksc                  óX  — t        j                  «       \  } }t        j                  d«      }|j	                  t        t        j                  j                  t        j                  dt        j                  z  dz  |z  «      t        j                  t        |«      «      z  «      «      «      }| j                  j                  «        |d   j                  «       }|d   j                  «       }|j                  |«      }|j!                  d¬«      }|j"                  j$                  dk(  sJ ‚y )Ni   r   r   r   TrQ   é$   )r   r   r   r   r   ÚabsÚfftr   r   Úblackmanr*   rV   rW   rX   rY   rZ   r>   r?   rL   )r   r   r   r\   rE   r]   rF   s          r    Útest_fft_peaksr·   ˜  sÖ   € ä�l‰l‹n�G€CˆÜ
�	‰	�%Ó€AØ	�‰””R—V‘V—Z‘Z¤§¡ q¬¯©¡w¨s¡{°1¡}Ó 5´b·k±kÄ#ÀaÃ&Ó6IÑ IÓJÓKÓ	L€Bð ‡J�J‡O�OÔØˆa‰5�>‰>Ó€DØ�1‘×#Ñ#Ó%€IØ×#Ñ# DÓ)€DØ—‘ t�Ó,€Jà×Ñ×#Ñ# rÒ)Ð)Ñ)r"   c                  óf  — d} t        j                  t        j                  | «      d¬«      }|j	                  t        |«      dz  df«      }t        |«      }|j                  t        j                  «       d¬«      }t        |«      }t        |«      dk(  sJ ‚|d   d   t        j                  k(  sJ ‚y )	NsÌ  
ZwAAAAku+v9UAQAA+Tj6/z8CAADpQ/r/KAMAANlO+v8QBAAAyVn6//UEAAC6ZPr/2gUAAKpv+v+8
BgAAm3r6/50HAACLhfr/ewgAAHyQ+v9ZCQAAbZv6/zQKAABepvr/DgsAAE+x+v/lCwAAQLz6/7wM
AAAxx/r/kA0AACPS+v9jDgAAFN36/zQPAAAF6Pr/AxAAAPfy+v/QEAAA6f36/5wRAADbCPv/ZhIA
AMwT+/8uEwAAvh77//UTAACwKfv/uRQAAKM0+/98FQAAlT/7/z0WAACHSvv//RYAAHlV+/+7FwAA
bGD7/3cYAABea/v/MRkAAFF2+//pGQAARIH7/6AaAAA3jPv/VRsAACmX+/8JHAAAHKL7/7ocAAAP
rfv/ah0AAAO4+/8YHgAA9sL7/8QeAADpzfv/bx8AANzY+/8YIAAA0OP7/78gAADD7vv/ZCEAALf5
+/8IIgAAqwT8/6kiAACeD/z/SiMAAJIa/P/oIwAAhiX8/4QkAAB6MPz/HyUAAG47/P+4JQAAYkb8
/1AmAABWUfz/5SYAAEpc/P95JwAAPmf8/wsoAAAzcvz/nCgAACd9/P8qKQAAHIj8/7cpAAAQk/z/
QyoAAAWe/P/MKgAA+aj8/1QrAADus/z/2isAAOO+/P9eLAAA2Mn8/+AsAADM1Pz/YS0AAMHf/P/g
LQAAtur8/10uAACr9fz/2C4AAKEA/f9SLwAAlgv9/8ovAACLFv3/QDAAAIAh/f+1MAAAdSz9/ycx
AABrN/3/mDEAAGBC/f8IMgAAVk39/3UyAABLWP3/4TIAAEFj/f9LMwAANm79/7MzAAAsef3/GjQA
ACKE/f9+NAAAF4/9/+E0AAANmv3/QzUAAAOl/f+iNQAA+a/9/wA2AADvuv3/XDYAAOXF/f+2NgAA
29D9/w83AADR2/3/ZjcAAMfm/f+7NwAAvfH9/w44AACz/P3/XzgAAKkH/v+vOAAAnxL+//04AACW
Hf7/SjkAAIwo/v+UOQAAgjP+/905AAB5Pv7/JDoAAG9J/v9pOgAAZVT+/606AABcX/7/7zoAAFJq
/v8vOwAASXX+/207AAA/gP7/qjsAADaL/v/lOwAALZb+/x48AAAjof7/VTwAABqs/v+LPAAAELf+
/788AAAHwv7/8TwAAP7M/v8hPQAA9df+/1A9AADr4v7/fT0AAOLt/v+oPQAA2fj+/9E9AADQA///
+T0AAMYO//8fPgAAvRn//0M+AAC0JP//ZT4AAKsv//+GPgAAojr//6U+AACZRf//wj4AAJBQ///d
PgAAh1v///c+AAB+Zv//Dz8AAHRx//8lPwAAa3z//zk/AABih///TD8AAFmS//9dPwAAUJ3//2w/
AABHqP//ej8AAD6z//+FPwAANb7//48/AAAsyf//lz8AACPU//+ePwAAGt///6M/AAAR6v//pj8A
AAj1//+nPwAA/////w==z<i4)Údtyper   )r   r   ç      Y@rº   r;   r7   r   )r   Ú
frombufferÚbase64ÚdecodebytesÚreshaper*   r
   Úiter_segmentsr	   ÚIdentityTransformÚlistrB   )ÚdataÚvertsrE   Úsegss       r    Útest_start_with_movetorÅ   ¨  s    € ð€Dô, �M‰Mœ&×,Ñ,¨TÓ2¸%Ô@€EØ�M‰Mœ3˜u›:¨™?¨AÐ.Ó/€EÜ�‹;€DØ×Ñœj×:Ñ:Ó<Ø#;ð ó =€Dä�‹:€DÜˆt‹9˜Š>Ðˆ>Ø�‰7�1‰:œŸ™Ò$Ð$Ñ$r"   c                  ó¬  — dt         j                  d<   t        j                  d«      } t        j                  j                  d«      }t        j                  |d<   t        j                  «       \  }}|j                  | |«       t        j                  t        «      5  |j                  t        j                  «       «       d d d «       y # 1 sw Y   y xY w)NFzpath.simplifyi€„ iè  )r   ÚrcParamsr   r   rS   rm   rˆ   r   r   ÚpytestÚraisesÚOverflowErrorÚsavefigÚioÚBytesIO)ÚxxÚyyr   r   s       r    Ú(test_throw_rendering_complexity_exceededrÐ   Ê  sŒ   € Ø$)„C‡L�L�Ñ!Ü	�‰�9Ó	€BÜ	�‰�‰˜	Ó	"€BÜ�v‰v€B€t�Hä�l‰l‹n�G€CˆØ‡G�GˆB�„OÜ	�‰”}Ó	%ñ "Ø�‰”B—J‘J“LÔ!÷"÷ "ñ "ús   Â$C
Ã
CÚclipper_edgec                  óð  — d} t        j                  d¬«      }|j                  dddd¬«       |j                  ddd¬	«      }|j	                  | «       |j
                  j                  t        j                  d
«      «       |j                  j                  t        j                  d
«      «       |j
                  j                  d«       |j                  j                  d«       |j                  dd«       y )N)
r   r7   r   r   r   r=   r   rh   r   rk   r8   )Úfigsizer   )ÚleftÚbottomÚwspaceÚhspace)r   r   r   r   )r   rk   F)r’   Úautoscale_onr7   rÕ   rÔ   rk   é	   )r   ÚfigureÚsubplots_adjustÚadd_axesr   ÚxaxisÚset_major_locatorÚMultipleLocatorÚyaxisÚset_ticks_positionr+   )Údatr   r   s      r    Útest_clipperrã   Ö  s¸   € à
(€CÜ
�*‰*˜VÔ
$€CØ×Ñ˜Q q°¸1ÐÔ=à	�‰Ð&¨VÀ%ˆÓ	H€BØ‡G�GˆC„LØ‡H�H×Ñœs×2Ñ2°1Ó5Ô6Ø‡H�H×Ñœs×2Ñ2°1Ó5Ô6Ø‡H�H×Ñ Ô)Ø‡H�H×Ñ Ô'à‡K�K��1Õr"   Úpara_equal_perpc                  ó  — t        j                  g d¢dgdz  z   «      } t        j                  g d¢dgdz  z   «      }t        j                  «       \  }}|j	                  | dz   |dz   «       |j	                  | dz   |dz   d«       y )N)r   r7   r   r7   r   rd   r   r7   r7   é€   )r7   r7   r   r7   r   rd   r   r   r   Úro)r   r)   r   r   r   r,   s       r    Útest_para_equal_perprè   æ  ss   € ä
�‰Ò*¨a¨S°3©YÑ6Ó7€AÜ
�‰Ò*¨a¨S°3©YÑ6Ó7€Aä�l‰l‹n�G€CˆØ‡G�GˆA�‰E�1�q‘5ÔØ‡G�GˆA�‰E�1�q‘5˜$Õr"   Úclipping_with_nansc                  óþ   — t        j                  ddd«      } t        j                  | «      }t         j                  | d d d…<   t	        j
                  «       \  }}|j                  | |«       |j                  dd«       y )Nr   g…ëQ¸@i¸  éd   g      Ð¿g      Ð?)r   r~   r   rˆ   r   r   r   r   r,   s       r    Útest_clipping_with_nansrì   ð  s\   € ä
�‰�A�x Ó&€AÜ
�‰ˆq‹	€AÜ�v‰v€A�eˆ€e�Hä�l‰l‹n�G€CˆØ‡G�GˆAˆq„MØ‡K�K��tÕr"   c                  óô  — t        ddggdz  «      } t        | j                  g d¢¬«      «      }|g k(  sJ ‚t        ddgddggd	d
g«      } t        | j                  g d¢¬«      «      }|D ��cg c]  \  }}t        |«      |f‘Œ c}}ddgd	fddgd
fgk(  sJ ‚t        ddggd	g«      } t        | j                  g d¢¬«      «      }|D ��cg c]  \  }}t        |«      |f‘Œ c}}ddgd	fgk(  sJ ‚y c c}}w c c}}w )NgêŒ 9Y>)Frk   )r   r   rë   rë   r;   rM   é(   éK   éA   r7   r   )r
   rÁ   r¿   )rz   rF   r-   r.   s       r    Útest_clipping_fullrñ   û  s  € Üˆt�Tˆlˆ^˜aÑÓ €AÜ�a—o‘oÒ+;�oÓ<Ó=€JØ˜ÒÐÐäˆr�2ˆh˜˜R˜Ð! A q 6Ó*€AÜ�a—o‘oÒ+;�oÓ<Ó=€JØ&0×1™d˜a Œd�1‹g�qŠ\Ó1Ø�2ˆh˜ˆ]˜b "˜X q˜MÐ*ò+ð ,ð +ô 	ˆr�2ˆhˆZ˜!˜Ó€AÜ�a—o‘oÒ+;�oÓ<Ó=€JØ&0×1™d˜a Œd�1‹g�qŠ\Ó1Ø�2ˆh˜ˆ]ˆOòð ñ ùó 2ùó
 2s   Á,C.ÃC4c                  ó
  — t        dddt        j                  t        j                  fgt         j                  t         j                  t         j                  t         j
                  g«      t        g d¢t         j                  t         j                  t         j                  t         j
                  g«      g} t        g d¢t         j                  t         j                  t         j                  t         j                  t         j                  t         j                  g«      }| D ]T  }|j                  d¬«      }t        |j                  |j                  «       t        |j                  |j                  «       ŒV t        dddt        j                  t        j                  fdd	d
t        j                  t        j                  fgt         j                  t         j                  t         j                  t         j
                  t         j                  t         j                  t         j                  t         j
                  g«      }t        g d¢t         j                  t         j                  t         j                  t         j                  t         j                  t         j                  t         j                  t         j                  t         j                  t         j                  g
«      }|j                  d¬«      }t        |j                  |j                  «       t        |j                  |j                  «       t        dddt        j                  t        j                  fdd
dddg	t         j                  t         j                  t         j                  t         j                  t         j                  t         j                  t         j                  t         j
                  t         j                  g	«      }t        dddt        j                  t        j                  fdd
ddddg
t         j                  t         j                  t         j                  t         j                  t         j                  t         j                  t         j                  t         j                  t         j                  t         j                  g
«      }|j                  d¬«      }t        |j                  |j                  «       t        |j                  |j                  «       y )Nrƒ   r8   r„   )rƒ   r8   r„   )rî   rM   )rƒ   r8   r„   rƒ   rƒ   r5   TrQ   ©rd   r   ©re   r   ©re   r7   )
rƒ   r8   r„   rƒ   ró   rô   rõ   ró   ró   r5   r‚   )r7   rd   )r   rd   )rd   rd   )rd   r7   )r   rd   r5   )r
   r   rˆ   rB   rC   r‰   rA   r>   r   r?   r@   )ÚpathsÚexpected_pathrE   Úsimplified_paths       r    Útest_simplify_closepolyrù     s.  € ô �6˜6 6¬B¯F©F´B·F±FÐ+;Ð<Ü—;‘;¤§¡¬T¯[©[¼$¿.¹.ÐIóKäÒ4Ü—;‘;¤§¡¬T¯[©[¼$¿.¹.ÐIóKðL€Eô ÒIÜŸ+™+¤t§{¡{´D·K±KÄÇÁÜŸ+™+¤t§y¡yð2ó3€Mð ò GˆØŸ,™,°˜,Ó5ˆÜ˜=×1Ñ1°?×3KÑ3KÔLÜ˜=×.Ñ.°×0EÑ0EÕFðGô �˜ ¬"¯&©&´"·&±&Ð)9Ø˜' 7¬R¯V©V´R·V±VÐ,<ð>ä—‘œdŸk™k¬4¯;©;¼¿¹Ü—‘œdŸk™k¬4¯;©;¼¿¹ðHóI€Dô ò OäŸ+™+¤t§{¡{´D·K±KÄÇÁÜŸ+™+¤t§{¡{´D·K±KÄÇÁÜŸ+™+¤t§y¡yð2ó3€Mð —l‘l¨D�lÓ1€OÜ�}×-Ñ-¨×/GÑ/GÔHÜ�}×*Ñ*¨O×,AÑ,AÔBô �˜ 'Ü—&‘&œ"Ÿ&™&Ð! 8¨W°gØ˜ð"ô —‘œdŸk™k¬4¯;©;Ü—‘œdŸk™k¬4¯;©;¼¿¹Ü—‘¤§¡ð.ó/€Dô ˜& '¨7ÜŸ6™6¤2§6¡6Ð*¨H°g¸wØ! 7¨Fð4ô Ÿ+™+¤t§{¡{´D·K±KÜŸ+™+¤t§{¡{´D·K±KÄÇÁÜŸ+™+¤t§{¡{´D·I±Ið?ó@€Mð —l‘l¨D�lÓ1€OÜ�}×-Ñ-¨×/GÑ/GÔHÜ�}×*Ñ*¨O×,AÑ,AÕBr"   )-r¼   rÌ   ÚplatformÚnumpyr   Únumpy.testingr   r   rÈ   Úmatplotlib.testing.decoratorsr   r   r   Úmatplotlib.pyplotÚpyplotr   Ú
matplotlibr   r	   Úmatplotlib.pathr
   r!   Úmachiner/   r3   rH   r^   rf   ÚmarkÚparametrizer   r|   r   rŒ   r›   r©   r°   r·   rÅ   rÐ   rã   rè   rì   rñ   rù   © r"   r    ú<module>r     s  ðÛ Û 	Û ã ß Gã ÷Dñ Då ç *Ý  ñ �:�,¨DÔ1ñ ó 2ð ñ �:�,¨DØ+˜8×+Ñ+Ó-°Ò9‘a¸uôFñóFðñ Ð%Ð&°DÔ9ñó :ðòCò.-ò"G;ð^ ‡�×Ñ˜ 1 b§e¡e¨A¡g¨r¯u©u°Q©w¸¿¹¸a¹Ð"@ÓAØ‡�×Ñ˜ A r 7Ó+ñ)3ó ,ó Bð)3òX-ñ$ Ð#Ð$°$¸EÔBñó Cðñ Óñh%ó ðh%ñV Óñ%Bó ð%BñP Ð#Ð$°$Ô7ñó 8ðñ �;�-¨TÔ2ñ*ó 3ð*ò%òD	"ñ �>Ð"°Ô5ñó 6ðñ Ð$Ð%°4Ô8ñ ó 9ð ñ Ð'Ð(Ó)ñó *ðòó 0Cr"   