Ë
    íÍ:j4  ã                   ój  — d dl Z d dlZd dlmZ d dlmZ d dlmZ	 d„ Z
 edgd ej                  «       dk(  rd nd¬«      d	„ «       Z ed
gd¬«      d„ «       Z edgd¬«      d„ «       Zd„ Z edgd ed¬«      d ej                  «       dk(  rd nd¬«      d„ «       Z edgd ed¬«      d ej                  «       dk(  rd nd¬«      d„ «       Z edgdd¬«      d„ «       Z edgdd ej                  «       dk(  rd nd¬ «      d!„ «       Z ed"gdd ej                  «       dk(  rd nd#¬ «      d$„ «       Zd%„ Zy)&é    N)Úimage_comparisonc                 óR   — | j                  ddd|z   fddt        |dd¬«      ¬«       y )	NÚ ç      à?©r   r   é   ÚbÚk)Ú
arrowstyleÚfcÚec)ÚxyÚxytextÚsizeÚ
arrowprops)ÚannotateÚdict)ÚaxÚtÚrs      úx/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/matplotlib/tests/test_arrow_patches.pyÚ
draw_arrowr      s2   € Ø‡K�K�˜˜S 1™W�~¨j¸rÜ¨1Ø#&¨3ô0ð õ 1ó    zfancyarrow_test_image.pngÚ_classic_testÚx86_64gú~j¼t“ˆ?)ÚstyleÚtolc            	      óZ  — g d¢} ddt         j                  j                  «       g}t        j                  t        |«      t        | «      ddt        d¬«      ¬«      \  }}t        | «      D ]?  \  }}t        |«      D ],  \  }}|||f   }t        |||«       |j                  dd¬	«       Œ. ŒA y )
N)çš™™™™™Ù?ç333333Ó?çš™™™™™É?çš™™™™™¹?r   ÚfancyÚsimpleF)é   g      @é   )Úaspect)ÚsqueezeÚfigsizeÚ
subplot_kw)Ú	labelleftÚlabelbottom)
ÚmpatchesÚ
ArrowStyleÚFancyÚpltÚsubplotsÚlenr   Ú	enumerater   Útick_params)	r   r   ÚfigÚaxsÚi_rÚr1Úi_tÚt1r   s	            r   Útest_fancyarrowr;      s§   € ò 	 €AØ	�(œH×/Ñ/×5Ñ5Ó7Ð8€Aä�|‰|œC ›F¤C¨£F°EØ$,¼ÀQ¼ôI�H€Cˆô ˜Q“<ò ?‰ˆˆRÜ  “|ò 	?‰GˆC�Ø�S˜#�X‘ˆBÜ�r˜2˜rÔ"Ø�N‰N U¸ˆNÕ>ñ	?ñ?r   zboxarrow_test_image.pngÚmpl20)r   c                  óP  — t         j                  j                  «       } t        | «      }d}||z  dz   }t	        j
                  d|dz  f¬«      }d}t        t        | «      «      D ]?  \  }}|j                  d||z
  |z  dz
  |z  |d||j                  t        |dd	¬
«      ¬«       ŒA y )Ng333333ó?r   gUUUUUU@ç      ø?©r)   ç™™™™™™5@ÚcenterÚwr
   ©Úboxstyler   r   )Úhar   Ú	transformÚbbox)r-   ÚBoxStyleÚ
get_stylesr2   r0   Úfigurer3   ÚsortedÚtextÚtransFigurer   )ÚstylesÚnÚspacingÚ	figheightr5   ÚfontsizeÚiÚ	stylenames           r   Útest_boxarrowrU      s²   € ô ×Ñ×)Ñ)Ó+€FäˆF‹€AØ€Gà�W‘˜rÑ!€IÜ
�*‰*˜g y°3¡Ð7Ô
8€Cà€Hä!¤&¨£.Ó1ò @‰ˆˆ9Ø�‰�˜˜A™ Ñ(¨3Ñ.°	Ñ9¸9ØØØŸ?™?Ü I°#¸#Ô>ð	 	õ 	@ñ@r   z"boxarrow_adjustment_test_image.pngc                  ó¸  — g d¢} ddgddgddgddgd	d
gd	dgg}d}d}t        | «      }t        |«      }||z  }||z  dz   }t        j                  |dz  |dz  f¬«      }d}	t        | «      D ]m  \  }
}t        |«      D ]Z  \  }}|j	                  ||
z
  |z  dz
  |z  ||z
  |z  dz
  |z  |dd|	|j
                  t        |› d|d   › d|d   › �dd¬«      ¬«       Œ\ Œo y )N)ÚlarrowÚrarrowÚdarrowr>   éZ   éª   g      è?r   r   iöÿÿÿé   i¦ÿÿÿiñÿÿÿg      @gš™™™™™ù?r?   r@   rA   z, head_width=r   z!,                     head_angle=r&   rB   r
   rC   )rE   Úvar   rF   rG   )r2   r0   rJ   r3   rL   rM   r   )rN   ÚcasesÚspacing_horizontalÚspacing_verticalÚmrO   ÚfigwidthrQ   r5   rR   rS   rT   ÚjÚcases                 r   Útest_boxarrow_adjustmentre   4   sG  € ò ,€Fð 
ˆbˆ	Ø	ˆcˆ
Ø	ˆrˆ
Ø	ˆcˆ
Ø	
ˆCˆØ	
ˆCˆð€Eð ÐØÐô 	ˆF‹€AÜˆE‹
€AàÐ&Ñ&€HØÐ%Ñ%¨Ñ+€Iä
�*‰*˜h¨™n¨i¸#©oÐ>Ô
?€Cà€Hä! &Ó)ò 	<‰ˆˆ9Ü  Ó'ò 	<‰GˆAˆtà�H‰HØ�a‘%Ð-Ñ-°Ñ3°xÑ?Ø�a‘%Ð+Ñ+¨cÑ1°YÑ>Ø˜h¨8Ø¨¯©Ü i [°¸dÀ1¹g¸Yð G Ø $ Q¡˜yð$*Ø.1°cô;ð õ <ñ	<ñ	<r   c            	      óð   — t        j                  ddd¬«      } | j                  «       }|j                  dd«       |j	                  dd«       |j                  t        j                  ddd	d
d¬«      «       | S )zý
    Convenience function that prepares and returns a FancyArrowPatch. It aims
    at being used to test that the size of the arrow head does not depend on
    the DPI value of the exported picture.

    NB: this function *is not* a test in itself!
    Úfancyarrow_dpi_cor_test)é   é   é2   )r)   Údpir   r&   )r    r   )çš™™™™™é?g333333ã?ri   ú->éd   )ÚposAÚposBÚlwr   Úmutation_scale)r0   rJ   Úadd_subplotÚset_xlimÚset_ylimÚ	add_patchr-   ÚFancyArrowPatch)Úfig2r   s     r   Ú!__prepare_fancyarrow_dpi_cor_testry   ^   sm   € ô �:‰:Ð/¸ÀRÔH€DØ	×	Ñ	Ó	€BØ‡K�K��1ÔØ‡K�K��1ÔØ‡L�L”×)Ñ)¨zÀ
Ø-.¸4Ø9<ô>ô ?ð €Kr   zfancyarrow_dpi_cor_100dpi.pngTrn   )rk   g{®Gáz”?)Úremove_textÚsavefig_kwargr   r   c                  ó   — t        «        y)a   
    Check the export of a FancyArrowPatch @ 100 DPI. FancyArrowPatch is
    instantiated through a dedicated function because another similar test
    checks a similar export but with a different DPI value.

    Remark: test only a rasterized format.
    N©ry   © r   r   Útest_fancyarrow_dpi_cor_100dpir   p   s
   € ô &Õ'r   zfancyarrow_dpi_cor_200dpi.pngéÈ   c                  ó   — t        «        y)z
    As test_fancyarrow_dpi_cor_100dpi, but exports @ 200 DPI. The relative size
    of the arrow head should be the same.
    Nr}   r~   r   r   Útest_fancyarrow_dpi_cor_200dpir‚      s
   € ô &Õ'r   zfancyarrow_dash.pngÚdefault)rz   r   c            
      óê   — t        j                  «       \  } }t        j                  dddddddd¬	«      }t        j                  dddd
dddd¬	«      }|j	                  |«       |j	                  |«       y )N)r   r   r   z-|>zangle3,angleA=0,angleB=90g      $@r\   Údashedr
   )r   Úconnectionstylerr   Ú	linewidthÚ	linestyleÚcolorÚangle3Údotted)r0   r1   r-   rw   rv   )r5   r   ÚeÚe2s       r   Útest_fancyarrow_dashrŽ   ‹   sx   € ä�l‰l‹n�G€CˆÜ× Ñ  ¨Ø,1Ø1LØ04Ø+,Ø+3Ø'*ô	,€Aô 
×	!Ñ	! &¨*Ø-2Ø2:Ø15Ø,-Ø,4Ø(+ô
-€Bð ‡L�L�„OØ‡L�L�Õr   zarrow_styles.png)r   rz   r   c                  óè  — t         j                  j                  «       } t        | «      }t	        j
                  d¬«      \  }}|j                  dd«       |j                  d|«       |j                  dddd¬«       t        t        | «      «      D ]E  \  }}t        j                  d|dz  d	z  z   |fd
|dz  d	z  z   |f|d¬«      }|j                  |«       ŒG t        g d¢«      D ]‹  \  }}|}|d   dk7  r|dz  }|d   dk7  r|dz  }t        ddg«      D ]Z  \  }}	|j                  dt        |	«      «      }
t        j                  dd|z  |z   fdd|z  |z   f|
d¬«      }|j                  |«       Œ\ Œ� y )N)r%   r%   r?   r   r&   éÿÿÿÿ)ÚleftÚrightÚbottomÚtopr"   r\   gš™™™™™©?gÍÌÌÌÌÌÜ?é   )r   rr   )z]-[z]-z-[z|-|ú-z,angleA=ANGLEz,angleB=ANGLEiâÿÿÿé<   ÚANGLEgš™™™™™á?gÍÌÌÌÌÌì?)r-   r.   rI   r2   r0   r1   rt   ru   Úsubplots_adjustr3   rK   rw   rv   ÚreplaceÚstr)rN   rO   r5   r   rS   rT   Úpatchr   rc   Úangler   s              r   Útest_arrow_stylesrž       sŒ  € ô × Ñ ×+Ñ+Ó-€FäˆF‹€AÜ�l‰l 6Ô*�G€CˆØ‡K�K��1ÔØ‡K�K��AÔØ×Ñ˜Q a°°qÐÔ9ä!¤&¨£.Ó1ò ‰ˆˆ9Ü×(Ñ(¨#°°Q±¸±Ñ*<¸aÐ)@Ø*.°!°a±%¸±Ñ*=¸qÐ)AØ4=Ø8:ô<ˆð 	�‰�UÕðô "Ò"<Ó=ò  ‰ˆˆ9ØˆØ�Q‰<˜3ÒØ�_Ñ$ˆEØ�R‰=˜CÒØ�_Ñ$ˆEä! 3¨ )Ó,ò 	 ‰HˆAˆuØŸ™ w´°E³
Ó;ˆJÜ×,Ñ,¨d°A°a±C¸!±G¨_¸sÀAÀaÁCÈ!ÁG¸nØ8BØ<>ô@ˆEð �L‰L˜Õñ	 ñ r   zconnection_styles.pngg9´Èv¾ŸŠ?c                  ól  — t         j                  j                  «       } t        | «      }t	        j
                  d¬«      \  }}|j                  dd«       |j                  d|«       t        t        | «      «      D ]7  \  }}t        j                  d|fd|dz   fd	|d
¬«      }|j                  |«       Œ9 y )N)é   é
   r?   r   r&   r�   r"   rl   r   rm   r•   )r   r†   rr   )r-   ÚConnectionStylerI   r2   r0   r1   rt   ru   r3   rK   rw   rv   )rN   rO   r5   r   rS   rT   rœ   s          r   Útest_connection_stylesr£   Á   s¢   € ô ×%Ñ%×0Ñ0Ó2€FäˆF‹€AÜ�l‰l 7Ô+�G€CˆØ‡K�K��1ÔØ‡K�K��AÔä!¤&¨£.Ó1ò ‰ˆˆ9Ü×(Ñ(¨#¨q¨°C¸¸S¹°>Ø48Ø9BØ8:ô<ˆð 	�‰�UÕñr   c                  óÐ  — t         j                  j                  dd¬«      } t        j                  dd| ¬«      }t	        j
                  t        «      5  t        j                  «       j                  |«       d d d «       t         j                  j                  dd¬«      }t        j                  dd|¬«      }t        j                  «       j                  |«       y # 1 sw Y   ŒfxY w)Né   r€   )ÚangleAÚangleB)r!   r!   r   )r†   gÍÌÌÌÌüh@)
r-   r¢   ÚAngle3rw   ÚpytestÚraisesÚ
ValueErrorr0   Úgcarv   )Úconn_style_1Úp1Úconn_style_2Úp2s       r   Útest_invalid_intersectionr±   Ó   s³   € Ü×+Ñ+×2Ñ2¸"ÀSÐ2ÓI€LÜ	×	!Ñ	! (¨HØ2>ô
@€Bä	�‰”zÓ	"ñ  Ü�‰‹	×Ñ˜BÔ÷ ô ×+Ñ+×2Ñ2¸"ÀUÐ2ÓK€LÜ	×	!Ñ	! (¨HØ2>ô
@€Bä‡G�GƒI×Ñ˜Õ÷ ð  ús   Á$CÃC%)r©   ÚplatformÚmatplotlib.pyplotÚpyplotr0   Úmatplotlib.testing.decoratorsr   Úmatplotlib.patchesÚpatchesr-   r   Úmachiner;   rU   re   ry   r   r   r‚   rŽ   rž   r£   r±   r~   r   r   ú<module>r¹      s¿  ðÛ Û Ý Ý :Ý %ò1ñ Ð.Ð/°Ø+˜8×+Ñ+Ó-°Ò9‘a¸uôFñ?óFð?ñ Ð,Ð-°WÔ=ñ@ó >ð@ñ( Ð7Ð8ÀÔHñ&<ó Ið&<òRñ$ Ð2Ð3ÀÙ $¨¤°_Ø+˜8×+Ñ+Ó-°Ò9‘a¸tôEñ	(óEð	(ñ Ð2Ð3ÀÙ $¨¤°_Ø+˜8×+Ñ+Ó-°Ò9‘a¸tôEñ(óEð(ñ Ð(Ð)°tÀ9ÔMñó Nðñ( Ð%Ð&¨gÀ4Ø+˜8×+Ñ+Ó-°Ò9‘a¸tôEñ óEð ñ> Ð*Ð+°7ÈØ+˜8×+Ñ+Ó-°Ò9‘a¸uôFñóFðó 
r   