+
    ,i              	       T   ^ RI t ^ RIt^ RIHt ^ RIHt ^ RIHt	 R t
]! R.]P                  ! 4       R8X  d   ^ MRR7      R 4       t]! R	.4      R
 4       tR t]! R.R]P                  ! 4       R8X  d   ^ MR]! ^dR7      R7      R 4       t]! R.R]P                  ! 4       R8X  d   ^ MR]! ^R7      R7      R 4       t]! R.RRR7      R 4       t]! R.RR]P                  ! 4       R8X  d   ^ MRR7      R 4       t]! R.RR]P                  ! 4       R8X  d   ^ MRR7      R 4       tR tR# )     N)image_comparisonc                 \    V P                  R RRV,           3R^\        VRRR7      R7       R# )       ?bk)
arrowstylefcec)xyxytextsize
arrowpropsNr   r   )annotatedict)axtrs   &&&E/usr/lib/python3/dist-packages/matplotlib/tests/test_arrow_patches.py
draw_arrowr      s2    KKS1W~jr1#&30  1    zfancyarrow_test_image.pngx86_64g~jt?)tolc            
      d   . ROp RR\         P                  P                  4       .p\        P                  ! \        V4      \        V 4      RR	\        ^R7      R7      w  r#\        V 4       FB  w  rE\        V4       F.  w  rgW6V3,          p\        WV4       VP                  RRR7       K0  	  KD  	  R# )
皙?fancysimpleF)aspect)squeezefigsize
subplot_kw)	labelleftlabelbottomN)r   333333?皙?皙?r   )   g      @)
mpatches
ArrowStyleFancypltsubplotslenr   	enumerater   tick_params)	r   r   figaxsi_rr1i_tt1r   s	            r   test_fancyarrowr7      s     	 A	(H//5578A||CFCFE$,QIHC Q< |GC#XBrr"NNUN> $  r   zboxarrow_test_image.pngc                     \         P                  P                  4       p \        V 4      pR pW,          R,           p\        P
                  ! R
VR,          3R7      pRp\        \        V 4      4       FN  w  rgVP                  RW,
          V,          R,
          V,          VRVVP                  \        VRRR7      R7       KP  	  R	# )g333333?r   g      ?r!   centerwr   )boxstyler
   r   )har   	transformbboxNgUUUUUU@g5@)r)   BoxStyle
get_stylesr.   r,   figurer/   sortedtexttransFigurer   )stylesnspacing	figheightr1   fontsizei	stylenames           r   test_boxarrowrM      s     ))+FFAGr!I
**gy37
8CH!&.1(3.	99??I##>	 	 	@ 2r   c            
         \         P                  ! RR^2R7      p V P                  4       pVP                  ^ ^.4       VP	                  ^ ^.4       VP                  \        P                  ! RR^R^dR7      4       V # )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)r!   dpi->)posAposBlwr	   mutation_scale)      )r%   r   )皙?g333333?)r,   rB   add_subplotset_xlimset_ylim	add_patchr)   FancyArrowPatch)fig2r   s     r   !__prepare_fancyarrow_dpi_cor_testr_   4   sq     ::/RHD				BKKAKKALL))z
-.49<> ? Kr   zfancyarrow_dpi_cor_100dpi.pngTg{Gz?)rP   )remove_textr   savefig_kwargc                     \        4        R# )z
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r_    r   r   test_fancyarrow_dpi_cor_100dpire   F   s
     &'r   zfancyarrow_dpi_cor_200dpi.pngc                     \        4        R# )zs
As test_fancyarrow_dpi_cor_100dpi, but exports @ 200 DPI. The relative size
of the arrow head should be the same.
Nrc   rd   r   r   test_fancyarrow_dpi_cor_200dpirg   U   s
     &'r   zfancyarrow_dash.pngdefault)r`   stylec                      \         P                  ! 4       w  r\        P                  ! R
RRRR^RRR7      p\        P                  ! R
RRRR^RRR7      pVP	                  V4       VP	                  V4       R	# )r   z-|>zangle3,angleA=0,angleB=90g      $@dashedr   )r	   connectionstylerU   	linewidth	linestylecolorangle3dottedN)r   r   r   )r,   r-   r)   r]   r\   )r1   r   ee2s       r   test_fancyarrow_dashrt   a   sv    llnGC  ,11L04+,+3'*	,A 
	!	!&*-22:15,-,4(+
-B LLOLLr   zarrow_styles.pngmpl20)ri   r`   r   c            	      l   \         P                  P                  4       p \        V 4      p\        P
                  ! RR7      w  r#VP                  ^ ^4       VP                  RV4       VP                  ^ ^^ ^R7       \        \        V 4      4       F^  w  rE\         P                  ! RV^,          R,          ,           V3RV^,          R,          ,           V3V^R7      pVP                  V4       K`  	  \        . RO4       F  w  rETpV^ ,          R8w  d
   VR,          pVR,          R8w  d
   VR	,          p\        R^<.4       Fk  w  rVP                  R
\        V	4      4      p
\         P                  ! R^V,          V,           3R^V,          V,           3V
^R7      pVP                  V4       Km  	  K  	  R# )r(   r9   )leftrightbottomtopr'   g?g?)r	   rU   -z,angleA=ANGLEz,angleB=ANGLEANGLEg?g?N)r(   r(   )z]-[z]-z-[z|-|i)r)   r*   rA   r.   r,   r-   rZ   r[   subplots_adjustr/   rC   r]   r\   replacestr)rF   rG   r1   r   rK   rL   patchri   jangler	   s              r   test_arrow_stylesr   v   su      ++-FFAll6*GCKK1KKAQaq9!&.1((#Q*<a)@*.!a%*=q)A4=8:< 	U 2 ""<=Q<3_$ER=C_$E!3),HAwE
;J,,dAaC!G_sAaC!Gn8B<>@E LL - >r   zconnection_styles.pngg9v?c            	      z   \         P                  P                  4       p \        V 4      p\        P
                  ! RR7      w  r#VP                  ^ ^4       VP                  R	V4       \        \        V 4      4       F<  w  rE\         P                  ! RV3RVR,           3RV^R7      pVP                  V4       K>  	  R# )
   r9   r'   rX   r   rQ   )r	   rl   rU   N)r   
   r}   )r)   ConnectionStylerA   r.   r,   r-   rZ   r[   r/   rC   r]   r\   )rF   rG   r1   r   rK   rL   r   s          r   test_connection_stylesr      s     %%002FFAll7+GCKK1KKA!&.1((#qCS>489B8:< 	U 2r   c                     \         P                  P                  ^^R7      p \         P                  ! RRV R7      p\        P
                  ! \        4      ;_uu_ 4        \        P                  ! 4       P                  V4       RRR4       \         P                  P                  ^RR7      p\         P                  ! RRVR7      p\        P                  ! 4       P                  V4       R#   + '       g   i     Lp; i)   )angleAangleB)rl   Ngh@)r&   r&   r   )
r)   r   Angle3r]   pytestraises
ValueErrorr,   gcar\   )conn_style_1p1conn_style_2p2s       r   test_invalid_intersectionr      s    ++22"S2IL		!	!(H2>
@B	z	"	"	B 
# ++22"U2KL		!	!(H2>
@BGGI 
#	"s   %C**C:	)r   platformmatplotlib.pyplotpyplotr,   matplotlib.testing.decoratorsr   matplotlib.patchespatchesr)   r   machiner7   rM   r_   r   re   rg   rt   r   r   r   rd   r   r   <module>r      s      : %1 ./#++-9auF?F? ,-.@ /@($ 23#++-9at $/	(/	( 23#++-9at $/(/( ()t9M N( %&g4#++-9atE E > *+7#++-9auFF 
r   