Ë
    íÍ:j÷ ã            	       óÌ	  — d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ d dlZd dl	Z
d dlmZ d dlZd dlmZmZ d dlmZ d dlm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( d dl)m*Z* d	„ Z+d
„ Z, edgdd¬«      d„ «       Z- edgdd¬«      d„ «       Z. edgd¬«      d„ «       Z/d„ Z0d„ Z1 edgdd¬«      d„ «       Z2 edgdd ejf                  «       dk(  rd nd¬«      d„ «       Z4 edgdd ejf                  «       dk(  rd nd¬«      d „ «       Z5 ed!gdd ejf                  «       dk(  rd nd"¬«      d#„ «       Z6 ed$gdd ejf                  «       dk(  rd nd"¬«      d%„ «       Z7 ed&gddej                  d'k(  rd(nd ¬«      d)„ «       Z8 ed*gdd ejf                  «       dk(  rd nd+¬«      d,„ «       Z9 ed-d.gdd¬«      d/„ «       Z: ed0gdd¬«      d1„ «       Z; ed2gdd3¬«      d4„ «       Z<d5„ Z=d6„ Z> e«       d7„ «       Z? G d8„ d9«      Z@ G d:„ d;«      ZAd<„ ZB ed=gd¬«      d>„ «       ZCd?„ ZDd@„ ZEdA„ ZF edBgd¬«      dC„ «       ZG edDgd¬«      dE„ «       ZHdF„ ZIdG„ ZJdH„ ZKdI„ ZL edJgddej                  d'k(  rdKnd ¬«      dL„ «       ZMdM„ ZNdN„ ZOdO„ ZPdP„ ZQdQ„ ZRdR„ ZSej¨                  j«                  dSdT«      dU„ «       ZVej¨                  j«                  dVdW«      dX„ «       ZWej¨                  j«                  dVdY«      dZ„ «       ZXej¨                  j«                  dSdT«      d[„ «       ZYej¨                  j«                  d\d]«      d^„ «       ZZd_„ Z[d`„ Z\da„ Z]db„ Z^dc„ Z_dd„ Z`de„ Zadf„ Zbdg„ Zcdh„ Zddi„ Zedj„ Zfdk„ Zgej¨                  j«                  d\d]«      dl„ «       Zhdm„ Zidn„ Zjdo„ Zkdp„ Zldq„ Zm	 d¦dr„Znds„ Zo	 	 d§dt„Zpdu„ Zq	 d¦dv„Zrdw„ Zsej¨                  jé                  dx«      dy„ «       Zuej¨                  j«                  dzd{«      d|„ «       Zvd}„ Zwed~„ «       Zxd„ Zyd€„ Zzej¨                  j«                  d�d‚dƒgd„ e
jö                  d‚dƒg«      g«      d…„ «       Z|ej¨                  j«                  d†d‡dˆe}g«      d‰„ «       Z~dŠ„ Zd‹„ Z€dŒ„ Z�d�„ Z‚dŽ„ Zƒd�„ Z„d�„ Z…d‘„ Z†d’„ Z‡ e«       d“„ «       Zˆd”„ Z‰d•„ ZŠd–„ Z‹d—„ ZŒd˜„ Z�d™„ ZŽdš„ Z�d›„ Z�dœ„ Z‘d�„ Z’ej¨                  jé                  dx«      dž„ «       Z“dŸ„ Z”d „ Z•d¡„ Z–d¢„ Z—d£„ Z˜d¤„ Z™d¥„ Zšy)¨é    N)Úmock)Úassert_allclose)Úcheck_figures_equalÚimage_comparison)Úneeds_usetex)ÚHandlerTuple)Ú
rc_context)ÚFontPropertiesc                  ó  — t         j                  j                  d«      } t         j                  j                  d«      }dgdz  dgdz  z   }dgdz  dgdz  z   }t        j                  «       \  }}t        | |||«      D ]  \  }}}}	|j                  ||||	¬«       Œ |j                  «       \  }
}t        j                  t        ||
«      «      }|j                  |j                  «       |j                  «       dd	¬
«       y )Né
   Úaé   ÚbÚrÚg©ÚlabelÚcúcenter left)é   ç      à?)ÚlocÚbbox_to_anchor)ÚnpÚrandomÚrandnÚpltÚsubplotsÚzipÚscatterÚget_legend_handles_labelsÚcollectionsÚOrderedDictÚlegendÚvaluesÚkeys)ÚXÚYÚlabelsÚcolorsÚfigÚaxÚxÚyr   ÚcolorÚhandlesr$   s               úq/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/matplotlib/tests/test_legend.pyÚtest_legend_ordereddictr2      së   € ô 	�	‰	�‰˜Ó€AÜ
�	‰	�‰˜Ó€AØˆU�Q‰Y˜#˜ ™Ñ"€FØˆU�Q‰Y˜#˜ ™Ñ"€Fä�l‰l‹n�G€CˆÜ! ! Q¨°Ó7ò /Ñˆˆ1ˆe�UØ
�
‰
�1�a˜u¨ˆ
Õ.ð/ð ×2Ñ2Ó4�O€GˆVÜ×$Ñ$¤S¨°Ó%9Ó:€FØ‡I�Iˆf�m‰m‹o˜vŸ{™{›}Ø°ð õ 9ó    c                  óæ   — t        j                  «       \  } }|j                  ddg«       |j                  ddg«       d„ |j                  «       D «       }d„ dD «       }|j	                  ||d¬«       y )	Nr   r   é   c              3   ó    K  — | ]  }|–— Œ y ­w©N© )Ú.0Úlines     r1   ú	<genexpr>z(test_legend_generator.<locals>.<genexpr>4   s   è ø€ Ò/˜ŒtÑ/ùó   ‚c              3   ó    K  — | ]  }|–— Œ y ­wr7   r8   )r9   r   s     r1   r;   z(test_legend_generator.<locals>.<genexpr>5   s   è ø€ Ò2˜ŒeÑ2ùr<   )ÚspamÚeggsú
upper left©r   )r   r   ÚplotÚ	get_linesr$   )r+   r,   r0   r)   s       r1   Útest_legend_generatorrD   .   s\   € ä�l‰l‹n�G€CˆØ‡G�GˆQ�ˆF„OØ‡G�GˆQ�ˆF„Oá/ §¡£Ô/€GÙ2Ð!1Ô2€Fà‡I�Iˆg�v <€IÕ0r3   zlegend_auto1.pngTÚmpl20)Úremove_textÚstylec                  óà   — t        j                  «       \  } }t        j                  d«      }|j	                  |d|z
  dd¬«       |j	                  ||dz
  dd¬«       |j                  d¬«       y	)
úTest automatic legend placementéd   é2   Úoúy=1©r   úy=-1ÚbestrA   N)r   r   r   ÚarangerB   r$   )r+   r,   r-   s      r1   Útest_legend_auto1rR   :   s^   € ô �l‰l‹n�G€CˆÜ
�	‰	�#‹€AØ‡G�GˆAˆr�A‰v�s %€GÔ(Ø‡G�GˆAˆq�2‰v�s &€GÔ)Ø‡I�I�&€IÕr3   zlegend_auto2.pngc                  óø   — t        j                  «       \  } }t        j                  d«      }|j	                  ||dd¬«      }|j	                  ||ddd…   dd¬«      }|j                  |d   |d   gd	d
gd¬«       y)rI   rJ   ÚedgeÚm)Úalignr/   Néÿÿÿÿr   r   ÚupÚdownrP   rA   )r   r   r   rQ   Úbarr$   )r+   r,   r-   Úb1Úb2s        r1   Útest_legend_auto2r]   D   sv   € ô �l‰l‹n�G€CˆÜ
�	‰	�#‹€AØ	�‰��1˜F¨#ˆÓ	.€BØ	�‰��1‘T�r�T‘7 &°ˆÓ	4€BØ‡I�Iˆr�!‰u�b˜‘eˆn˜t V˜n°&€IÕ9r3   zlegend_auto3.png)rG   c                  óØ   — t        j                  «       \  } }g d¢}g d¢}|j                  ||dd¬«       |j                  dd«       |j	                  dd«       |j                  d¬	«       y
)rI   ©çÍÌÌÌÌÌì?çš™™™™™¹?ra   r`   r`   r   ©çffffffî?rc   çš™™™™™©?rd   r   r   úo-r:   rN   ç        ç      ð?rP   rA   N)r   r   rB   Úset_xlimÚset_ylimr$   )r+   r,   r-   r.   s       r1   Útest_legend_auto3rj   N   s[   € ô �l‰l‹n�G€CˆÚ&€AÚ*€AØ‡G�GˆAˆq�$˜f€GÔ%Ø‡K�K��SÔØ‡K�K��SÔØ‡I�I�&€IÕr3   c                  ób  — t        j                  dd¬«      \  } }g }t        |j                  d«      D ]®  \  }}|j	                  |«       |j                  dgddgz  z   t        d«      d	|¬
«       |j                  d¬«      }| j                  j                  «        |j                  |j                  «       j                  |j                  j                  «       «      «       Œ° t        |d   j                   |d   j                   «       t        |d   j                   |d   j                   «       y)zŠ
    Check that the legend location with automatic placement is the same,
    whatever the histogram type is. Related to issue #9580.
    é   )gš™™™™™@g333333@©ÚncolsÚfigsize)rZ   ÚstepÚ
stepfilledr   r   é	   r   ÚLegend)Úbinsr   ÚhisttyperP   rA   r   r5   N)r   r   r   ÚflatÚ	set_titleÚhistÚranger$   ÚcanvasÚdrawÚappendÚget_window_extentÚtransformedÚ	transAxesÚinvertedr   Úbounds)r+   ÚaxsÚ
leg_bboxesr,   ÚhtÚlegs         r1   Útest_legend_auto4r†   Z   sý   € ô �|‰| !¨ZÔ8�H€CˆØ€JÜ�c—h‘hÐ =Ó>ò J‰ˆˆBØ
�‰�RÔà
�‰���a˜˜‘e‘¤%¨£)°8ÀbˆÔIØ�i‰i˜FˆiÓ#ˆØ�
‰
�‰ÔØ×ÑØ×!Ñ!Ó#×/Ñ/°·±×0EÑ0EÓ0GÓHõ	JðJô �J˜q‘M×(Ñ(¨*°Q©-×*>Ñ*>Ô?Ü�J˜q‘M×(Ñ(¨*°Q©-×*>Ñ*>Õ?r3   c                  óø  — t        j                  dd¬«      \  } }g }t        |j                  d«      D �]  \  }}t	        j
                  dddd¬	«      t	        j                  t        j                  d
dgd
d
gdd
gddgddgddgddgddgddgg	«      d¬«      t	        j                  ddd
ddd¬«      fD ]  }|j                  |«       Œ |j                  ddgddgd¬«       |j                  |¬«      }| j                  j                  «        |j                  |j!                  «       j#                  |j$                  j'                  «       «      «       �Œ! t)        |d   j*                  |d
   j*                  «       y)z�
    Check that the automatic placement handle a rather complex
    case with non rectangular patch. Related to issue #9580.
    r5   )g333333#@g333333@rm   ©ÚcenterrP   )r   r`   çš™™™™™é?çš™™™™™É?ÚC1)ÚxyÚwidthÚheightÚfcr   r   r`   rg   ra   )r�   )r   r   r   ih  rd   ÚC0)rŽ   r�   z	A segmentrN   rA   N)r   r   r   rv   ÚmpatchesÚEllipseÚPolygonr   ÚarrayÚWedgeÚ	add_patchrB   r$   rz   r{   r|   r}   r~   r   r€   r   r�   )r+   r‚   rƒ   r,   r   Ú_patchr…   s          r1   Útest_legend_auto5r™   p   sv  € ô
 �|‰| !¨ZÔ8�H€Cˆà€JÜ�s—x‘xÐ!3Ó4ó J‰ˆˆCô
 × Ñ Ø!¨°S¸TôCä× Ñ ¤§¡Ø˜�F˜Q ˜F Q¨ F¨Q°¨F°S¸#°JÀÀcÀ
Ø˜#�J  c 
¨S°#¨Jð+8ó "9à=AôCô —‘˜z¨3°°3¸dÀtÔLðò 	!ˆFð �L‰L˜Õ ð	!ð 	�‰��c�
˜S #˜J¨kˆÔ:à�i‰i˜CˆiÓ ˆØ�
‰
�‰ÔØ×ÑØ×!Ñ!Ó#×/Ñ/°·±×0EÑ0EÓ0GÓHö	Jð%Jô* �J˜q‘M×(Ñ(¨*°Q©-×*>Ñ*>Õ?r3   zlegend_various_labels.pngc                  ód  — t        j                  «       } | j                  d«      }|j                  t	        j
                  d«      dd¬«       |j                  t	        j                  dd«      dd¬«       |j                  t	        j
                  ddd«      dd	¬«       |j                  dd
¬«       y )Néy   é   rL   r   rN   gffffff@u   DÃ©veloppÃ©srW   Ú__nolegend__rP   )Ú	numpointsr   )r   ÚfigureÚadd_subplotrB   r   rQ   Úlinspacer$   ©r+   r,   s     r1   Útest_various_labelsr£   �   sƒ   € ô �*‰*‹,€CØ	�‰˜Ó	€BØ‡G�GŒB�I‰I�a‹L˜# Q€GÔ'Ø‡G�GŒB�K‰K˜˜3Ó ¨N€GÔ;Ø‡G�GŒB�I‰I�a˜˜BÓ ¨N€GÔ;Ø‡I�I˜˜v€IÕ&r3   zlegend_labels_first.pngÚx86_64g¸…ëQ¸Ž?)rF   rG   Útolc                  óL  — t        j                  «       \  } }|j                  t        j                  d«      dd¬«       |j                  t        j
                  d«      dz  dd¬«       |j                  t        j                  ddd	«      d
d¬«       |j                  dd¬«       y )Nr   ú-or   rN   r   z:xr-   é   rW   ÚdÚdiamondrP   F)r   Úmarkerfirst)r   r   rB   r   rQ   Úonesr$   r¢   s     r1   Útest_labels_firstr­   ›   sz   € ô �l‰l‹n�G€CˆØ‡G�GŒB�I‰I�b‹M˜4 q€GÔ)Ø‡G�GŒB�G‰G�B‹K˜‰M˜4 s€GÔ+Ø‡G�GŒB�I‰I�b˜"˜bÓ! 3¨i€GÔ8Ø‡I�I�& e€IÕ,r3   zlegend_multiple_keys.pnggL7‰A`å ?c                  ó,  — t        j                  «       \  } }|j                  g d¢d«      \  }|j                  g d¢d«      \  }|j                  g d¢d«      \  }|j                  ||f||f|gg d¢d||ft	        d ¬	«      ||ft	        d d
¬«      i¬«       y )N©r   r5   rl   r§   ©r5   rl   rœ   z-x©rl   rœ   r   z-d)ztwo keyszpad=0zone keyr   )Úndivider   )r²   Úpad)rž   Úhandler_map)r   r   rB   r$   r   )r+   r,   Úp1Úp2Úp3s        r1   Útest_multiple_keysr¸   ¦   s–   € ô �l‰l‹n�G€CˆØ
�'‰'’)˜TÓ
"�C€BØ
�'‰'’)˜TÓ
"�C€BØ
�'‰'’)˜TÓ
"�C€BØ‡I�I��Bˆx˜"˜b˜ 2Ð&Ò(HØØ ˜8¤\¸$Ô%?Ø ˜8¤\¸$ÀAÔ%FðHð õ Ir3   zrgba_alpha.pngg¸…ëQ¸ž?c                  óú   — d t         j                  d<   t        j                  «       \  } }|j                  t	        d«      d¬«       t        j
                  dgd¬«      }|j                  j                  g d¢«       y )	Núlegend.framealphar   r   ©ÚlwúLonglabel that will go awayr‰   rA   ©r   r   r   r   )r   ÚrcParamsr   rB   ry   r$   ÚlegendPatchÚset_facecolor©r+   r,   r…   s      r1   Útest_alpha_rgbarÃ   ´   s\   € ð )-„C‡L�LÐ$Ñ%Ü�l‰l‹n�G€CˆØ‡G�GŒE�"‹I˜!€GÔÜ
�*‰*Ð3Ð4¸(Ô
C€CØ‡O�O×!Ñ!¢.Õ1r3   zrcparam_alpha.pngc                  ó.  — t        j                  «       \  } }|j                  t        d«      d¬«       t	        j
                  ddi¬«      5  t        j                  dgd¬	«      }|j                  j                  g d
¢«       d d d «       y # 1 sw Y   y xY w)Nr   r   r»   rº   g      è?)Úrcr½   r‰   rA   r¾   )	r   r   rB   ry   Úmplr	   r$   rÀ   rÁ   rÂ   s      r1   Útest_alpha_rcparamrÇ   ¿   sv   € ô �l‰l‹n�G€CˆØ‡G�GŒE�"‹I˜!€GÔÜ	�‰Ð/°Ð5Ô	6ñ 6Ü�j‰jÐ7Ð8¸hÔGˆð
 	�‰×%Ñ%¢nÔ5÷6÷ 6ñ 6ús   Á6BÂBz	fancy.pngÚdarwing{®Gáz„?c                  ó   — t        j                  d«       t        j                  dgdz  dd¬«       t        j                  t	        j
                  d«      t	        j
                  ddd«      d	¬«       t        j                  t	        j
                  d«      t	        j
                  d«      d
d
d¬«       t        j                  ddd
gdddd¬«       y )Nr›   r   r   zo--ÚXXrN   r   rW   zXX
XXr   )ÚxerrÚyerrr   r   rg   r5   Tú	My legendr   )r   r   rn   ÚshadowÚtitlerž   )r   ÚsubplotrB   r    r   rQ   Úerrorbarr$   r8   r3   r1   Ú
test_fancyrÒ   Í   s�   € ô ‡K�K�ÔÜ‡H�HˆaˆS�2‰X�u DÕ)Ü‡K�K”—	‘	˜"“œrŸy™y¨¨Q°Ó3¸8ÕDÜ‡L�L”—‘˜2“¤§	¡	¨"£°CØ õ'ä‡J�J�=°#°s°Ø˜t¨;À!öEr3   Ú
framealphag/Ý$�•?c                  ó–   — t        j                  ddd«      } | }t        j                  | |dd¬«       t        j                  dd¬«       y )	Nr   rJ   Úmylabelr   )r   r¼   r   úupper right)rÓ   r   )r   r¡   r   rB   r$   )r-   r.   s     r1   Útest_framealphar×   Ú   s;   € ô 	�‰�A�s˜CÓ €AØ	€AÜ‡H�HˆQ�˜ rÕ*Ü‡J�J˜# =Ö1r3   zscatter_rc3.pngzscatter_rc1.pngc                  ó<  — dt         j                  d<   t        j                  «        t        j                  d«      } | j                  t        j                  d«      t        j                  ddd«      d¬«       | j                  d	d
dgd¬«       dt         j                  d<   t        j                  «        t        j                  d«      } | j                  t        j                  d«      t        j                  ddd«      d¬«       | j                  d	d
dgd¬«       y )Nrl   zlegend.scatterpointsr›   r   r   rW   ÚthreerN   r   rg   r   rÍ   )r   r   rÏ   r   Úone)	rÆ   r¿   r   rŸ   rÐ   r    r   rQ   r$   )r,   s    r1   Útest_rcrÛ   ã   sØ   € ð ,-„C‡L�LÐ'Ñ(Ü‡J�J„LÜ	�‰�SÓ	€BØ‡J�JŒr�y‰y˜‹}œbŸi™i¨¨A¨rÓ2¸'€JÔBØ‡I�I�-°°c°
Øð ô !ð ,-„C‡L�LÐ'Ñ(Ü‡J�J„LÜ	�‰�SÓ	€BØ‡J�JŒr�y‰y˜‹}œbŸi™i¨¨A¨rÓ2¸%€JÔ@Ø‡I�I�-°°c°
Øð õ !r3   zlegend_expand.pngc                  óº  — ddg} t        j                  t        | «      d«      \  }}t        j                  d«      }t        || «      D ]‘  \  }}|j                  |d|z
  dd¬«       |j                  d	|¬
«      }|j                  |«       |j                  ||dz
  dd¬«       |j                  d|¬
«      }|j                  |«       |j                  d|d¬«       Œ“ y)zTest expand modeNÚexpandr   rJ   rK   rL   rM   rN   r@   )r   ÚmoderO   Úrightú
lower leftr5   )r   rÞ   rn   )	r   r   Úlenr   rQ   r   rB   r$   Ú
add_artist)Úlegend_modesr+   r‚   r-   r,   rÞ   Úl1Úl2s           r1   Útest_legend_expandræ   ö   sÌ   € ð ˜(Ð#€LÜ�|‰|œC Ó-¨qÓ1�H€CˆÜ
�	‰	�#‹€AÜ˜˜\Ó*ò 8‰ˆˆDØ
�‰��2˜‘6˜3 eˆÔ,Ø�Y‰Y˜<¨dˆYÓ3ˆØ
�‰�bÔØ
�‰��1�r‘6˜3 fˆÔ-Ø�Y‰Y˜7¨ˆYÓ.ˆØ
�‰�bÔØ
�	‰	�l¨°Qˆ	Õ7ñ8r3   ÚhatchingÚdefaultc            	      ór  — t        j                  «       \  } }t        j                  ddddd¬«      }|j                  |«       t        j                  dddddd	¬
«      }|j                  |«       t        j                  dddddd¬«      }|j                  |«       t        j                  ddddddd¬«      }|j                  |«       |j	                  g d¢g d¢g d¢dd¬«       |j	                  g d¢g d¢g d¢ddd¬
«       |j                  dd«       |j                  dd«       |j                  dd¬«       y )N©r   r   ç333333Ó?ÚxxzPatch
default color
filled)Úhatchr   )ç…ëQ¸Õ?r   z||rŒ   zPatch
explicit color
filled)rí   Ú	edgecolorr   )r   çš™™™™™Ù?FzPatch
default color
unfilled)rí   Úfillr   )rî   rð   zPatch
explicit color
unfilled)rí   rñ   rï   r   )r   g333333Ã?rë   )rŠ   rŠ   rŠ   )r`   rg   r`   ú+zPath
default color)rî   g¸…ëQ¸Þ?g)\�Âõ(ä?ÚC2zPath
explicit colorg{®Gáz„¿çš™™™™™ñ?rœ   )ÚhandlelengthÚhandleheight)r   r   Ú	Rectangler—   Úfill_betweenrh   ri   r$   )r+   r,   Úpatchs      r1   Útest_hatchingrú     s%  € ô �l‰l‹n�G€Cˆô �M‰M˜& # s°$Ø >ô@€Eà‡L�L�ÔÜ�M‰M˜) S¨#°TÀTØ ?ôA€Eà‡L�L�ÔÜ�M‰M˜( C¨°D¸uØ @ôB€Eà‡L�L�ÔÜ�M‰M˜+ s¨C°tÀ%Ø$(Ø AôC€Eð ‡L�L�Ôð ‡O�O’L¢,²ØÐ%:ð ô <à‡O�O’O¢\²=Ø¨Ð5Kð ô Mð ‡K�K��sÔØ‡K�K��sÔØ‡I�I˜1¨1€IÕ-r3   c                  ó4  — t        j                  «       \  } }|j                  t        d«      «      }| j	                  |dg«      }|j                  «        | j                  g k(  sJ ‚|j	                  d«      }|j                  «        |j                  «       �J ‚y )Nr   Útest)r   r   rB   ry   r$   ÚremoveÚlegendsÚ
get_legend)r+   r,   Úlinesr…   s       r1   Útest_legend_remover  %  sy   € Ü�l‰l‹n�G€CˆØ�G‰G”E˜"“IÓ€EØ
�*‰*�U˜V˜HÓ
%€CØ‡J�J„LØ�;‰;˜"ÒÐÐØ
�)‰)�FÓ
€CØ‡J�J„LØ�=‰=‹?Ð"Ð"Ñ"r3   c                  ó,  — t        j                  «       \  } }d}d}g d¢}g d¢}|j                  |||d   |d   ¬«       |j                  |||d   |d   ¬«       |j                  |||d   |d   ¬«       |j                  d¬«      }|j	                  «       D �cg c]  }|j                  «       ‘Œ }}|j                  D �	cg c]  }	|	j                  «       ‘Œ }
}	|t        t        |«      «      k(  sJ ‚|
t        t        |«      «      k(  sJ ‚y	c c}w c c}	w )
z6Check that the legend handles and labels are reversed.r   )zFirst labelzSecond labelzThird label)ú.ú,rL   r   rN   r5   T©ÚreverseN)
r   r   rB   r$   Ú	get_textsÚget_textÚlegend_handlesÚ
get_markerÚlistÚreversed)r+   r,   r-   r.   r)   Úmarkersr…   ÚtÚactual_labelsÚhÚactual_markerss              r1   Ú&test_reverse_legend_handles_and_labelsr  0  sÿ   € ä�l‰l‹n�G€CˆØ	€AØ	€AÚ;€FÚ€Gà‡G�GˆAˆq�'˜!‘* F¨1¡I€GÔ.Ø‡G�GˆAˆq�'˜!‘* F¨1¡I€GÔ.Ø‡G�GˆAˆq�'˜!‘* F¨1¡I€GÔ.Ø
�)‰)˜Dˆ)Ó
!€CØ+.¯=©=«?Ö; a�Q—Z‘Z•\Ð;€MÐ;Ø.1×.@Ñ.@ÖA¨�a—l‘l•nÐA€NÐAØœD¤¨&Ó!1Ó2Ò2Ð2Ð2ØœT¤(¨7Ó"3Ó4Ò4Ð4Ñ4ùò <ùÚAs   ÂDÃ Dc                 ó0  — | j                  «       }|j                  dgdd¬«       |j                  dgdd¬«       |j                  d¬	«       |j                  «       }|j                  dgdd¬«       |j                  dgdd¬«       |j                  «        y
)z3Check that the rendered legend entries are reversedr   ÚroÚfirstrN   r5   ÚbxÚsecondTr  N)r   rB   r$   )Úfig_testÚfig_refr,   s      r1   Útest_reverse_legend_displayr  B  s‡   € ð 
×	Ñ	Ó	€BØ‡G�GˆQˆC�˜W€GÔ%Ø‡G�GˆQˆC�˜X€GÔ&Ø‡I�I�d€IÔà	×	Ñ	Ó	€BØ‡G�GˆQˆC�˜X€GÔ&Ø‡G�GˆQˆC�˜W€GÔ%Ø‡I�I…Kr3   c                   óT   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zy)ÚTestLegendFunctionc                 ó  — t        j                  t        d«      d¬«      }t        j                  d«      5 }t        j
                  «        d d d «       j                  t        j                  «       |dg«       y # 1 sw Y   Œ0xY w)Nr   úhello worldrN   úmatplotlib.legend.Legend©r   rB   ry   r   rù   r$   Úassert_called_withÚgca©Úselfr   rs   s      r1   Útest_legend_no_argsz&TestLegendFunction.test_legend_no_argsR  s]   € Ü—‘œ˜r›¨-Ô8ˆÜ�Z‰ZÐ2Ó3ð 	°vÜ�J‰JŒL÷	à×!Ñ!¤#§'¡'£)¨U°]°OÕD÷	ð 	ús   ¶A:Á:Bc                 ó  — t        j                  t        d«      «      }t        j                  d«      5 }t        j
                  |dg«       d d d «       j                  t        j                  «       |dg«       y # 1 sw Y   Œ0xY w)Nr   r  r  r   r#  s      r1   Ú%test_legend_positional_handles_labelsz8TestLegendFunction.test_legend_positional_handles_labelsX  sb   € Ü—‘œ˜r›Ó#ˆÜ�Z‰ZÐ2Ó3ð 	/°vÜ�J‰J�u˜}˜oÔ.÷	/à×!Ñ!¤#§'¡'£)¨U°]°OÕD÷	/ð 	/ús   ´A;Á;Bc                 óÊ   — t        j                  t        d«      «      }t        j                  t
        d¬«      5  t        j                  |«       d d d «       y # 1 sw Y   y xY w)Nr   zbut found an Artist©Úmatch)r   rB   ry   ÚpytestÚraisesÚ	TypeErrorr$   )r$  r   s     r1   Ú#test_legend_positional_handles_onlyz6TestLegendFunction.test_legend_positional_handles_only^  sF   € Ü—‘œ˜r›Ó#ˆÜ�]‰]œ9Ð,AÔBñ 	ô �J‰J�uÔ÷	÷ 	ñ 	ús   ºAÁA"c                 ó  — t        j                  t        d«      d¬«      }t        j                  d«      5 }t        j
                  dg«       d d d «       j                  t        j                  «       |dg«       y # 1 sw Y   Œ0xY w)Nr   r  rN   r  Úfoobarr   r#  s      r1   Ú"test_legend_positional_labels_onlyz5TestLegendFunction.test_legend_positional_labels_onlye  sb   € Ü—‘œ˜r›¨-Ô8ˆÜ�Z‰ZÐ2Ó3ð 	#°vÜ�J‰J˜�zÔ"÷	#à×!Ñ!¤#§'¡'£)¨U°X°JÕ?÷	#ð 	#ús   ¶A<Á<Bc                 ó  — t        j                  t        d«      d¬«      }t        j                  d«      5 }t        j
                  |dgd¬«       d d d «       j                  t        j                  «       |dgd¬«       y # 1 sw Y   Œ2xY w)Nr   r  rN   r  r0  rß   rA   r   r#  s      r1   Útest_legend_three_argsz)TestLegendFunction.test_legend_three_argsk  sk   € Ü—‘œ˜r›¨-Ô8ˆÜ�Z‰ZÐ2Ó3ð 	7°vÜ�J‰J�u˜x˜j¨gÕ6÷	7à×!Ñ!¤#§'¡'£)¨U°X°JÀGÐ!ÕL÷	7ð 	7ús   ¶BÂB
c                 ó*  — t        j                  t        d«      d¬«      }t        j                  d«      5 }|dgf|_        t        j                  ddi¬«       d d d «       j                  t        j                  «       gddi«       y # 1 sw Y   Œ1xY w)Nr   r  rN   z,matplotlib.legend._get_legend_handles_labelsÚ1r5   )r´   )	r   rB   ry   r   rù   Úreturn_valuer$   r!  r"  )r$  r   Úhandles_labelss      r1   Útest_legend_handler_mapz*TestLegendFunction.test_legend_handler_mapq  s|   € Ü—‘œ˜r›¨-Ô8ˆÜ�Z‰Zð 5ó 6ð 	-Ø9GØ*/°-°Ð*@ˆNÔ'Ü�J‰J C¨ 8Õ,÷	-ð 	×)Ñ)¬3¯7©7«9¨+¸¸Q°xÕ@÷		-ð 	-ús   ¶#B	Â	Bc                 óš  — t        j                  «       \  }}t        j                  ddd«      }|j	                  ||d¬«      \  }|j	                  |d|z  d¬«      \  }|j	                  |d|z  d	¬«      \  }t        j                  d
«      5 }|j                  ||g¬«       d d d «       j                  |||gd	dg«       y # 1 sw Y   Œ!xY w)Nr   r   é   r-   rN   r5   Ú2xrl   Ú3xr  )r0   ©	r   r   r   r¡   rB   r   rù   r$   r!  )r$  r+   r,   r-   Úln1Úln2Úln3rs   s           r1   Útest_legend_kwargs_handles_onlyz2TestLegendFunction.test_legend_kwargs_handles_onlyy  s½   € Ü—,‘,“.‰ˆˆRÜ�K‰K˜˜1˜bÓ!ˆØ�w‰w�q˜! 3ˆwÓ'‰ˆØ�w‰w�q˜!˜A™# TˆwÓ*‰ˆØ�w‰w�q˜!˜A™# TˆwÓ*‰ˆÜ�Z‰ZÐ2Ó3ð 	*°vØ�I‰I˜s C˜jˆIÔ)÷	*à×!Ñ! " s¨C j°4¸°,Õ?÷	*ð 	*ús   ÂCÃC
c                 ó`  — t        j                  «       \  }}t        j                  ddd«      }|j	                  ||«      \  }|j	                  |d|z  «      \  }t        j                  d«      5 }|j                  ddg¬«       d d d «       j                  |||gddg«       y # 1 sw Y   Œ!xY w)	Nr   r   r:  r5   r  r-   r;  ©r)   r=  )r$  r+   r,   r-   r>  r?  rs   s          r1   Útest_legend_kwargs_labels_onlyz1TestLegendFunction.test_legend_kwargs_labels_onlyƒ  s™   € Ü—,‘,“.‰ˆˆRÜ�K‰K˜˜1˜bÓ!ˆØ�w‰w�q˜!‹}‰ˆØ�w‰w�q˜!˜A™#‹‰ˆÜ�Z‰ZÐ2Ó3ð 	*°vØ�I‰I˜c 4˜[ˆIÔ)÷	*à×!Ñ! " s¨C j°3¸°+Õ>÷	*ð 	*ús   Á/B$Â$B-c                 óÎ  — t        j                  «       \  }}t        j                  ddt        j                  z  d«      }|j                  |t        j                  |«      d¬«      \  }|j                  |t        j                  |«      d¬«      \  }t        j                  d«      5 }|j                  d||f¬	«       d d d «       j                  |||fd«       y # 1 sw Y   ŒxY w)
Nr   r5   é   ÚsinrN   Úcosr  ©r   r   )r)   r0   )r   r   r   r¡   ÚpirB   rG  rH  r   rù   r$   r!  )r$  r+   r,   ÚthÚlnsÚlncrs   s          r1   Ú!test_legend_kwargs_handles_labelsz4TestLegendFunction.test_legend_kwargs_handles_labelsŒ  s·   € Ü—,‘,“.‰ˆˆRÜ�[‰[˜˜AœbŸe™e™G TÓ*ˆØ�w‰w�rœ2Ÿ6™6 "›:¨UˆwÓ3‰ˆØ�w‰w�rœ2Ÿ6™6 "›:¨UˆwÓ3‰ˆÜ�Z‰ZÐ2Ó3ð 	=°và�I‰I˜Z°#°s°ˆIÔ<÷	=ð 	×!Ñ! " s¨C j°*Õ=÷	=ð 	=ús   Â'CÃC$c                 ó´  — t        j                  «       \  }}t        j                  ddt        j                  z  d«      }|j                  |t        j                  |«      d¬«      \  }|j                  |t        j                  |«      d¬«      \  }d}t        j                  t        |¬«      5  |j                  ||fd	¬
«       d d d «       y # 1 sw Y   y xY w)Nr   r5   rF  rG  rN   rH  ú4must both be passed positionally or both as keywordsr)  rI  rC  )r   r   r   r¡   rJ  rB   rG  rH  r+  r,  r-  r$   )r$  r+   r,   rK  rL  rM  Úmsgs          r1   Ú test_error_mixed_args_and_kwargsz3TestLegendFunction.test_error_mixed_args_and_kwargs–  s£   € Ü—,‘,“.‰ˆˆRÜ�[‰[˜˜AœbŸe™e™G TÓ*ˆØ�w‰w�rœ2Ÿ6™6 "›:¨UˆwÓ3‰ˆØ�w‰w�rœ2Ÿ6™6 "›:¨UˆwÓ3‰ˆØDˆÜ�]‰]œ9¨CÔ0ñ 	5Ø�I‰I�s˜C�j¨ˆIÔ4÷	5÷ 	5ñ 	5ús   Â/CÃCc                 óR  — ddl m}  |d«      }|j                  «       }|j                  g d¢g d¢d¬«      \  }|j                  g d¢g d¢d¬«      \  }t	        j
                  d	«      5 }t        j                  «        d d d «       j                  |||gddg«       y # 1 sw Y   Œ!xY w)
Nr   )Úhost_subplotéo   ©r   r   r5   ÚDensityrN   )r   rl   r5   ÚTemperaturer  )	Úmpl_toolkits.axes_grid1rT  ÚtwinxrB   r   rù   r   r$   r!  )r$  rT  ÚhostÚparrµ   r¶   rs   s          r1   Útest_parasitez TestLegendFunction.test_parasiteŸ  sŽ   € Ý8á˜CÓ ˆØ�j‰j‹lˆà�i‰iš	¢9°IˆiÓ>‰ˆØ�h‰h’y¢)°=ˆhÓA‰ˆä�Z‰ZÐ2Ó3ð 	°vÜ�J‰JŒL÷	à×!Ñ! $¨¨R¨°9¸mÐ2LÕM÷	ð 	ús   Á(BÂB&c                 óš  — t        j                  «       \  }}|j                  ddg«      \  }|j                  ddg«      \  }t        j                  t
        d¬«      5  |j                  ||gdg«       d d d «       t        j                  t
        d¬«      5  |j                  |gdd	g«       d d d «       y # 1 sw Y   ŒCxY w# 1 sw Y   y xY w)
Nr   r5   rl   rœ   z'Mismatched number of handles and labelsr)  Úonly_oneÚlabel_aÚlabel_b)r   r   rB   r+  ÚwarnsÚUserWarningr$   )r$  r+   r,   Úline1Úline2s        r1   Ú9test_legend_warns_on_unequal_number_of_handles_and_labelszLTestLegendFunction.test_legend_warns_on_unequal_number_of_handles_and_labels¬  s­   € Ü—,‘,“.‰ˆˆRØ—‘˜!˜Q˜“‰ˆØ—‘˜!˜Q˜“‰ˆÜ�\‰\œ+Ð-VÔWñ 	4Ø�I‰I�u˜e�n z lÔ3÷	4ä�\‰\œ+Ð-VÔWñ 	7Ø�I‰I�u�g 	¨9Ð5Ô6÷	7ð 	7÷	4ð 	4ú÷	7ð 	7ús   ÁB5ÂCÂ5B>ÃC
N)Ú__name__Ú
__module__Ú__qualname__r%  r'  r.  r1  r3  r8  rA  rD  rN  rR  r]  rf  r8   r3   r1   r  r  P  sE   „ òEòEòò@òMòAò@ò?ò>ò5òNó7r3   r  c                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestLegendFigureFunctionc                 ó   — t        j                  «       \  }}|j                  t        d«      «      }t	        j
                  d«      5 }|j                  |dg«       d d d «       j                  ||dg|j                  ¬«       y # 1 sw Y   Œ*xY w)Nr   r  r  ©Úbbox_transform©	r   r   rB   ry   r   rù   r$   r!  ÚtransFigure©r$  r+   r,   r   rs   s        r1   Útest_legend_handle_labelz1TestLegendFigureFunction.test_legend_handle_label¸  sz   € Ü—,‘,“.‰ˆˆRØ—‘œ˜b›	Ó"ˆÜ�Z‰ZÐ2Ó3ð 	/°vØ�J‰J�u˜}˜oÔ.÷	/à×!Ñ! # u¨}¨oØ14·±ð 	"õ 	B÷	/ð 	/ús   ÁBÂBc                 ó  — t        j                  «       \  }}|j                  t        d«      d¬«      }t	        j
                  d«      5 }|j                  «        d d d «       j                  ||dg|j                  ¬«       y # 1 sw Y   Œ*xY w)Nr   r  rN   r  rm  ro  rq  s        r1   r%  z,TestLegendFigureFunction.test_legend_no_argsÀ  sw   € Ü—,‘,“.‰ˆˆRØ—‘œ˜b›	¨�Ó7ˆÜ�Z‰ZÐ2Ó3ð 	°vØ�J‰JŒL÷	à×!Ñ! # u¨}¨oØ14·±ð 	"õ 	B÷	ð 	ús   Á	BÂBc                 ó  — t        j                  «       \  }}|j                  t        d«      «      }t	        j
                  d«      5 }|j                  dg«       d d d «       j                  ||dg|j                  ¬«       y # 1 sw Y   Œ*xY w)Nr   r  r0  rm  ro  rq  s        r1   Útest_legend_label_argz.TestLegendFigureFunction.test_legend_label_argÈ  sx   € Ü—,‘,“.‰ˆˆRØ—‘œ˜b›	Ó"ˆÜ�Z‰ZÐ2Ó3ð 	#°vØ�J‰J˜�zÔ"÷	#à×!Ñ! # u¨x¨jØ14·±ð 	"õ 	B÷	#ð 	#ús   ÁBÂBc                 óz  — t        j                  «       \  }}|j                  t        d«      «      }t	        j
                  t        d¬«      5  |j                  |dgd«       d d d «       t	        j
                  t        d¬«      5  |j                  |dgdd¬«       d d d «       y # 1 sw Y   ŒDxY w# 1 sw Y   y xY w)Nr   z0-2r)  r0  rß   ÚleftrA   )r   r   rB   ry   r+  r,  r-  r$   )r$  r+   r,   r   s       r1   Útest_legend_label_three_argsz5TestLegendFigureFunction.test_legend_label_three_argsÐ  s–   € Ü—,‘,“.‰ˆˆRØ—‘œ˜b›	Ó"ˆÜ�]‰]œ9¨EÔ2ñ 	3Ø�J‰J�u˜x˜j¨'Ô2÷	3ä�]‰]œ9¨EÔ2ñ 	?Ø�J‰J�u˜x˜j¨'°vˆJÔ>÷	?ð 	?÷	3ð 	3ú÷	?ð 	?ús   ÁB%ÂB1Â%B.Â1B:c                 óˆ  — t        j                  dd«      \  }}|d   j                  t        d«      «      }|d   j                  t	        j
                  d«      dz  «      }t        j                  d«      5 }|j                  dd||f¬	«       d d d «       j                  |||fdd|j                  ¬
«       y # 1 sw Y   Œ,xY w)Nr   r5   r   r   ç       @r  rß   rI  )r   r)   r0   )r   rn  )r   r   rB   ry   r   rQ   r   rù   r$   r!  rp  )r$  r+   r‚   r   Úlines2rs   s         r1   Útest_legend_kw_argsz,TestLegendFigureFunction.test_legend_kw_argsØ  s°   € Ü—<‘<  1Ó%‰ˆˆSØ�A‘—‘œE "›IÓ&ˆØ�Q‘—‘œRŸY™Y r›]¨RÑ/Ó0ˆÜ�Z‰ZÐ2Ó3ð 	P°vØ�J‰J˜7¨:ÀÀv¸ˆJÔO÷	Pà×!Ñ!Ø�%˜� *°'ØŸ?™?ð 	"õ 	,÷	Pð 	Pús   Á6B8Â8Cc                 óR  — t        j                  dd«      \  }}|d   j                  t        d«      «      }|d   j                  t	        j
                  d«      dz  «      }d}t        j                  t        |¬«      5  |j                  ||fd¬	«       d d d «       y # 1 sw Y   y xY w)
Nr   r5   r   r   rz  rP  r)  rI  rC  )
r   r   rB   ry   r   rQ   r+  r,  r-  r$   )r$  r+   r‚   r   r{  rQ  s         r1   Útest_error_args_kwargsz/TestLegendFigureFunction.test_error_args_kwargsâ  s‡   € Ü—<‘<  1Ó%‰ˆˆSØ�A‘—‘œE "›IÓ&ˆØ�Q‘—‘œRŸY™Y r›]¨RÑ/Ó0ˆØDˆÜ�]‰]œ9¨CÔ0ñ 	;Ø�J‰J˜˜v�¨zˆJÔ:÷	;÷ 	;ñ 	;ús   Á>BÂB&N)	rg  rh  ri  rr  r%  ru  rx  r|  r~  r8   r3   r1   rk  rk  ¶  s#   „ òBòBòBò?ò,ó;r3   rk  c                  óò  — dD � cg c]  } d| z   ‘Œ	 }} |dD � cg c]  } d| z   ‘Œ	 c} z  }|dD � cg c]  } d| z   ‘Œ	 c} z  }|dD � cg c]  } d| z   ‘Œ	 c} z  }g d¢}g d¢}g d	¢}g d
¢}||||||||||||g}g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g}t        |«      D ]½  \  }}	t        |	«       t        j                  dd¬«      \  }
}|j	                  t        d«      d¬«       |
j                  d|	z   ¬«      }|
j                  «        t        |j                  «       j                  ||   d¬«       t        |j                  «       j                  ||   d¬«       Œ¿ y c c} w c c} w c c} w c c} w )N)rw  r‰   rß   zupper zlower )Úlowerr‰   Úupperzleft zright )çQ‡nù¸4@ç;â�¤c:@ç‹lçû©²ˆ@g?‘'IW	�@)r‚  gÛoíDI®Q@r„  ç(¸XQl‚@)g�L‡NÏc@rƒ  r„  r…  )r‚  rƒ  g¢E¶óý—„@r…  )ç      $@ç     P�@ç      `@ç     p‚@)ç     (u@r‡  ç     Ø|@r‰  )é›  r‡  ç     °ˆ@r‰  )r†  r†  rˆ  ç      G@)rŠ  r†  r‹  rŽ  )ç     Ø„@r†  r�  rŽ  )r†  ç      q@rˆ  ç     às@)rŒ  r†  r�  rŽ  )r�  r�  r�  r‘  )r�  r‡  r�  r‰  TrJ   )Úconstrained_layoutÚdpir   ÚBoo1rN   zoutside rA   g-Cëâ6?)Úrtol)Ú	enumerateÚprintr   r   rB   ry   r$   Údraw_without_renderingr   r}   Úextents)ÚposÚtodosÚupperextÚlowerextÚleftextÚrightextÚaxbbÚlegbbÚnnÚtodor+   r‚   r…   s                r1   Útest_figure_legend_outsider¤  ë  sˆ  € Ø'BÖC ˆX˜‹^ÐC€EÐCØ	Ð(CÖD ˆh˜‹nÒDÑD€EØ	Ð'CÖD ˆg˜‹mÒDÑD€EØ	Ð(DÖE ˆh˜‹nÒEÑE€Eâ9€HÚ9€HÚ9€GÚ9€HØ�h Ø�h Ø�W˜gØ�h ð*€Dò
 %Ú'Ú%Ú#Ú&Ú$Ú"Ú$Ú$Ú"Ú%Ú%ð'€Eô ˜eÓ$ò 
#‰ˆˆDÜˆdŒÜ—<‘<°4¸SÔA‰ˆˆSØ�‰”�r“ &ˆÔ)Ø�j‰j˜Z¨$Ñ.ˆjÓ/ˆØ×"Ñ"Ô$ä˜×-Ñ-Ó/×7Ñ7¸¸b¹Ø!õ	#ä˜×-Ñ-Ó/×7Ñ7¸¸r¹Ø!ö	#ñ
#ùò7 DùÚDùÚDùÚEs   …E%˜E*®E/ÁE4zlegend_stackplot.pngc                  ó&  — t        j                  «       \  } }t        j                  ddd«      }d|z  }d|z  dz   }d|z  dz   }|j	                  ||||g d¢¬	«       |j                  dd«       |j                  dd
«       |j                  d¬«       y)z/Test legend for PolyCollection using stackplot.r   r   rg   rz  r   ç      @r5   )Úy1Úy2Úy3rC  éF   rP   rA   N)r   r   r   r¡   Ú	stackplotrh   ri   r$   )r+   r,   r-   r§  r¨  r©  s         r1   Útest_legend_stackplotr¬    s‰   € ô �l‰l‹n�G€CˆÜ
�‰�A�r˜2Ó€AØ	ˆq‰€BØ	ˆq‰�1‰€BØ	ˆq‰�1‰€BØ‡L�L��B˜˜BÒ'9€LÔ:Ø‡K�K��2ÔØ‡K�K��2ÔØ‡I�I�&€IÕr3   c                  óÌ   — t        j                  «       \  } }t        j                  «       \  }}|j                  t        d«      t        d«      «      }|j	                  |d«       y )Nrl   Úfoo)r   r   rZ   ry   r$   )r+   r,   Úfig2Úax2Úbrss        r1   Útest_cross_figure_patch_legendr²  #  sF   € Ü�l‰l‹n�G€CˆÜ—‘“�I€Dˆ#à
�&‰&”�q“œ5 ›8Ó
$€CØ‡K�K��UÕr3   c            
      ó   — t        j                  «       \  } }|j                  t        j                  gt        j                  gdddd¬«      }|j                  |gdg«       t        j                  «       \  } }dD ]a  }d}t        j                  j                  d|«      \  }}d	t        j                  j                  |«      z  }|j                  |||||d
d¬«       Œc |j                  «        |j                  d«       y )NrL   r   rl   )ÚmarkerÚ	facecolorrï   Úsr    )ÚredÚgreenÚblueiî  r5   g      i@rë   Únone)r   r¶  r   ÚalphaÚ
edgecolorsT)	r   r   r    r   Únanr$   r   ÚrandÚgrid)r+   r,   r  r/   Únr-   r.   Úscales           r1   Útest_nanscatterrÂ  +  sÙ   € Ü�l‰l‹n�G€Cˆà
�
‰
”B—F‘F�8œbŸf™f˜X¨cØ ¨C°1ð 	ó 	6€Að ‡I�Iˆqˆc�I�;Ôä�l‰l‹n�G€CˆØ)ò 1ˆØˆÜ�y‰y�~‰~˜a Ó#‰ˆˆ1ØœŸ	™	Ÿ™ qÓ)Ñ)ˆØ
�
‰
�1�a˜5 E°Ø¨ð 	õ 	1ð	1ð ‡I�I„KØ‡G�GˆD…Mr3   c                  óô  — t        j                  «       \  } }|j                  ddddd¬«       |j                  dddd	d¬«       |j                  «        t	        j
                  |g«      \  }}t        |«      d
k(  sJ ‚t        j                  «       \  } }|j                  ddddd¬«       |j                  dddd	d¬«       |j                  «        t	        j
                  |g«      \  }}t        |«      d
k(  sJ ‚y )Nrf   rg   ÚkrL   rü   )r/   r´  r   r   r   Úvr5   )r   r   r    r$   ÚmlegendÚ_get_legend_handles_labelsrá   )r+   r,   ÚhandÚlabs       r1   Útest_legend_repeatcheckokrÊ  ?  sÖ   € Ü�l‰l‹n�G€CˆØ‡J�Jˆs�C˜s¨3°f€JÔ=Ø‡J�Jˆs�C˜s¨3°f€JÔ=Ø‡I�I„KÜ×2Ñ2°B°4Ó8�I€Dˆ#Üˆs‹8�qŠ=Ðˆ=Ü�l‰l‹n�G€CˆØ‡J�Jˆs�C˜s¨3°f€JÔ=Ø‡J�Jˆs�C˜s¨3°f€JÔ=Ø‡I�I„KÜ×2Ñ2°B°4Ó8�I€Dˆ#Üˆs‹8�qŠ=Ð‰=r3   znot_covering_scatter.pngc                  ó(  — g d¢} t        d«      D ]  }t        j                  |g|g| |   ¬«       Œ! t        j                  g d¢d¬«       t        j                  «       j                  dd«       t        j                  «       j                  dd«       y )	N)r   r   r   rl   ©r/   )r®  r®  r®  rP   rA   g      à¿çš™™™™™@)ry   r   r    r$   r"  rh   ri   )r*   rÀ  s     r1   Útest_not_covering_scatterrÎ  N  so   € â€Fä�1‹Xò /ˆÜ�‰�Q�C˜!˜ F¨1¡IÖ.ð/ô ‡J�JÒ$¨&Õ1Ü‡G�GƒI×Ñ�t˜SÔ!Ü‡G�GƒI×Ñ�t˜SÕ!r3   z"not_covering_scatter_transform.pngc                  óJ  — t        j                  «       j                  dd«      } t        j                  ddd«      }t        j                  ||«       t        j                  dgdg| t        j                  «       j                  z   ¬«       t        j                  dd	gd
¬«       y )Niìÿÿÿr¨   r   é   iè  r   )Ú	transformr®  rZ   rP   rA   )ÚmtransformsÚAffine2DÚ	translater   r¡   r   rB   r    r"  Ú	transDatar$   )Úoffsetr-   s     r1   Ú#test_not_covering_scatter_transformr×  Z  su   € ô ×!Ñ!Ó#×-Ñ-¨c°2Ó6€FÜ
�‰�A�r˜4Ó €AÜ‡H�HˆQ�„Nä‡K�K���r�d f¬s¯w©w«y×/BÑ/BÑ&BÕCä‡J�J��uˆ~ 6Ö*r3   c                  ó<  — ddgddgg} ddgddggd	dgd
dggg}d
dgddggd	dgddggg}t        j                  | dd¬«      }t        j                  |d¬«      }t        j                  |dd	¬«      }t        j                  «       \  }}|j	                  |«       |j	                  |«       |j	                  |«       |j                  |||gg d¢«      }|j                  \  }	}
}t        |||f|	|
|f«      D ]'  \  }}|j                  «       d   |j                  k(  rŒ'J ‚ y )N)r   r   )r   r   )rë   ç333333ã?)r‹   r‹   gffffffæ?r‹   rŠ   rð   r   rÙ  ra   ú--rl   )Ú
linestylesr¼   z-.)rÛ  ú:)rd  re  zline 3r   )
ÚmcollectionsÚLineCollectionr   r   Úadd_collectionr$   r	  r   Úget_linestylesÚ_dash_pattern)Úlines1r{  Úlines3Úlc1Úlc2Úlc3r+   r,   r…   Úh1Úh2Úh3ÚohÚlhs                 r1   Ú!test_linecollection_scaled_dashesrì  f  sA  € Ø˜Ð  8¨XÐ"6Ð7€FØ�Rˆy˜2˜r˜(Ð# r¨2 h°°R°Ð%9Ð:€FØ�Rˆy˜2˜r˜(Ð# r¨2 h°°R°Ð%9Ð:€FÜ
×
%Ñ
% f¸À!Ô
D€CÜ
×
%Ñ
% f¸Ô
>€CÜ
×
%Ñ
% f¸ÀÔ
D€Cä�l‰l‹n�G€CˆØ×Ñ�cÔØ×Ñ�cÔØ×Ñ�cÔà
�)‰)�S˜#˜s�OÒ%AÓ
B€CØ×#Ñ#�J€BˆˆBä�s˜C �o¨¨B° |Ó4ò :‰ˆˆBØ× Ñ Ó" 1Ñ%¨×)9Ñ)9Ó9Ð9Ð9ñ:r3   c                  óŽ   — t        j                  «       \  } }|j                  t        d«      d¬«       |j	                  d¬«       y)z(Test legend handler with numpoints <= 1.r   rü   rN   r   ©rž   N)r   r   rB   ry   r$   r¢   s     r1   Útest_handler_numpointsrï  z  s5   € ô �l‰l‹n�G€CˆØ‡G�GŒE�!‹H˜F€GÔ#Ø‡I�I˜€IÕr3   c                  óJ  — t        j                  «       \  } }|j                  dgd¬«       |j                  dddd¬«       t	        j
                  t        «      5 }|j                  «        ddd«       t        «      dk(  sJ ‚t        j                  «       \  }}|j                  t        j                  j                  ddd	«      «       t        j                  «       5  t        j                  d
«       |j!                  «        ddd«       y# 1 sw Y   Œ£xY w# 1 sw Y   yxY w)z2Test that Text artists with labels raise a warningr   ú	mock datarN   Útextr   )r-   r.   r¶  r   Nr   )r   r   Úerror)r   r   rB   rò  r+  rb  rc  r$   rá   Ú
pcolormeshr   r   ÚuniformÚwarningsÚcatch_warningsÚsimplefilterr!   )r+   r,   ÚrecordÚfs       r1   Útest_text_nohandler_warningrû  ‚  så   € ä�l‰l‹n�G€CˆØ‡G�GˆQˆC�{€GÔ#Ø‡G�Gˆa�1˜ g€GÔ.Ü	�‰”kÓ	"ð  fØ
�	‰	Œ÷äˆv‹;˜!ÒÐÐô �L‰L‹N�E€A€rØ‡M�M”"—)‘)×#Ñ# A q¨(Ó3Ô4Ü	×	 Ñ	 Ó	"ñ 'Ü×Ñ˜gÔ&Ø
×$Ñ$Ô&÷'ð '÷ð ú÷'ð 'ús   ÁDÃ&DÄDÄD"c                  ó\   — t        j                  g g d¬«       t        j                  «        y)z1Test legend when bar chart is empty with a label.rü   rN   N)r   rZ   r$   r8   r3   r1   Ú test_empty_bar_chart_with_legendrý  “  s   € ô ‡G�GˆB�˜&Õ!Ü‡J�J…Lr3   zshadow_argument_types.pnggyé&1¬œ?c            
      óz  — t        j                  «       \  } }|j                  g d¢d¬«       |j                  dd¬«      |j                  dd¬«      |j                  d	d
ddœ¬«      |j                  ddddœ¬«      |j                  ddddœ¬«      f}|D ]  }|j	                  |«       Œ |j                  d¬«       y )Nr¯   rü   rN   r@   T©r   rÎ   rÖ   Fr   r·  ra   )r/   r»  úcenter right)ra   r‹   r   éûÿÿÿ)r/   Úoyrà   ztab:cyanr   )r/   Úoxúlower rightrA   )r   r   rB   r$   râ   )r+   r,   ÚlegsÚls       r1   Útest_shadow_argument_typesr  ›  sÉ   € ô �l‰l‹n�G€CˆØ‡G�GŠI˜V€GÔ$ð �I‰I˜,¨tˆIÓ4Ø�I‰I˜-°ˆIÓ6Ø�I‰I˜-Ø',°sÑ;ð ó =à�I‰I˜.Ø'6¸bÑAð ó Cà�I‰I˜,Ø'1¸Ñ<ð ó >ð€Dð ò ˆØ
�‰�aÕðà‡I�I�-€IÕ r3   c                  óâ   — t        j                  «       \  } }|j                  g d¢d¬«       t        j                  t
        d¬«      5  |j                  dd¬«       d d d «       y # 1 sw Y   y xY w)	Nr¯   rü   rN   zdict or boolr)  r@   Úaardvarkrÿ  )r   r   rB   r+  r,  Ú
ValueErrorr$   r¢   s     r1   Útest_shadow_invalid_argumentr  ²  sV   € ô �l‰l‹n�G€CˆØ‡G�GŠI˜V€GÔ$Ü	�‰”z¨Ô	8ñ 7Ø
�	‰	�l¨:ˆ	Ô6÷7÷ 7ñ 7ús   ÁA%Á%A.c                  óÖ   — t        j                  «       \  } }|j                  t        d«      d¬«       |j	                  dd¬«      }|j                  «       j                  «       dk(  sJ ‚y )NrJ   rü   rN   TÚw)rÎ   rµ  r   )r   r   rB   ry   r$   Ú	get_frameÚ	get_alpharÂ   s      r1   Útest_shadow_framealphar  »  sV   € ô �l‰l‹n�G€CˆØ‡G�GŒE�#‹J˜f€GÔ%Ø
�)‰)˜4¨3ˆ)Ó
/€CØ�=‰=‹?×$Ñ$Ó&¨!Ò+Ð+Ñ+r3   c                  ó  — t        j                  «       \  } }|j                  t        d«      d¬«       |j	                  «       }|j                  «       j                  «       dk(  sJ ‚|j                  «       j                  «       rJ ‚y )Nr   rñ  rN   Ú )r   r   rB   ry   r$   Ú	get_titler  Úget_visiblerÂ   s      r1   Útest_legend_title_emptyr  Ä  sj   € ô �l‰l‹n�G€CˆØ‡G�GŒE�"‹I˜[€GÔ)Ø
�)‰)‹+€CØ�=‰=‹?×#Ñ#Ó%¨Ò+Ð+Ð+Ø�}‰}‹×*Ñ*Ô,Ð,Ð,Ð,r3   c                  ó   — t        j                  d¬«      \  } }|j                  t        d«      d¬«       |j	                  «       }|j                  | j                  j                  «       «      j                  }t        j                  d¬«      \  } }|j                  t        d«      d¬«       |j	                  «       }|j                  | j                  j                  «       «      j                  }t        j                  |dz  d«      |k(  sJ ‚y )	NrJ   ©r“  r   ÚAardvarkrN   éÈ   r5   ra   )r   r   rB   ry   r$   r}   rz   Úget_rendererÚx0r+  Úapprox)r+   r,   r…   Úx01Úx02s        r1   Ú test_legend_proper_window_extentr  Ï  sÇ   € ä�l‰l˜sÔ#�G€CˆØ‡G�GŒE�"‹I˜Z€GÔ(Ø
�)‰)‹+€CØ
×
Ñ
 §
¡
× 7Ñ 7Ó 9Ó
:×
=Ñ
=€Cä�l‰l˜sÔ#�G€CˆØ‡G�GŒE�"‹I˜Z€GÔ(Ø
�)‰)‹+€CØ
×
Ñ
 §
¡
× 7Ñ 7Ó 9Ó
:×
=Ñ
=€CÜ�=‰=˜˜Q™ Ó$¨Ò+Ð+Ñ+r3   c                  ó"  — t        j                  d¬«      \  } }|j                  t        d«      d¬«       |j	                  «       }| j	                  «       }| j
                  j                  «        |j                  «        |j                  «        y )NrJ   r  r   r  rN   )r   r   rB   ry   r$   rz   r{   r}   )r+   r,   r…   Úleg2s       r1   Ú"test_window_extent_cached_rendererr"  Ý  sd   € Ü�l‰l˜sÔ#�G€CˆØ‡G�GŒE�"‹I˜Z€GÔ(Ø
�)‰)‹+€CØ�:‰:‹<€DØ‡J�J‡O�OÔà×ÑÔØ×ÑÕr3   c                  ój  — t        j                  t        d«      d¬«       t        j                  t
        «      5  t        j                  dddddœ¬«       d d d «       t        j                  dt        dd¬«      ¬	«      } | j                  «       j                  «       dk(  sJ ‚t        j                  d
dd¬«      \  }}|j                  }|d   j                  t        d«      d¬«       |d   j                  dd¬«      }|j                  «       j                  «       dk(  sJ ‚|d   j                  t        d«      d¬«       |d   j                  ddddœ¬	«      }|j                  «       j                  «       dk(  sJ ‚|d
   j                  t        d«      d¬«       d t        j                  d<   |d
   j                  dddi¬	«      }|j                  «       j                  «       t        j                  d   k(  sJ ‚|d   j                  t        d«      d¬«       |d   j                  d¬«      }|j                  «       j                  «       t        j                  d   k(  sJ ‚|d   j                  t        d«      d¬«       dt        j                  d<   |d   j                  dddi¬	«      }|j                  «       j                  «       dk(  sJ ‚|d   j                  t        d«      d¬«       |d   j                  d¬«      }|j                  «       j                  «       dk(  sJ ‚y # 1 sw Y   �ŒÔxY w)Nr   rñ  rN   r  é   Úserif)ÚfamilyÚsize)rÏ   Útitle_fontsizeÚtitle_fontproperties)rÏ   r)  r5   rl   )r   é   )ro   r   )rÏ   r(  r   zlegend.title_fontsizer&  z	font.size©rÏ   rœ   r¨   r   )r   rB   ry   r+  r,  r
  r$   r
   r  Úget_sizer   rv   Úget_fontsizerÆ   r¿   )	r…   r+   ÚaxesÚleg0Úleg1r!  Úleg3Úleg4Úleg5s	            r1   Ú#test_legend_title_fontprop_fontsizer4  è  sÇ  € ä‡H�HŒU�2‹Y˜kÕ*Ü	�‰”zÓ	"ñ IÜ�
‰
˜°BØ3:ÀBÑ(Gõ	I÷Iô �*‰*˜:¼NØ.5¸Bô=@ô A€Cà�=‰=‹?×#Ñ#Ó%¨Ò+Ð+Ð+ä—‘˜Q ¨7Ô3�I€CˆØ�9‰9€DØˆ�G‡L�L”�r“ +€LÔ.Ø�‰7�>‰> 
¸2ˆ>Ó>€DØ�>‰>Ó×(Ñ(Ó*¨bÒ0Ð0Ð0Øˆ�G‡L�L”�r“ +€LÔ.Ø�‰7�>‰> 
Ø:AÈ2Ñ/Nð ó P€Dà�>‰>Ó×(Ñ(Ó*¨bÒ0Ð0Ð0Øˆ�G‡L�L”�r“ +€LÔ.Ø,0„C‡L�LÐ(Ñ)Ø�‰7�>‰> 
Ø08¸'Ð/Bð ó D€Dà�>‰>Ó×(Ñ(Ó*¬c¯l©l¸;Ñ.GÒGÐGÐGØˆ�G‡L�L”�r“ +€LÔ.Ø�‰7�>‰> 
ˆ>Ó+€DØ�>‰>Ó×(Ñ(Ó*¬c¯l©l¸;Ñ.GÒGÐGÐGØˆ�G‡L�L”�r“ +€LÔ.Ø,.„C‡L�LÐ(Ñ)Ø�‰7�>‰> 
Ø08¸'Ð/Bð ó D€Dà�>‰>Ó×(Ñ(Ó*¨bÒ0Ð0Ð0Øˆ�G‡L�L”�r“ +€LÔ.Ø�‰7�>‰> 
ˆ>Ó+€DØ�>‰>Ó×(Ñ(Ó*¨bÒ0Ð0Ñ0÷AIñ Iús   ºL(Ì(L2Ú	alignment)r‰   rw  rß   c                 óþ   — t        j                  «       \  }}|j                  t        d«      d¬«       |j	                  d| ¬«      }|j                  «       d   j                  | k(  sJ ‚|j                  «       | k(  sJ ‚y )Nr   rü   rN   r  )rÏ   r5  r   )r   r   rB   ry   r$   Úget_childrenrV   Úget_alignment©r5  r+   r,   r…   s       r1   Útest_legend_alignmentr:    sp   € ä�l‰l‹n�G€CˆØ‡G�GŒE�"‹I˜V€GÔ$Ø
�)‰)˜*°	ˆ)Ó
:€CØ×ÑÓ˜aÑ ×&Ñ&¨)Ò3Ð3Ð3Ø×ÑÓ )Ò+Ð+Ñ+r3   r   rˆ   c                 ó  — t        j                  «       \  }}|j                  t        d«      d¬«       |j	                  «       }|j                  | «       |j                  «       t        j                  j                  |    k(  sJ ‚y )Nr   rü   rN   )
r   r   rB   ry   r$   Úset_locÚ_get_locrÆ  rs   Úcodes©r   r+   r,   r…   s       r1   Útest_ax_legend_set_locr@    s_   € ä�l‰l‹n�G€CˆØ‡G�GŒE�"‹I˜V€GÔ$Ø
�)‰)‹+€CØ‡K�K�ÔØ�<‰<‹>œWŸ^™^×1Ñ1°#Ñ6Ò6Ð6Ñ6r3   )zoutside rightrß   c                 óX  — t        j                  «       \  }}|j                  t        d«      d¬«       |j	                  «       }|j                  | «       | j                  d«      r| j                  «       d   n| } |j                  «       t        j                  j                  |    k(  sJ ‚y )Nr   rü   rN   Úoutsider   )r   r   rB   ry   r$   r<  Ú
startswithÚsplitr=  rÆ  rs   r>  r?  s       r1   Útest_fig_legend_set_locrE     s{   € ä�l‰l‹n�G€CˆØ‡G�GŒE�"‹I˜V€GÔ$Ø
�*‰*‹,€CØ‡K�K�ÔàŸN™N¨9Ô5ˆ#�)‰)‹+�aŠ.¸3€CØ�<‰<‹>œWŸ^™^×1Ñ1°#Ñ6Ò6Ð6Ñ6r3   c                 ó  — t        j                  «       \  }}|j                  t        d«      d¬«       |j	                  «       }|j                  | «       |j                  «       d   j                  | k(  sJ ‚|j                  «       | k(  sJ ‚y )Nr   rü   rN   r   )	r   r   rB   ry   r$   Úset_alignmentr7  rV   r8  r9  s       r1   Útest_legend_set_alignmentrH  +  sw   € ä�l‰l‹n�G€CˆØ‡G�GŒE�"‹I˜V€GÔ$Ø
�)‰)‹+€CØ×Ñ�iÔ Ø×ÑÓ˜aÑ ×&Ñ&¨)Ò3Ð3Ð3Ø×ÑÓ )Ò+Ð+Ñ+r3   r/   )r·  rº  )r   r   r   c                 óN  — t        j                  «       \  }}|j                  t        j                  d«      t        j                  d«      dz  d¬«       |j                  t        j                  d«      t        j                  d«      dz  d¬«       |j                  t        j                  d«      t        j                  d«      dz  d¬«       |j                  | ¬	«      }|j                  «       D ]2  }t        j                  j                  |j                  «       | «      rŒ2J ‚ y )
Nr   r   ú#1rN   r5   ú#2rl   ú#3©Ú
labelcolor)r   r   rB   r   rQ   r$   r  rÆ   r*   Ú
same_colorÚ	get_color©r/   r+   r,   r…   rò  s        r1   Útest_legend_labelcolor_singlerR  5  sË   € ô �l‰l‹n�G€CˆØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$€GÔ7Ø‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$€GÔ7Ø‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$€GÔ7à
�)‰)˜uˆ)Ó
%€CØ—‘“ò >ˆÜ�z‰z×$Ñ$ T§^¡^Ó%5°uÕ=Ð=Ð=ñ>r3   c                  óp  — t        j                  «       \  } }|j                  t        j                  d«      t        j                  d«      dz  d¬«       |j                  t        j                  d«      t        j                  d«      dz  d¬«       |j                  t        j                  d«      t        j                  d«      dz  d¬«       |j                  g d	¢¬
«      }t        |j                  «       g d	¢«      D ]5  \  }}t        j                  j                  |j                  «       |«      rŒ5J ‚ y )Nr   r   rJ  rN   r5   rK  rl   rL  ©r   r   r   rM  ©r   r   rB   r   rQ   r$   r   r  rÆ   r*   rO  rP  ©r+   r,   r…   rò  r/   s        r1   Útest_legend_labelcolor_listrW  B  sÔ   € ä�l‰l‹n�G€CˆØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$€GÔ7Ø‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$€GÔ7Ø‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$€GÔ7à
�)‰)šˆ)Ó
/€CÜ˜3Ÿ=™=›?ªOÓ<ò >‰ˆˆeÜ�z‰z×$Ñ$ T§^¡^Ó%5°uÕ=Ð=Ð=ñ>r3   c                  ór  — t        j                  «       \  } }|j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      d	z  d
d¬«       |j                  d¬«      }t        |j                  «       g d¢«      D ]5  \  }}t        j                  j                  |j                  «       |«      rŒ5J ‚ y )Nr   r   rJ  r   ©r   r/   r5   rK  r   rl   rL  r   Ú	linecolorrM  rT  rU  rV  s        r1   Ú test_legend_labelcolor_linecolorr[  N  sÚ   € ä�l‰l‹n�G€CˆØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$¸c€GÔBØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$¸c€GÔBØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$¸c€GÔBà
�)‰)˜{ˆ)Ó
+€CÜ˜3Ÿ=™=›?ªOÓ<ò >‰ˆˆeÜ�z‰z×$Ñ$ T§^¡^Ó%5°uÕ=Ð=Ð=ñ>r3   c                  ór  — t        j                  «       \  } }|j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      d	z  d
d¬«       |j                  d¬«      }t        |j                  «       g d¢«      D ]5  \  }}t        j                  j                  |j                  «       |«      rŒ5J ‚ y )Nr   r   rJ  r   r   r5   rK  r   rl   rL  r   rZ  rM  rT  ©r   r   r    r   rQ   r$   r   r  rÆ   r*   rO  rP  rV  s        r1   Ú/test_legend_pathcollection_labelcolor_linecolorr^  Z  sÚ   € ä�l‰l‹n�G€CˆØ‡J�JŒr�y‰y˜‹}œbŸi™i¨›m¨A™o°T¸S€JÔAØ‡J�JŒr�y‰y˜‹}œbŸi™i¨›m¨A™o°T¸S€JÔAØ‡J�JŒr�y‰y˜‹}œbŸi™i¨›m¨A™o°T¸S€JÔAà
�)‰)˜{ˆ)Ó
+€CÜ˜3Ÿ=™=›?ªOÓ<ò >‰ˆˆeÜ�z‰z×$Ñ$ T§^¡^Ó%5°uÕ=Ð=Ð=ñ>r3   c                  ó„  — t        j                  «       \  } }t        j                  g d¢dz  «      }|j	                  t        j
                  d«      t        j
                  d«      d|¬«       |j                  d¬«      }|j                  «       \  }t        j                  j                  |j                  «       d«      sJ ‚y )	N©r   r   r   r   rU   r5   r   rJ  r   rZ  rM  Úblack)r   r   r   r•   r    rQ   r$   r  rÆ   r*   rO  rP  )r+   r,   r*   r…   rò  s        r1   Ú8test_legend_pathcollection_labelcolor_linecolor_iterablerb  f  s‰   € ô �l‰l‹n�G€CˆÜ�X‰XÒ/°!Ñ3Ó4€FØ‡J�JŒr�y‰y˜‹}œbŸi™i¨›m°4¸6€JÔBà
�)‰)˜{ˆ)Ó
+€CØ�M‰M‹O�E€DÜ�:‰:× Ñ  §¡Ó!1°7Ô;Ð;Ñ;r3   c                  óv  — t        j                  «       \  } }|j                  t        j                  d«      t        j                  d«      t        j                  d«      d¬«       |j                  d¬«      }|j                  «       \  }t        j                  j                  |j                  «       d«      sJ ‚y )Nr   rJ  ©r   r   rZ  rM  ra  )r   r   r    r   rQ   r$   r  rÆ   r*   rO  rP  )r+   r,   r…   rò  s       r1   Ú4test_legend_pathcollection_labelcolor_linecolor_cmapre  r  s}   € ô �l‰l‹n�G€CˆØ‡J�JŒr�y‰y˜‹}œbŸi™i¨›m¬r¯y©y¸«}ÀD€JÔIà
�)‰)˜{ˆ)Ó
+€CØ�M‰M‹O�E€DÜ�:‰:× Ñ  §¡Ó!1°7Ô;Ð;Ñ;r3   c                  ór  — t        j                  «       \  } }|j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      d	z  d
d¬«       |j                  d¬«      }t        |j                  «       g d¢«      D ]5  \  }}t        j                  j                  |j                  «       |«      rŒ5J ‚ y )Nr   r   rJ  r   ©r   Úmarkeredgecolorr5   rK  r   rl   rL  r   rh  rM  rT  rU  rV  s        r1   Ú&test_legend_labelcolor_markeredgecolorri  }  óÛ   € ä�l‰l‹n�G€CˆØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$È€GÔLØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$È€GÔLØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$È€GÔLà
�)‰)Ð0ˆ)Ó
1€CÜ˜3Ÿ=™=›?ªOÓ<ò >‰ˆˆeÜ�z‰z×$Ñ$ T§^¡^Ó%5°uÕ=Ð=Ð=ñ>r3   c                  ór  — t        j                  «       \  } }|j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      d	z  d
d¬«       |j                  d¬«      }t        |j                  «       g d¢«      D ]5  \  }}t        j                  j                  |j                  «       |«      rŒ5J ‚ y )Nr   r   rJ  r   ©r   rï   r5   rK  r   rl   rL  r   rh  rM  rT  r]  rV  s        r1   Ú5test_legend_pathcollection_labelcolor_markeredgecolorrm  ‰  óÛ   € ä�l‰l‹n�G€CˆØ‡J�JŒr�y‰y˜‹}œbŸi™i¨›m¨A™o°TÀS€JÔIØ‡J�JŒr�y‰y˜‹}œbŸi™i¨›m¨A™o°TÀS€JÔIØ‡J�JŒr�y‰y˜‹}œbŸi™i¨›m¨A™o°TÀS€JÔIà
�)‰)Ð0ˆ)Ó
1€CÜ˜3Ÿ=™=›?ªOÓ<ò >‰ˆˆeÜ�z‰z×$Ñ$ T§^¡^Ó%5°uÕ=Ð=Ð=ñ>r3   c                  ó¦  — t        j                  «       \  } }t        j                  g d¢dz  «      }|j	                  t        j
                  d«      t        j
                  d«      d|¬«       |j                  d¬«      }t        |j                  «       dg«      D ]5  \  }}t        j                  j                  |j                  «       |«      rŒ5J ‚ y )	Nr`  r5   r   rJ  rl  rh  rM  rÄ  ©r   r   r   r•   r    rQ   r$   r   r  rÆ   r*   rO  rP  ©r+   r,   r*   r…   rò  r/   s         r1   Ú>test_legend_pathcollection_labelcolor_markeredgecolor_iterablerr  •  óŸ   € ô �l‰l‹n�G€CˆÜ�X‰XÒ/°!Ñ3Ó4€FØ‡J�JŒr�y‰y˜‹}œbŸi™i¨›m°4À6€JÔJà
�)‰)Ð0ˆ)Ó
1€CÜ˜3Ÿ=™=›?¨S¨EÓ2ò >‰ˆˆeÜ�z‰z×$Ñ$ T§^¡^Ó%5°uÕ=Ð=Ð=ñ>r3   c                  ó  — t        j                  «       \  } }t        j                  d   t        j
                  j                  d«      «      }|j                  t	        j                  d«      t	        j                  d«      dt	        j                  d«      |d¬«       |j                  d¬«      }t        |j                  «       dg«      D ]5  \  }}t        j                  j                  |j                  «       |«      rŒ5J ‚ y )	NÚviridisr   rJ  ÚReds)r   r   rï   Úcmaprh  rM  rÄ  ©r   r   rÆ   Ú	colormapsr   r   r¾  r    rQ   r$   r   r  r*   rO  rP  )r+   r,   r¼  r…   rò  r/   s         r1   Ú:test_legend_pathcollection_labelcolor_markeredgecolor_cmaprz  ¡  sÄ   € ô �l‰l‹n�G€CˆÜ—‘˜yÑ)¬"¯)©)¯.©.¸Ó*<Ó=€JØ‡J�JÜ
�	‰	�"‹Ü
�	‰	�"‹ØÜ
�)‰)�B‹-ØØð ô ð �)‰)Ð0ˆ)Ó
1€CÜ˜3Ÿ=™=›?¨S¨EÓ2ò >‰ˆˆeÜ�z‰z×$Ñ$ T§^¡^Ó%5°uÕ=Ð=Ð=ñ>r3   c                  ór  — t        j                  «       \  } }|j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      d	z  d
d¬«       |j                  d¬«      }t        |j                  «       g d¢«      D ]5  \  }}t        j                  j                  |j                  «       |«      rŒ5J ‚ y )Nr   r   rJ  r   ©r   Úmarkerfacecolorr5   rK  r   rl   rL  r   r}  rM  rT  rU  rV  s        r1   Ú&test_legend_labelcolor_markerfacecolorr~  ´  rj  r3   c                  ór  — t        j                  «       \  } }|j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      d	z  d
d¬«       |j                  d¬«      }t        |j                  «       g d¢«      D ]5  \  }}t        j                  j                  |j                  «       |«      rŒ5J ‚ y )Nr   r   rJ  r   ©r   rµ  r5   rK  r   rl   rL  r   r}  rM  rT  r]  rV  s        r1   Ú5test_legend_pathcollection_labelcolor_markerfacecolorr�  À  rn  r3   c                  ó¦  — t        j                  «       \  } }t        j                  g d¢dz  «      }|j	                  t        j
                  d«      t        j
                  d«      d|¬«       |j                  d¬«      }t        |j                  «       dg«      D ]5  \  }}t        j                  j                  |j                  «       |«      rŒ5J ‚ y )	Nr`  r5   r   rJ  r€  r}  rM  rÄ  rp  rq  s         r1   Ú>test_legend_pathcollection_labelcolor_markerfacecolor_iterablerƒ  Ì  rs  r3   c                  óÜ  — t        j                  «       \  } }t        j                  d   t        j
                  j                  d«      «      }|j                  t	        j                  d«      t	        j                  d«      d|¬«       |j                  d¬«      }t        |j                  «       dg«      D ]5  \  }}t        j                  j                  |j                  «       |«      rŒ5J ‚ y )Nru  r   rJ  r   r}  rM  rÄ  rx  rq  s         r1   Ú8test_legend_pathcollection_labelcolor_markfacecolor_cmapr…  Ø  s¶   € ô �l‰l‹n�G€CˆÜ�]‰]˜9Ñ%¤b§i¡i§n¡n°RÓ&8Ó9€FØ‡J�JÜ
�	‰	�"‹Ü
�	‰	�"‹ØØ
ð	 ô ð �)‰)Ð0ˆ)Ó
1€CÜ˜3Ÿ=™=›?¨S¨EÓ2ò >‰ˆˆeÜ�z‰z×$Ñ$ T§^¡^Ó%5°uÕ=Ð=Ð=ñ>r3   c                 óp  — t        j                  «       \  }}|j                  t        j                  d«      t        j                  d«      dz  d¬«       |j                  t        j                  d«      t        j                  d«      dz  d¬«       |j                  t        j                  d«      t        j                  d«      dz  d¬«       | t
        j                  d	<   |j                  «       }|j                  «       D ]2  }t
        j                  j                  |j                  «       | «      rŒ2J ‚ y )
Nr   r   rJ  rN   r5   rK  rl   rL  úlegend.labelcolor)r   r   rB   r   rQ   rÆ   r¿   r$   r  r*   rO  rP  rQ  s        r1   Ú%test_legend_labelcolor_rcparam_singlerˆ  é  sÕ   € ô �l‰l‹n�G€CˆØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$€GÔ7Ø‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$€GÔ7Ø‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$€GÔ7à(-„C‡L�LÐ$Ñ%Ø
�)‰)‹+€CØ—‘“ò >ˆÜ�z‰z×$Ñ$ T§^¡^Ó%5°uÕ=Ð=Ð=ñ>r3   c                  ó”  — t        j                  «       \  } }|j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      d	z  d
d¬«       dt
        j                  d<   |j                  «       }t        |j                  «       g d¢«      D ]5  \  }}t
        j                  j                  |j                  «       |«      rŒ5J ‚ y )Nr   r   rJ  r   rY  r5   rK  r   rl   rL  r   rZ  r‡  rT  ©r   r   rB   r   rQ   rÆ   r¿   r$   r   r  r*   rO  rP  rV  s        r1   Ú(test_legend_labelcolor_rcparam_linecolorr‹  ÷  sä   € ä�l‰l‹n�G€CˆØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$¸c€GÔBØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$¸c€GÔBØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$¸c€GÔBà(3„C‡L�LÐ$Ñ%Ø
�)‰)‹+€CÜ˜3Ÿ=™=›?ªOÓ<ò >‰ˆˆeÜ�z‰z×$Ñ$ T§^¡^Ó%5°uÕ=Ð=Ð=ñ>r3   c                  ó”  — t        j                  «       \  } }|j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      d	z  d
d¬«       dt
        j                  d<   |j                  «       }t        |j                  «       g d¢«      D ]5  \  }}t
        j                  j                  |j                  «       |«      rŒ5J ‚ y )Nr   r   rJ  r   rg  r5   rK  r   rl   rL  r   rh  r‡  rT  rŠ  rV  s        r1   Ú.test_legend_labelcolor_rcparam_markeredgecolorr�    óä   € ä�l‰l‹n�G€CˆØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$È€GÔLØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$È€GÔLØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$È€GÔLà(9„C‡L�LÐ$Ñ%Ø
�)‰)‹+€CÜ˜3Ÿ=™=›?ªOÓ<ò >‰ˆˆeÜ�z‰z×$Ñ$ T§^¡^Ó%5°uÕ=Ð=Ð=ñ>r3   c                  ó”  — t        j                  «       \  } }|j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      d	z  d
d¬«       dt
        j                  d<   |j                  «       }t        |j                  «       g d¢«      D ]5  \  }}t
        j                  j                  |j                  «       |«      rŒ5J ‚ y )Nr   r   rJ  r   rg  r5   rK  r   rl   rL  r   Úmecr‡  rT  rŠ  rV  s        r1   Ú4test_legend_labelcolor_rcparam_markeredgecolor_shortr‘    óä   € ä�l‰l‹n�G€CˆØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$È€GÔLØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$È€GÔLØ‡G�GŒB�I‰I�b‹Mœ2Ÿ9™9 R›=¨™?°$È€GÔLà(-„C‡L�LÐ$Ñ%Ø
�)‰)‹+€CÜ˜3Ÿ=™=›?ªOÓ<ò >‰ˆˆeÜ�z‰z×$Ñ$ T§^¡^Ó%5°uÕ=Ð=Ð=ñ>r3   c                  ó”  — t        j                  «       \  } }|j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      d	z  d
d¬«       dt
        j                  d<   |j                  «       }t        |j                  «       g d¢«      D ]5  \  }}t
        j                  j                  |j                  «       |«      rŒ5J ‚ y )Nr   r   rJ  r   r|  r5   rK  r   rl   rL  r   r}  r‡  rT  rŠ  rV  s        r1   Ú.test_legend_labelcolor_rcparam_markerfacecolorr”    rŽ  r3   c                  ó”  — t        j                  «       \  } }|j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      dz  dd¬«       |j                  t        j                  d«      t        j                  d«      d	z  d
d¬«       dt
        j                  d<   |j                  «       }t        |j                  «       g d¢«      D ]5  \  }}t
        j                  j                  |j                  «       |«      rŒ5J ‚ y )Nr   r   rJ  r   r|  r5   rK  r   rl   rL  r   Úmfcr‡  rT  rŠ  rV  s        r1   Ú4test_legend_labelcolor_rcparam_markerfacecolor_shortr—  +  r’  r3   c                 óB  — |j                   d   j                  «       }|j                  «       d   }| d   d   } t        j                  j                  ||«      sJ ‚|r`t        j                  j                  ||j                  «       «      sJ ‚t        j                  j                  || j                  «       «      sJ ‚|rat        j                  j                  ||j                  «       «      sJ ‚t        j                  j                  || j                  «       «      sJ ‚yy)zÀ
    Check that histogram color, legend handle color, and legend label color all
    match the expected input. Provide facecolor and edgecolor flags to clarify
    which feature to match.
    rW   r   N)ÚtextsrP  Úget_patchesrÆ   r*   rO  Úget_facecolorÚget_edgecolor)Ú	histogramr…   Úexpected_colorrµ  rï   Úlabel_colorrù   s          r1   Úassert_last_legend_patch_colorr   8  sê   € ð —)‘)˜B‘-×)Ñ)Ó+€KØ�O‰OÓ˜bÑ!€EØ˜"‘˜aÑ €IÜ�:‰:× Ñ  ¨nÔ=Ð=Ð=ÙÜ�z‰z×$Ñ$ [°%×2EÑ2EÓ2GÔHÐHÐHÜ�z‰z×$Ñ$ [°)×2IÑ2IÓ2KÔLÐLÐLÙÜ�z‰z×$Ñ$ [°%×2EÑ2EÓ2GÔHÐHÐHÜ�z‰z×$Ñ$ [°)×2IÑ2IÓ2KÔLÐLÑLð r3   c                  ó|  — t        j                  d«      } t        j                  «       \  }}|j	                  | ddd¬«      }|j                  d¬«      }t        ||dd¬	«       |j	                  | d
dd¬«      }|j                  d¬«      }t        ||dd¬«       |j	                  | ddd¬«      }|j                  d¬«      }t        ||dd¬	«       |j	                  | dddd¬«      }|j                  d¬«      }t        ||dd¬	«       |j	                  | dddd¬«      }|j                  d¬«      }t        ||dd¬	«       |j	                  | dddd¬«      }|j                  d¬«      }t        ||dd¬«       |j	                  | d
ddd¬«      }|j                  d¬«      }t        ||dd¬«       |j	                  | d
dd¬«      }|j                  d¬«      }t        ||dd¬«       |j	                  | dddd¬«      }|j                  d¬«      }t        ||dd¬	«       |j	                  | dddd¬«      }|j                  d¬«      }t        ||dd¬	«       |j	                  | dddd¬«      }|j                  d¬«      }t        ||dd¬«       |j	                  | dddd¬«      }|j                  d¬«      }t        ||dd¬	«       y )Nr   rZ   r   zred bar hist with a red label)ru   r/   r   rZ  rM  T©rµ  rp   r   zgreen step hist, green label©rï   rq   r   z&blue stepfilled hist with a blue labelz,red bar hist with blue edges and a red label)ru   r/   Úecr   )ru   r�   r¤  r   rº  z(unfilled blue bar hist with a blue labelz blue step hist with a blue label)ru   r¤  r   z*red stepfilled hist, blue edges, red labelz)unfilled blue stepfilled hist, blue labelz-edgeless red stepfilled hist with a red label)r   rQ   r   r   rx   r$   r   )r-   r+   r,   r  r…   s        r1   Ú+test_legend_labelcolor_linecolor_histogramsr¥  K  sì  € Ü
�	‰	�"‹€Aô �l‰l‹n�G€CˆØ
�‰�˜E¨Ð4SˆÓT€AØ
�)‰)˜{ˆ)Ó
+€CÜ" 1 c¨3¸$Õ?à
�‰�˜F¨#Ð5SˆÓT€AØ
�)‰)˜{ˆ)Ó
+€CÜ" 1 c¨3¸$Õ?à
�‰�˜L°Ø>ð 	ó 	@€Aà
�)‰)˜{ˆ)Ó
+€CÜ" 1 c¨3¸$Õ?ð 	�‰�˜E¨°ØDð 	ó 	F€Aà
�)‰)˜{ˆ)Ó
+€CÜ" 1 c¨3¸$Õ?à
�‰�˜E c¨cØDð 	ó 	F€Aà
�)‰)˜{ˆ)Ó
+€CÜ" 1 c¨3¸$Õ?à
�‰�˜E f°Ø@ð 	ó 	B€Aà
�)‰)˜{ˆ)Ó
+€CÜ" 1 c¨3¸$Õ?ð 	�‰�˜F¨#°#Ø8ð 	ó 	:€Aà
�)‰)˜{ˆ)Ó
+€CÜ" 1 c¨3¸$Õ?à
�‰�˜F sØ8ð 	ó 	:€Aà
�)‰)˜{ˆ)Ó
+€CÜ" 1 c¨3¸$Õ?ð 	�‰�˜L°¸ØBð 	ó 	D€Aà
�)‰)˜{ˆ)Ó
+€CÜ" 1 c¨3¸$Õ?à
�‰�˜L¨S°SØBð 	ó 	D€Aà
�)‰)˜{ˆ)Ó
+€CÜ" 1 c¨3¸$Õ?à
�‰�˜L¨V¸ØAð 	ó 	C€Aà
�)‰)˜{ˆ)Ó
+€CÜ" 1 c¨3¸$Õ?à
�‰�˜L¨S°VØEð 	ó 	G€Aà
�)‰)˜{ˆ)Ó
+€CÜ" 1 c¨3¸$Ö?r3   c                 óö  — |j                   d   j                  «       }|j                  «       d   }t        j                  j                  ||«      sJ ‚|r`t        j                  j                  ||j                  «       «      sJ ‚t        j                  j                  || j                  «       «      sJ ‚|r`t        j                  j                  ||j                  «       «      sJ ‚t        j                  j                  || j                  «       «      sJ ‚|rat        j                  j                  ||j                  «       «      sJ ‚t        j                  j                  || j                  «       «      sJ ‚yy)zÉ
    Check that line marker color, legend handle color, and legend label color all
    match the expected input. Provide color, facecolor and edgecolor flags to clarify
    which feature to match.
    rW   N)r™  rP  rC   rÆ   r*   rO  Úget_markerfacecolorÚget_markeredgecolor)Úline_markerr…   rž  r/   rµ  rï   rŸ  Ú
leg_markers           r1   Ú#assert_last_legend_linemarker_colorr«  Ž  s$  € ð —)‘)˜B‘-×)Ñ)Ó+€KØ—‘“ Ñ$€JÜ�:‰:× Ñ  ¨nÔ=Ð=Ð=ÙÜ�z‰z×$Ñ$ [°*×2FÑ2FÓ2HÔIÐIÐIÜ�z‰z×$Ñ$ [°+×2GÑ2GÓ2IÔJÐJÐJÙÜ�z‰z×$Ñ$ [°*×2PÑ2PÓ2RÔSÐSÐSÜ�z‰z×$Ñ$ [°+×2QÑ2QÓ2SÔTÐTÐTÙÜ�z‰z×$Ñ$ [°*×2PÑ2PÓ2RÔSÐSÐSÜ�z‰z×$Ñ$ [°+×2QÑ2QÓ2SÔTÐTÑTð r3   c                  óp  — t        j                  d«      } t        j                  «       \  }}|j	                  | dd¬«      \  }|j                  d¬«      }t        ||dd¬«       |j	                  | d	dd
¬«      \  }|j                  d¬«      }t        ||dd¬«       |j	                  | d	ddd¬«      \  }|j                  d¬«      }t        ||dd¬«       |j	                  | d	ddd¬«      \  }|j                  d¬«      }t        ||dd¬«       |j	                  | d	ddd¬«      \  }|j                  d¬«      }t        ||dd¬«       |j	                  | d	ddd¬«      \  }|j                  d¬«      }t        ||dd¬«       |j	                  | d	ddd¬«      \  }|j                  d¬«      }t        ||d«       y )Nr   r   zred line with a red labelrd  rZ  rM  TrÌ  rL   úred circles with a red labelr   ú"red circles, blue edges, red label)r   r�  r   )r–  r�  r   r¢  rº  ú!blue unfilled circles, blue labelr£  úred edgeless circles, red labelú7black label despite invisible circles for dummy entriesrÄ  )r   rQ   r   r   rB   r$   r«  )r-   r+   r,   r  r…   s        r1   Ú%test_legend_labelcolor_linecolor_plotr²  £  s¶  € Ü
�	‰	�!‹€Aô �l‰l‹n�G€CˆØ	�‰��cÐ!<ˆÓ	=�B€AØ
�)‰)˜{ˆ)Ó
+€CÜ'¨¨3°¸4Õ@ð 
�‰��C˜3Ð&DˆÓ	E�B€AØ
�)‰)˜{ˆ)Ó
+€CÜ'¨¨3°¸4Õ@à	�‰��C˜3 CÐ/SˆÓ	T�B€AØ
�)‰)˜{ˆ)Ó
+€CÜ'¨¨3°¸4Õ@à	�‰��C˜S cÐ1UˆÓ	V�B€AØ
�)‰)˜{ˆ)Ó
+€CÜ'¨¨3°¸tÕDð 
�‰��C˜V¨Ø:ð 
ó 
<�B€Aà
�)‰)˜{ˆ)Ó
+€CÜ'¨¨3°¸tÕDà	�‰��C˜S fÐ4UˆÓ	V�B€AØ
�)‰)˜{ˆ)Ó
+€CÜ'¨¨3°¸tÕDà	�‰��C˜6 vØPð 
ó 
R�B€Aà
�)‰)˜{ˆ)Ó
+€CÜ'¨¨3°Õ4r3   c                 ó*  — |j                   d   j                  «       }|j                  d   }t        j                  j                  ||«      sJ ‚|r`t        j                  j                  ||j                  «       «      sJ ‚t        j                  j                  || j                  «       «      sJ ‚|rat        j                  j                  ||j                  «       «      sJ ‚t        j                  j                  || j                  «       «      sJ ‚yy)zÅ
    Check that scatter marker color, legend handle color, and legend label color all
    match the expected input. Provide facecolor and edgecolor flags to clarify
    which feature to match.
    rW   N)r™  rP  r	  rÆ   r*   rO  r›  rœ  )Úscatter_markerr…   rž  rµ  rï   rŸ  Ú
leg_handles          r1   Ú&assert_last_legend_scattermarker_colorr¶  É  sÛ   € ð —)‘)˜B‘-×)Ñ)Ó+€KØ×#Ñ# BÑ'€JÜ�:‰:× Ñ  ¨nÔ=Ð=Ð=ÙÜ�z‰z×$Ñ$ [°*×2JÑ2JÓ2LÔMÐMÐMÜ�z‰z×$Ñ$ [°.×2NÑ2NÓ2PÔQÐQÐQÙÜ�z‰z×$Ñ$ [°*×2JÑ2JÓ2LÔMÐMÐMÜ�z‰z×$Ñ$ [°.×2NÑ2NÓ2PÔQÐQÑQð r3   c                  óê  — t        j                  d«      } t        j                  «       \  }}|j	                  | | dd¬«      }|j                  d¬«      }t        ||dd¬«       |j	                  | | dd	d
¬«      }|j                  d¬«      }t        ||dd¬«       |j	                  | | dd	d
¬«      }|j                  d¬«      }t        ||dd¬«       |j	                  | | dd	d¬«      }|j                  d¬«      }t        ||d	d¬«       |j	                  | | ddd¬«      }|j                  d¬«      }t        ||dd¬«       |j	                  | | ddd¬«      }|j                  d¬«      }t        ||d«       y )Nr   r   r­  rd  rZ  rM  Tr¢  r   r®  )r   r¤  r   )r�   r¤  r   rº  r¯  r£  r°  r±  rÄ  )r   rQ   r   r   r    r$   r¶  )r-   r+   r,   r¶  r…   s        r1   Ú(test_legend_labelcolor_linecolor_scatterr¸  Û  sn  € Ü
�	‰	�!‹€Aô �l‰l‹n�G€CˆØ
�
‰
�1�a˜3Ð&Dˆ
ÓE€AØ
�)‰)˜{ˆ)Ó
+€CÜ*¨1¨c°3À$ÕGà
�
‰
�1�a˜3 3Ð.Rˆ
ÓS€AØ
�)‰)˜{ˆ)Ó
+€CÜ*¨1¨c°3À$ÕGà
�
‰
�1�a˜C CÐ/Sˆ
ÓT€AØ
�)‰)˜{ˆ)Ó
+€CÜ*¨1¨c°3À$ÕGð 	�
‰
�1�a˜F sÐ2Uˆ
ÓV€AØ
�)‰)˜{ˆ)Ó
+€CÜ*¨1¨c°3À$ÕGà
�
‰
�1�a˜C FÐ2Sˆ
ÓT€AØ
�)‰)˜{ˆ)Ó
+€CÜ*¨1¨c°3À$ÕGà
�
‰
�1�a˜6 fØRð 	ó 	T€Aà
�)‰)˜{ˆ)Ó
+€CÜ*¨1¨c°3Õ7r3   z4ignore:No artists with labels found to put in legendc                  óÜ   — t        j                  «       } | j                  «       rJ ‚| j                  d«       | j                  «       sJ ‚| j                  d«       | j                  «       rJ ‚y )NTF)r   r$   Úget_draggableÚset_draggable©r$   s    r1   Útest_get_set_draggabler½  û  sb   € ä�Z‰Z‹\€FØ×#Ñ#Ô%Ð%Ð%Ø
×Ñ˜ÔØ×ÑÔ!Ð!Ð!Ø
×Ñ˜ÔØ×#Ñ#Ô%Ð%Ð%Ð%r3   Ú	draggable)TFc                 ó¶   — t        j                  «       \  }}|j                  t        d«      d¬«       |j	                  | ¬«      }|j                  «       | u sJ ‚y )Nr   ÚshabnamsrN   )r¾  )r   r   rB   ry   r$   rº  )r¾  r+   r,   r…   s       r1   Útest_legend_draggablerÁ    sL   € ä�l‰l‹n�G€CˆØ‡G�GŒE�"‹I˜Z€GÔ(Ø
�)‰)˜iˆ)Ó
(€CØ×ÑÓ )Ñ+Ð+Ñ+r3   c                  ó^  — t        j                  g d¢ddd¬«      \  } }}t        j                  «       }|j                  D ]  }|j	                  d«       Œ j                  «       d d |d   j                  «       d d k(  sJ ‚|j                  «       d d |d   j                  «       d d k(  sJ ‚y )	Nr¯   g      Ð?Údatar·  )r»  r   r/   rg   rW   r   )r   rx   r$   r	  Ú	set_alphar›  rœ  )r-   rÀ  Úhhr$   rë  s        r1   Útest_alpha_handlesrÆ    s¬   € Ü�x‰xš	¨°VÀ5ÔI�H€A€qˆ"Ü�Z‰Z‹\€FØ×#Ñ#ò ˆØ
�‰�SÕðà×ÑÓ˜c˜rÐ" b¨¡e×&9Ñ&9Ó&;¸C¸RÐ&@Ò@Ð@Ð@Ø×ÑÓ˜c˜rÐ" b¨¡e×&9Ñ&9Ó&;¸C¸RÐ&@Ò@Ð@Ñ@r3   c                 óD  — dt         j                  d<   dt         j                  d<   dt         j                  d<   t        j                  «       \  }}|j	                  ddd¬	«       |j                  d
¬«       |j                  j                  «        d| j                  vsJ ‚y )Nr%  zfont.familyzComputer Modernz
font.serifTztext.usetexr   ÚinputrN   rÍ   r+  z Font family ['serif'] not found.)	rÆ   r¿   r   r   rB   r$   rz   r{   rò  )Úcaplogr+   r,   s      r1   Útest_usetex_no_warnrÊ    s{   € à")„C‡L�L�ÑØ!2„C‡L�L�ÑØ"&„C‡L�L�Ñä�l‰l‹n�G€CˆØ‡G�GˆAˆq˜€GÔ Ø‡I�I�K€IÔ à‡J�J‡O�OÔØ-°V·[±[Ñ@Ð@Ñ@r3   c                 ó
  ‡— t        j                  dd¬«      Š| j                  t        dˆfd„«       t	        j
                  «       \  }}|j                  j                  «        g d¢}g d¢}|j                  ||dd	¬
«       t        ddi«      5  |j                  «       }d d d «       t        j                  t        d¬«      5 }|j                  «       d d d «       t        «      dk(  sJ ‚y # 1 sw Y   ŒOxY w# 1 sw Y   Œ&xY w)Nr   ç      ø?©rp   Úperf_counterc                  ó   •— t        ‰ «      S r7   ©Únext©Úcounters   €r1   ú<lambda>z-test_warn_big_data_best_loc.<locals>.<lambda>'  ó   ø€ ´d¸7³m€ r3   r_   rb   re   r:   rN   z
legend.locrP   zGCreating legend with loc="best" can be slow with large amounts of data.r)  r5   )Ú	itertoolsÚcountÚsetattrÚtimer   r   rz   r{   rB   r	   r$   r+  rb  rc  Údraw_artistrá   )Úmonkeypatchr+   r,   r-   r.   r$   ÚrecordsrÓ  s          @r1   Útest_warn_big_data_best_locrÝ  $  sÛ   ø€ ä�o‰o˜a cÔ*€GØ×Ñœ˜nÓ.CÔDä�l‰l‹n�G€CˆØ‡J�J‡O�OÔò 	'€AÚ*€AØ‡G�GˆAˆq�$˜f€GÔ%ä	�\ 6Ð*Ó	+ñ Ø—‘“ˆ÷ä	�‰”kð)ô
*ð  à-4Ø�‰˜Ô÷ ô ˆw‹<˜1ÒÐÑ÷ð ú÷ ð  ús   ÂC-ÃC9Ã-C6Ã9Dc                 óH  ‡— t        j                  dd¬«      Š| j                  t        dˆfd„«       t	        j
                  «       \  }}|j                  j                  «        g d¢}g d¢}|j                  ||dd	¬
«       |j                  d«      }|j                  |«       y )Nr   rÌ  rÍ  rÎ  c                  ó   •— t        ‰ «      S r7   rÐ  rÒ  s   €r1   rÔ  z:test_no_warn_big_data_when_loc_specified.<locals>.<lambda>?  rÕ  r3   r_   rb   re   r:   rN   rP   )rÖ  r×  rØ  rÙ  r   r   rz   r{   rB   r$   rÚ  )rÛ  r+   r,   r-   r.   r$   rÓ  s         @r1   Ú(test_no_warn_big_data_when_loc_specifiedrà  <  s}   ø€ ä�o‰o˜a cÔ*€GØ×Ñœ˜nÓ.CÔDä�l‰l‹n�G€CˆØ‡J�J‡O�OÔò 	'€AÚ*€AØ‡G�GˆAˆq�$˜f€GÔ%à�Y‰Y�vÓ€FØ‡O�O�FÕr3   Úlabel_arrayÚlowÚhigh)râ  rã  c                 ó
  — g d¢}ddgddgddgg}t        j                  «       \  }}|j                  ||| ¬«       |j                  «       }|j	                  «       D �cg c]  }|j                  «       ‘Œ }}|dd	gk(  sJ ‚y c c}w )
Nr¯   r   r5   r   rœ   rr   rN   râ  rã  )r   r   rB   r$   r  r  )rá  r-   r.   r+   r,   r…   ÚentryÚlegend_textss           r1   Ú'test_plot_multiple_input_multiple_labelrç  M  s‹   € ò 	€AØ
ˆQˆØ
ˆQˆØ
ˆQˆð	€Aô �l‰l‹n�G€CˆØ‡G�GˆAˆq˜€GÔ$Ø
�)‰)‹+€CØ25·-±-³/ÖB¨�E—N‘NÕ$ÐB€LÐBØ˜E 6˜?Ò*Ð*Ñ*ùò Cs   ÁB r   rÚ   r   c                 ó   — g d¢}ddgddgddgg}t        j                  «       \  }}|j                  ||| ¬«       |j                  «       }|j	                  «       D �cg c]  }|j                  «       ‘Œ }}|t        | «      gdz  k(  sJ ‚y c c}w )Nr¯   r   r5   r   rœ   rr   rN   )r   r   rB   r$   r  r  Ústr)r   r-   r.   r+   r,   r…   rå  ræ  s           r1   Ú%test_plot_multiple_input_single_labelrê  _  s’   € ò 	€AØ
ˆQˆØ
ˆQˆØ
ˆQˆð	€Aô �l‰l‹n�G€CˆØ‡G�GˆAˆq˜€GÔØ
�)‰)‹+€CØ25·-±-³/ÖB¨�E—N‘NÕ$ÐB€LÐBØœC ›J˜<¨!Ñ+Ò+Ð+Ñ+ùò Cs   ÁBc                  óÎ   — g d¢} g d¢}t        j                  «       \  }}t        j                  t        d¬«      5  |j                  | |ddg¬«       d d d «       y # 1 sw Y   y xY w)Nr¯   )r5   r   r*  z,label must be scalar or have the same lengthr)  râ  rã  rN   )r   r   r+  r,  r
  rB   )r-   r.   r+   r,   s       r1   Ú%test_plot_single_input_multiple_labelrì  o  sZ   € ò 	€AÚ€AÜ�l‰l‹n�G€CˆÜ	�‰”zØKô
Mñ -à
�‰��1˜U F˜OˆÔ,÷-÷ -ñ -ús   »AÁA$c                  ó�   — t        j                  «       \  } }|j                  dgdggdg¬«      \  }|j                  «       dk(  sJ ‚y )Nr   r   ÚArN   )r   r   rB   Ú	get_label)r+   r,   r:   s      r1   Ú!test_plot_single_input_list_labelrð  z  sD   € Ü�l‰l‹n�G€CˆØ�G‰G�a�S˜1˜#�J s eˆGÓ,�E€DØ�>‰>Ó˜sÒ"Ð"Ñ"r3   c                  óÜ   — t        j                  t        «      5  g d¢} ddgddgddgg}g d¢}t        j                  «       \  }}|j                  | ||¬«       d d d «       y # 1 sw Y   y xY w)	Nr¯   r   r5   r   rœ   rr   )rã  râ  ÚmediumrN   )r+  r,  r
  r   r   rB   )r-   r.   r   r+   r,   s        r1   Ú3test_plot_multiple_label_incorrect_length_exceptionró  €  sn   € ô 
�‰”zÓ	"ñ #ÚˆØ�ˆVØ�ˆVØ�ˆVðˆò *ˆÜ—,‘,“.‰ˆˆRØ
�‰��1˜EˆÔ"÷#÷ #ñ #ús   š?A"Á"A+c                  óŒ   — t        j                  «       \  } }|j                  g d¢g d¢g d¢ddd¬«       |j                  «        y )NrV  r¯   r°   r   ÚfaceÚFill)rµ  rï   r   )r   r   rø   r$   r¢   s     r1   Útest_legend_face_edgecolorr÷  �  s9   € ä�l‰l‹n�G€CˆØ‡O�O’Išyª)Ø!¨V¸6ð ô Cà‡I�I…Kr3   c                  óä   — t        j                  «       \  } }|j                  ddgddgd¬«       |j                  «       }|j                  |u sJ ‚|j                  «       d   j                  |u sJ ‚y )Nr   r5   rl   rœ   r:   rN   r   )r   r   rB   r$   r.  r  rÂ   s      r1   Útest_legend_text_axesrù  •  se   € Ü�l‰l‹n�G€CˆØ‡G�GˆQ�ˆF�Q˜�F &€GÔ)Ø
�)‰)‹+€Cà�8‰8�r‰>Ðˆ>Ø�=‰=‹?˜1Ñ×"Ñ" bÑ(Ð(Ñ(r3   c                  ó(  — t        j                  «       \  } }|j                  ddgddgd¬«       t        j                  dgdgd¬«      g}|j                  |dgd¬«      }|d   j                  «       |j                  d   j                  «       k(  sJ ‚y )Nr   r   rÅ  )r´  r  rî  )r   r   r    ÚmlinesÚLine2Dr$   r
  r	  )r+   r,   r0   r…   s       r1   Útest_handlerline2drý  ž  s‰   € ä�l‰l‹n�G€CˆØ‡J�J��1ˆv˜˜1�v c€JÔ*Ü�}‰}˜a˜S 1 #¨cÔ2Ð3€GØ
�)‰)�G˜j˜\°Qˆ)Ó
7€CØ�1‰:× Ñ Ó" c×&8Ñ&8¸Ñ&;×&FÑ&FÓ&HÒHÐHÑHr3   c                  óä   — t        j                  «       j                  «       } | j                  «       }|j	                  ddgddgd¬«       | j                  «       }|j                  d¬«      | u sJ ‚y )Nr   r   r:   rN   F)Úroot)r   rŸ   Ú
subfiguresr   rB   r$   Ú
get_figure)Úsubfigr,   r…   s      r1   Útest_subfigure_legendr  §  s`   € ä�Z‰Z‹\×$Ñ$Ó&€FØ	�‰Ó	€BØ‡G�GˆQ�ˆF�Q˜�F &€GÔ)Ø
�-‰-‹/€CØ�>‰>˜uˆ>Ó%¨Ñ/Ð/Ñ/r3   c                  ó~  — t        j                  ddgddgdd¬«      } t        j                  «       j                  «       d   }|j	                  d«       |j                  «       d d t        | j                  «       d   d d «      k(  sJ ‚|j                  «       d d t        | j                  «       d   d d «      k(  sJ ‚y )	Nr   r   r5   rl   z#123456r   )r/   r   r   )r   rø   r$   rš  rÄ  r›  Útuplerœ  )Úpcrù   s     r1   Ú-test_setting_alpha_keeps_polycollection_colorr  °  sµ   € Ü	×	Ñ	˜1˜a˜& 1 a &°	ÀÔ	I€BÜ�J‰J‹L×$Ñ$Ó& qÑ)€EØ	‡O�O�CÔØ×ÑÓ   !Ð$¬¨b×.>Ñ.>Ó.@ÀÑ.CÀBÀQÐ.GÓ(HÒHÐHÐHØ×ÑÓ   !Ð$¬¨b×.>Ñ.>Ó.@ÀÑ.CÀBÀQÐ.GÓ(HÒHÐHÑHr3   c            	      óò  — g d¢} t        j                  «       \  }}| D �cg c]  }t        j                  dgdgd|¬«      ‘Œ }}g d¢}|D �cg c]  }|j	                  «       ‘Œ }}|j                  ||«      }|j                  «       D �cg c]  }|j	                  «       ‘Œ }	}|j                  «       D �
cg c]  }
|
j                  «       ‘Œ }}
||	cxk(  r| k(  sJ ‚ J ‚||k(  sJ ‚y c c}w c c}w c c}w c c}
w )N)r  Ú*rÅ  r   ÚNone)Úlsr´  )r®  rZ   Úxyzzy)	r   r   rû  rü  r
  r$   rC   r  r  )Ú_markersr+   r,   Úmarkr   r)   r:   r  r$   Únew_markersrò  Ú
new_labelss               r1   Útest_legend_markers_from_line2dr  ¸  sô   € â€HÜ�l‰l‹n�G€Cˆà!ö#Øô �]‰]˜A˜3  ¨°tÖ<ð #€Eð #â$€FØ-2Ö3 Tˆt�‰Õ Ð3€GÐ3Ø�Y‰Y�u˜fÓ%€Fà17×1AÑ1AÓ1CÖD¨�4—?‘?Õ$ÐD€KÐDØ.4×.>Ñ.>Ó.@ÖA d�$—-‘-•/ÐA€JÐAà�kÔ- XÒ-Ð-Ñ-Ð-Ð-Ø�ZÒÐÑùò#ùò 4ùò EùÚAs    "C%ÁC*Â	C/Â4C4c                 ó\   — g d¢}d}| j                  ||¬«       |j                  ||¬«       y )N)r   r   r   r©   Úerú  rl   )Úncol)rn   r¼  )r  r  Ústringsrn   s       r1   Útest_ncol_ncolsr  É  s.   € ò -€GØ€EØ‡O�O�G %€OÔ(Ø‡N�N�7 %€NÕ(r3   c                  óÊ  — t        j                  «       \  } }t        j                  t        d¬«      5  |j                  ddg¬«       d d d «       t        j                  t        d¬«      5  |j                  ddg¬«       d d d «       t        j                  t        d¬«      5  |j                  d	dg¬«       d d d «       y # 1 sw Y   ŒzxY w# 1 sw Y   ŒNxY w# 1 sw Y   y xY w)
NzFloc must be string, coordinate tuple, or an integer 0-10, not \(1.1,\)r)  )rô   rñ  ©r   r)   zWloc must be string, coordinate tuple, or an integer 0-10, not \(0.481, 0.4227, 0.4523\))çbX9´ÈÞ?g“:M„Û?gmÅþ²{òÜ?zRloc must be string, coordinate tuple, or an integer 0-10, not \(0.481, 'go blue'\))r  zgo blue©r   r   r+  r,  r
  r$   r¢   s     r1   Ú test_loc_invalid_tuple_exceptionr  Ò  sÛ   € ô �l‰l‹n�G€CˆÜ	�‰”zð +Cô 
Eñ 5à
�	‰	�g { mˆ	Ô4÷5ô 
�‰”zð +Tô 
Vñ Eà
�	‰	Ð-°{°mˆ	ÔD÷Eô 
�‰”zð +Qô 
Sñ @à
�	‰	Ð(°+°ˆ	Ô?÷@ð @÷5ð 5ú÷Eð Eú÷@ð @ús#   ³CÁ+CÂ#CÃC
ÃCÃC"c                  ó‚   — t        j                  «       \  } }|j                  ddg¬«       |j                  ddg¬«       y )N)r  ç}?5^ºIÜ?rñ  r  )r   r5   ©r   r   r$   r¢   s     r1   Útest_loc_valid_tupler  ã  s5   € Ü�l‰l‹n�G€CˆØ‡I�I�.¨+¨€IÔ7Ø‡I�I�& + €IÕ/r3   c                  óŠ   — t        j                  «       \  } }|j                  ddgdg¬«       |j                  ddgdg¬«       y )Nr  r  rñ  r  r   r5   r  r¢   s     r1   Útest_loc_valid_listr!  é  s=   € Ü�l‰l‹n�G€CˆØ‡I�I�5˜%�.¨+¨€IÔ7Ø‡I�I�1�a�& + €IÕ/r3   c                  ó¾   — t        j                  «       \  } }t        j                  t        d¬«      5  |j                  g d¢dg¬«       d d d «       y # 1 sw Y   y xY w)NzOloc must be string, coordinate tuple, or an integer 0-10, not \[1.1, 2.2, 3.3\]r)  )rô   rÍ  gffffff
@rñ  r  r  r¢   s     r1   Útest_loc_invalid_list_exceptionr#  ï  sM   € Ü�l‰l‹n�G€CˆÜ	�‰”zð +Lô 
Nñ =à
�	‰	’o¨{¨mˆ	Ô<÷=÷ =ñ =úó   ³AÁAc                  ó¾   — t        j                  «       \  } }t        j                  t        d¬«      5  |j                  ddidg¬«       d d d «       y # 1 sw Y   y xY w)NzKloc must be string, coordinate tuple, or an integer 0-10, not {'not': True}r)  ÚnotTrñ  r  r  r¢   s     r1   Útest_loc_invalid_typer'  ö  sQ   € Ü�l‰l‹n�G€CˆÜ	�‰”zð +Fô 
Hñ ;à
�	‰	�u˜d�m¨[¨Mˆ	Ô:÷;÷ ;ñ ;úr$  c                  óâ  — t        j                  «       \  } }|j                  ddg¬«       |j                  ddg¬«       |j                  ddg¬«       |j                  ddg¬«       t        j                  t
        d¬«      5  |j                  d	dg¬«       d d d «       t        j                  t
        d
¬«      5  |j                  ddg¬«       d d d «       y # 1 sw Y   ŒBxY w# 1 sw Y   y xY w)Nr   rñ  r  r   r   r   z@loc must be string, coordinate tuple, or an integer 0-10, not 11r)  r:  z@loc must be string, coordinate tuple, or an integer 0-10, not -1rW   ©r   r   r$   r+  r,  r
  r¢   s     r1   Ú!test_loc_validation_numeric_valuer*  ý  sÔ   € Ü�l‰l‹n�G€CˆØ‡I�I�!˜[˜M€IÔ*Ø‡I�I�!˜[˜M€IÔ*Ø‡I�I�!˜[˜M€IÔ*Ø‡I�I�"˜k˜]€IÔ+Ü	�‰”zð +;ô 
=ñ 0à
�	‰	�b + ˆ	Ô/÷0ô 
�‰”zð +;ô 
=ñ 0à
�	‰	�b + ˆ	Ô/÷0ð 0÷	0ð 0ú÷0ð 0ús   ÂCÂ;C%ÃC"Ã%C.c                  ó†  — t        j                  «       \  } }dg}|j                  d|¬«       |j                  d|¬«       |j                  d|¬«       |j                  d|¬«       |j                  d|¬«       |j                  d|¬«       |j                  d|¬«       |j                  d|¬«       |j                  d	|¬«       |j                  d
|¬«       |j                  d|¬«       |j                  d|¬«       t        j                  t
        d¬«      5  |j                  d|¬«       d d d «       y # 1 sw Y   y xY w)Nrñ  rP   r  rÖ   r@   rà   r  rß   r   r   zlower centerzupper centerz 'wrong' is not a valid value forr)  Úwrongr)  )r+   r,   r)   s      r1   Ú test_loc_validation_string_valuer-    s  € Ü�l‰l‹n�G€CˆØˆ]€FØ‡I�I�& €IÔ(Ø‡I�I�-¨€IÔ/Ø‡I�I�& €IÔ(Ø‡I�I�-¨€IÔ/Ø‡I�I�, v€IÔ.Ø‡I�I�, v€IÔ.Ø‡I�I�-¨€IÔ/Ø‡I�I�' &€IÔ)Ø‡I�I�-¨€IÔ/Ø‡I�I�.¨€IÔ0Ø‡I�I�.¨€IÔ0Ø‡I�I�.¨€IÔ0Ü	�‰”zÐ)KÔ	Lñ .Ø
�	‰	�g fˆ	Ô-÷.÷ .ñ .ús   ÄD7Ä7E c                  óŒ  — t        j                  t        d«      «      \  } t        j                  t        d«      «      \  }t        j                  t
        d¬«      5  t        j                  | |gg d¢¬«      }t        |j                  «      dk(  sJ ‚t        |j                  «       «      dk(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr   znumber of handles and labelsr)  ©Úpl1Úpl2Úpl3©r0   r)   r5   )
r   rB   ry   r+  rb  rc  r$   rá   r	  r  ©r0  r1  r$   s      r1   Ú!test_legend_handle_label_mismatchr5    s˜   € Ü�8‰8”E˜"“IÓ�D€CÜ�8‰8”E˜"“IÓ�D€CÜ	�‰”kÐ)GÔ	Hñ ,Ü—‘ S¨# JÒ7LÔMˆÜ�6×(Ñ(Ó)¨QÒ.Ð.Ð.Ü�6×#Ñ#Ó%Ó&¨!Ò+Ð+Ñ+÷,÷ ,ñ ,ús   ÁAB:Â:Cc                  óN  — t        j                  t        d«      «      \  } t        j                  t        d«      «      \  }t        j                  t	        | |g«      t	        g d¢«      ¬«      }t        |j                  «      dk(  sJ ‚t        |j                  «       «      dk(  sJ ‚y )Nr   r/  r3  r5   )r   rB   ry   r$   Úiterrá   r	  r  r4  s      r1   Ú(test_legend_handle_label_mismatch_no_lenr8  (  s�   € Ü�8‰8”E˜"“IÓ�D€CÜ�8‰8”E˜"“IÓ�D€CÜ�Z‰Z¤ c¨3 ZÓ 0Ü#Ò$9Ó:ô<€Fäˆv×$Ñ$Ó%¨Ò*Ð*Ð*Üˆv×ÑÓ!Ó" aÒ'Ð'Ñ'r3   c                  óº   — t        j                  g d¢«       t        j                  t        d¬«      5  t        j
                  «        d d d «       y # 1 sw Y   y xY w)Nr¯   zNo artists with labels foundr)  )r   rB   r+  r,  rc  r$   r8   r3   r1   Útest_legend_nolabels_warningr:  1  s;   € Ü‡H�HŠYÔÜ	�‰”{Ð*HÔ	Iñ Ü�
‰
Œ÷÷ ñ ús   ³AÁAc                  ó¢   — t        j                  g d¢«       t        j                  «        t        j                  «       j	                  «       €J ‚y )Nr¯   )r   rB   r$   r"  rÿ   r8   r3   r1   Útest_legend_nolabels_drawr<  7  s2   € ä‡H�HŠYÔÜ‡J�J„LÜ�7‰7‹9×ÑÓ!Ð-Ð-Ñ-r3   c            	      ó6  — g d¢} g d¢}g d¢}g }t        j                  dd¬«      \  }}t        |j                  d«      D ]²  \  }}|j	                  | ||dd	d
¬«       |j                  dd«       |j                  dd«       |j                  |¬«      }|j                  j                  «        |j                  |j                  «       j                  |j                  j                  «       «      «       Œ´ t        |d   j                   |d   j                   «       y )Nr±   )r   r   r   )r   r   r   r5   ©r   r   rm   ©rP   rà   Úgrayr   zShaded Area)r/   r»  r   r   r*  rW   r   rA   r   )r   r   r   rv   rø   rh   ri   r$   rz   r{   r|   r}   r~   r   r€   r   r�   )	r-   r§  r¨  rƒ   r+   r‚   r,   r   r…   s	            r1   Útest_legend_loc_polycollectionrA  >  sò   € ò 	€AÚ	€BÚ	€BØ€JÜ�|‰| !¨WÔ5�H€CˆÜ�s—x‘xÐ!7Ó8ò J‰ˆˆCØ
�‰˜˜2˜r¨°sÀ-ˆÔPØ
�‰�A�qÔØ
�‰�B˜ÔØ�i‰i˜CˆiÓ ˆØ�
‰
�‰ÔØ×ÑØ×!Ñ!Ó#×/Ñ/°·±×0EÑ0EÓ0GÓHõ	JðJô �J˜q‘M×(Ñ(¨*°Q©-×*>Ñ*>Õ?r3   c                  ó
  — t        j                  dd¬«      \  } }g }t        |j                  d«      D ]¨  \  }}ddg}ddg}|j	                  ||d¬«       |j                  ddd	d
¬«       |j                  |¬«      }| j                  j                  «        |j                  |j                  «       j                  |j                  j                  «       «      «       Œª t        |d   j                  |d   j                  «       y )Nr5   r>  rm   r?  r   z	plot namerN   rÌ  zsome text blahblahÚtop)ÚverticalalignmentrA   r   )r   r   r   rv   rB   rò  r$   rz   r{   r|   r}   r~   r   r€   r   r�   )r+   r‚   rƒ   r,   r   r-   r.   r…   s           r1   Útest_legend_textrE  Q  sè   € ô �|‰| !¨WÔ5�H€CˆØ€JÜ�s—x‘xÐ!7Ó8ò J‰ˆˆCØ�ˆFˆØ�ˆFˆØ
�‰��1˜KˆÔ(Ø
�‰��QÐ,ÀˆÔFØ�i‰i˜CˆiÓ ˆØ�
‰
�‰ÔØ×ÑØ×!Ñ!Ó#×/Ñ/°·±×0EÑ0EÓ0GÓHõ	JðJô �J˜q‘M×(Ñ(¨*°Q©-×*>Ñ*>Õ?r3   c                  óŽ  — t        j                  «       \  } }|j                  g d¢d¬«       |j                  dd¬«       |j	                  d¬«       t
        j                  j                  | d	| j                  ¬
«      5 }| j                  t        j                  «       «       d d d «       j                  «        y # 1 sw Y   ŒxY w)Nr¯   ÚLinerN   r   )r   r   )r�   r   rA   Ú_get_renderer)Úwraps)r   r   rB   Úannotater$   r   rù   ÚobjectrH  ÚsavefigÚioÚBytesIOÚassert_not_called)r+   r,   Úmocked_get_renderers      r1   Útest_legend_annotaterQ  b  s›   € Ü�l‰l‹n�G€Cˆà‡G�GŠI˜V€GÔ$Ø‡K�K�˜€KÔØ‡I�I�!€IÔä	�‰×	Ñ	Ø�¨×(9Ñ(9ð 
ó 
;ð "Ø>QØ�‰”B—J‘J“LÔ!÷"ð
 ×)Ñ)Õ+÷"ð "ús   Á>$B;Â;Cc                  ó°  — t         j                  j                  d«       t         j                  j                  d«      } t        j                  dd¬«      \  }}g d¢}|d   j                  | d|¬	«      }|d
   D �cg c]  }|j                  «       ‘Œ c}|k(  sJ ‚|d   j                  «       \  }}||k(  sJ ‚t        d„ |D «       «      sJ ‚|d   j                  | |d¬«      }|d   D �cg c]  }|j                  «       ‘Œ c}|k(  sJ ‚|d   j                  «       \  }}||k(  sJ ‚t        d„ |D «       «      sJ ‚t        j                  t        d¬«      5  |d   j                  | |d d ¬«      }	d d d «       |d   j                  | d¬«      }
|
d   d   j                  «       dk(  sJ ‚t        d„ |
d   dd  D «       «      sJ ‚y c c}w c c}w # 1 sw Y   Œ_xY w)Ni!N,)r   rœ   r   rœ   )Únrowsrn   )úbox Azbox Bzbox Czbox Dr   T)Úpatch_artistr   Úboxesc              3   ód   K  — | ](  }t        |t        j                  j                  «      –— Œ* y ­wr7   )Ú
isinstancerÆ   ÚpatchesÚ	PathPatch©r9   r  s     r1   r;   z-test_boxplot_legend_labels.<locals>.<genexpr>}  s!   è ø€ ÒE¸Œz˜!œSŸ[™[×2Ñ2×3ÑEùó   ‚.0F)r   ÚshowboxÚmediansc              3   ód   K  — | ](  }t        |t        j                  j                  «      –— Œ* y ­wr7   )rX  rÆ   r   rü  r[  s     r1   r;   z-test_boxplot_legend_labels.<locals>.<genexpr>…  s!   è ø€ Ò@°1Œz˜!œSŸY™Y×-Ñ-×.Ñ@ùr\  z values must have same the lengthr)  r5   rW   rN   rl   rT  c              3   óZ   K  — | ]#  }|j                  «       j                  d «      –— Œ% y­w)Ú_N)rï  rC  )r9   r-   s     r1   r;   z-test_boxplot_legend_labels.<locals>.<genexpr>Ž  s!   è ø€ ÒI°ˆq�{‰{‹}×'Ñ'¨×,ÑIùs   ‚)+)r   r   Úseedr   r   Úboxplotrï  r!   Úallr+  r,  r
  )rÃ  r+   r‚   Úlegend_labelsÚbp1rÅ  r0   r)   Úbp2Úbp3Úbp4s              r1   Útest_boxplot_legend_labelsrj  q  sÍ  € ä‡I�I‡N�N�8ÔÜ�9‰9×Ñ˜GÓ$€DÜ�|‰| !¨1Ô-�H€CˆÚ8€Mð ˆa‰&�.‰.˜¨D¸ˆ.Ó
F€CØ#& w¡<Ö0˜aˆA�K‰K�MÒ0°MÒAÐAÐAØ˜!‘f×6Ñ6Ó8�O€GˆVØ�]Ò"Ð"Ð"ÜÑE¸WÔEÔEÐEÐEð ˆa‰&�.‰.˜ ]¸Eˆ.Ó
B€Cà#& y¡>Ö2˜aˆA�K‰K�MÒ2°mÒCÐCÐCØ˜!‘f×6Ñ6Ó8�O€GˆVØ�]Ò"Ð"Ð"ÜÑ@¸Ô@Ô@Ð@Ð@ô 
�‰”zÐ)KÔ	Lñ =Ø�!‰f�n‰n˜T¨°s¸Ð);ˆnÓ<ˆ÷=ð ˆa‰&�.‰.˜ Wˆ.Ó
-€CØˆy‰>˜!Ñ×&Ñ&Ó(¨GÒ3Ð3Ð3ÜÑI°c¸)±nÀQÀRÐ6HÔIÔIÐIÑIùò) 1ùò 3÷=ð =ús   Á;GÃ)GÅGÇGc                  óö  — t        j                  «       \  } }|j                  g d¢d¬«       |j                  d¬«      }|j                  j                  «       dk(  sJ ‚t        j                  ddi«      5  t        j                  «       \  } }|j                  g d¢d¬«       |j                  «       }|j                  j                  «       dk(  sJ ‚	 ddd«       t        j                  dd	d
œ«      5  t        j                  «       \  } }|j                  g d¢d¬«       |j                  «       }|j                  j                  «       d	k(  sJ ‚	 ddd«       t        j                  ddi«      5  t        j                  «       \  } }|j                  g d¢d¬«       |j                  d¬«      }|j                  j                  «       dk(  sJ ‚	 ddd«       y# 1 sw Y   �ŒxY w# 1 sw Y   Œ•xY w# 1 sw Y   yxY w)z,Test legend.linewidth parameter and rcParam.r¯   rÃ  rN   g      @)Ú	linewidthúlegend.linewidthr¦  NrÌ  )rm  zpatch.linewidthrg   g      @)r   r   rB   r$   rÀ   Úget_linewidthrÆ   r	   rÂ   s      r1   Útest_legend_linewidthro  ‘  s¡  € ä�l‰l‹n�G€CˆØ‡G�GŠI˜V€GÔ$ð �)‰)˜cˆ)Ó
"€CØ�?‰?×(Ñ(Ó*¨cÒ1Ð1Ð1ô 
�‰Ð+¨SÐ1Ó	2ñ 6Ü—,‘,“.‰ˆˆRØ
�‰’	 ˆÔ(Ø�i‰i‹kˆØ�‰×,Ñ,Ó.°#Ò5Ð5Ñ5÷	6ô 
�‰¨TÀcÑJÓ	Kñ 6Ü—,‘,“.‰ˆˆRØ
�‰’	 ˆÔ(Ø�i‰i‹kˆØ�‰×,Ñ,Ó.°#Ò5Ð5Ñ5÷	6ô 
�‰Ð+¨SÐ1Ó	2ñ 6Ü—,‘,“.‰ˆˆRØ
�‰’	 ˆÔ(Ø�i‰i #ˆiÓ&ˆØ�‰×,Ñ,Ó.°#Ò5Ð5Ñ5÷	6ð 6÷6ñ 6ú÷6ð 6ú÷6ð 6ús'   Á5AGÃ2AG#Å.AG/ÇG Ç#G,Ç/G8c                  ó”  — t        j                  «       \  } }t        j                  t	        j
                  dd«      t	        j
                  dd«      gddddd¬	«      }|j                  |«       |j                  «        |j                  «       }t        |j                  «       «      dk(  sJ ‚|j                  «       d
   j                  «       dk(  sJ ‚t        |j                  «      dk(  sJ ‚|j                  d
   }t        j                  j                  |j!                  «       |j!                  «       d
   «      sJ ‚t        j                  j                  |j#                  «       |j#                  «       d
   «      sJ ‚|j%                  «       |j'                  «       d
   k(  sJ ‚|j)                  «       |j+                  «       d
   k(  sJ ‚y )Nrê   r   )r5   r   zpatch collectionr·  r¹  rl   rÚ  )r   rµ  rï   Ú
linewidthsÚ	linestyler   )r   r   rÝ  ÚPatchCollectionr’   ÚCirclerß  Úautoscale_viewr$   rá   r  r  r	  rÆ   r*   rO  r›  rœ  rn  Úget_linewidthsÚget_linestylerà  )r+   r,   r  r…   Úlegend_patchs        r1   Útest_patchcollection_legendry  °  sš  € ô �l‰l‹n�G€Cˆä	×	%Ñ	%Ü	�‰˜ Ó	#¤X§_¡_°V¸QÓ%?Ð@Ø ØØØØô
€Bð ×Ñ�bÔØ×ÑÔà
�)‰)‹+€Cô ˆs�}‰}‹Ó 1Ò$Ð$Ð$Ø�=‰=‹?˜1Ñ×&Ñ&Ó(Ð,>Ò>Ð>Ð>ô ˆs×!Ñ!Ó" aÒ'Ð'Ð'Ø×%Ñ% aÑ(€LÜ�:‰:× Ñ  ×!;Ñ!;Ó!=Ø"$×"2Ñ"2Ó"4°QÑ"7ô9ð 9ð 9ä�:‰:× Ñ  ×!;Ñ!;Ó!=Ø"$×"2Ñ"2Ó"4°QÑ"7ô9ð 9ð 9à×%Ñ%Ó'¨2×+<Ñ+<Ó+>¸qÑ+AÒAÐAÐAØ×%Ñ%Ó'¨2×+<Ñ+<Ó+>¸qÑ+AÒAÐAÑAr3   c                  ó^  — t        j                  «       \  } }t        j                  g d¬«      }|j	                  |«       |j                  «       }t        |j                  «       «      dk(  sJ ‚|j                  «       d   j                  «       dk(  sJ ‚t        |j                  «      dk(  sJ ‚y )Nzempty collectionrN   r   r   )
r   r   rÝ  rs  rß  r$   rá   r  r  r	  )r+   r,   r  r…   s       r1   Ú!test_patchcollection_legend_emptyr{  Ñ  sš   € ä�l‰l‹n�G€Cˆô 
×	%Ñ	% bÐ0BÔ	C€BØ×Ñ�bÔð �)‰)‹+€Cô ˆs�}‰}‹Ó 1Ò$Ð$Ð$Ø�=‰=‹?˜1Ñ×&Ñ&Ó(Ð,>Ò>Ð>Ð>ô ˆs×!Ñ!Ó" aÒ'Ð'Ñ'r3   )FF)FFF)›r"   rM  rÖ  ÚplatformÚsysrÙ  Úunittestr   rö  Únumpyr   Únumpy.testingr   r+  Úmatplotlib.testing.decoratorsr   r   Úmatplotlib.testing._markersr   Úmatplotlib.pyplotÚpyplotr   Ú
matplotlibrÆ   Úmatplotlib.patchesrY  r’   Úmatplotlib.transformsÚ
transformsrÒ  Úmatplotlib.collectionsrÝ  Úmatplotlib.linesr   rû  Úmatplotlib.legend_handlerr   Úmatplotlib.legendr$   rÆ  r	   Úmatplotlib.font_managerr
   r2   rD   rR   r]   rj   r†   r™   r£   Úmachiner­   r¸   rÃ   rÇ   rÒ   r×   rÛ   ræ   rú   r  r  r  r  rk  r¤  r¬  r²  rÂ  rÊ  rÎ  r×  rì  rï  rû  rý  r  r  r  r  r  r"  r4  r  Úparametrizer:  r@  rE  rH  rR  rW  r[  r^  rb  re  ri  rm  rr  rz  r~  r�  rƒ  r…  rˆ  r‹  r�  r‘  r”  r—  r   r¥  r«  r²  r¶  r¸  Úfilterwarningsr½  rÁ  rÆ  rÊ  rÝ  rà  r•   rç  Úintrê  rì  rð  ró  r÷  rù  rý  r  r  r  r  r  r  r!  r#  r'  r*  r-  r5  r8  r:  r<  rA  rE  rQ  rj  ro  ry  r{  r8   r3   r1   ú<module>r’     së  ðÛ Û 	Û Û Û 
Û Ý Û ã Ý )Û ç OÝ 4Ý Û Ý %Ý +Ý -Ý !Ý 2Ý #Ý !Ý 2ò9ò$	1ñ Ð%Ð&°DÀÔHñó Iðñ Ð%Ð&°DÀÔHñ:ó Ið:ñ Ð%Ð&¨gÔ6ñó 7ðò@ò,@ñ@ Ð.Ð/¸TÈÔQñ'ó Rð'ñ Ð,Ð-¸4ÀwØ+˜8×+Ñ+Ó-°Ò9‘a¸uôFñ-óFð-ñ Ð-Ð.¸DÈØ+˜8×+Ñ+Ó-°Ò9‘a¸uôFñ	IóFð	Iñ Ð#Ð$°$¸gØ+˜8×+Ñ+Ó-°Ò9‘a¸tôEñ2óEð2ñ Ð&Ð'°TÀØ+˜8×+Ñ+Ó-°Ò9‘a¸tôEñ	6óEð	6ñ �;�-¨T¸Ø!Ÿl™l¨hÒ6‘d¸Aô?ñEó?ðEñ �<�.¨d¸'Ø+˜8×+Ñ+Ó-°Ò9‘a¸uôFñ2óFð2ñ Ð$Ð&7Ð8ÀdØô!ñ!ó!ð!ñ" Ð&Ð'°TÀÔIñ8ó Jð8ñ �:�,¨D¸	ÔBñ.ó Cð.ò<#ò5ñ$ Óñ
ó ð
÷c7ñ c7÷L2;ñ 2;òj&#ñR Ð)Ð*°'Ô:ñó ;ðòòò(ñ Ð-Ð.°gÔ>ñ"ó ?ð"ñ Ð7Ð8ÀÔHñ+ó Ið+ò:ò(ò'ò"ñ Ð.Ð/¸TÈØ"Ÿ|™|¨xÒ7‘e¸Qô@ñ!ó@ð!ò*7ò,ò-ò,òò#1ðL ‡�×Ñ˜Ð&AÓBñ,ó Cð,ð ‡�×Ñ˜Ð 3Ó4ñ7ó 5ð7ð ‡�×Ñ˜Ð ;Ó<ñ7ó =ð7ð ‡�×Ñ˜Ð&AÓBñ,ó Cð,ð ‡�×Ñ˜Ð"?Ó@ñ	>ó Að	>ò	>ò	>ò	>ò	<ò<ò	>ò	>ò	>ò>ò&	>ò	>ò	>ò>ð" ‡�×Ñ˜Ð"?Ó@ñ
>ó Að
>ò
>ò
>ò
>ò
>ò
>ð ?DóMò&@@ðF QVØCHóUò*#5ðN GLóRò$8ð@ ‡�×ÑÐRÓSñ&ó Tð&ð ‡�×Ñ˜ mÓ4ñ,ó 5ð,òAð ñ
Aó ð
Aòò0ð" ‡�×Ñ˜¨%°¨Ø)8Ø)1¨¯©°5¸&°/Ó)Bð)Dó Eñ+óEð+ð ‡�×Ñ˜ 5¨!¨S /Ó2ñ,ó 3ð,ò-ò#ò
#òò)òIò0òIò ñ" Óñ)ó ð)ò@ò"0ò0ò=ò;ò0ò.ò&,ò(òð ‡�×ÑÐRÓSñ.ó Tð.ò@ò&@ò",òJò@6ò>BóB(r3   