Ë
    ¨eh…:  ã                   óz  — d Z ddlZddlZddlZddlmZ ddlmZ ddlZddl	m
Z
 ddlZddlZddl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d	lmZmZ d
„ Zej@                  jC                  d¬«      d„ «       Z"d„ Z#d„ Z$ edgdd¬«      d„ «       Z%d„ Z&d„ Z'd„ Z(d„ Z) edgd ejT                  «       dk(  rdnd¬«      d„ «       Z+ ed¬«      d„ «       Z,d „ Z-d!„ Z. ed"gdd# ejT                  «       dk(  rdnd$¬%«      d&„ «       Z/ ed'gd¬(«      d)„ «       Z0d*„ Z1 ed+gd,¬-«      d.„ «       Z2d/„ Z3 e«       d0„ «       Z4ej@                  jk                  d1d2d3g«       ed¬«      d4„ «       «       Z6d5„ Z7d6„ Z8 ed7gdd#¬8«      d9„ «       Z9 e«       d:„ «       Z:d;„ Z; e«       d<„ «       Z< ed=g¬«      d>„ «       Z=d?„ Z>d@„ Z?y)Az%
Tests specific to the lines module.
é    N)ÚSimpleNamespace)Úcycler)Úassert_array_equal)Ú_path)ÚMarkerStyle)ÚPath)Úimage_comparisonÚcheck_figures_equalc            	      ó¶   — d\  } }t        j                  ddg«      t        j                  ddg«      }}d}t        t        j                  | ||||«      dg«       y)zTest a problematic case.)i)  i†  g     H�@g     ÀW@g     ˜�@gÃõ(\�Â@r   N)ÚnpÚarrayr   ÚmlinesÚsegment_hits)ÚcxÚcyÚxÚyÚradiuss        úY/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/matplotlib/tests/test_lines.pyÚtest_segment_hitsr      sR   € à�F€BˆÜ�8‰8�T˜4�LÓ!¤2§8¡8¨S°$¨KÓ#8€q€AØ€FÜ”v×*Ñ*¨2¨r°1°a¸Ó@À1À#ÕFó    é   )Úrerunsc                  ó&  — d} t        j                  dd| «      }t         j                  j                  | ¬«      }t	        j
                  «       }t	        j                  «       }t        j                  ||«      }|j                  d«       t        t        j                  |j                  j                  dd¬«      «      }|j                  |«       t        t        j                  |j                  j                  dd¬«      «      }||z  }d}	||	k  sJ ‚y	)
ac  
    GitHub issue #1256 identified a bug in Line.draw method

    Despite visibility attribute set to False, the draw method was not
    returning early enough and some pre-rendering code was executed
    though not necessary.

    Consequence was an excessive draw time for invisible Line instances
    holding a large number of points (Npts> 10**6)
    i€–˜ r   é   ©ÚsizeFr   )ÚnumberÚrepeaté   N)r   ÚlinspaceÚrandomÚnormalÚpltÚfigureÚsubplotr   ÚLine2DÚset_visibleÚminÚtimeitr   ÚcanvasÚdrawÚadd_line)
ÚNr   r   ÚfigÚaxÚlÚ	t_no_lineÚt_invisible_lineÚslowdown_factorÚslowdown_thresholds
             r   Útest_invisible_Line_renderingr6   $   sÙ   € ð 	€AÜ
�‰�A�q˜!Ó€AÜ
�	‰	×Ñ˜aÐÓ €Aô �*‰*‹,€CÜ	�‰‹€Bô 	�‰�a˜Ó€AØ‡M�M�%Ôô
 ”F—M‘M #§*¡*§/¡/¸!ÀAÔFÓG€Ið ‡K�K�„Nô œ6Ÿ=™=¨¯©¯©ÀÈ1ÔMÓNÐð '¨Ñ2€OØÐØÐ/Ò/Ð/Ñ/r   c                  óÔ   — t        j                  «       \  } }t        j                  j	                  d«       |j                  t        j                  j                  dd«      dg¬«       y ©Nr   é   é   ©r   )r   r   )Ú
linestyles©r$   Úsubplotsr   r"   ÚseedÚcontourÚrandn©r/   r0   s     r   Útest_set_line_coll_dashrC   P   sD   € Ü�l‰l‹n�G€CˆÜ‡I�I‡N�N�1Ôð ‡J�JŒr�y‰y�‰˜r 2Ó&°K°=€JÕAr   c                  óL  — t        j                  t        d¬«      5  t        j                  dg «       d d d «       t        j                  t        d¬«      5  t        j                  g d«       d d d «       t        j                  g g «      } t        j                  t        d¬«      5  | j                  d«       d d d «       t        j                  t        d¬«      5  | j                  d«       d d d «       y # 1 sw Y   ŒÄxY w# 1 sw Y   Œ–xY w# 1 sw Y   ŒWxY w# 1 sw Y   y xY w)Nzxdata must be©Úmatchr   zydata must ber   z	x must bez	y must be)ÚpytestÚraisesÚRuntimeErrorr   r'   Ú	set_xdataÚ	set_ydata©Úlines    r   Útest_invalid_line_datarN   X   sÙ   € Ü	�‰”|¨?Ô	;ñ Ü�‰�a˜Ô÷ä	�‰”|¨?Ô	;ñ Ü�‰�b˜!Ô÷ô �=‰=˜˜RÓ €DÜ	�‰”|¨;Ô	7ñ Ø�‰�qÔ÷ä	�‰”|¨;Ô	7ñ Ø�‰�qÔ÷ð ÷ð ú÷ð ú÷ð ú÷ð ús/   œC6ÁDÂ&DÃDÃ6C?ÄDÄDÄD#Úline_dashesTgú~j¼t“h?)Úremove_textÚtolc                  ól   — t        j                  «       \  } }|j                  t        d«      dd¬«       y )Né
   r;   é   ©Ú	linestyleÚlw)r$   r>   ÚplotÚrangerB   s     r   Útest_line_dashesrZ   e   s)   € ô �l‰l‹n�G€Cˆà‡G�GŒE�"‹I °€GÕ3r   c                  ó~  — t        j                  «       \  } }|j                  t        d«      d¬«       |j                  t        d«      d¬«       |j                  t        d«      d¬«       |j                  t        d«      d¬«       |j                  t        d«      d¬«       | j                  j                  «        y )NrS   Únone)ÚcolorÚrz.3)r   r   r   r   )r   r   r   ©r$   r>   rX   rY   r+   r,   rB   s     r   Útest_line_colorsr`   n   sƒ   € Ü�l‰l‹n�G€CˆØ‡G�GŒE�"‹I˜V€GÔ$Ø‡G�GŒE�"‹I˜S€GÔ!Ø‡G�GŒE�"‹I˜T€GÔ"Ø‡G�GŒE�"‹I˜\€GÔ*Ø‡G�GŒE�"‹I˜Y€GÔ'Ø‡J�J‡O�OÕr   c                  ó®   — t        j                  g g «      } t        j                  t        «      5  | j                  d«       d d d «       y # 1 sw Y   y xY w©NÚfoobar)r   r'   rG   rH   Ú
ValueErrorÚ	set_colorrL   s    r   Útest_valid_colorsrf   x   s?   € Ü�=‰=˜˜RÓ €DÜ	�‰”zÓ	"ñ !Ø�‰�xÔ ÷!÷ !ñ !úó   °AÁAc                  óÆ   — t        j                  «       \  } }ddddddddd	d
dg ffD ]  }|j                  t        d«      |¬«       Œ  | j                  j                  «        y )Nú-Úsolidú--Údashedz-.Údashdotú:Údotted)r   N)r   © r   rS   )rV   r_   )r/   r0   Úlss      r   Útest_linestyle_variantsrr   ~   se   € Ü�l‰l‹n�G€CˆØ�G˜T 8Ø�Y  XØ˜' A r 7ðò )ˆð 	�‰”�b“	 RˆÕ(ð	)ð
 ‡J�J‡O�OÕr   c                  ó®   — t        j                  g g «      } t        j                  t        «      5  | j                  d«       d d d «       y # 1 sw Y   y xY w)NÚaardvark)r   r'   rG   rH   rd   Úset_linestylerL   s    r   Útest_valid_linestylesrv   ˆ   sA   € Ü�=‰=˜˜RÓ €DÜ	�‰”zÓ	"ñ 'Ø×Ñ˜:Ô&÷'÷ 'ñ 'úrg   zdrawstyle_variants.pngÚx86_64g¸…ëQ¸ž?c                  óÖ   — t        j                  d«      \  } }g d¢}t        |j                  |«      D ]4  \  }}|j	                  t        d«      |¬«       |j                  dd¬«       Œ6 y )Né   )Údefaultz	steps-midú	steps-prez
steps-postÚstepsNéÐ  ©Ú	drawstyle)r   r    )ÚxlimÚylim)r$   r>   ÚzipÚflatrX   rY   Úset)r/   ÚaxsÚdssr0   Údss        r   Útest_drawstyle_variantsrˆ   Ž   s^   € ô �|‰|˜A‹�H€CˆÚ
L€Cô
 �c—h‘h Ó$ò )‰ˆˆBØ
�‰”�d“ rˆÔ*Ø
�‰�F ˆÕ(ñ)r   )Úpng)Ú
extensionsc                 ó"  — | j                  «       }t        j                  d«      }|j                  |dz   |«       |j                  «       }t	        j
                  «       j                  dd«      }|j                  ||||j                  z   ¬«       y )Nr}   g     @Ÿ@ç        )Ú	transform)Úadd_subplotr   ÚarangerX   ÚmtransformsÚAffine2DÚ	translateÚ	transData)Úfig_refÚfig_testr0   r   Úts        r   Útest_no_subslice_with_transformr—   œ   sr   € à	×	Ñ	Ó	€BÜ
�	‰	�$‹€AØ‡G�GˆA�‰H�aÔà	×	Ñ	Ó	€BÜ×ÑÓ×(Ñ(¨°Ó5€AØ‡G�GˆAˆq˜A˜bŸl™l™N€GÕ+r   c                  ó®   — t        j                  g g «      } t        j                  t        «      5  | j                  d«       d d d «       y # 1 sw Y   y xY wrb   )r   r'   rG   rH   rd   Úset_drawstylerL   s    r   Útest_valid_drawstylesrš   §   sA   € Ü�=‰=˜˜RÓ €DÜ	�‰”zÓ	"ñ %Ø×Ñ˜8Ô$÷%÷ %ñ %úrg   c                  óè  — t        j                  ddt         j                  z  d«      } t        j                  | «      }t	        j
                  «       \  }}|j                  | |«      \  }|j                  d«       t        |j                  «       j                  «      dt        | «      z  dz
  k(  sJ ‚|j                  d«       t        |j                  «       j                  «      t        | «      k(  sJ ‚y )Nr   r    rS   r{   r   rz   )r   r!   ÚpiÚsinr$   r>   rX   r™   ÚlenÚget_pathÚvertices)r   r   r/   r0   rM   s        r   Útest_set_drawstyler¡   ­   s³   € Ü
�‰�A�qœŸ™‘w Ó#€AÜ
�‰ˆq‹	€Aä�l‰l‹n�G€CˆØ�G‰G�A�q‹M�E€DØ×Ñ�{Ô#Üˆt�}‰}‹×'Ñ'Ó(¨A¬c°!«f©H°Q©JÒ6Ð6Ð6à×Ñ�yÔ!Üˆt�}‰}‹×'Ñ'Ó(¬C°«FÒ2Ð2Ñ2r   Úline_collection_dashesÚmpl20gÍÌÌÌÌÌä?)rP   ÚstylerQ   c                  óÔ   — t        j                  «       \  } }t        j                  j	                  d«       |j                  t        j                  j                  dd«      dg¬«       y r8   r=   rB   s     r   Útest_set_line_coll_dash_imager¦   º   sD   € ô �l‰l‹n�G€CˆÜ‡I�I‡N�N�1ÔØ‡J�JŒr�y‰y�‰˜r 2Ó&°K°=€JÕAr   zmarker_fill_styles.png)rP   c                  ó2  — t        j                  g d¢dddddt        j                  g d¢«      g«      } d}t        j                  d	d	g«      }t        j                  d
dg«      }t	        j
                  «       \  }}t        d«      D ]i  \  }}t        t        j                  j                  «      D ]>  \  }}	t        | «      }
|j                  |dz  |z   ||z   d|dz  z  z   |d||	|	d|
|
d¬«       Œ@ Œk |j                  d
dg«       |j                  ddg«       y )N©r   r   r   Úgz#ff0000ÚcÚmr   )r   r   r   Ú
lightgreenr   r   é	   zov^<>8sp*hHDdPXrS   ç      à?r    r9   rT   )	ÚmarkerÚ
markersizeÚmarkerfacecoloraltÚ	fillstyleÚlabelÚ	linewidthr]   ÚmarkeredgecolorÚmarkeredgewidthg      @éûÿÿÿé›   )Ú	itertoolsÚcycler   r   r$   r>   Ú	enumerater   r'   Ú
fillStylesÚnextrX   Úset_ylimÚset_xlim)ÚcolorsÚaltcolorr   r   r/   r0   Újr¯   ÚiÚfsr]   s              r   Útest_marker_fill_stylesrÅ   Â   s  € ä�_‰_ši¨¨i¸¸cÀ3Ü Ÿh™h¢yÓ1ð3ó 4€Fà€Hä
�‰�!�Q�Ó€AÜ
�‰�!�Q�Ó€AÜ�l‰l‹n�G€Cˆô Ð0Ó1ò '‰	ˆˆ6ÜœvŸ}™}×7Ñ7Ó8ò 	'‰EˆAˆrÜ˜“LˆEØ�G‰G�A˜‘F˜Q‘J  A¡¨¨a°!©e©Ñ 4Ø!Ø!Ø'/Ø ØØØØ$)Ø$%ð õ 	'ñ	'ð'ð ‡K�K��C�ÔØ‡K�K��S�	Õr   c                  ó¦   — t        j                  g d¢t        dd¬«      d¬«      \  } | j                  «       dk(  sJ ‚| j	                  «       dk(  sJ ‚y)z=Test that markerfacecolor does not override fillstyle='none'.©r   r   r    Úor\   )r²   Úred)r¯   ÚmarkerfacecolorN)r$   rX   r   Úget_fillstyleÚget_markerfacecolor)r1   s    r   Útest_markerfacecolor_fillstylerÍ   â   sL   € ä	�‰’)¤K°¸vÔ$FØ"'ô
)�B€Aà�?‰?Ó Ò&Ð&Ð&Ø× Ñ Ó" fÒ,Ð,Ñ,r   Úscaled_linesrz   )r¤   c            	      ó|  — t        j                  dd«      } t        j                  «       \  }}g d¢}t	        t
        j                  d   «      }t        t        ||«      «      D ]W  \  }\  }}t        j                  ddd«      D ]5  } |j                  | |t        j                  d«      z  d|z  z   f||d	œ|¤Ž Œ7 ŒY y )
Nr   é    )rl   ro   rm   úaxes.prop_cycler®   rS   é2   çš™™™™™¹?rU   )r   r!   r$   r>   r   Ú
matplotlibÚrcParamsr»   r‚   rX   Úones)	Úthr/   r0   Úlins_stylesr   rÂ   rq   ÚstyrW   s	            r   Útest_lw_scalingrÚ   ê   s°   € ä	�‰�Q˜Ó	€BÜ�l‰l‹n�G€CˆÚ1€KÜ	”
×#Ñ#Ð$5Ñ6Ó	7€BÜ!¤# k°2Ó"6Ó7ò M‰ˆ‰9ˆB�Ü—+‘+˜b " bÓ)ò 	MˆBØˆB�G‰G�B˜œ"Ÿ'™' "›+™¨¨R©Ñ/ÐL¸2À"ÑLÈÓLñ	MñMr   c                  ó.  — t        j                  t        j                  g d¢«      «      sJ ‚t        j                  t        j                  dt        j                  dg«      «      sJ ‚t        j                  ddgt        j                  gdz  z   ddgz   «      rJ ‚t        j                  t        j                  dd	gd
«      «      rJ ‚dt
        j                  j                  z  } t        j                  t        j                  g| z  t        | «      «       y )N©r   r    r   r   r   rT   éd   r   r    i   i   z>i4)r   Úis_sorted_and_has_non_nanr   r   Únanr   r'   Ú_subslice_optim_min_sizer$   rX   rY   )Úns    r   Útest_is_sorted_and_has_non_nanrâ   õ   sÊ   € Ü×*Ñ*¬2¯8©8²IÓ+>Ô?Ð?Ð?Ü×*Ñ*¬2¯8©8°Q¼¿¹À°NÓ+CÔDÐDÐDÜ×.Ñ.°°1¨v¼¿¹¸À3¹Ñ/FÈ!ÈQÈÑ/OÔPÐPÐPä×.Ñ.¬r¯x©x¸À5Ð8IÈ5Ó/QÔRÐRÐRØ	ŒF�M‰M×2Ñ2Ñ2€AÜ‡H�HŒb�f‰fˆX˜‰\œ5 ›8Õ$r   c                 óš   — | j                  «       j                  ddgd«       |j                  «       j                  g d¢g d¢dddg¬«       y )Nr   r   z-or¨   )r   r   r   r    ©Ú	markevery)r>   ÚsteprX   ©r•   r”   s     r   Útest_step_markersrè   ÿ   sC   € à×ÑÓ×Ñ˜a ˜V TÔ*Ø×ÑÓ×ÑšI¢y°$À1ÀaÀ&ÐÕIr   Úparentr%   Úaxesc                 óþ  ‡ ‡‡‡— t         j                  j                  d«       t        j                  ddd«      }t         j                  j	                  t        |«      «      }d ddg d¢ddgt        d	d
d«      t        j                  t        |«      «      |dkD     ddg	}g d¢}|dk(  r|d d }|d d }ˆ fd„}ˆfd„}nY|dk(  rTt        ‰ j                  dd«      j                  «      Št        ‰j                  dd«      j                  «      Šˆfd„}ˆfd„}|D ]  }	 |||	¬«       Œ |D ]Q  }	t        j                  t        |	«      «      j                  t        «      j                  t        «      }
 |||
¬«       ŒS y )Né*   r   r   é   é   )r    rT   )r   rT   é   éÿÿÿÿrT   rS   r    r®   ç333333Ó?)rñ   çš™™™™™Ù?)	Ú11111111111111Ú10001000100010Ú00100001000010Ú01000100000100Ú10000000000001Ú00000101010000Ú01110001110110Ú11011011011110Ú01010011011101r%   éþÿÿÿc                óV   •— ‰j                  t        j                  | |d|¬«      «       y ©NrÈ   ©r¯   rå   ©Ú
add_artistr   r'   )r   r   rå   r•   s      €r   Úadd_testz test_markevery.<locals>.add_test  s$   ø€ Ø×ÑÜ—‘˜a ¨3¸)ÔDõFr   c                óV   •— ‰j                  t        j                  | |d|¬«      «       y rþ   r   )r   r   rå   r”   s      €r   Úadd_refztest_markevery.<locals>.add_ref  s$   ø€ Ø×ÑÜ—‘˜a ¨3¸)ÔDõFr   rê   r   c                óB   •— t        ‰«      j                  | |d|¬«       y ©Nz-gDrä   ©r½   rX   )r   r   rå   Úaxs_tests      €r   r  z test_markevery.<locals>.add_test%  s   ø€ Ü�‹N×Ñ  1 e°yÐÕAr   c                óB   •— t        ‰«      j                  | |d|¬«       y r  r  )r   r   rå   Úaxs_refs      €r   r  ztest_markevery.<locals>.add_ref(  s   ø€ Ü�‹M×Ñ˜q ! U°iÐÕ@r   rä   )r   r"   r?   r!   Úrandrž   Úslicer�   Úiterr>   rƒ   r   ÚlistÚastypeÚintÚbool)r•   r”   ré   r   r   Ú
cases_testÚ	cases_refr  r  ÚcaseÚmer
  r  s   ``         @@r   Útest_markeveryr    sb  û€ ô ‡I�I‡N�N�2ÔÜ
�‰�A�q˜"Ó€AÜ
�	‰	�‰”s˜1“vÓ€Aà˜˜6¢:Ø�b�'œ5  B¨›?Ü—)‘)œC ›FÓ# A¨¡GÑ,Ø�zð#€JòG€Ið �Òà  �_ˆ
Ø˜c˜r�Nˆ	ô	Fõ	Fð 
�6Ò	Ü˜×)Ñ)¨!¨QÓ/×4Ñ4Ó5ˆÜ�w×'Ñ'¨¨1Ó-×2Ñ2Ó3ˆô	Bô	Að ò 'ˆÙ��A Ö&ð'ð ò $ˆÜ�X‰X”d˜4“jÓ!×(Ñ(¬Ó-×4Ñ4´TÓ:ˆÙ��1 Ö#ñ$r   c                  ó  — t        j                  «       } | j                  t        j                  ddgddgdd¬«      «       t        j                  t        «      5  | j                  j                  «        d d d «       y # 1 sw Y   y xY w)Nr   r   rÈ   r®   rÿ   )
r$   r%   r  r   r'   rG   rH   rd   r+   r,   )r/   s    r   Ú.test_markevery_figure_line_unsupported_relsizer  3  s_   € Ü
�*‰*‹,€CØ‡N�N”6—=‘= ! Q ¨!¨Q¨¸ÀrÔJÔKÜ	�‰”zÓ	"ñ Ø�
‰
�‰Ô÷÷ ñ ús   ÁA>Á>Bc                  óô  — t        j                  «       \  } }|j                  g d¢t        d«      ¬«      \  }| j                  j                  «        |j                  «       dk(  sJ ‚|j                  d«       | j                  j                  «        |j                  t        d«      «       | j                  j                  «        t        j                  ddgddgdd	gg«      }|j                  g d
¢t        |«      d¬«      \  }|j                  g d¢|d¬«      \  }t        |j                  «       j                  |j                  «       t        |j                  «       j                  |j                  «       y )N)r    rî   r   ÚD)r¯   ÚsrÈ   rð   r   r   r    rÇ   é   )r¯   Úms)r   r    r   )r$   r>   rX   r   r+   r,   Ú
get_markerÚ
set_markerr   Ú_create_closedr   r    )r/   r0   rM   Ú	triangle1Úline2Úline3s         r   Útest_marker_as_markerstyler$  :  s  € Ü�l‰l‹n�G€CˆØ�G‰G’I¤k°#Ó&6ˆGÓ7�E€DØ‡J�J‡O�OÔØ�?‰?Ó Ò#Ð#Ð#ð 	‡O�O�CÔØ‡J�J‡O�OÔØ‡O�O”K Ó$Ô%Ø‡J�J‡O�OÔä×#Ñ# b¨" X°°2¨w¸¸A¸Ð$?Ó@€IØ�W‰W’Y¤{°9Ó'=À"ˆWÓE�F€EØ�W‰W’Y y°RˆWÓ8�F€Eä�u×'Ñ'Ó)×2Ñ2°I×4FÑ4FÔGÜ�u×'Ñ'Ó)×2Ñ2°I×4FÑ4FÕGr   zstriped_line.png)rP   r¤   c            	      ó2  — t         j                  j                  d«      } t        j                  «       \  }}|j                  | j                  d¬«      ddddd¬	«       |j                  | j                  d¬«      d
ddddd¬«       |j                  d¬«       y )Ni!N,é   r   ÚorangeÚbluerk   rT   ú )r]   ÚgapcolorrV   rW   r³   rÉ   Úblack)r   )r    rT   rî   r    r®   )r]   r*  rV   rW   r³   Úalpha)Úhandlelength)r   r"   Údefault_rngr$   r>   rX   ÚuniformÚlegend)ÚrngÚ_r0   s      r   Útest_striped_linesr3  N  sˆ   € ä
�)‰)×
Ñ
 Ó
)€CÜ�L‰L‹N�E€A€rØ‡G�GˆC�K‰K˜RˆKÓ ¨¸6Ø˜q¨ð ô -à‡G�GˆC�K‰K˜RˆKÓ ¨¸Ø'¨A°SÀð ô Eà‡I�I˜1€IÕr   c                 ó˜   — | j                  «       j                  ddgg d¢¬«       |j                  «       j                  ddgg d¢¬«       y )Nr   r    rÜ   )Údashes)r   r    r   r   r    r   )rŽ   rX   rç   s     r   Útest_odd_dashesr6  Y  sC   € à×ÑÓ×Ñ  A ªyÐÔ9Ø×ÑÓ×Ñ  1˜vÒ.@ÐÕAr   c                  ón  — t        j                  «       \  } }t        | j                  j                  dz  | j                  j
                  dz  dz   ¬«      }|j                  ddgddgd¬«      \  }|j                  |«      \  }}|rJ ‚|j                  ddgddgdd¬	«      \  }|j                  |«      \  }}|sJ ‚t        |d
   dg«       |j                  ddgddgd¬«      \  }|j                  |«      \  }}|rJ ‚|j                  d«       |j                  |«      \  }}|sJ ‚t        |d
   dg«       y )Nr    é   )r   r   r   r   T)Úpickerr9   )r9  Ú
pickradiusÚind)
r$   r>   r   ÚbboxÚwidthÚheightrX   Úcontainsr   Úset_pickradius)r/   r0   Úmouse_eventÚl0ÚfoundÚindicesÚl1Úl2s           r   Útest_pickingrG  _  s5  € Ü�l‰l‹n�G€CˆÜ! C§H¡H§N¡N°aÑ$7Ø$'§H¡H§O¡O°qÑ$8¸2Ñ$=ô?€Kð �'‰'�1�a�&˜1˜a˜&¨ˆ'Ó
.�C€BØ—[‘[ Ó-�N€Eˆ7ÙÐˆ9ð �'‰'�1�a�&˜1˜a˜&¨¸"ˆ'Ó
=�C€BØ—[‘[ Ó-�N€Eˆ7Ù€Lˆ5Ü�w˜u‘~¨ sÔ+ð �'‰'�1�a�&˜1˜a˜&¨ˆ'Ó
.�C€BØ—[‘[ Ó-�N€Eˆ7ÙÐˆ9Ø×Ñ�bÔØ—[‘[ Ó-�N€Eˆ7Ù€Lˆ5Ü�w˜u‘~¨ sÕ+r   c                 ó  — t        j                  ddd«      }| j                  «       j                  ||d«      \  }t	        d«      |d d  |j                  d«       |j                  «       j                  g d¢g d¢dd¬«       y )	Nr   ry   r    z.-r   r|   )r   r    rî   r~   )r   r�   rŽ   rX   rY   r™   )r•   r”   r–   r1   s       r   Útest_input_copyrI  y  sn   € ô 	�	‰	�!�Q˜Ó€AØ	×	Ñ	Ó	×	$Ñ	$ Q¨¨4Ó	0�B€AÜ�‹8€A�a€Dà‡O�O�GÔØ×ÑÓ×Ñšyª)°TÀWÐÕMr   r‰   c                 ó  — dddg d¢ddgt        ddd	«      d
ddddg}t        j                  d   } |t        j                  ddt        |«      «      «      }t        j                  dd«      }d|dz  z  }|j                  «       }t        |«      D ]   \  }}	|j                  ||z
  d|	||   ¬«       Œ" t        ||¬«      t        j                  d<   | j                  «       }
t        |«      D ]  \  }}|
j                  ||z
  d«       Œ y)z*Test that we can set markevery prop_cycle.Né   )r:   rK  )é   é   r:   r   rð   rÝ   éÈ   r   rÓ   rñ   g      ø?)rŒ   rÓ   )gÍÌÌÌÌÌÜ?rÓ   Újetçš™™™™™É?çš™™™™™é?r   rT   r    zo-)rå   r]   rÑ   )r  ÚmplÚ	colormapsr   r!   rž   rŽ   r»   rX   r   rÔ   rÕ   )r•   r”   ÚcasesÚcmaprÀ   r   r   r…   rÃ   rå   r0   r2  s               r   Útest_markevery_prop_cyclerV  „  s  € ð �1�gš|¨a°¨WÜ�3˜˜QÓ  c¨3Ø˜ð&€Eô �=‰=˜Ñ€DÙ”"—+‘+˜c 3¬¨E«
Ó3Ó4€Fä
�‰�B˜Ó€AØ	ˆAˆq‰D‰€Aà
×
Ñ
Ó
€CÜ! %Ó(ò D‰ˆˆ9Ø�‰��Q‘˜¨	¸À¹ˆÕCðDô .4¸eØ:@ô.B„J×ÑÐ)Ñ*ð 
×	Ñ	Ó	€BÜ˜%Ó ò ‰ˆˆ1Ø
�‰��A‘�tÕñr   c                  óÚ  — t        j                  «       \  } }|j                  dd¬«      }|j                  dd«      }|j                  d«       |j	                  d«       |j                  d«       |j                  d«       |j                  «       dk(  sJ ‚|j                  «       dk(  sJ ‚|j                  «       dk(  sJ ‚|j                  «       dk(  sJ ‚t        j                  t        j                  «      5  |j                  d	d
«       d d d «       t        j                  t        j                  «      5  |j                  dd«       d d d «       t        j                  t        d¬«      5  |j                  d	d
«       d d d «       t        j                  t        d¬«      5  |j	                  d«       d d d «       y # 1 sw Y   Œ³xY w# 1 sw Y   Œ�xY w# 1 sw Y   ŒWxY w# 1 sw Y   y xY w)N)rÓ   rÓ   ç333333ã?©Úslope)rQ  rò   )rP  rñ   g333333@)rñ   rP  )rX  rQ  rP  rñ   rQ  z.Cannot set an 'xy2' value while 'slope' is setrE   z-Cannot set a 'slope' value while 'xy2' is setr   )r$   r>   ÚaxlineÚset_xy1Ú	set_slopeÚset_xy2Úget_xy1Ú	get_slopeÚget_xy2rG   ÚwarnsrR  ÚMatplotlibDeprecationWarningrH   rd   )r/   r0   Úline1r"  s       r   Útest_axline_settersre  �  s“  € Ü�l‰l‹n�G€CˆØ�I‰I�h cˆIÓ*€EØ�I‰I�h Ó)€Eð 
‡M�M�(ÔØ	‡O�O�CÔØ	‡M�M�(ÔØ	‡M�M�(Ôð �=‰=‹?˜hÒ&Ð&Ð&Ø�?‰?Ó Ò#Ð#Ð#Ø�=‰=‹?˜hÒ&Ð&Ð&Ø�=‰=‹?˜hÒ&Ð&Ð&Ü	�‰”c×6Ñ6Ó	7ñ Ø�‰�b˜"Ô÷ä	�‰”c×6Ñ6Ó	7ñ Ø�‰�b˜"Ô÷ô 
�‰”zØMô
Oñ à�‰�b˜"Ô÷ô 
�‰”zØLô
Nñ à�‰˜Ô÷ð ÷ð ú÷ð ú÷ð ú÷ð ús0   Ã8F=Ä6G	Å,GÆ"G!Æ=GÇ	GÇGÇ!G*c                  óà   — t        j                  dd¬«      } | j                  «       j                  d«      }| j                  «       j                  d«      }|d   |d   z
  }|dkD  sJ ‚|dk  sJ ‚y)	z@Test that small slopes are not coerced to zero in the transform.)r   r   g›+¡†›„=rY  )r   r   r   r   gê-�™—‘=N)r$   r[  Úget_transformÚtransform_point)rM   Úp1Úp2Údys       r   Útest_axline_small_sloperl  ¼  sl   € ä�:‰:�f EÔ*€DØ	×	Ñ	Ó	×	-Ñ	-¨fÓ	5€BØ	×	Ñ	Ó	×	-Ñ	-¨fÓ	5€Bà	ˆA‰��A‘‰€BØ�Š6€Mˆ6Ø�Š:Ð‰:r   )@Ú__doc__r¹   Úplatformr*   Útypesr   r   Únumpyr   Únumpy.testingr   rG   rÔ   rR  r   Úmatplotlib.linesÚlinesr   Úmatplotlib.markersr   Úmatplotlib.pathr   Úmatplotlib.pyplotÚpyplotr$   Úmatplotlib.transformsÚ
transformsr�   Úmatplotlib.testing.decoratorsr	   r
   r   ÚmarkÚflakyr6   rC   rN   rZ   r`   rf   rr   rv   Úmachinerˆ   r—   rš   r¡   r¦   rÅ   rÍ   rÚ   râ   rè   Úparametrizer  r  r$  r3  r6  rG  rI  rV  re  rl  rp   r   r   ú<module>r     sj  ðñó Û Û Ý !å Û Ý ,Û ã Û Ý Ý !Ý *Ý  Ý Ý +ß OòGð ‡�×Ñ˜!ÐÓñ(0ó ð(0òVBò
ñ �=�/¨t¸Ô?ñ4ó @ð4òò!òò'ñ Ð+Ð,¸$Ø+˜8×+Ñ+Ó-°Ò9‘a¸tôEñ	)óEð	)ñ  Ô)ñ,ó *ð,ò%ò
3ñ Ð+Ð,¸$ÀgØ+˜8×+Ñ+Ó-°Ò9‘a¸tôEñBóEðBñ Ð+Ð,¸$Ô?ñó @ðò>-ñ �>Ð"¨)Ô4ñMó 5ðMò%ñ ÓñJó ðJð
 ‡�×Ñ˜ H¨fÐ#5Ó6Ù Ô)ñ)$ó *ó 7ð)$òXòHñ( Ð%Ð&°DÀÔHñó Iðñ ÓñBó ðBò
,ñ4 ÓñNó ðNñ   Ô(ñó )ðò0ó>r   