Ë
    íÍ:jX1 ã                   ó~  — d dl m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mZmZmZ d dlZd dlZd dlmZ d dlmZ  G d„ d«      Z G d„ d«      Z G d	„ d
«      Z G d„ d«      Z G d„ d«      Z G d„ d«      Z G d„ d«      Z G d„ d«      Z G d„ d«      Z  G d„ d«      Z! G d„ d«      Z" G d„ d«      Z# G d„ d«      Z$ G d„ d «      Z% G d!„ d"«      Z& G d#„ d$«      Z' G d%„ d&«      Z( G d'„ d(«      Z) G d)„ d*«      Z* G d+„ d,«      Z+ G d-„ d.«      Z,d/„ Z-ej\                  j_                  d0g d1¢«      d2„ «       Z0 G d3„ d4«      Z1d5„ Z2d6„ Z3d7„ Z4d8„ Z5d9„ Z6d:„ Z7d;„ Z8d<„ Z9ej\                  j_                  d=d>«      d?„ «       Z:ej\                  j_                  d@dAdBg e
jv                  dC«      g«      dD„ «       Z<ej\                  j_                  dEdFdGg dH¢fdIdGg dH¢fdJdGg dH¢fdKdGg dH¢fdFdLg dM¢fdIdLg dN¢fdJdLg dN¢fdKdLg dN¢fdFdOg dM¢fdIdOg dP¢fdJdOg dQ¢fdKdOg dQ¢fdFdRg dS¢fdIdRg dT¢fdJdRg dT¢fdKdRg dU¢fg«      ejz                  j}                  dV«      dW„ «       «       Z?ejz                  j}                  dV«      dX„ «       Z@dY„ ZAej\                  j_                  dZ ej„                  d[„ «       ej†                  d\«      f«      d]„ «       ZDd^„ ZEy)_é    )ÚnullcontextN)Úparse)Úassert_almost_equalÚassert_array_equalÚassert_allclosec            
       ó"  — e Zd Zdd ej                  g d¢«      fdd ej                  g d¢«      fdd ej                  g d	¢«      fd
d ej
                  d«      dz  fdd
 ej
                  dd«      dz  fgZddd ej                  g d¢«      fddd ej                  g d¢«      fddg d¢ ej                  g d¢«      fgZej                  j                  de«      d„ «       Zej                  j                  de«      d„ «       Zej                  j                  ddd
ie ej                  d «      fd!d"dgied#fd!d"ied#fd!d"d$gied#fg«      d%„ «       Zej                  j                  d&g d'¢g d'¢fd"d(gg d'¢fdd"gg d'¢fd"gg d'¢fg«      d)„ «       Zy)*ÚTestMaxNLocatoré   éd   )ç      4@g      D@g      N@g      T@ç      Y@çü©ñÒMbP?ç-Cëâ6?)ç        g-Cëâ6*?g-Cëâ6:?ga2U0*©C?g-Cëâ6J?r   ç  4&õkÃç  4&õkC)r   g  4&õküÂr   g  4&õküBr   r   g�œ&q‰5é   gL“oûñg5g�œ&q‰µéûÿÿÿé   çš™™™™™¹¿çš™™™™™ñ?N)éÿÿÿÿr   r   é   çffffffî?)g      Ð¿r   ç      Ð?ç      à?ç      è?ç      ð?é7   )r   ç      ø?é   r   é
   )r   é   é   é-   é<   úvmin, vmax, expectedc                 óh   — t        j                  d¬«      }t        |j                  ||«      |«       y )Nr!   ©Únbins©ÚmtickerÚMaxNLocatorr   Útick_values)ÚselfÚvminÚvmaxÚexpectedÚlocs        úq/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/matplotlib/tests/test_ticker.pyÚ
test_basiczTestMaxNLocator.test_basic    s'   € ä×!Ñ!¨Ô*ˆÜ˜CŸO™O¨D°$Ó7¸ÕBó    zvmin, vmax, steps, expectedc                 ól   — t        j                  dd|¬«      }t        |j                  ||«      |«       y )Nr!   T)r*   ÚintegerÚstepsr+   )r/   r0   r1   r9   r2   r3   s         r4   Útest_integerzTestMaxNLocator.test_integer%   s+   € ä×!Ñ!¨°4¸uÔEˆÜ˜CŸO™O¨D°$Ó7¸ÕBr6   zkwargs, errortype, matchÚfooz5set_params() got an unexpected keyword argument 'foo'r9   r   z$steps argument must be an increasingé   c                 ó†   — t        j                  ||¬«      5  t        j                  di |¤Ž d d d «       y # 1 sw Y   y xY w)N©Úmatch© )ÚpytestÚraisesr,   r-   )r/   ÚkwargsÚ	errortyper?   s       r4   Útest_errorszTestMaxNLocator.test_errors*   s8   € ô �]‰]˜9¨EÔ2ñ 	*Ü×ÑÑ) &Ò)÷	*÷ 	*ñ 	*ús	   ˜7·A zsteps, result)r   r   r"   r"   c                 ón   — t        j                  |¬«      }|j                  |k(  j                  «       sJ ‚y )N)r9   )r,   r-   Ú_stepsÚall)r/   r9   Úresultr3   s       r4   Útest_paddingzTestMaxNLocator.test_padding5   s/   € ô ×!Ñ!¨Ô.ˆØ—
‘
˜fÑ$×)Ñ)Ô+Ð+Ñ+r6   )Ú__name__Ú
__module__Ú__qualname__ÚnpÚarrayÚarangeÚ
basic_dataÚinteger_datarA   ÚmarkÚparametrizer5   r:   Ú	TypeErrorÚreÚescapeÚ
ValueErrorrE   rJ   r@   r6   r4   r	   r	      s÷  „ à	ˆS�(�"—(‘(Ò5Ó6Ð7Ø	�˜˜Ÿ™Ò!LÓMÐNØ	��h�b—h‘hÒJÓKÐLØ	
ˆH�i�b—i‘i “l UÑ*Ð+Ø	�A�y�r—y‘y  QÓ'¨%Ñ/Ð0ð€Jð 
ˆs�D˜(˜"Ÿ(™(¢=Ó1Ð2Ø	ˆt�T˜8˜2Ÿ8™8Ò$DÓEÐFØ	
ˆBÒ" H B§H¡HÒ-@Ó$AÐBð€Lð ‡[�[×ÑÐ3°ZÓ@ñCó AðCð ‡[�[×ÑÐ:¸LÓIñCó JðCð ‡[�[×ÑÐ7Ø
�ˆ�YØ	ˆ�‰ÐJÓ	Kð	Mà
�A�q�6Ð	˜JÐ(NÐOØ
�1ˆ�zÐ#IÐJØ
�A�r�7Ð	˜ZÐ)OÐPð:ó ñ*óð*ð ‡[�[×Ñ˜_Ú	’ZÐ Ø
ˆRˆ’*ÐØ
ˆQˆ’ÐØ
ˆŠjÐð	/ó ñ,óñ,r6   r	   c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚTestLinearLocatorc                 ó–   — t        j                  d¬«      }t        j                  g d¢«      }t	        |j                  dd«      |«       y )Né   ©Únumticks)çš™™™™™é¿ç333333Ó¿çš™™™™™É?r_   ra   )r,   ÚLinearLocatorrN   rO   r   r.   ©r/   r3   Ú
test_values      r4   r5   zTestLinearLocator.test_basicA   s6   € Ü×#Ñ#¨QÔ/ˆÜ—X‘XÒ/Ó0ˆ
Ü˜CŸO™O¨D°#Ó6¸
ÕCr6   c                 óZ   — t        j                  d¬«      }|j                  dd«      g k(   y )Nr   r]   r_   ra   )r,   rb   r.   ©r/   r3   s     r4   Útest_zero_numticksz$TestLinearLocator.test_zero_numticksF   s%   € Ü×#Ñ#¨QÔ/ˆØ�‰˜˜cÓ" bÓ(r6   c                 ó¢   — t        j                  d¬«      }|j                  ddg i¬«       |j                  dk(  sJ ‚|j                  dg ik(  sJ ‚y)z 
        Create linear locator with presets={}, numticks=2 and change it to
        something else. See if change was successful. Should not exception.
        r   r]   é   ©r   r   )r^   ÚpresetsN)r,   rb   Ú
set_paramsr^   rk   rf   s     r4   Útest_set_paramsz!TestLinearLocator.test_set_paramsJ   sP   € ô
 ×#Ñ#¨QÔ/ˆØ�‰ ¨F°B¨<ˆÔ8Ø�|‰|˜qÒ Ð Ð Ø�{‰{˜v r˜lÒ*Ð*Ñ*r6   c                 óz  — t        j                  g d¢ddgdœ¬«      }|j                  dd«      g d¢k(  sJ ‚|j                  dd«      g d¢k(  sJ ‚|j                  dd«      ddgk(  sJ ‚|j                  d	d
«      ddgk(  sJ ‚|j                  dd«      t        j                  ddd«      k(  j                  «       sJ ‚y )N)r   ç      ô?ç      ü?r   r    ))r   r   ©r   r   )rk   r   r   r   r   ç       @r<   )r,   rb   r.   rN   ÚlinspacerH   rf   s     r4   Útest_presetszTestLinearLocator.test_presetsT   s½   € Ü×#Ñ#²_Ø69¸3°Zñ-Aô Bˆà�‰˜q !Ó$ªÒ7Ð7Ð7Ø�‰˜q !Ó$ªÒ7Ð7Ð7Ø�‰˜q !Ó$¨¨c¨
Ò2Ð2Ð2Ø�‰˜s CÓ(¨S°#¨JÒ6Ð6Ð6Ø—‘  1Ó%¬¯©°Q¸¸2Ó)>Ñ>×CÑCÔEÐEÑEr6   N)rK   rL   rM   r5   rg   rm   rt   r@   r6   r4   rZ   rZ   @   s   „ òDò
)ò+óFr6   rZ   c                   ó6   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)	ÚTestMultipleLocatorc                 ó–   — t        j                  d¬«      }t        j                  g d¢«      }t	        |j                  dd«      |«       y )Nç“V-	@©Úbase)goƒÀÊá"Àç“V-Àg“V-	Àr   rx   ç“V-@goƒÀÊá"@g“V-)@éùÿÿÿr"   ©r,   ÚMultipleLocatorrN   rO   r   r.   rc   s      r4   r5   zTestMultipleLocator.test_basic_   s:   € Ü×%Ñ%¨5Ô1ˆÜ—X‘Xò .ó /ˆ
ä˜CŸO™O¨B°Ó3°ZÕ@r6   c                 ó˜   — t        j                  dd¬«      }t        j                  g d¢«      }t	        |j                  dd«      |«       y )Nrx   ç333333ó?©rz   Úoffset)g¬Zd{ ÀgÇK7‰A`ÀgôýÔxé&ÿ¿r�   gÙÎ÷Sc@g`åÐ"Ûù@gÕxé&1H%@r}   r"   r~   rc   s      r4   Útest_basic_with_offsetz*TestMultipleLocator.test_basic_with_offsete   s<   € Ü×%Ñ%¨5¸Ô=ˆÜ—X‘Xò 'ó (ˆ
ä˜CŸO™O¨B°Ó3°ZÕ@r6   c                 óÀ   — t        j                  ddi«      5  t        j                  d¬«      }t	        |j                  dd«      d«       ddd«       y# 1 sw Y   yxY w)	z5
        Test basic behavior of view limits.
        úaxes.autolimit_modeÚdatarx   ry   r   r!   )r   r!   N©ÚmplÚ
rc_contextr,   r   r   Úview_limitsrf   s     r4   Útest_view_limitsz$TestMultipleLocator.test_view_limitsk   sT   € ô �^‰^Ð2°FÐ;Ó<ñ 	AÜ×)Ñ)¨uÔ5ˆCÜ §¡°°AÓ 6¸Ô@÷	A÷ 	Añ 	Aúó   ˜3AÁAc                 óÀ   — t        j                  ddi«      5  t        j                  d¬«      }t	        |j                  dd«      d«       ddd«       y# 1 sw Y   yxY w)	úb
        Test that everything works properly with 'round_numbers' for auto
        limit.
        r†   Úround_numbersrx   ry   éüÿÿÿé   )r{   r|   Nrˆ   rf   s     r4   Útest_view_limits_round_numbersz2TestMultipleLocator.test_view_limits_round_numberss   sT   € ô
 �^‰^Ð2°OÐDÓEñ 	IÜ×)Ñ)¨uÔ5ˆCÜ §¡°°AÓ 6¸ÔH÷	I÷ 	Iñ 	Iúr�   c                 óÂ   — t        j                  ddi«      5  t        j                  dd¬«      }t	        |j                  dd«      d«       d	d	d	«       y	# 1 sw Y   y	xY w)
r�   r†   r�   rx   çÍÌÌÌÌÌô?r‚   r‘   r’   )g`åÐ"ÛùÀg}?5^ºÉ@Nrˆ   rf   s     r4   Ú*test_view_limits_round_numbers_with_offsetz>TestMultipleLocator.test_view_limits_round_numbers_with_offset|   sV   € ô
 �^‰^Ð2°OÐDÓEñ 	IÜ×)Ñ)¨u¸SÔAˆCÜ §¡°°AÓ 6¸ÔH÷	I÷ 	Iñ 	Iús   ˜4AÁAc                 óÀ   — t        j                  ddi«      5  t        j                  d¬«      }t	        |j                  dd«      d«       ddd«       y# 1 sw Y   yxY w)	zM
        Test that 'round_numbers' works properly with a single bin.
        r†   r�   r   r)   gffffffÀgffffff@)r‘   r’   N)r‰   rŠ   r,   r-   r   r‹   rf   s     r4   Útest_view_limits_single_binz/TestMultipleLocator.test_view_limits_single_bin…   sT   € ô �^‰^Ð2°OÐDÓEñ 	EÜ×%Ñ%¨AÔ.ˆCÜ §¡°°cÓ :¸GÔD÷	E÷ 	Eñ 	Eúr�   c                 óÐ   — t        j                  d¬«      }|j                  d¬«       |j                  j                  dk(  sJ ‚|j                  d¬«       |j
                  dk(  sJ ‚y)z
        Create multiple locator with 0.7 base, and change it to something else.
        See if change was successful.
        çffffffæ?ry   ç333333û?r\   )rƒ   N)r,   r   rl   Ú_edgeÚstepÚ_offset)r/   Úmults     r4   rm   z#TestMultipleLocator.test_set_params�   sX   € ô
 ×&Ñ&¨CÔ0ˆØ�‰˜SˆÔ!Ø�z‰z�‰ #Ò%Ð%Ð%Ø�‰˜qˆÔ!Ø�|‰|˜qÒ Ð Ñ r6   N)
rK   rL   rM   r5   r„   rŒ   r“   r–   r˜   rm   r@   r6   r4   rv   rv   ^   s+   „ òAòAòAòIòIòEó	!r6   rv   c            
       ó˜  — e Zd Zd„ ZddgZd„ Zej                  j                  de«      d„ «       Z	g d¢Z
d„ Zej                  j                  d	e
«      d
„ «       Zg d¢Zg d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢gZ e eee«      «      Zej                  j                  de«      d„ «       Zej                  j                  dddg«      ej                  j                  ddg d¢fdg d¢fg«      d„ «       «       Zej                  j                  dddg«      ej                  j                  dddg d¢fd d!g d"¢fd#d$g d%¢fg«      d&„ «       «       Zy')(ÚTestAutoMinorLocatorc                 óð   — t        j                  «       \  }}|j                  dd«       |j                  «        t	        j
                  g d¢«      }t        |j                  j                  d¬«      |«       y )Nr   ç=
×£p=ö?©çš™™™™™©?çš™™™™™¹?g333333Ã?r   ç333333Ó?gffffffÖ?çÍÌÌÌÌÌÜ?r   çš™™™™™á?gÍÌÌÌÌÌä?rš   r   g333333ë?çÍÌÌÌÌÌì?r   çÍÌÌÌÌÌð?r   gffffffò?ro   r•   gš™™™™™õ?T©Úminor)	ÚpltÚsubplotsÚset_xlimÚminorticks_onrN   rO   r   ÚxaxisÚget_ticklocs©r/   ÚfigÚaxrd   s       r4   r5   zTestAutoMinorLocator.test_basicš   s^   € Ü—,‘,“.‰ˆˆRØ
�‰�A�tÔØ
×ÑÔÜ—X‘Xò Gó Hˆ
ô 	˜BŸH™H×1Ñ1¸Ð1Ó=¸zÕJr6   ©r   r   )r   r   c                 óÈ  — t        j                  «       \  }}|j                  dd«       |j                  j	                  t        j                  «       «       t        j                  g d¢«      }t        |j                  j                  d¬«      |«       |j                  dd«       t        j                  g d¢«      }t        |j                  j                  d¬«      |«       y	)
zI
        Test that first and last minor tick appear as expected.
        çffffffþ¿çffffffþ?) r¹   gÍÌÌÌÌÌü¿ç333333û¿gš™™™™™ù¿gffffffö¿gÍÌÌÌÌÌô¿g333333ó¿çš™™™™™ñ¿gÍÌÌÌÌÌì¿r_   gffffffæ¿g333333ã¿çš™™™™™Ù¿r`   çš™™™™™É¿r   r¦   ra   r§   çš™™™™™Ù?ç333333ã?rš   çš™™™™™é?rª   r   r�   r•   gffffffö?gš™™™™™ù?r›   gÍÌÌÌÌÌü?rº   Tr¬   r   r!   )g      Àg      Àg      Àg      Àg      Àg      ø¿ç      ð¿ç      à¿r   r   r    ç      @g      @ç      @g      @ç      @N)r®   r¯   r°   r²   Úset_minor_locatorr,   ÚAutoMinorLocatorrN   rO   r   r³   r´   s       r4   Útest_first_and_last_minorticksz3TestAutoMinorLocator.test_first_and_last_minorticks©   s®   € ô
 —,‘,“.‰ˆˆRØ
�‰�D˜#ÔØ
�‰×"Ñ"¤7×#;Ñ#;Ó#=Ô>Ü—X‘Xò Bó Cˆ
ô 	˜BŸH™H×1Ñ1¸Ð1Ó=¸zÔJà
�‰�B˜ÔÜ—X‘Xò Gó Hˆ
ä˜BŸH™H×1Ñ1¸Ð1Ó=¸zÕJr6   z%nb_majorticks, expected_nb_minorticksc                 óv  — t        j                  «       \  }}d} |j                  |Ž  |j                  t	        j
                  |d   |d   |«      «       |j                  «        |j                  j                  t        j                  «       «       t        |j                  j                  «       «      |k(  sJ ‚y )N)r   r!   r   r   )r®   r¯   r°   Ú
set_xticksrN   rs   r±   r²   rÇ   r,   rÈ   ÚlenÚget_minorticklocs)r/   Únb_majorticksÚexpected_nb_minorticksrµ   r¶   Úxlimss         r4   Útest_low_number_of_majorticksz2TestAutoMinorLocator.test_low_number_of_majorticks¼   s�   € ô —,‘,“.‰ˆˆRØˆØˆ�‰�UÑØ
�‰”b—k‘k %¨¡(¨E°!©H°mÓDÔEØ
×ÑÔØ
�‰×"Ñ"¤7×#;Ñ#;Ó#=Ô>Ü�2—8‘8×-Ñ-Ó/Ó0Ð4JÒJÐJÑJr6   ))r   r!   )r   r’   )rÄ   r!   )r!   r!   )r"   r!   c                 ó  — t        j                  ddi«      5  | j                  D �cg c]  }|d   ‘Œ	 }}t        j                  j                  |t        j                  «       j                  «       d d d «       y c c}w # 1 sw Y   y xY w)Nú_internal.classic_modeFr   )	r‰   rŠ   Úmajorstep_minordivisionsrN   Útestingr   r,   ÚAutoLocatorrG   )r/   ÚxÚ
majorstepss      r4   Ú"test_using_all_default_major_stepsz7TestAutoMinorLocator.test_using_all_default_major_stepsÐ   sz   € Ü�^‰^Ð5°uÐ=Ó>ñ 	EØ(,×(EÑ(EÖF 1˜!˜A›$ÐFˆJÐFÜ�J‰J×&Ñ& zÜ'.×':Ñ':Ó'<×'CÑ'CôE÷	Eð 	EùÚF÷	Eð 	Eús   ˜A?§A:³>A?Á:A?Á?Bz&major_step, expected_nb_minordivisionsc                 óN  — t        j                  «       \  }}d|f} |j                  |Ž  |j                  |«       |j	                  «        |j
                  j                  t        j                  «       «       t        |j
                  j                  «       «      dz   }||k(  sJ ‚y ©Nr   r   )r®   r¯   r°   rË   r±   r²   rÇ   r,   rÈ   rÌ   rÍ   )r/   Ú
major_stepÚexpected_nb_minordivisionsrµ   r¶   rÐ   Únb_minor_divisionss          r4   Útest_number_of_minor_ticksz/TestAutoMinorLocator.test_number_of_minor_ticksÖ   s‰   € ô —,‘,“.‰ˆˆRØ�J�ˆØˆ�‰�UÑØ
�‰�eÔØ
×ÑÔØ
�‰×"Ñ"¤7×#;Ñ#;Ó#=Ô>Ü  §¡×!;Ñ!;Ó!=Ó>ÀÑBÐØ!Ð%?Ò?Ð?Ñ?r6   )©r   r£   ©r   g˜nƒÀÊÁ?)r   ç�Ô�ùÉ;)r   g¦ÖVs†?=)gH¯¼šò×Š¾gIhG|·a¾)gvƒôõ!´>ç�Ûí‚ÚÒ·>)çÍÒÊ”A{¶¾çÁ�v¾À(¸¾)g"s2_Èd­¾glEÕŽfU¹¾r¤   )ç{®Gázt?ç{®Gáz„?ç¸…ëQ¸Ž?gš™™™™™™?g¸…ëQ¸ž?gìQ¸…ë¡?g
×£p=
§?r¥   g)\�Âõ(¬?g¤p=
×£°?gìQ¸…ë±?g333333³?gÃõ(\�Âµ?g
×£p=
·?gR¸…ëQ¸?gáz®Gáº?ç)\�Âõ(¼?gq=
×£p½?ç      À?g¤p=
×£À?gHáz®GÁ?)gO›
´ã‚;gO›
´ã’;g÷èŽUœ;g#B’¡œ§;g÷èŽU¬;gæÇÌˆ=‡°;g¹nP‹*@µ;g#B’¡œ·;g�Ô�ù¹;ga¼W�²¾;gæÇÌˆ=‡À;g›±mÉxµÁ;g…¯JïÄ;g¹nP‹*@Å;gnXñËenÆ;gØ+3MÜÊÈ;râ   )g›+¡†›„ö<g›+¡†›„=g´àø¤tã=g‚vIhÂ%=g´àø¤tã =g(Í´#=gQu÷.U)=g‚vIhÂ%,=gõ›ÙUö.=gnób]¾K2=g(Í´3=gá7ÎQ5=gU>?åì7=gQu÷.U9=gÈcß¯x½:=g;‰³ Ž==gõ›ÙUö>=)gç*«#&,Š¾g…¦™¬Y€‰¾g#"ˆ5�Ôˆ¾g_eGô|‡¾gý”SÐ'Ñ†¾gœBY[%†¾gØkÂÍ„¾gvƒôõ!„¾gÿû|)vƒ¾gQöØŽ�‚¾gïqÇÄr�¾g�íµ ÷Æ€¾g“É%e½Þ~¾gÐÀw$‡}¾g¸ßˆ‹/|¾g…¦™¬Y€y¾gÁ�v¾À(x¾gý”SÐ'Ñv¾gvƒôõ!t¾g³zê]Êr¾gïqÇÄrq¾gÐÀw$‡m¾gH¯¼šò×j¾gÁ�v¾À(h¾g³zê]Êb¾)g�äÑéL´>g§E–/Üw´>gÀ¦ZMÏ¢´>gØkÂÍ´>g	Ê§¦¨#µ>g!+lÄ›Nµ>g:Œ0âŽyµ>gRíôÿ�¤µ>gƒ¯};húµ>gœBY[%¶>g´qwNP¶>gÍÒÊ”A{¶>gý”SÐ'Ñ¶>göîü¶>g.WÜ'·>gG¸ )R·>gxz)eç§·>rã   )g5m”/G¸¾g©<² Íý·¾gÐTè·¾g«ô`½·¾gxz)eç§·¾gìIGÖm’·¾gÓè‚¸zg·¾gG¸ )R·¾g»‡¾š‡<·¾g¢&ú|”·¾göîü¶¾gŠÅ5_¡æ¶¾gqdqA®»¶¾gå3�²4¦¶¾gY­#»�¶¾)g#"ˆ5�Ô¸¾gò_ÿù¦~¸¾rå   g�Ûí‚ÚÒ·¾g.WÜ'·¾gý”SÐ'Ñ¶¾rä   gœBY[%¶¾g:Œ0âŽyµ¾g	Ê§¦¨#µ¾gØkÂÍ´¾g§E–/Üw´¾gEÁ„¸Ì³¾gÿû|)v³¾gä<sAC ³¾g³zê]Ê²¾gQöØŽ�²¾g 4PSªÈ±¾gïqÇÄr±¾g¾¯>ÜÝ±¾g\+-eq°¾g+i¤)+°¾gõM7Ü‰Š¯¾g“É%e½Þ®¾gÐÀw$‡­¾zlim, refc                 ó  — t        j                  «       \  }}|j                  «        |j                  dddd¬«       |j                  dddd¬«       |j	                  |«       t        |j                  j                  d¬	«      |«       y )
NTr­   Úyr   )Ú	linewidthÚmajorÚk)Úcolorrí   r¬   )r®   r¯   r±   ÚgridÚset_ylimr   Úyaxisr³   )r/   ÚlimÚrefrµ   r¶   s        r4   Útest_additionalz$TestAutoMinorLocator.test_additional  sm   € ä—,‘,“.‰ˆˆRà
×ÑÔØ
�‰��g˜s¨aˆÔ0Ø
�‰��g S°AˆÔ6Ø
�‰�CÔä˜BŸH™H×1Ñ1¸Ð1Ó=¸sÕCr6   Úuse_rcparamFTrà   rá   c                 ó2  — |rdddœ}i }ni }ddi}t        j                  |«      5  t        j                  «       \  }} |j                  |Ž   |j
                  |Ž  |j                  j                  t        j                  di |¤Ž«       |j                  j                  t        j                  di |¤Ž«       t        |j                  j                  d¬«      |«       t        |j                  j                  d¬«      |«       d d d «       y # 1 sw Y   y xY w)NÚauto©zxtick.minor.ndivszytick.minor.ndivsÚnTr¬   r@   )r‰   rŠ   r®   r¯   r°   rò   r²   rÇ   r,   rÈ   ró   r   r³   )r/   rô   rõ   r÷   ÚcontextrC   rµ   r¶   s           r4   Útest_number_of_minor_ticks_autoz4TestAutoMinorLocator.test_number_of_minor_ticks_auto  sì   € ñ Ø,2ÈÑPˆGØ‰FàˆGØ˜6�]ˆFä�^‰^˜GÓ$ñ 	HÜ—l‘l“n‰GˆC�ØˆB�K‰K˜ÑØˆB�K‰K˜ÑØ�H‰H×&Ñ&¤w×'?Ñ'?Ñ'IÀ&Ñ'IÔJØ�H‰H×&Ñ&¤w×'?Ñ'?Ñ'IÀ&Ñ'IÔJÜ §¡× 5Ñ 5¸DÐ 5Ó AÀ3ÔGÜ §¡× 5Ñ 5¸DÐ 5Ó AÀ3ÔG÷	H÷ 	Hñ 	Hús   ¦CDÄDzn, lim, refr   )r   r’   ©r   r    rÄ   rÅ   r’   rq   )r   r   r   ro   r    rp   r"   rj   )	r¦   ra   r§   r¿   r   rÀ   rš   rÁ   rª   c                 óê  — |r||dœ}i }ni }d|i}t        j                  |«      5  t        j                  «       \  }} |j                  |Ž   |j
                  |Ž  |j                  j                  t        j                  d«      «       |j                  j                  t        j                  di |¤Ž«       |j                  j                  t        j                  d«      «       |j                  j                  t        j                  di |¤Ž«       t        |j                  j                  d¬«      |«       t        |j                  j                  d¬«      |«       d d d «       y # 1 sw Y   y xY w)Nrú   rû   r   Tr¬   r@   )r‰   rŠ   r®   r¯   r°   rò   r²   Úset_major_locatorr,   r   rÇ   rÈ   ró   r   r³   )	r/   rû   rô   rõ   r÷   rü   rC   rµ   r¶   s	            r4   Útest_number_of_minor_ticks_intz3TestAutoMinorLocator.test_number_of_minor_ticks_int.  s&  € ñ Ø,-ÀAÑFˆGØ‰FàˆGØ˜1�XˆFä�^‰^˜GÓ$ñ 		HÜ—l‘l“n‰GˆC�ØˆB�K‰K˜ÑØˆB�K‰K˜ÑØ�H‰H×&Ñ&¤w×'>Ñ'>¸qÓ'AÔBØ�H‰H×&Ñ&¤w×'?Ñ'?Ñ'IÀ&Ñ'IÔJØ�H‰H×&Ñ&¤w×'>Ñ'>¸qÓ'AÔBØ�H‰H×&Ñ&¤w×'?Ñ'?Ñ'IÀ&Ñ'IÔJÜ §¡× 5Ñ 5¸DÐ 5Ó AÀ3ÔGÜ §¡× 5Ñ 5¸DÐ 5Ó AÀ3ÔG÷		H÷ 		Hñ 		Hús   ¦D:E)Å)E2N)rK   rL   rM   r5   ÚparamsrÉ   rA   rS   rT   rÑ   rÔ   rÙ   rß   ÚlimitsÚ	referenceÚlistÚzipÚadditional_datarö   rý   r  r@   r6   r4   r¡   r¡   ™   sÂ  „ òKð 	Øð€Fò
Kð& ‡[�[×ÑÐDÀfÓMñ	Kó Nð	Kò )ÐòEð ‡[�[×ÑÐEØ5ó7ñ	@ó7ð	@ò>€Fò	Bò	ò	'ò	'ò	ò
	1ò	Eò	ð/€Iñ: ™3˜v yÓ1Ó2€Oà‡[�[×Ñ˜Z¨Ó9ñDó :ðDð ‡[�[×Ñ˜]¨U°D¨MÓ:Ø‡[�[×ÑØØòGðHð ò"ð#ð	
ó	ñHó	ó ;ðHð" ‡[�[×Ñ˜]¨U°D¨MÓ:Ø‡[�[×ÑØØ�Ò,Ð-Ø�Ò:Ð;Ø�ÒFÐGð
óñHóó ;ñHr6   r¡   c                   ó6   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)	ÚTestLogLocatorc                 ó¨  — t        j                  d¬«      }t        j                  t        «      5  |j                  dd«       d d d «       t        j                  g d¢«      }t        |j                  dd«      |«       t        j                  d¬	«      }t        j                  g d
¢«      }t        |j                  dd«      |«       y # 1 sw Y   Œ†xY w)Nr!   r]   r   éè  )çñhãˆµøä>r   r¦   ç      $@ç     @�@ç     jø@ç    ÐcAr   g     Ûú@r   ry   )	r   r   rr   ç      @g       @g      0@g      @@g      P@g      `@r   r   )	r,   Ú
LogLocatorrA   rB   rX   r.   rN   rO   r   rc   s      r4   r5   zTestLogLocator.test_basicJ  s›   € Ü× Ñ ¨!Ô,ˆÜ�]‰]œ:Ó&ñ 	%Ø�O‰O˜A˜tÔ$÷	%ô —X‘XÒHÓIˆ
Ü˜CŸO™O¨E°5Ó9¸:ÔFä× Ñ  aÔ(ˆÜ—X‘XÒGÓHˆ
Ü˜CŸO™O¨A¨sÓ3°ZÕ@÷	%ð 	%ús   °CÃCc                 ó¸   — t        j                  ddi¬«      \  }}|j                  d«       |j                  dd«       t	        |j                  «       g d¢«       y)	z<
        Polar Axes have a different ticking logic.
        Ú
projectionÚpolar)Ú
subplot_kwÚlogr   r   )r"   r   r  N)r®   r¯   Ú
set_yscalerò   r   Ú
get_yticks©r/   rµ   r¶   s      r4   Útest_polar_axeszTestLogLocator.test_polar_axesV  sE   € ô —,‘,¨<¸Ð*AÔB‰ˆˆRØ
�‰�eÔØ
�‰�A�sÔÜ˜2Ÿ=™=›?ªOÕ<r6   c                 óš  — t        j                  d¬«      }t        |j                  dd«      g d¢«       t        j                  t	        j
                  dd«      ¬«      }d|j                  d	d
«      vsJ ‚d|j                  d	d
«      vsJ ‚t        j                  d¬«      }|j                  dd«      }t        |d|k  |dk  z     dg«       y )NrH   ©Úsubsr¨   r©   )g)\�Âõ(Ü?gq=
×£pÝ?g¸…ëQ¸Þ?r   g¤p=
×£à?gHáz®Gá?gìQ¸…ëá?r   r"   r   rª   r   r  rù   r
   )r,   r  r   r.   rN   rP   )r/   r3   Útvs      r4   Útest_switch_to_autolocatorz)TestLogLocator.test_switch_to_autolocator_  s¸   € Ü× Ñ  eÔ,ˆÜ˜3Ÿ?™?¨4°Ó6ÚDô	Fô × Ñ ¤b§i¡i°°2Ó&6Ô7ˆØ˜#Ÿ/™/¨#¨sÓ3Ñ3Ð3Ð3Ø˜3Ÿ?™?¨3°Ó4Ñ4Ð4Ð4ä× Ñ  fÔ-ˆØ�_‰_˜R Ó$ˆÜ˜2˜r R™x¨B°"©HÑ5Ñ6¸¸Õ=r6   c                 óÐ   — t        j                  «       }|j                  ddgd¬«       |j                  dk(  sJ ‚|j                  dk(  sJ ‚t        |j                  «      dgk(  sJ ‚y)zÆ
        Create log locator with default value, base=10.0, subs=[1.0],
        numticks=15 and change it to something else.
        See if change was successful. Should not raise exception.
        é   rr   r’   )r^   r  rz   N)r,   r  rl   r^   Ú_baser  Ú_subsrf   s     r4   rm   zTestLogLocator.test_set_paramsl  s`   € ô × Ñ Ó"ˆØ�‰ ¨¨°AˆÔ6Ø�|‰|˜qÒ Ð Ð Ø�y‰y˜AŠ~Ðˆ~Ü�C—I‘I‹ 3 %Ò'Ð'Ñ'r6   c                 ó–   — t        j                  d¬«      }t        j                  g d¢«      }t	        |j                  dd«      |«       y )N©r   r   r!   r  )r¦   ra   r   r   rr   rÆ   r  r   ç      I@r   ç      i@ç     @@r  ç     @Ÿ@ç     ˆ³@ç     ˆÃ@ç     ˆÓ@ç     jè@r  ç     jAç    €„Aç    €„.Aç    €„>Aç    ÐSAr  ç    ÐsAç    „×‡Ar   r  )r,   r  rN   rO   r   r.   ©r/   Úllrd   s      r4   Útest_tick_values_correctz'TestLogLocator.test_tick_values_correctx  s<   € Ü×Ñ YÔ/ˆÜ—X‘Xò 7ó 8ˆ
ô
 	˜BŸN™N¨1¨cÓ2°JÕ?r6   c                 ó¼   — dt         j                  d<   t        j                  d¬«      }t	        j
                  g d¢«      }t        |j                  dd«      |«       y )NFrÓ   r&  r  )r¦   ra   r   r   rr   rÆ   r  r   r'  r   r(  r)  r  r*  r+  r,  r-  r.  r  r/  r0  r1  r2  r3  r  r4  r5  ç    „×—Ag    „×§Ag    eÍ½Ar   r:  )r‰   ÚrcParamsr,   r  rN   rO   r   r.   r6  s      r4   Útest_tick_values_not_emptyz)TestLogLocator.test_tick_values_not_empty�  sM   € Ø16Œ�‰Ð-Ñ.Ü×Ñ YÔ/ˆÜ—X‘Xò Oó Pˆ
ô
 	˜BŸN™N¨1¨cÓ2°JÕ?r6   c                 ó  — t         j                  j                  d«      }|j                  d¬«      g g g}t	        j
                  t        |«      dd¬«      \  }}t        |j                  «       |«      D ]+  \  }}|j                  |d¬«       |j                  dd	¬
«       Œ- |j                  «       D ]W  }t        |j                  «       |d   j                  «       k(  «      sJ ‚|j                  «       |d   j                  «       k(  rŒWJ ‚ y )Ni!N,r   )ÚsizeT)ÚsharexÚshareyr"   )Úbinsr  Úclip)Únonpositiver   )rN   ÚrandomÚdefault_rngÚnormalr®   r¯   rÌ   r  ÚflattenÚhistr  rH   r  Úget_ylim)r/   ÚrngÚ
dummy_datarµ   Úaxesr¶   r‡   s          r4   Útest_multiple_shared_axesz(TestLogLocator.test_multiple_shared_axes‹  så   € Ü�i‰i×#Ñ# HÓ-ˆØ—j‘j c�jÓ*¨B°Ð3ˆ
Ü—L‘L¤ Z£¸ÀdÔK‰	ˆˆTä˜DŸL™L›N¨JÓ7ò 	5‰HˆB�Ø�G‰G�D˜rˆGÔ"Ø�M‰M˜%¨VˆMÕ4ð	5ð —,‘,“.ò 	7ˆBÜ�r—}‘}“¨$¨q©'×*<Ñ*<Ó*>Ñ>Ô?Ð?Ð?Ø—;‘;“= D¨¡G×$4Ñ$4Ó$6Ó6Ð6Ð6ñ	7r6   N)
rK   rL   rM   r5   r  r   rm   r8  r<  rM  r@   r6   r4   r	  r	  I  s(   „ ò
Aò=ò>ò
(ò@ò@ó7r6   r	  c                   ó   — e Zd Zd„ Zy)ÚTestNullLocatorc                 ó¨   — t        j                  «       }t        j                  t        «      5  |j                  «        ddd«       y# 1 sw Y   yxY w)zˆ
        Create null locator, and attempt to call set_params() on it.
        Should not exception, and should raise a warning.
        N)r,   ÚNullLocatorrA   ÚwarnsÚUserWarningrl   rf   s     r4   rm   zTestNullLocator.test_set_paramsš  s=   € ô
 ×!Ñ!Ó#ˆÜ�\‰\œ+Ó&ñ 	Ø�N‰NÔ÷	÷ 	ñ 	ús   ®AÁAN©rK   rL   rM   rm   r@   r6   r4   rO  rO  ™  s   „ ór6   rO  c                   ó,   — e Zd Zed„ «       Zed„ «       Zy)Ú_LogitHelperc                 óÒ   — d| cxk  rdk  r[n nXd|cxk  rdk  rMn nJt        j                  t        j                  d| z  dz
  «       t        j                  d|z  dz
  «       «      S dS )Nr   r   F)rN   Úiscloser  )r×   rì   s     r4   rX  z_LogitHelper.isclose¥  sZ   € ð �q”9˜1•9  Q¤¨¥ô —
‘
œBŸF™F 1 Q¡3 q¡5›M˜>¬B¯F©F°1°Q±3°q±5«M¨>Ó:ð 	7Ø05ð	7r6   c                 ó¨  — t        j                  | «      }t        j                  |«      }t        j                  |dkD  «      rt        j                  |dk  «      sJ ‚t        j                  |dkD  «      rt        j                  |dk  «      sJ ‚t        j                  d|z  dz
  «       }t        j                  d|z  dz
  «       }t	        ||«       y rÛ   )rN   rO   rH   r  r   )r×   rì   r¶   ÚayÚlxÚlys         r4   r   z _LogitHelper.assert_almost_equalª  sš   € ä�X‰X�a‹[ˆÜ�X‰X�a‹[ˆÜ�v‰v�b˜1‘fŒ~¤"§&¡&¨¨a©¤.Ð0Ð0Ü�v‰v�b˜1‘fŒ~¤"§&¡&¨¨a©¤.Ð0Ð0Ü�f‰f�Q�r‘T˜!‘V‹nˆ_ˆÜ�f‰f�Q�r‘T˜!‘V‹nˆ_ˆÜ˜B Õ#r6   N)rK   rL   rM   ÚstaticmethodrX  r   r@   r6   r4   rV  rV  ¤  s(   „ Øñ7ó ð7ð ñ$ó ñ$r6   rV  c                   ó,  — e Zd Zg d¢Zdd ej
                  dd«      z  z  dd ej
                  dd«      z  z  dd ej
                  dd«      z  z  dd ej
                  dd«      z  z  dd ej
                  dd«      z  z  dd ej
                  dd	«      z  z  dd ej
                  dd
«      z  z  dd ej
                  dd«      z  z  gZg d¢Zej                  j                  d eee«      «      d„ «       Zej                  j                  de«      d„ «       Zej                  j                  deez   «      d„ «       Zej                  j                  d eee«      «      d„ «       Zd„ Zg d ej
                  dd«      z  ¢dd ej
                  dd«      z  z
  ¢Zej                  j                  d ej&                  ed¬«      D � ��cg c]  \  }}||k7  r||f‘Œ c}}} «      d„ «       Zej                  j                  de«      d„ «       Zyc c}}} w )ÚTestLogitLocator)©r¥   r   )ræ   g×£p=
×ï?)gü©ñÒMb@?g–C‹lçûï?©ç-Cëâ6
?g�St$—ÿï?)gñhãˆµøÔ>gŽ;¥ƒõÿï?)g�íµ ÷Æ >gõ…�óþÿï?©gH¯¼šò×j>ge(åÿÿï?)g:Œ0âŽy5>g$ÎPýÿÿï?r   r"   r\   r’   r!   r   r"  ri   é	   ))r¿   rÀ   )r¥   ra   )rÁ   r   zlims, expected_low_ticksc                 óž   — t        g |¢d‘d|z
  ¢«      }t        j                  d¬«      }t        j	                   |j
                  |Ž |«       y)zR
        Create logit locator with huge number of major, and tests ticks.
        r   r   r   r)   N)Úsortedr,   ÚLogitLocatorrV  r   r.   )r/   ÚlimsÚexpected_low_ticksÚexpected_ticksr3   s        r4   Útest_basic_majorz!TestLogitLocator.test_basic_majorÎ  sX   € ô  ØAÐ ÐA #ÐA¨Ð-?Ñ)?ÐAó
ˆô ×"Ñ"¨Ô-ˆÜ×(Ñ(ØˆC�O‰O˜TÐ"Øõ	
r6   rh  c                 óT  — t        j                  d¬«      }t        j                  dg d¢¬«      }dD ]t  }|j                  |¬«       |j                  |¬«        |j                  |Ž } |j                  |Ž }|j
                  |j
                  k(  sJ ‚||k(  j                  «       rŒtJ ‚ y)zj
        When the axis is zoomed, the locator must have the same behavior as
        MaxNLocator.
        r   r)   )r   r   r!   r"   )r*   r9   )r’   ri   é   N)r,   rg  r-   rl   r.   ÚshaperH   )r/   rh  r3   Úmaxn_locr*   ÚticksÚ
maxn_tickss          r4   Útest_maxn_majorz TestLogitLocator.test_maxn_majorß  s¥   € ô ×"Ñ"¨Ô-ˆÜ×&Ñ&¨SºÔFˆØò 	/ˆEØ�N‰N ˆNÔ'Ø×Ñ eÐÔ,Ø#�C—O‘O TÐ*ˆEØ-˜×-Ñ-¨tÐ4ˆJØ—;‘; *×"2Ñ"2Ò2Ð2Ð2Ø˜ZÑ'×,Ñ,Õ.Ð.Ð.ñ	/r6   c                 ó.  — t        t        j                  t        j                  |d   «      «       «      dz  dz   }t	        j
                  d¬«      }t        |dd«      D ]4  }|j                  |¬«       t         |j                  |Ž «      |dz   k  rŒ4J ‚ y)zB
        Assert logit locator for respecting nbins param.
        r   r   r   r   r)   r   N)
ÚintrN   ÚfloorÚlog10r,   rg  Úrangerl   rÌ   r.   )r/   rh  Úbasic_neededr3   r*   s        r4   Útest_nbins_majorz!TestLogitLocator.test_nbins_majorï  s‰   € ô œBŸH™H¤R§X¡X¨d°1©gÓ%6Ó7Ð7Ó8¸1Ñ<¸qÑ@ˆÜ×"Ñ"¨Ô-ˆÜ˜<¨¨BÓ/ò 	<ˆEØ�N‰N ˆNÔ'Ü��s—‘¨Ð-Ó.°%¸!±)Ó;Ð;Ð;ñ	<r6   c                 óø  — t        g |¢d‘d|z
  ¢«      }t        |«      }t        j                  d¬«      }t        j                  dd¬«      }t	        |dd«      D ]ž  }|j                  |¬«       |j                  |¬«        |j                  |Ž } |j                  |Ž }	t        |«      t        |«      k\  r t        |«      dz
  d	z  t        |	«      k  rŒzJ ‚t        j                  t        g |¢|	¢«      |«       Œ  y
)zt
        In large scale, test the presence of minor,
        and assert no minor when major are subsampled.
        r   r   r   r)   T)r*   r­   r   r   r!   N)	rf  rÌ   r,   rg  rw  rl   r.   rV  r   )
r/   rh  ri  rj  rx  r3   Ú	minor_locr*   Úmajor_ticksÚminor_tickss
             r4   Ú
test_minorzTestLogitLocator.test_minorû  s
  € ô  ØAÐ ÐA #ÐA¨Ð-?Ñ)?ÐAó
ˆô ˜>Ó*ˆÜ×"Ñ"¨Ô-ˆÜ×(Ñ(¨s¸$Ô?ˆ	Ü˜<¨¨BÓ/ò 	JˆEØ�N‰N ˆNÔ'Ø× Ñ  uÐ Ô-Ø)˜#Ÿ/™/¨4Ð0ˆKØ/˜)×/Ñ/°Ð6ˆKÜ�;Ó¤3 ~Ó#6Ò6ä˜KÓ(¨1Ñ,°Ñ1´C¸Ó4DÓDÐDÐDô ×0Ñ0ÜÐ7˜[Ð7¨;Ð7Ó8¸.õJñ	Jr6   c                 ó¶   — t        j                  d¬«      }|j                  rJ ‚d|_        |j                  sJ ‚|j                  d¬«       |j                  rJ ‚y )Nr   r)   TFr¬   )r,   rg  r­   rl   rf   s     r4   Útest_minor_attrz TestLogitLocator.test_minor_attr  sM   € Ü×"Ñ"¨Ô-ˆØ—9’9Ðˆ}ØˆŒ	Ø�yŠyÐˆyØ�‰˜UˆÔ#Ø—9’9Ðˆ}�9r6   rÄ   éýÿÿÿr   r   )Úrepeatc                 ó|   — t        j                  «       } |j                  |Ž }t        |«      t        |«      k(  sJ ‚y)zd
        Create logit locator, and test the nonsingular method for acceptable
        value
        N)r,   rg  Únonsingularrf  )r/   rh  r3   Úlims2s       r4   Útest_nonsingular_okz$TestLogitLocator.test_nonsingular_ok%  s8   € ô ×"Ñ"Ó$ˆØ�—‘ Ð&ˆÜ�d‹|œv e›}Ò,Ð,Ñ,r6   Úokvalc                 óì   — t        j                  «       }d|}}|j                  ||«      \  }}||k(  sJ ‚d|cxk  r|k  sJ ‚ J ‚|d}}|j                  ||«      \  }}||k(  sJ ‚||cxk  rdk  sJ ‚ J ‚y)zh
        Create logit locator, and test the nonsingular method for non
        acceptable value
        r   r   r   r   N)r,   rg  r„  )r/   r‡  r3   r0   r1   Úvmin2Úvmax2s          r4   Útest_nonsingular_nokz%TestLogitLocator.test_nonsingular_nok6  s–   € ô ×"Ñ"Ó$ˆØ˜%ˆdˆØ—‘ t¨TÓ2‰ˆˆuØ˜Š}Ðˆ}Ø�5Ô ˜5Ò Ð Ñ Ð Ð Ø˜QˆdˆØ—‘ t¨TÓ2‰ˆˆuØ˜Š}Ðˆ}Ø�uÔ ˜qÒ Ð Ñ Ð Ñ r6   N)rK   rL   rM   Úref_basic_limitsrN   rP   Úref_basic_major_ticksÚref_maxn_limitsrA   rS   rT   r  rk  rr  ry  r~  r€  Úacceptable_vmin_vmaxÚ	itertoolsÚproductr†  r‹  )Ú.0ÚaÚbs   000r4   r_  r_  µ  sm  „ ò	Ðð 	
ˆR�9�2—9‘9˜Q “?Ñ"Ñ#Ø	ˆR�9�2—9‘9˜Q “?Ñ"Ñ#Ø	ˆR�9�2—9‘9˜Q “?Ñ"Ñ#Ø	ˆR�9�2—9‘9˜Q “?Ñ"Ñ#Ø	ˆR�9�2—9‘9˜Q “?Ñ"Ñ#Ø	ˆR�9�2—9‘9˜Q “?Ñ"Ñ#Ø	ˆR�9�2—9‘9˜Q “?Ñ"Ñ#Ø	ˆR�9�2—9‘9˜Q Ó#Ñ#Ñ$ð	Ðò G€Oà‡[�[×ÑØ"ÙÐÐ3Ó4óñ
ó	ð
ð ‡[�[×Ñ˜V _Ó5ñ/ó 6ð/ð ‡[�[×Ñ˜VÐ%5¸Ñ%GÓHñ	<ó Ið	<ð ‡[�[×ÑØ"ÙÐÐ3Ó4óñJó	ðJò2ðØ
��—‘˜2˜qÓ!Ñ
!ðà
ˆc�Y�R—Y‘Y˜r 1Ó%Ñ%Ñ
%ðÐð
 ‡[�[×ÑØð ,˜)×+Ñ+Ð,@ÈÔK÷	
ð 	
á��AØ�AŠvð �ŠFô	
óñ-óð-ð ‡[�[×Ñ˜WÐ&:Ó;ñ!ó <ñ!ùô!	
s   Ç
Hr_  c                   ó   — e Zd Zd„ Zy)ÚTestFixedLocatorc                 óŒ   — t        j                  t        dd«      d¬«      }|j                  d¬«       |j                  dk(  sJ ‚y)z™
        Create fixed locator with 5 nbins, and change it to something else.
        See if change was successful.
        Should not exception.
        r   é   r!   r)   r"  N)r,   ÚFixedLocatorrw  rl   r*   )r/   Úfixeds     r4   rm   z TestFixedLocator.test_set_paramsH  s?   € ô ×$Ñ$¤U¨1¨b£\¸Ô;ˆØ×Ñ˜qÐÔ!Ø�{‰{˜aÒÐÑr6   NrT  r@   r6   r4   r–  r–  G  s   „ ó r6   r–  c                   ó   — e Zd Zd„ Zd„ Zy)ÚTestIndexLocatorc                 óœ   — t        j                  dd¬«      }|j                  dd¬«       |j                  dk(  sJ ‚|j                  dk(  sJ ‚y)z¢
        Create index locator with 3 base, 4 offset. and change it to something
        else. See if change was successful.
        Should not exception.
        r\   r’   r‚   r"  N)r,   ÚIndexLocatorrl   r#  rƒ   ©r/   Úindexs     r4   rm   z TestIndexLocator.test_set_paramsT  sM   € ô ×$Ñ$¨!°AÔ6ˆØ×Ñ˜a¨ÐÔ*Ø�{‰{˜aÒÐÐØ�|‰|˜qÒ Ð Ñ r6   c                 óB  — t        j                  dd¬«      }t        |j                  dd«      g d¢«       t        j                  dd¬«      }t        |j                  dd«      g d¢«       t        j                  dd¬«      }t        |j                  dd	«      g d
¢«       y)zQ
        Test that tick_values does not return values greater than vmax.
        r   r   r‚   r’   )r   r   r   r\   r’   r   rþ   r   r!   )r   r   r’   N)r,   rž  r   r.   rŸ  s     r4   Ú#test_tick_values_not_exceeding_vmaxz4TestIndexLocator.test_tick_values_not_exceeding_vmax_  s„   € ô
 ×$Ñ$¨!°AÔ6ˆÜ˜5×,Ñ,¨Q°Ó2²OÔDô ×$Ñ$¨!°CÔ8ˆÜ˜5×,Ñ,¨Q°Ó2Ò4HÔIô ×$Ñ$¨!°AÔ6ˆÜ˜5×,Ñ,¨Q°Ó2²IÕ>r6   N)rK   rL   rM   rm   r¢  r@   r6   r4   rœ  rœ  S  s   „ ò	!ó?r6   rœ  c                   óz   — e Zd Zd„ Zej
                  j                  dddddgfddg d¢fg«      d„ «       Zd„ Zd	„ Z	y
)ÚTestSymmetricalLogLocatorc                 ó    — t        j                  dd¬«      }|j                  dgd¬«       |j                  dgk(  sJ ‚|j                  dk(  sJ ‚y)zÅ
        Create symmetrical log locator with default subs =[1.0] numticks = 15,
        and change it to something else.
        See if change was successful.
        Should not exception.
        r"   r   ©rz   Ú	linthreshrr   ri   )r  r^   N)r,   ÚSymmetricalLogLocatorrl   r$  r^   ©r/   Úsyms     r4   rm   z)TestSymmetricalLogLocator.test_set_paramsq  sN   € ô ×+Ñ+°¸qÔAˆØ�‰˜S˜E¨AˆÔ.Ø�y‰y˜S˜EÒ!Ð!Ð!Ø�|‰|˜qÒ Ð Ñ r6   r'   r   r   r   ©r   r   r   c                 óp   — t        j                  dd¬«      }|j                  ||¬«      }t        ||«       y )Nr"   r   r¦  )r0   r1   )r,   r¨  r.   r   )r/   r0   r1   r2   rª  rp  s         r4   Útest_valuesz%TestSymmetricalLogLocator.test_values}  s2   € ô ×+Ñ+°¸qÔAˆØ—‘ T°�Ó5ˆÜ˜5 (Õ+r6   c                 ó¶   — t        j                  ddddg¬«      }|j                  «        |j                  j	                  dd«       t         |«       g d¢«       y )Nr"   r   rr   r  )rz   r§  r  éöÿÿÿ)	éìÿÿÿiØÿÿÿéþÿÿÿr‘   r   r   r’   r
   é(   )r,   r¨  Úcreate_dummy_axisÚaxisÚset_view_intervalr   r©  s     r4   Ú	test_subsz#TestSymmetricalLogLocator.test_subsŠ  sG   € Ü×+Ñ+°¸qÈÈSÀzÔRˆØ×ÑÔØ�‰×"Ñ" 3¨Ô+Ü™3›5Ò"EÕFr6   c                 óº  — t        j                  dd¬«      }|j                  «        |j                  j	                  dd«        |«       dgk(  j                  «       sJ ‚|j                  j	                  dd«        |«       ddgk(  j                  «       sJ ‚|j                  dd«      d	k(  sJ ‚|j                  d
d
«      dk(  sJ ‚|j                  dd«      dk(  sJ ‚y )Nr"   r   r¦  ri   rd  r   é   r  )r   r   r¯  )éœÿÿÿr   r   )çü©ñÒMbP¿r   )r,   r¨  r³  r´  rµ  rH   r‹   r©  s     r4   Útest_extendingz(TestSymmetricalLogLocator.test_extending�  sÊ   € Ü×+Ñ+°¸qÔAˆØ×ÑÔØ�‰×"Ñ" 1 aÔ(Ù“˜#˜‘×#Ñ#Ô%Ð%Ð%Ø�‰×"Ñ" 1 bÔ)Ù“˜#˜t˜Ñ$×)Ñ)Ô+Ð+Ð+Ø�‰˜r 2Ó&¨(Ò2Ð2Ð2Ø�‰˜s CÓ(¨JÒ6Ð6Ð6Ø�‰˜q !Ó$¨Ò7Ð7Ñ7r6   N)
rK   rL   rM   rm   rA   rS   rT   r­  r¶  r»  r@   r6   r4   r¤  r¤  p  sT   „ ò
!ð ‡[�[×ÑØ"à�A˜˜1�v�Ø�Qš
Ð#ðóñ,óð,òGó	8r6   r¤  c                   ó<   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
y	)
ÚTestAsinhLocatorc                 ó˜   — t        j                  dd¬«      }|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚y )NgX9´Èv¾@é   )Úlinear_widthr^   r"   )r,   ÚAsinhLocatorrÀ  r^   rz   ©r/   Úlctrs     r4   Ú	test_initzTestAsinhLocator.test_init�  sJ   € Ü×#Ñ#°ÀÔDˆØ× Ñ  EÒ)Ð)Ð)Ø�}‰} Ò"Ð"Ð"Ø�y‰y˜BŠÐ‰r6   c                 ó.  — t        j                  ddddd¬«      }|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j
                  dk(  sJ ‚|j                  d¬«       |j                  dk(  sJ ‚|j                  d «       |j                  dk(  sJ ‚|j                  d	¬
«       |j                  d	k(  sJ ‚|j                  d ¬
«       |j                  d	k(  sJ ‚|j                  d¬«       |j                  dk(  sJ ‚|j                  d ¬«       |j                  dk(  sJ ‚|j                  d¬«       |j
                  dk(  sJ ‚|j                  d ¬«       |j
                  dk(  sJ ‚|j                  g ¬«       |j
                  �J ‚y )Nr!   é   rê   r’   )rÄ   g      
@)rÀ  r^   Ú	symthreshrz   r  é   r]   r   )rÇ  r"  ry   )r   g     €@r  )r,   rÁ  r^   rÇ  rz   r  rl   rÂ  s     r4   rm   z TestAsinhLocator.test_set_params£  s~  € Ü×#Ñ#°Ø-/¸5Ø)*°ô>ˆð �}‰} Ò"Ð"Ð"Ø�~‰~ Ò&Ð&Ð&Ø�y‰y˜AŠ~Ðˆ~Ø�y‰y˜KÒ'Ð'Ð'à�‰ ˆÔ$Ø�}‰} Ò"Ð"Ð"Ø�‰˜ÔØ�}‰} Ò"Ð"Ð"à�‰ #ˆÔ&Ø�~‰~ Ò$Ð$Ð$Ø�‰ $ˆÔ'Ø�~‰~ Ò$Ð$Ð$à�‰˜QˆÔØ�y‰y˜AŠ~Ðˆ~Ø�‰˜TˆÔ"Ø�y‰y˜AŠ~Ðˆ~à�‰˜ZˆÔ(Ø�y‰y˜JÒ&Ð&Ð&Ø�‰˜TˆÔ"Ø�y‰y˜JÒ&Ð&Ð&Ø�‰˜RˆÔ Ø�y‰yÐ Ð Ñ r6   c                 óZ  — t        j                  ddd¬«      }t        |j                  dd«      t	        j
                  ddd«      «       t        |j                  d	d
«      t	        j
                  d	dd«      «       t        |j                  dd«      t	        j
                  ddd«      «       y )Nr   r<   r   ©rÀ  r^   rz   r   r   ç)\�Âõ(ð?ra   r   r¦   gB`åÐ"Û¹?ç{®Gáz”?g{®Gáz„¿rç   gM„O¯„?çü©ñÒMb`?©r,   rÁ  r   r.   rN   rP   rÂ  s     r4   Útest_linear_valuesz#TestAsinhLocator.test_linear_valuesÂ  s‹   € Ü×#Ñ#°¸rÈÔJˆä˜D×,Ñ,¨R°Ó3ÜŸI™I b¨$°Ó4ô	6ä˜D×,Ñ,¨T°3Ó7ÜŸI™I d¨E°4Ó8ô	:ä˜D×,Ñ,¨U°DÓ9ÜŸI™I e¨V°UÓ;õ	=r6   c                 ó¬   — t        j                  ddd¬«      }t        |j                  dd«      g d¢«       t        |j                  dd	«      g d
¢«       y )Nr¦   r<   r   rÊ  r¹  r   )r¹  r°  r   r   r¾   r   ra   r   r!   r
   r   éüÿÿr  )rÑ  r¹  r°  r�  r½   r   r¿   r\   r
   r   r  ©r,   rÁ  r   r.   rÂ  s     r4   Útest_wide_valuesz!TestAsinhLocator.test_wide_valuesÌ  sP   € Ü×#Ñ#°¸rÈÔJˆä˜D×,Ñ,¨T°3Ó7ò4ô	5ô 	˜D×,Ñ,¨U°DÓ9ò7õ	8r6   c                 óp   — t        j                  ddd¬«      }t        |j                  dd«      g d¢«       y)	z<Check that manually injected zero will supersede nearby tickr   r\   r   rÊ  r¼   rª   )rÂ   r   rª   NrÒ  rÂ  s     r4   Útest_near_zerozTestAsinhLocator.test_near_zeroÖ  s.   € ä×#Ñ#°¸qÀqÔIˆä˜D×,Ñ,¨T°3Ó7Ò9IÕJr6   c                 ó”   — t        j                  dd¬«      }t        |j                  dd«      t	        j
                  ddd«      «       y )Nr   r<   r]   ée   éf   gq=
×£€Y@r¦   rÎ  rÂ  s     r4   Útest_fallbackzTestAsinhLocator.test_fallbackÜ  s;   € Ü×#Ñ# C°"Ô5ˆä˜D×,Ñ,¨S°#Ó6ÜŸI™I c¨6°3Ó7õ	9r6   c                 óÎ  — t        j                  dddd¬«      }|j                  «        |j                  j	                  dd«       t         |«       g d¢«       |j                  j	                  dd	«       t         |«       g d
¢«       |j                  j	                  dd«       t         |«       g d
¢«       |j                  j	                  dd«       t         |«       g d¢«       y )Nr   r\   r   r   )rÀ  r^   rÇ  rz   r   r   )r   r   r   rª   r«  g333333ë¿r«   r   )r   r«   r   )r,   rÁ  r³  r´  rµ  r   rÂ  s     r4   Útest_symmetrizingz"TestAsinhLocator.test_symmetrizingâ  s§   € Ü×#Ñ#°¸QØ.2¸ô<ˆà×ÑÔ à�	‰	×#Ñ# B¨Ô*Ü™D›F¢JÔ/à�	‰	×#Ñ# B¨Ô,Ü™D›F¢JÔ/à�	‰	×#Ñ# E¨4Ô0Ü™D›F¢JÔ/à�	‰	×#Ñ# A sÔ+Ü™D›F¢NÕ3r6   c                 óÞ   — t        j                  dddd¬«      }t        |j                  dd«      g d¢«       t        j                  dd	d
¬«      }t        |j                  dd«      g d¢«       y )Nr   ri   r"   )r   r\   r!   )rÀ  r^   rz   r  é’ÿÿÿén   )iþÿÿiÔþÿÿr¹  iÎÿÿÿiâÿÿÿr¯  r   r�  r   rÃ   r`   r   r   r¦   r§   r   r   r\   r!   r"   r$   é2   r   i,  éô  r
   r!   rÊ  iæûÿÿi  )i�ýÿÿiƒÿÿÿiçÿÿÿr   r   r¾   r   ra   r   r!   é   é}   iq  rÒ  )r/   Úlctr10Úlctr5s      r4   Útest_base_roundingz#TestAsinhLocator.test_base_roundingó  sk   € Ü×%Ñ%°1¸qØ+-°Iô?ˆä˜F×.Ñ.¨t°SÓ9òAô	Bô
 ×$Ñ$°!¸bÀqÔIˆÜ˜E×-Ñ-¨e°TÓ:ò6õ	7r6   N)rK   rL   rM   rÄ  rm   rÏ  rÓ  rÕ  rÙ  rÛ  rå  r@   r6   r4   r½  r½  œ  s+   „ òò!ò>=ò8òKò9ò4ó"7r6   r½  c                   ó¤  — e Zd Zg d¢ZddgZddgZg d¢Zddgddgd	d
gddgddggZg d¢Ze	j                  j                  dddg«      d„ «       Ze	j                  j                  de«      d„ «       Ze	j                  j                  de«      d„ «       Ze	j                  j                  de«      d„ «       Zd„ Zd„ Zd„ Zd„ Ze	j                  j                  de«      d„ «       Ze	j                  j                  d e«      d!„ «       Ze	j                  j                  d"e«      d#„ «       Ze	j                  j                  d"e«      d$„ «       Zd%„ Zd&„ Zd'„ Zy())ÚTestScalarFormatter))é{   é½   r   )iCÿÿÿi…ÿÿÿr   )i50  i=0  i40  )iÃÏÿÿiËÏÿÿiÌÏÿÿ)g    øiø@g    ¨jø@é † )g    ¨jøÀg    øiøÀé`yþÿ)g    hiø@g    jø@rê  )g    jøÀg    hiøÀrë  )iOÔ iQÔ iPÔ )i¯+íÿi±+íÿi°+íÿ)r   r   r   )rè  rè  r   )gì/»'Ý?g”ö_˜LÝ?r¨   )g
×£p=š­@g33333Ž­@iÄ  )gš™™™‰æ@g    ø`æ@iÈ¯  )g1Ðµ/ G?gšÃÿgÞ»G?gÖÿ9Ì—G?)g\�Âõh˜È@g¤p=
·—È@i.1  )g      "@g      (@r   )g      Œ@ç     À’@r   )g     °�@rì  r   )ç®Gáz®ï?rË  r   )g{®Gáú#@g…ëQ¸$@r"   )g�Âõ(\ÿX@gq=
×£ Y@r   )gö(\�Âõ@g
×£p=
@r   )g{®Gáú/@gÃõ(\�0@rm  )g!°rh‘íÜ¿ç°rh‘í|ß?r   )g°rh‘í|ß¿rî  r   )g3333³È@g    @È@i0  )gffff¦ÈÀgffff¦È@r   TF)	)Fr·   )r  r   r   F)T©r±  r   )r¯  r
   r   F)Trï  )r°  r"   r   F)Trï  )rÝ  éx   r   F)Trï  )iˆÿÿÿrÞ  r   F)Trï  )rº  rÍ  r�  F)T)r}   r"  )g   €tÒÚAg   0ëþArd  T)Tr·   ©g     jøÀr  r!   F)T)r   r   rñ  r   Fr   z0.000g�(í¾0‰?z0.012g°rh‘í|¿?z0.123g®Gáz®ó?z1.230gš™™™™™(@z12.300))r¦   ú1e-1)ré   z1.1e-1)r:  Ú1e8)g    Þ9šAz1.1e8zunicode_minus, result)Tõ   âˆ’1)Fú-1c                 óÆ   — |t         j                  d<   t        j                  «       j                  j                  «       j                  d«      j                  «       |k(  sJ ‚y )Núaxes.unicode_minusr   )r‰   r;  r®   Úgcar²   Úget_major_formatterÚformat_data_shortÚstrip)r/   Úunicode_minusrI   s      r4   Útest_unicode_minusz&TestScalarFormatter.test_unicode_minusC  sO   € ð .;Œ�‰Ð)Ñ*ä�G‰G‹I�O‰O×/Ñ/Ó1×CÑCÀBÓG×MÑMÓOØòð	ñr6   zleft, right, offsetc                 óV  — t        j                  «       \  }}|j                  j                  «       }||k(  rt	        j
                  t        d¬«      n	t        «       5  |j                  ||«       d d d «       |j                  j                  «        |j                  |k(  sJ ‚||k(  rt	        j
                  t        d¬«      n	t        «       5  |j                  ||«       d d d «       |j                  j                  «        |j                  |k(  sJ ‚y # 1 sw Y   Œ¥xY w# 1 sw Y   ŒAxY w)NzAttempting to set identicalr>   )r®   r¯   r²   rù  rA   rR  rS  r   r°   Ú_update_ticksrƒ   )r/   ÚleftÚrightrƒ   rµ   r¶   Ú	formatters          r4   Útest_offset_valuez%TestScalarFormatter.test_offset_valueK  só   € ä—,‘,“.‰ˆˆRØ—H‘H×0Ñ0Ó2ˆ	ð ˜’ô �l‰lœ;Ð.KÕLÜ$/£Mñ	%à�K‰K˜˜eÔ$÷	%ð 	�‰×ÑÔ Ø×Ñ 6Ò)Ð)Ð)ð ˜’ô �l‰lœ;Ð.KÕLÜ$/£Mñ	%à�K‰K˜˜tÔ$÷	%ð 	�‰×ÑÔ Ø×Ñ 6Ò)Ð)Ñ)÷	%ð 	%ú÷	%ð 	%ús   ÁDÃDÄDÄD(Ú
use_offsetc                 óÒ   — t        j                  d|i«      5  t        j                  «       }||j	                  «       k(  sJ ‚|j
                  dk(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nzaxes.formatter.useoffsetr   )r‰   rŠ   r,   ÚScalarFormatterÚget_useOffsetrƒ   )r/   r  Útmp_forms      r4   Útest_use_offsetz#TestScalarFormatter.test_use_offset\  s`   € ä�^‰^Ð7¸ÐDÓEñ 	(Ü×.Ñ.Ó0ˆHØ ×!7Ñ!7Ó!9Ò9Ð9Ð9Ø—?‘? aÒ'Ð'Ñ'÷	(÷ 	(ñ 	(ús   ˜;AÁA&Úuse_math_textc                 ó°   — t        j                  d|i«      5  t        j                  «       }||j	                  «       k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Núaxes.formatter.use_mathtext)r‰   rŠ   r,   r  Úget_useMathText)r/   r
  r  s      r4   Útest_useMathTextz$TestScalarFormatter.test_useMathTextc  sN   € ä�^‰^Ð:¸MÐJÓKñ 	?Ü×.Ñ.Ó0ˆHØ  H×$<Ñ$<Ó$>Ò>Ð>Ñ>÷	?÷ 	?ñ 	?ús   ˜*AÁAc                 ó”   — t        j                  «       }|j                  d«       |j                  «       rJ ‚|j                  dk(  sJ ‚y )Nr   ©r,   r  Úset_useOffsetr  rƒ   ©r/   r  s     r4   Útest_set_use_offset_floatz-TestScalarFormatter.test_set_use_offset_floati  sB   € Ü×*Ñ*Ó,ˆØ×Ñ˜sÔ#Ø×)Ñ)Ô+Ð+Ð+Ø�‰ #Ò%Ð%Ñ%r6   c                 óü   — t        j                  «       }|j                  d«       |j                  «       sJ ‚|j                  dk(  sJ ‚|j                  d«       |j                  «       rJ ‚|j                  dk(  sJ ‚y )NTr   Fr  r  s     r4   Útest_set_use_offset_boolz,TestScalarFormatter.test_set_use_offset_boolo  st   € Ü×*Ñ*Ó,ˆØ×Ñ˜tÔ$Ø×%Ñ%Ô'Ð'Ð'Ø�‰ !Ò#Ð#Ð#à×Ñ˜uÔ%Ø×)Ñ)Ô+Ð+Ð+Ø�‰ !Ò#Ð#Ñ#r6   c                 ó”   — t        j                  «       }|j                  d«       |j                  «       rJ ‚|j                  dk(  sJ ‚y )Nr   r  r  s     r4   Útest_set_use_offset_intz+TestScalarFormatter.test_set_use_offset_inty  sB   € Ü×*Ñ*Ó,ˆØ×Ñ˜qÔ!Ø×)Ñ)Ô+Ð+Ð+Ø�‰ !Ò#Ð#Ñ#r6   c                 óÖ  — t        j                  «       }|d   }|r|d   dd  g t         j                  gfv rt        j                  d«       t        j                  ddi«      5  t        j                  «       }|j                  «       sJ ‚|j                  «        |j                  j                  dd«       |j                  g d	¢«       | |d
«      v sJ ‚	 d d d «       y # 1 sw Y   y xY w)NÚthousands_sepÚgroupingr   zLocale does not apply groupingzaxes.formatter.use_localeTr   r"   )r   r   r\   g    eÍÍA)ÚlocaleÚ
localeconvÚCHAR_MAXrA   Úskipr‰   rŠ   r,   r  Úget_useLocaler³  r´  Úset_data_intervalÚset_locs)r/   ÚconvÚsepr  s       r4   Útest_use_localez#TestScalarFormatter.test_use_locale  sÐ   € Ü× Ñ Ó"ˆØ�?Ñ#ˆÙ�d˜:Ñ& r sÐ+°´V·_±_Ð4EÐ/FÑFÜ�K‰KÐ8Ô9ä�^‰^Ð8¸$Ð?Ó@ñ 	(Ü×.Ñ.Ó0ˆHØ×)Ñ)Ô+Ð+Ð+à×&Ñ&Ô(Ø�M‰M×+Ñ+¨A¨rÔ2Ø×ÑšiÔ(Ø™( 3›-Ñ'Ð'Ñ'÷	(÷ 	(ñ 	(ús   Á#A2CÃC(z.sci_type, scilimits, lim, orderOfMag, fewticksc                 óÆ  — t        j                  «       }|j                  |«       |j                  |«       t	        j
                  «       \  }}|j                  j                  |«        |j                  |Ž  |r.|j                  j                  t        j                  d«      «       |j                  |j                  j                  «       «       ||j                  k(  sJ ‚y )Nr’   )r,   r  Úset_scientificÚset_powerlimitsr®   r¯   ró   Úset_major_formatterrò   r   r-   r!  Úget_majorticklocsÚ_orderOfMagnitude)	r/   Úsci_typeÚ	scilimitsrô   Ú
orderOfMagÚfewticksr  rµ   r¶   s	            r4   Útest_scilimitsz"TestScalarFormatter.test_scilimitsŽ  s¬   € ô ×*Ñ*Ó,ˆØ×Ñ Ô)Ø× Ñ  Ô+Ü—,‘,“.‰ˆˆRØ
�‰×$Ñ$ XÔ.Øˆ�‰�SÑÙØ�H‰H×&Ñ&¤w×':Ñ':¸1Ó'=Ô>à×Ñ˜"Ÿ(™(×4Ñ4Ó6Ô7Ø˜X×7Ñ7Ò7Ð7Ñ7r6   zvalue, expectedc                 ó~   — dt         j                  d<   t        j                  «       }|j	                  |«      |k(  sJ ‚y )NFr÷  )r‰   r;  r,   r  Úformat_data)r/   Úvaluer2   Úsfs       r4   Útest_format_dataz$TestScalarFormatter.test_format_data�  s6   € à-2Œ�‰Ð)Ñ*Ü×$Ñ$Ó&ˆØ�~‰~˜eÓ$¨Ò0Ð0Ñ0r6   zdata, expectedc                 ó¸   — t        j                  «       \  }}|j                  dd«       |j                  j	                  «       j
                  } ||«      |k(  sJ ‚y )Nr   r   )r®   r¯   r°   r²   rù  rú  )r/   r‡   r2   rµ   r¶   Úfmts         r4   Útest_cursor_precisionz)TestScalarFormatter.test_cursor_precision£  sI   € ä—,‘,“.‰ˆˆRØ
�‰�B˜ÔØ�h‰h×*Ñ*Ó,×>Ñ>ˆÙ�4‹y˜HÒ$Ð$Ñ$r6   c                 ó2  — t        j                  «       }|j                  «        |j                  j	                  dd«       |j
                  } ||«      |k(  sJ ‚|j                  j                  «       dk(  sJ ‚|j                  j                  «       dk(  sJ ‚y )Nr   r"   rd  )r,   r  r³  r´  rµ  rú  Úget_tick_spaceÚ
get_minpos)r/   r‡   r2   r3  r6  s        r4   Útest_cursor_dummy_axisz*TestScalarFormatter.test_cursor_dummy_axisª  s…   € ô ×$Ñ$Ó&ˆØ
×ÑÔØ
�‰×!Ñ! ! RÔ(Ø×"Ñ"ˆÙ�4‹y˜HÒ$Ð$Ð$Ø�w‰w×%Ñ%Ó'¨1Ò,Ð,Ð,Ø�w‰w×!Ñ!Ó# qÒ(Ð(Ñ(r6   c                 óÈ  — t         j                  j                  ddddœ«       t        t        j
                  «      j                  dk  rit	        j                  t        d¬«      5  t        j                  «       \  }}|j                  g d¢«       |j                  j                  «        d d d «       y t	        j                  t        d	¬«      5  t	        j                  t        d¬«      5  t        j                  «       \  }}|j                  g d¢«       |j                  j                  «        d d d «       d d d «       y # 1 sw Y   y xY w# 1 sw Y   ŒxY w# 1 sw Y   y xY w)
NÚserifÚcmr10F)úfont.familyz
font.serifr  ri   zcmr10 font should ideallyr>   r«  z
Glyph 8722)r‰   r;  ÚupdateÚparse_versionrA   Ú__version__rî   rR  rS  r®   r¯   rË   ÚcanvasÚdrawr  s      r4   Útest_mathtext_ticksz'TestScalarFormatter.test_mathtext_ticksµ  s  € Ü�‰×ÑØ"Ø!Ø+0ñ
ô 	ô œ×+Ñ+Ó,×2Ñ2°QÒ6Ü—‘œkÐ1LÔMñ "ÜŸ,™,›.‘��RØ—‘šjÔ)Ø—
‘
—‘Ô!÷"ð "ô
 —,‘,œ{°,Ô?ñ "Ü—,‘,œ{Ð2MÔNñ"äŸ,™,›.‘��RØ—‘šjÔ)Ø—
‘
—‘Ô!÷	"÷ "ð "÷"ð "ú÷
"ð "ú÷ "ð "ús2   Á%AE ÃEÃ*AEÄ/EÅ E	ÅE	ÅEÅE!c                 óì  — t         j                  j                  ddddœ«       |j                  t        j
                  d¬«      5  t        j                  «       \  }}|j                  ddgd	dg«       |j                  d
«       g d¢}t        j                  «       }|j                  |t        ||«      «       |j                  j                  «        |j                   rJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr>  ÚcmT)r?  zmathtext.fontsetr  zmatplotlib.mathtext)Úloggerg¸…ëQ¸ž¿r¥   r²  r  )rÌ  r§   r’   rß  )r‰   r;  r@  Úat_levelÚloggingÚWARNINGr®   r¯   Úplotr  r,   ÚLogFormatterSciNotationÚ
set_yticksÚmaprC  rD  Útext)r/   Úcaplogrµ   r¶   Úyticksr  s         r4   Útest_cmr10_substitutionsz,TestScalarFormatter.test_cmr10_substitutionsÈ  sÃ   € Ü�‰×ÑØ"Ø $Ø+/ñ
ô 	ð �_‰_œWŸ_™_Ð5Jˆ_ÓKñ 	#Ü—l‘l“n‰GˆC�Ø�G‰G�U˜D�M B¨ :Ô.Ø�M‰M˜%Ô Ú'ˆFÜ×7Ñ7Ó9ˆIØ�M‰M˜&¤# i°Ó"8Ô9Ø�J‰J�O‰OÔØ—{’{Ð"�?�{÷	#÷ 	#ñ 	#ús   ÁBC*Ã*C3c                 óh   — t        j                  «       }|j                  g «        |d«      dk(  sJ ‚y )Nr   Ú )r,   r  r!  )r/   r3  s     r4   Útest_empty_locsz#TestScalarFormatter.test_empty_locsÚ  s+   € Ü×$Ñ$Ó&ˆØ
�‰�BŒÙ�#‹w˜"Š}Ð‰}r6   N)rK   rL   rM   Úoffset_dataÚuse_offset_dataÚuseMathText_dataÚscilimits_dataÚcursor_datar1  rA   rS   rT   rý  r  r	  r  r  r  r  r$  r/  r4  r7  r;  rE  rS  rV  r@   r6   r4   rç  rç    s¿  „ ò€KðB ˜U�m€Oà˜e�}Ðò
€Nð 
ˆWˆØ	�ÐØ	�ÐØ	�ÐØ	ˆxÐð€Kò€Kð ‡[�[×ÑÐ4Ø7¸ÐGóIñóIðð ‡[�[×ÑÐ2°KÓ@ñ*ó Að*ð  ‡[�[×Ñ˜\¨?Ó;ñ(ó <ð(ð ‡[�[×Ñ˜_Ð.>Ó?ñ?ó @ð?ò
&ò$ò$ò(ð ‡[�[×ÑØ8¸.óJñ8óJð8ð ‡[�[×ÑÐ.°Ó<ñ1ó =ð1ð
 ‡[�[×ÑÐ-¨{Ó;ñ%ó <ð%ð ‡[�[×ÑÐ-¨{Ó;ñ)ó <ð)ò"ò&#ó$r6   rç  c                   óÂ  — e Zd Zdd ej                  dd«       ej                  dd«      g d¢fdd ej
                  dd	ej                  d
ddg«       ed«      g d¢fdd ej
                  g d¢e¬«       ed«      g d¢fgZ	dddej                  ej                  gZej                  j                  de	«      ej                  j                  de«      d„ «       «       Zd„ Zy)ÚTestLogFormatterExponentTr’   r�  r  )z-3z-2rõ  Ú0Ú1Ú2Ú3Fr"   r¦   r  ra   r¾   gñhãˆµøä¾r   )ú0.1z1e-05ú3.14z0.2z-0.2z-1e-05rß  )r\   r!   r¸  é*   ©Údtype)ra  Ú5Ú12Ú42rr   rÆ   r  z2labelOnlyBase, exponent, locs, positions, expectedrz   c                 óF  — t        j                  ||¬«      }|j                  «        |j                  j	                  d||z  «       ||z  }t        ||«      D �	�
cg c]  \  }	}
 ||	|
«      ‘Œ }}	}
|D �cg c]  }|j                  dd«      ‘Œ }}||k(  sJ ‚y c c}
}	w c c}w )N©rz   ÚlabelOnlyBaser   ú-u   âˆ’)r,   ÚLogFormatterExponentr³  r´  rµ  r  Úreplace)r/   rl  rz   ÚexponentÚlocsÚ	positionsr2   r  Úvalsr×   ÚposÚlabelsÚlabels                r4   r5   z#TestLogFormatterExponent.test_basicî  s¢   € ô
 ×0Ñ0°dØ?LôNˆ	à×#Ñ#Ô%Ø�‰×(Ñ(¨¨D°(©NÔ;Ø�T‰zˆÜ47¸¸iÓ4H×I©¨¨C‘)˜A˜sÕ#ÐIˆÑIØFNÖO¸U�E—M‘M #Ð'7Õ8ÐOˆÐOØ˜Ò!Ð!Ñ!ùó JùÚOs   ÁBÁ5Bc                 ó¤   — t        j                  dd¬«      }|j                  «        |j                  j	                  dd«        |d«      dk(  sJ ‚y )Nr"   Trk  r   g&üøŽ$ô?rU  )r,   rn  r³  r´  rµ  )r/   r  s     r4   Ú
test_blankz#TestLogFormatterExponent.test_blankü  sG   € ä×0Ñ0°bÈÔMˆ	Ø×#Ñ#Ô%Ø�‰×(Ñ(¨¨BÔ/Ù˜Ó! RÒ'Ð'Ñ'r6   N)rK   rL   rM   rN   rP   rO   Úpirw  ÚfloatÚ
param_dataÚeÚ	base_datarA   rS   rT   r5   rx  r@   r6   r4   r]  r]  à  së   „ à	ˆq�)�"—)‘)˜B Ó$ i b§i¡i°°CÓ&8Ú	/ð	1ð 
��H�B—H‘H˜c 7¨B¯E©E°3¸¸hÐGÓHÙ	ˆq‹ÒDð	Fà	��H�B—H‘Hš^°5Ô9¹5À»8Ú	ð	!ð	€Jð �c˜4 §¡¨¯©Ð-€Ià‡[�[×ÑØ@À*óNà‡[�[×Ñ˜V YÓ/ñ	"ó 0óNð	"ó(r6   r]  c                   óz   — e Zd Z ej                  «       Zg d¢Zej                  j                  de«      d„ «       Z
y)ÚTestLogFormatterMathtext))r   r   ú$\mathdefault{10^{0}}$)r   rç   z$\mathdefault{10^{-2}}$)r   r   z$\mathdefault{10^{2}}$)r\   r   z$\mathdefault{1}$)r\   rç   z$\mathdefault{0.01}$)r\   r   z$\mathdefault{100}$)r\   r   z$\mathdefault{10^{-3}}$)r\   r  z$\mathdefault{10^{3}}$zmin_exponent, value, expectedc                 óŠ   — t        j                  d|i«      5  | j                  |«      |k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nzaxes.formatter.min_exponent)r‰   rŠ   r6  )r/   Úmin_exponentr2  r2   s       r4   Útest_min_exponentz*TestLogFormatterMathtext.test_min_exponent  s?   € ä�^‰^Ð:¸LÐIÓJñ 	/Ø—8‘8˜E“? hÒ.Ð.Ñ.÷	/÷ 	/ñ 	/ús	   ˜9¹AN)rK   rL   rM   r,   ÚLogFormatterMathtextr6  Ú	test_datarA   rS   rT   rƒ  r@   r6   r4   r  r    s@   „ Ø
&ˆ'×
&Ñ
&Ó
(€Cò	€Ið ‡[�[×ÑÐ<¸iÓHñ/ó Iñ/r6   r  c                   ó”   — e Zd Zg d¢Zej
                  j                  d«      ej                  j                  de«      d„ «       «       Z
y)ÚTestLogFormatterSciNotation))r   g       ?z$\mathdefault{2^{-5}}$)r   r   z$\mathdefault{2^{0}}$)r   é    z$\mathdefault{2^{5}}$)r   g333333£?z$\mathdefault{1.2\times2^{-5}}$)r   r�   z$\mathdefault{1.2\times2^{0}}$)r   g333333C@z$\mathdefault{1.2\times2^{5}}$)r"   r   z$\mathdefault{-10^{0}}$)r"   r  z$\mathdefault{10^{-5}}$)r"   r   r€  )r"   rê  z$\mathdefault{10^{5}}$)r"   gñhãˆµøô>z$\mathdefault{2\times10^{-5}}$)r"   r   z$\mathdefault{2\times10^{0}}$)r"   i@ z$\mathdefault{2\times10^{5}}$)r"   rb  z$\mathdefault{5\times10^{-5}}$)r"   r!   z$\mathdefault{5\times10^{0}}$)r"   i ¡ z$\mathdefault{5\times10^{5}}$Údefaultzbase, value, expectedc                 ó¤   — t        j                  |¬«      }t        j                  ddi«      5   ||«      |k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nry   útext.usetexF)r,   rM  r‰   rŠ   )r/   rz   r2  r2   r  s        r4   r5   z&TestLogFormatterSciNotation.test_basic+  sM   € ô ×3Ñ3¸Ô>ˆ	Ü�^‰^˜]¨EÐ2Ó3ñ 	0Ù˜UÓ# xÒ/Ð/Ñ/÷	0÷ 	0ñ 	0ús   ®AÁAN)rK   rL   rM   r…  r‰   Ústylerü   rA   rS   rT   r5   r@   r6   r4   r‡  r‡    sG   „ ò€Ið& 	‡Y�Y×Ñ�yÓ!Ø‡[�[×ÑÐ4°iÓ@ñ0ó Aó "ñ0r6   r‡  c                   óz  — e Zd Zg d¢Zej
                  j                  de«      d„ «       Zej
                  j                  dg d¢«      d„ «       Zdd„Z	e
j                  j                  d«      d	„ «       Zej
                  j                  d
g d¢«      d„ «       Zej
                  j                  d
g d¢«      d„ «       Zy)ÚTestLogFormatter)„)ç}…9“x ?r   z3.142e-5)çÜæGÅ·–4?r   z3.142e-4)ç“à™¶e¼i?r   z3.142e-3)ç\, ’¿ ?r   z3.142e-2)çs7¨v/Ô?r   z3.142e-1)çPERTû!	@r   ú3.142)ç¤Öf)zj?@r   z3.142e1)ç&FàYŒ¢s@r   z3.142e2)ç°WXp/‹¨@r   z3.142e3)çœmnLû­Þ@r   z3.142e4)ç�Å½,Ar   z3.142e5)r  r   ú1e-5)r   r   ú1e-4)r   r   ú1e-3)rç   r   ú1e-2)r¦   r   rò  )r   r   r_  )r"   r   Ú10)r   r   Ú100)r  r   Ú1000)é'  r   Ú1e4)rê  r   Ú1e5)r�  rè   r^  )r�  rè   r^  )r‘  rè   ú0.003)r’  rè   ú0.031)r“  rè   ú0.314)r”  rè   r•  )r–  rè   ú31.416)r—  rè   ú314.159)r˜  rè   ú3141.593)r™  rè   ú	31415.927)rš  rè   ú
314159.265)r  rè   r^  )r   rè   r^  )r   rè   ú0.001)rç   rè   ú0.01)r¦   rè   rb  )r   rè   r_  )r"   rè   rŸ  )r   rè   r   )r  rè   r¡  )r¢  rè   Ú10000)rê  rè   Ú100000)r�  r   r^  )r�  r   r^  )r‘  r   r¥  )r’  r   r¦  )r“  r   r§  )r”  r   r•  )r–  r   r¨  )r—  r   r©  )r˜  r   rª  )r™  r   r«  )rš  r   r¬  )r  r   r^  )r   r   r^  )r   r   r­  )rç   r   r®  )r¦   r   rb  )r   r   r_  )r"   r   rŸ  )r   r   r   )r  r   r¡  )r¢  r   r¯  )rê  r   r°  )r�  r!   r^  )r�  r!   r^  )r‘  r!   r^  )r’  r!   z0.03)r“  r!   z0.31)r”  r!   rc  )r–  r!   z31.42)r—  r!   z314.16)r˜  r!   z3141.59)r™  r!   z31415.93)rš  r!   z	314159.27)r  r!   r^  )r   r!   r^  )r   r!   r^  )rç   r!   r®  )r¦   r!   rb  )r   r!   r_  )r"   r!   rŸ  )r   r!   r   )r  r!   r¡  )r¢  r!   r¯  )rê  r!   r°  )r�  r   r^  )r�  r   r^  )r‘  r   r^  )r’  r   r^  )r“  r   z0.3)r”  r   ú3.1)r–  r   z31.4)r—  r   z314.2)r˜  r   z3141.6)r™  r   z31415.9)rš  r   z314159.3)r  r   r^  )r   r   r^  )r   r   r^  )rç   r   r^  )r¦   r   rb  )r   r   r_  )r"   r   rŸ  )r   r   r   )r  r   r¡  )r¢  r   r¯  )rê  r   r°  )r�  r1  z3.1e-5)r�  r1  z3.1e-4)r‘  r1  z3.1e-3)r’  r1  z3.1e-2)r“  r1  z3.1e-1)r”  r1  r±  )r–  r1  z3.1e1)r—  r1  z3.1e2)r˜  r1  z3.1e3)r™  r1  z3.1e4)rš  r1  z3.1e5)r  r1  r›  )r   r1  rœ  )r   r1  r�  )rç   r1  rž  )r¦   r1  rò  )r   r1  r_  )r"   r1  rŸ  )r   r1  r   )r  r1  r¡  )r¢  r1  r£  )rê  r1  r¤  zvalue, domain, expectedc                 ó^   — t        j                  «       }|j                  ||«      }||k(  sJ ‚y ©N)r,   ÚLogFormatterÚ_pprint_val)r/   r2  Údomainr2   r6  rv  s         r4   Útest_pprintzTestLogFormatter.test_pprint»  s.   € ä×"Ñ"Ó$ˆØ—‘  vÓ.ˆØ˜Ò Ð Ñ r6   zvalue, long, short))r   r^  r^  )r   r^  r^  )rÂ   z-10^0rõ  )g»½×Ùß|ë=z2x10^-10z2e-10)g    _ Bz10^10z1e+10c                 óà   — t        j                  «       \  }}|j                  d«       |j                  j	                  «       }|j                  |«      |k(  sJ ‚|j                  |«      |k(  sJ ‚y )Nr  )r®   r¯   Ú
set_xscaler²   rù  r1  rú  )r/   r2  ÚlongÚshortrµ   r¶   r6  s          r4   r4  z!TestLogFormatter.test_format_dataÁ  sa   € ô —,‘,“.‰ˆˆRØ
�‰�eÔØ�h‰h×*Ñ*Ó,ˆØ�‰˜uÓ%¨Ò-Ð-Ð-Ø×$Ñ$ UÓ+¨uÒ4Ð4Ñ4r6   c                 óH  — |j                  «       }|j                  «       }|j                  |«       |dt        j                  t        j
                  |«      «      z  z  }|D �cg c]  }t        |«      |v ‘Œ }}|D �cg c]  } ||«      dk7  ‘Œ }	}|	|k(  sJ ‚yc c}w c c}w )z.Test whether locator marks subs to be labeled.r"   rU  N)Úget_minor_formatterrÍ   r!  rN   ru  rv  Úround)
r/   r´  r  r6  Úminor_tlocsÚcoefsÚcÚlabel_expectedr×   Ú
label_tests
             r4   Ú_sub_labelszTestLogFormatter._sub_labelsÏ  s˜   € à×&Ñ&Ó(ˆØ×,Ñ,Ó.ˆØ�‰�[Ô!Ø˜b¤2§8¡8¬B¯H©H°[Ó,AÓ#BÑCÑCˆØ49Ö:¨qœ% ›( dÒ*Ð:ˆÐ:Ø,7Ö8 q‘c˜!“f “lÐ8ˆ
Ð8Ø˜^Ò+Ð+Ñ+ùò ;ùÚ8s   Á$BÁ>Br‰  c           	      ó†  — t        j                  «       \  }}|j                  d«       |j                  j	                  t        j                  dg ¬«      «       |j                  j                  t        j                  dt        j                  dd«      ¬«      «       |j                  j                  t        j                  d¬«      «       |j                  j                  t        j                  d¬«      «       |j                  dd	«       |j                  j                  «       }|j                  |j                  j!                  «       «       |j                  j!                  «       D �cg c]  } ||«      d
k7  ‘Œ }}t        j"                  |«      sJ ‚| j%                  |j                  g ¬«       |j                  dd«       | j%                  |j                  g ¬«       |j                  dd«       | j%                  |j                  g ¬«       |j                  dd«       | j%                  |j                  g d¢¬«       |j                  dd«       | j%                  |j                  g d¢¬«       |j                  dd«       | j%                  |j                  t        j                  ddt&        ¬«      ¬«       y c c}w )Nr  r"   )rz   r  r   T)rl  Fr   r,  rU  r  i   éP   rÁ   rd  )r   r\   r’   r   ri   r   rª   re  )r®   r¯   r¹  r²   r   r,   r  rÇ   rN   rP   r(  r´  Úset_minor_formatterr°   rù  r!  r)  rH   rÄ  rt  )r/   rµ   r¶   r6  r×   Úshow_major_labelss         r4   Útest_sublabelzTestLogFormatter.test_sublabelÙ  s  € ô —,‘,“.‰ˆˆRØ
�‰�eÔØ
�‰×"Ñ"¤7×#5Ñ#5¸2ÀBÔ#GÔHØ
�‰×"Ñ"¤7×#5Ñ#5¸2Ü;=¿9¹9ÀQÈÓ;Kô$Mô 	Nà
�‰×$Ñ$¤W×%9Ñ%9ÈÔ%MÔNØ
�‰×$Ñ$¤W×%9Ñ%9ÈÔ%NÔOà
�‰�A�sÔØ�h‰h×*Ñ*Ó,ˆØ�‰�R—X‘X×/Ñ/Ó1Ô2à&(§h¡h×&@Ñ&@Ó&BöDØ!"ñ ! ›V r›\ð DÐð Dä�v‰vÐ'Ô(Ð(Ð(Ø×Ñ˜Ÿ™¨ÐÔ+ð 	�‰�A�sÔØ×Ñ˜Ÿ™¨ÐÔ+ð 	�‰�A�rÔØ×Ñ˜Ÿ™¨ÐÔ+ð 	�‰�B˜ÔØ×Ñ˜Ÿ™ªÐÔ5ð 	�‰�A�qÔØ×Ñ˜Ÿ™ªÐÔ5ð 	�‰�C˜ÔØ×Ñ˜Ÿ™¬¯	©	°!°R¼sÔ(CÐÕDùò7Ds   Å,J>Úval)r   r"   r   r  c                 ó°   — t        j                  «       }|j                  «        |j                  j	                  dd«        ||«      t        |«      k(  sJ ‚y ©Nr   r"   )r,   r´  r³  r´  rµ  Ústr©r/   rÊ  Útemp_lfs      r4   Útest_LogFormatter_callz'TestLogFormatter.test_LogFormatter_call  sH   € ô ×&Ñ&Ó(ˆØ×!Ñ!Ô#Ø�‰×&Ñ& q¨"Ô-Ù�s‹|œs 3›xÒ'Ð'Ñ'r6   )g       g       g       g       c                 ó”   — t        j                  «       }|j                  «        |j                  j	                  dd«        ||«       y rÌ  )r,   r´  r³  r´  rµ  rÎ  s      r4   Útest_LogFormatter_call_tinyz,TestLogFormatter.test_LogFormatter_call_tiny  s9   € ô ×&Ñ&Ó(ˆØ×!Ñ!Ô#Ø�‰×&Ñ& q¨"Ô-Ù��r6   N)r@   )rK   rL   rM   Úpprint_datarA   rS   rT   r·  r4  rÄ  r‰   rŒ  rü   rÉ  rÐ  rÒ  r@   r6   r4   rŽ  rŽ  3  sÕ   „ òE€KðN ‡[�[×ÑÐ6¸ÓDñ!ó Eð!ð
 ‡[�[×ÑÐ1ò 4ó ñ5óð5ó,ð 	‡Y�Y×Ñ�yÓ!ñ(Eó "ð(EðT ‡[�[×Ñ˜UÒ$6Ó7ñ(ó 8ð(ð ‡[�[×Ñ˜UÒ$FÓGñó Hñr6   rŽ  c                   óÌ  — e Zd Zed„ «       Zej                  j                  dg d¢«      d„ «       Z e	 e
dd«      D � �cg c]  }d| z  ‘Œ
 c}}  e
dd«      D � �cg c]  }dd| z  z
  ‘Œ c}} z   dgz   «      Zej                  j                  de«      d	„ «       Zej                  j                  dd
«      d„ «       Zej                  j                  ddd ej                   ej                   ddd«       «      z   z  «      d„ «       Zg d¢Zej                  j                  de«      d„ «       Zd„ Zd„ Zd„ Zej                  j                  dd«      d„ «       Zyc c}} w c c}} w )ÚTestLogitFormatterc                 óR  — t        j                  d| «      }|rL|d   du}|d   rt        |d   «      nd}|d   �t        |d   «      nd}|d|z  z  }|d   s|d   �	|rd|z
  S |S t        j                  d	| «      }|r!t        |d
   «      t        |d   «      }}||z  S t	        d«      ‚)z¯
        Parser to convert string as r'$\mathdefault{1.41\cdot10^{-4}}$' in
        float 1.41e-4, as '0.5' or as r'$\mathdefault{\frac{1}{2}}$' in float
        0.5,
        zT[^\d]*(?P<comp>1-)?(?P<mant>\d*\.?\d*)?(?:\\cdot)?(?:10\^\{(?P<expo>-?\d*)})?[^\d]*$ÚcompNÚmantr   Úexpor   r"   z4[^\d]*\\frac\{(?P<num>\d+)\}\{(?P<deno>\d+)\}[^\d]*$ÚnumÚdenozNot formatted by LogitFormatter)rV   r?   rz  rt  rX   )Ústringr?   r×  ÚmantissarÙ  r2  rÚ  rÛ  s           r4   Úlogit_deformatterz$TestLogitFormatter.logit_deformatter  s×   € ô —‘ðð ó
ˆñ Ø˜‘=¨Ð,ˆDØ/4°Vª}”u˜U 6™]Ô+À!ˆHØ).¨v©Ð)B”3�u˜V‘}Ô%ÈˆDØ˜r T™zÑ)ˆEØ�VŠ}  f¡Ð 9ÙØ˜u™9Ð$Ø�Ü—‘ØCÀVó
ˆñ Ü˜e E™lÓ+¬U°5¸±=Ó-A�ˆCØ˜‘:ÐÜÐ:Ó;Ð;r6   zfx, x))zSTUFF0.41OTHERSTUFFg=
×£p=Ú?)zSTUFF1.41\cdot10^{-2}OTHERSTUFFgÿ!ýöuàŒ?)zSTUFF1-0.41OTHERSTUFFgâz®Gáâ?)z!STUFF1-1.41\cdot10^{-2}OTHERSTUFFgx$(~Œï?)ÚSTUFFN)zSTUFF12.4e-3OTHERSTUFFNc                 óê   — |€8t        j                  t        «      5  t        j	                  |«       d d d «       y t        j	                  |«      }t
        j                  ||«      sJ ‚y # 1 sw Y   y xY wr³  )rA   rB   rX   rÕ  rÞ  rV  rX  )r/   Úfxr×   rì   s       r4   Útest_logit_deformaterz(TestLogitFormatter.test_logit_deformater7  se   € ð ˆ9Ü—‘œzÓ*ñ 9Ü"×4Ñ4°RÔ8÷9ð 9ô #×4Ñ4°RÓ8ˆAÜ×'Ñ'¨¨1Ô-Ð-Ñ-÷	9ð 9ús   œA)Á)A2r   r"   r   r×   c                 óÐ   — t        j                  d¬«      }|j                  | j                  «        ||«      }t        j                  |«      }t        j                  ||«      sJ ‚y)zj
        Test the formatted value correspond to the value for ideal ticks in
        logit space.
        F©Úuse_overlineN)r,   ÚLogitFormatterr!  Údecade_testrÕ  rÞ  rV  rX  )r/   r×   r  ÚsÚx2s        r4   r5   zTestLogitFormatter.test_basicP  sW   € ô ×*Ñ*¸Ô>ˆ	Ø×Ñ˜4×+Ñ+Ô,Ù�a‹LˆÜ×1Ñ1°!Ó4ˆÜ×#Ñ# A rÔ*Ð*Ñ*r6   )r   rÃ   r   r   r    r   c                 ó„   — t        j                  d¬«      }|j                  | j                  «        ||«      }|dk(  sJ ‚y)zl
        Test that invalid value are formatted with empty string without
        raising exception.
        Frä  rU  N)r,   ræ  r!  rç  )r/   r×   r  rè  s       r4   Útest_invalidzTestLogitFormatter.test_invalid\  s<   € ô ×*Ñ*¸Ô>ˆ	Ø×Ñ˜4×+Ñ+Ô,Ù�a‹LˆØ�BŠwˆ‰wr6   r}   r"  c                 ó>  — t        j                  d¬«      }dD ]‚  }|d|z  z   dk  sŒ|j                  |d|z  z
  ||d|z  z   g«        ||«      } ||d|z  z   «      }t        j	                  |«      t        j	                  |«      z
  }d|cxk  r
d|z  k  rŒJ ‚ J ‚ y)zS
        The format length should change depending on the neighbor labels.
        Frä  )	r"   r
   rß  r   éÈ   r  iÐ  éˆ  r¢  r   r   r   N)r,   ræ  r!  rÕ  rÞ  )r/   r×   r  ÚNÚsxÚsx1Úds          r4   Útest_variablelengthz&TestLogitFormatter.test_variablelengthg  s³   € ô
 ×*Ñ*¸Ô>ˆ	Ø@ò 		%ˆAØ�1�q‘5‰y˜1‹}Ø×"Ñ" A¨¨A©¡I¨q°!°a¸!±e±)Ð#<Ô=Ù˜q“\�Ù  A¨¡E¡	Ó*�ä&×8Ñ8¸Ó=Ü(×:Ñ:¸2Ó>ñ?ð ð ˜1”}˜q 1™u“}Ð$‘}Ð$�}ñ		%r6   ))Trc  )©rá  F)éK   F)Tra  )rô  ©rõ  T)Tr`  )©rá  Trö  )F)r   gR¸…ëQè?g¤p=
×£è?))r"  Tr÷  rö  zmethod, lims, casesc                 óª  — |r&t        j                  d¬«      } |j                  |Ž }nt        j                  |«      }t        j
                  d¬«      }|D ]v  \  }}|j                  |«       |j                  |«      }	|	D �
cg c]  }
t        |
«      dkD  sŒ|
‘Œ }}
|rt        |«      dkD  rŒWJ ||f«       ‚t        |«      dk(  rŒoJ ||f«       ‚ yc c}
w )z,
        Test minor/major displays.
        Tr¬   r   N)	r,   rg  r.   rN   rO   ræ  Úset_minor_thresholdÚformat_ticksrÌ   )r/   Úmethodrh  ÚcasesÚmin_locrp  Úmin_formÚ	thresholdÚ	has_minorÚ	formattedÚfÚlabelleds               r4   Útest_minor_vs_majorz&TestLogitFormatter.test_minor_vs_major  s×   € ñ Ü×*Ñ*°Ô6ˆGØ'�G×'Ñ'¨Ð.‰Eä—H‘H˜T“NˆEÜ×)Ñ)°Ô5ˆØ$)ò 	BÑ ˆI�yØ×(Ñ(¨Ô3Ø ×-Ñ-¨eÓ4ˆIØ#,Ö;˜a´°A³¸³
šÐ;ˆHÐ;ÙÜ˜8“} qÓ(Ð@¨9°iÐ*@Ó@Ð(ä˜8“}¨Ó)ÐA¨I°yÐ+AÓAÐ)ñ	Bùò <s   ÂCÂCc                 ó8  — t        j                  d¬«      }t        j                  d¬«      }|j                  dd«      }dD ]R  }|j	                  |«       |j                  |«      }|D �cg c]  }t        |«      dkD  sŒ|‘Œ }}t        |«      |k(  rŒRJ ‚ yc c}w )z1
        Test the parameter minor_number
        Tr¬   r¥   r   )r   r’   ri   rm  r   N)r,   rg  ræ  r.   Úset_minor_numberrú  rÌ   )r/   rý  rþ  rp  Úminor_numberr  r  r  s           r4   Útest_minor_numberz$TestLogitFormatter.test_minor_number”  s—   € ô ×&Ñ&¨TÔ2ˆÜ×)Ñ)°Ô5ˆØ×#Ñ# D¨(Ó3ˆØ)ò 	1ˆLØ×%Ñ% lÔ3Ø ×-Ñ-¨eÓ4ˆIØ#,Ö;˜a´°A³¸³
šÐ;ˆHÐ;Ü�x“= LÓ0Ð0Ð0ñ		1ùò <s   Á*BÁ>Bc                 óÎ   — d}d}d}t        j                  d¬«      } ||«      |k(  sJ ‚|j                  d«        ||«      |k(  sJ ‚|j                  d«        ||«      |k(  sJ ‚y)z1
        Test the parameter use_overline
        rí  z$\mathdefault{1-10^{-2}}$z"$\mathdefault{\overline{10^{-2}}}$Frä  TN)r,   ræ  rå  )r/   r×   Úfx1Úfx2Úforms        r4   Útest_use_overlinez$TestLogitFormatter.test_use_overline¡  so   € ð ˆØ*ˆØ3ˆÜ×%Ñ%°5Ô9ˆÙ�A‹w˜#Š~Ðˆ~Ø×Ñ˜$ÔÙ�A‹w˜#Š~Ðˆ~Ø×Ñ˜%Ô Ù�A‹w˜#Š~Ð‰~r6   c                 ó¸   — t        j                  «       }d |d«      v sJ ‚|j                  d«       d |d«      v sJ ‚|j                  d«       d |d«      v sJ ‚y)z-
        Test the parameter one_half
        z\frac{1}{2}r   z1/2zone halfN)r,   ræ  Úset_one_half)r/   r  s     r4   Útest_one_halfz TestLogitFormatter.test_one_half¯  sd   € ô ×%Ñ%Ó'ˆØ¡ c£Ñ*Ð*Ð*Ø×Ñ˜%Ô Ø™˜S›	Ñ!Ð!Ð!Ø×Ñ˜*Ô%Ø™T #›YÑ&Ð&Ñ&r6   rï  )r   éý   iò  c                 ó  — t        j                  dd|«      dd }t        j                  «       }|D ]W  }|j	                  |«      }|j                  d«      rdt        |dd  «      z
  }nt        |«      }t        ||z
  «      d|z  k  rŒWJ ‚ y )Nr   r   r   z1-r   )rN   rs   r,   ræ  rú  Ú
startswithrz  Úabs)r/   rï  rq  r  r×   rá  ré  s          r4   Útest_format_data_shortz)TestLogitFormatter.test_format_data_shortº  s‹   € ä�{‰{˜1˜a Ó# A bÐ)ˆÜ×%Ñ%Ó'ˆØò 	'ˆAØ×'Ñ'¨Ó*ˆBØ�}‰}˜TÔ"Øœ˜r ! "˜v›Ñ&‘ä˜2“Y�Ü�q˜2‘v“;  Q¡Ó&Ð&Ð&ñ	'r6   N)rK   rL   rM   r]  rÞ  rA   rS   rT   râ  rf  rw  rç  r5   rë  rN   Úexprs   ró  Úlims_minor_majorr  r  r  r  r  )r’  Úis   00r4   rÕ  rÕ    s›  „ Øñ<ó ð<ð@ ‡[�[×ÑØò	
ó
ñ.ó
ð.ñ Ù" 1 b›\×*˜ˆ��‹Ó*Ù#(¨¨B£<×
0˜aˆ1ˆr�q�b‰z‹>Ó
0ñ	1àˆ'ñ	ó€Kð ‡[�[×Ñ˜S +Ó.ñ	+ó /ð	+ð ‡[�[×Ñ˜SÐ"?Ó@ñó Aðð ‡[�[×Ñ˜S ! q¨6¨2¯6©6°;°2·;±;¸rÀ1ÀbÓ3IÐ2IÓ+JÑ'JÑ"KÓLñ%ó Mð%ò Ðð ‡[�[×ÑÐ2Ð4DÓEñBó FðBò(1òò	'ð ‡[�[×Ñ˜S /Ó2ñ	'ó 3ñ	'ùóa 	+ùÛ
0s   ¿E
ÁE rÕ  c                   ó   — e Zd Zd„ Zy)ÚTestFormatStrFormatterc                 óH   — t        j                  d«      }d |d«      k(  sJ ‚y )Nz%05dÚ00002r   )r,   ÚFormatStrFormatterr  s     r4   r5   z!TestFormatStrFormatter.test_basicÈ  s$   € ä×-Ñ-¨fÓ5ˆØ™( 1›+Ò%Ð%Ñ%r6   N)rK   rL   rM   r5   r@   r6   r4   r  r  Ç  s   „ ó&r6   r  c                   óX   — e Zd Zg d¢Zej
                  j                  de«      d„ «       Zy)ÚTestStrMethodFormatter))ú{x:05d}©r   Fr  )r   r!  Tr  )r   ©r±  Fz-0002)r   r"  Tu   âˆ’0002)ú{x:03d}-{pos:02d}©r   r   Fú002-01)r#  r$  Tr%  )r#  ©r±  r   Fz-02-01)r#  r&  Tu   âˆ’02-01z&format, input, unicode_minus, expectedc                 óœ   — t        j                  d|i«      5  t        j                  |«      } ||Ž |k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr÷  )r‰   rŠ   r,   ÚStrMethodFormatter)r/   ÚformatÚinputrü  r2   r6  s         r4   r5   z!TestStrMethodFormatter.test_basicÚ  sK   € ä�^‰^Ð1°=ÐAÓBñ 	+Ü×,Ñ,¨VÓ4ˆCÙ˜�; (Ò*Ð*Ñ*÷	+÷ 	+ñ 	+ús   ˜ AÁAN)rK   rL   rM   r…  rA   rS   rT   r5   r@   r6   r4   r  r  Î  s0   „ ò	€Ið ‡[�[×ÑÐEÀyÓQñ+ó Rñ+r6   r  c                   óX   — e Zd Zg d¢Zej
                  j                  de«      d„ «       Zy)ÚTestEngFormatter))FççÆô„EJ“À)z
-1.23457 kú-1 kz-1.23 k)Tr-  )u   âˆ’1.23457 kõ   âˆ’1 ku	   âˆ’1.23 k)FçÞƒBÊÀó¿)z-1.23457rõ  z-1.23)Tr0  )u
   âˆ’1.23457rô  u   âˆ’1.23)Fç_c97Ýš¿¿)z
-123.457 mz-123 mz	-123.46 m)Tr1  )u   âˆ’123.457 mu   âˆ’123 mu   âˆ’123.46 m)FçQ^•-':T¿)z
-1.23457 mz-1 mz-1.23 m)Tr2  )u   âˆ’1.23457 mu   âˆ’1 mu	   âˆ’1.23 m)Tg       €©r^  r^  z0.00©Tr   r3  r4  )Tg›áÀm¶´>)u
   1.23457 Âµu   1 Âµu   1.23 Âµ)Tg_c97Ýš¿?)z	123.457 mz123 mz123.46 m)Tr¦   )ú100 mr5  z100.00 m)Tr   )r_  r_  z1.00)TgÞƒBÊÀó?)z1.23457r_  z1.23)Tg33333?�@)z999.9ú1 kz999.90)Tg*:’Ëÿ?�@©r6  r6  ú1.00 k)Fç*:’Ëÿ?�À)r.  r.  z-1.00 k)Tr9  )r/  r/  u	   âˆ’1.00 k)Tr  r7  )Tié  )z1.001 kr6  r8  )Ti¡† )z	100.001 kz100 kz100.00 k)Tg¬Z¤$.A)z	987.654 kz988 kz987.65 k)TgCY¸,dRÎF)ú1230 Qr:  z	1230.00 Qzunicode_minus, input, expectedc                 ó°  ‡‡	‡
— |t         j                  d<   dŠ	dŠ|}t        j                  «       t        j                  d¬«      t        j                  d¬«      f}t	        ||«      D ]  \  }} ||«      |k(  rŒJ ‚ ˆˆ	fd„|D «       }t        j                  ‰	¬«      t        j                  ‰	d¬	«      t        j                  ‰	d¬	«      f}t	        ||«      D ]  \  }} ||«      |k(  rŒJ ‚ d
D ]å  Š
ˆˆ	ˆ
fd„|D «       }t        j                  ‰	‰
¬«      t        j                  ‰	d‰
¬«      t        j                  ‰	d‰
¬«      f}t	        ||«      D ]  \  }} ||«      |k(  rŒJ ‚ ˆ
fd„|D «       }t        j                  ‰
¬«      t        j                  d‰
¬«      t        j                  d‰
¬«      f}t	        ||«      D ]  \  }} ||«      |k(  rŒJ ‚ Œç y)aá  
        Test the formatting of EngFormatter for various values of the 'places'
        argument, in several cases:

        0. without a unit symbol but with a (default) space separator;
        1. with both a unit symbol and a (default) space separator;
        2. with both a unit symbol and some non default separators;
        3. without a unit symbol but with some non default separators.

        Note that cases 2. and 3. are looped over several separator strings.
        r÷  rè  Ú
0123456789r   )Úplacesr   c              3   óF   •K  — | ]  }|d    ‰v r|dz   ‰z   n|‰z   –— Œ y­w©r   ú Nr@   )r’  Ú_sÚDIGITSÚUNITs     €€r4   ú	<genexpr>z/TestEngFormatter.test_params.<locals>.<genexpr>*  s8   øè ø€ ò :Ø*,ð +-¨R©&°FÑ*:�r˜C‘x $’Ø ™Ió&ñ :ùs   ƒ!)Úunit)rE  r=  )rU  u   â€¯z@_@c              3   óf   •K  — | ](  }|d    ‰v r|‰z   ‰z   n|j                  d‰«      ‰z   –— Œ* y­wr?  ©ro  )r’  rA  rB  rC  Ú_seps     €€€r4   rD  z/TestEngFormatter.test_params.<locals>.<genexpr>:  sE   øè ø€ ò /à!ð 02°"©v¸Ñ/?˜2 ™9 tÒ+Ø "§
¡
¨3°Ó 5¸Ñ <ó=ñ /ùs   ƒ.1)rE  r#  )rE  r=  r#  c              3   óB   •K  — | ]  }|j                  d ‰«      –— Œ y­w)r@  NrG  )r’  rA  rH  s     €r4   rD  z/TestEngFormatter.test_params.<locals>.<genexpr>H  s   øè ø€ ÒD°R˜2Ÿ:™: c¨4×0ÑDùs   ƒ)r#  )r=  r#  N)r®   r;  r,   ÚEngFormatterr  )r/   rü  r*  r2   Úexp_outputsÚ
formattersÚ
_formatterÚ_exp_outputrB  rC  rH  s           @@@r4   Útest_paramszTestEngFormatter.test_params
  sù  ú€ ð .;Œ�‰Ð)Ñ*ØˆØˆð ˆä× Ñ Ó"Ü× Ñ ¨Ô*Ü× Ñ ¨Ô*ð
ˆ
ô
 (+¨:°{Ó'Cò 	4Ñ#ˆJ˜Ù˜eÓ$¨Ó3Ð3Ð3ð	4ô:Ø08ô:ˆô × Ñ  dÔ+Ü× Ñ  d°1Ô5Ü× Ñ  d°1Ô5ð
ˆ
ô
 (+¨:°{Ó'Cò 	4Ñ#ˆJ˜Ù˜eÓ$¨Ó3Ð3Ð3ð	4ð
 =ò 	8ˆDõ/à%-ô/ˆKô ×$Ñ$¨$°DÔ9Ü×$Ñ$¨$°q¸dÔCÜ×$Ñ$¨$°q¸dÔCðˆJô
 ,/¨z¸;Ó+Gò 8Ñ'�
˜KÙ! %Ó(¨KÓ7Ð7Ð7ð8ó E¸8ÔDˆKä×$Ñ$¨Ô.Ü×$Ñ$¨A°4Ô8Ü×$Ñ$¨A°4Ô8ðˆJô
 ,/¨z¸;Ó+Gò 8Ñ'�
˜KÙ! %Ó(¨KÓ7Ð7Ð7ñ8ñ1	8r6   N)rK   rL   rM   Úraw_format_datarA   rS   rT   rO  r@   r6   r4   r,  r,  á  s3   „ ò#€OðJ ‡[�[×ÑÐ=¸ÓOñD8ó PñD8r6   r,  c                  óÂ  — t        j                  «       \  } }|j                  g d¢g d¢«       |j                  g d¢«       t	        j
                  d¬«      t	        j
                  d¬«      fD ]k  }|j                  j                  |«       | j                  j                  «        |j                  «       D �cg c]  }|j                  «       ‘Œ }}|g d¢k(  rŒkJ ‚ y c c}w )N)r   rà  r  T)Úusetex)ÚuseMathText)z$0$z$500$z$1$ k)r®   r¯   rL  rË   r,   rJ  r²   r(  rC  rD  Úget_xticklabelsÚget_text)rµ   r¶   r  ÚlablÚx_tick_label_texts        r4   Ú$test_engformatter_usetex_useMathTextrX  R  s²   € Ü�l‰l‹n�G€CˆØ‡G�GŠNšNÔ+Ø‡M�M’.Ô!Ü×*Ñ*°$Ô7Ü×*Ñ*°tÔ<ð>ò >ˆ	à
�‰×$Ñ$ YÔ/Ø�
‰
�‰ÔØ9;×9KÑ9KÓ9MÖN°˜TŸ]™]�_ÐNÐÐNð !Ò$=Ó=Ð=Ð=ñ>ùò Os   Â7Cz9data_offset, noise, oom_center_desired, oom_noise_desired))g  @R›OBr"   rd  r   )g  B€±¸Bi€–˜ r¸  r   )ç /Ý$&;@rç   r   r�  )gÍÌÌÌÌ5¥@rç   r\   r�  )g    ’Ar   r\   r�  )ç¤p=
×÷p@r   r   r�  )g   uÓHBr   rd  r\   )rY  gH¯¼šò×z>r   iúÿÿÿ)rZ  r   r   r�  )rY  r   r   r�  )g    @ƒÚ@r¢  r   r\   )rY  r¢  r   r\   )rY  r  r   r\   )rY  r   r   r   )rY  r"   r   r   c                 ó  — d}t        j                  «       \  }}| t        j                  ddt        ¬«      |z  z   }|j                  |«       t        j                  d|¬«      }d|j                  d<   |j                  j                  |«       |j                  j                  «        |j                  «       }	|j                  «       D �
cg c]  }
|
j                  «       ‘Œ }}
|j                   rP|	d	   }|j                  |   }|	d
t#        |«      z
     }|j                  |   }||k(  sJ ‚||k(  sJ ‚|D ]  }||vrŒJ ‚ y |dk(  sJ ‚|	dk(  sJ ‚|D ]1  }|d   dk(  rdn|}|j%                  |j                  |   |z   «      rŒ1J ‚ y c c}
w )NÚeVr   r"  re  T)Ú	useOffsetrE  Ú_r   r   r   rU  r^  )r®   r¯   rN   rP   rz  rL  r,   rJ  ÚENG_PREFIXESró   r(  rC  rD  Ú
get_offsetÚget_yticklabelsrU  rƒ   rÌ   Úendswith)Údata_offsetÚnoiseÚoom_center_desiredÚoom_noise_desiredrC  rµ   r¶   Úydatar  Ú
offset_gotrV  Ú	ticks_gotÚprefix_noise_gotÚprefix_noise_desiredÚprefix_center_gotÚprefix_center_desiredÚtickÚ
prefix_idxs                     r4   Útest_engformatter_offset_oomrp  `  s£  € ð< €DÜ�l‰l‹n�G€CˆØœ"Ÿ)™) B¨´Ô7¸Ñ=Ñ=€EØ‡G�GˆE„NÜ×$Ñ$¨t¸$Ô?€Ià #€I×Ñ˜1ÑØ‡H�H× Ñ  Ô+Ø‡J�J‡O�OÔØ×%Ñ%Ó'€JØ-/×-?Ñ-?Ó-AÖB T�—‘•ÐB€IÐBð ×ÒØ% a™=ÐØ(×5Ñ5Ð6GÑHÐØ& r¬#¨d«)¡|Ñ4ÐØ )× 6Ñ 6Ð7IÑ JÐØ#Ð'7Ò7Ð7Ð7Ø$Ð(9Ò9Ð9Ð9àò 	$ˆDØ˜tÒ#Ð#Ð#ñ	$ð " QÒ&Ð&Ð&Ø˜RÒÐÐàò 	LˆDð # 1™g¨šn™Ð2CˆJØ—=‘= ×!7Ñ!7¸
Ñ!CÀdÑ!JÕKÐKÐKñ		Lùò) Cs   Ã
Fc                   ó°   — e Zd Zg d¢Zg d¢Zg d¢Zej                  j                  dee¬«      d„ «       Z	ej                  j                  de«      d„ «       Z
y	)
ÚTestPercentFormatter))r   r   ú%rð  r   z120%)r   r   rs  r   éZ   z100%)r   r   rs  rt  rß  z90%)r   r   rs  r»   r²  z-2%)r   r   rs  g     €V@r   z90.0%)r   r   rs  gfffffT@rt  z80.1%)r   r   rs  g…ëQ¸ŽQ@rß  z70.2%)r   r   rs  gôýÔxéFNÀr²  z-60.6%)r   Nrs  é_   r   z95.00%)r   Nrs  r\   r   z300%)ç      1@Nrs  r   g      !@z6%)rv  Nrs  r   gÍÌÌÌÌÌ @z5.9%)r!   Nrs  r¹  g�íµ ÷Æ°>z-2000.00000%)r   r   Nr�   r   z120.00)rõ  r\   rU  rß  r   z66.667)rd  Nz
^^Foobar$$é   r¸  z50.0^^Foobar$$)zdecimals=0, x>100%zdecimals=0, x=100%zdecimals=0, x<100%zdecimals=0, x<0%zdecimals=1, x>100%zdecimals=1, x=100%zdecimals=1, x<100%zdecimals=1, x<0%z$autodecimal, x<100%, display_range=1z7autodecimal, x>100%, display_range=6 (custom xmax test)z;autodecimal, x<100%, display_range=8.5 (autodecimal test 1)z;autodecimal, x<100%, display_range=8.4 (autodecimal test 2)z=autodecimal, x<-100%, display_range=1e-6 (tiny display range)zNone as percent symbolzEmpty percent symbolzCustom percent symbol))FFú50\{t}%)FTz50\\\{t\}\%)TFrx  )TTrx  z2xmax, decimals, symbol, x, display_range, expected)Úidsc                 ó¼   — t        j                  |||«      }t        j                  ddi¬«      5  |j	                  ||«      |k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr‹  F©Úrc©r,   ÚPercentFormatterr‰   rŠ   Ú
format_pct)r/   ÚxmaxÚdecimalsÚsymbolr×   Údisplay_ranger2   r  s           r4   r5   zTestPercentFormatter.test_basicØ  s]   € ô
 ×,Ñ,¨T°8¸VÓDˆ	Ü�^‰^ ¨uÐ5Ô6ñ 	FØ×'Ñ'¨¨=Ó9¸XÒEÐEÑE÷	F÷ 	Fñ 	Fúó   °AÁAzis_latex, usetex, expectedc                 ó¼   — t        j                  d|¬«      }t        j                  d|i¬«      5  |j	                  dd«      |k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nz\{t}%)r‚  Úis_latexr‹  r{  rß  r   r}  )r/   r†  rR  r2   r6  s        r4   Ú
test_latexzTestPercentFormatter.test_latexá  sS   € ä×&Ñ&¨hÀÔJˆÜ�^‰^ ¨vÐ6Ô7ñ 	7Ø—>‘> " cÓ*¨hÒ6Ð6Ñ6÷	7÷ 	7ñ 	7úr„  N)rK   rL   rM   Úpercent_dataÚpercent_idsÚ
latex_datarA   rS   rT   r5   r‡  r@   r6   r4   rr  rr  £  sp   „ ò€Lò.€Kò,€Jð ‡[�[×ÑØ@Ø˜kð ó +ñFó+ðFð ‡[�[×ÑÐ9¸:ÓFñ7ó Gñ7r6   rr  c                  ó”  — 	 t        j                  t         j                  d«       t        j                  dd¬«      } d}| j                  |d«      }|dk(  sJ ‚d}| j                  |d«      }|d	k(  sJ ‚t        j                  d
d¬«      } d}| j                  |d«      }|dk(  sJ ‚y # t         j                  $ r t	        d«       Y y w xY w)Nzde_DE.UTF-8z9SKIP: Locale de_DE.UTF-8 is not supported on this machineT)rS  Ú	useLocalez$\mathdefault{%1.1f}$r   z$\mathdefault{0{,}5}$z,$\mathdefault{,%1.1f},$z,$\mathdefault{,0{,}5},$Fz%1.1fz0,5)r  Ú	setlocaleÚLC_ALLÚErrorÚprintr,   r  Ú_format_maybe_minus_and_locale)rp  r6  r×   s      r4   Ú_impl_locale_commar’  è  sÑ   € ðÜ×ÑœŸ™¨Ô6ô ×#Ñ#°ÀÔE€EØ
"€CØ×,Ñ,¨S°#Ó6€AØÐ(Ò(Ð(Ð(à
%€CØ×,Ñ,¨S°#Ó6€AØÐ+Ò+Ð+Ð+ä×#Ñ#°ÀÔF€EØ
€CØ×,Ñ,¨S°#Ó6€AØ�Š:Ð‰:øô �<‰<ò ÜÐIÔJÙðús   ‚$B& Â&CÃCc                  óÚ   — t         j                  j                  t        dddi¬«      } t	        d„ | j
                  j                  «       D «       d«      }|rt        j                  |«       y y )Nr&   Ú
MPLBACKENDÚAgg)ÚtimeoutÚ	extra_envc              3   óv   K  — | ]1  }|j                  d «      r|t        d «      d j                  «       –— Œ3 y­w)zSKIP:N)r  rÌ   rû  )r’  Úlines     r4   rD  z$test_locale_comma.<locals>.<genexpr>  s8   è ø€ ò 2ØØŸ™¨Ô0ð œ#˜g›,˜-Ð(×.Ñ.×0ñ 2ùs   ‚79rU  )	r‰   rÕ   Úsubprocess_run_helperr’  ÚnextÚstdoutÚ
splitlinesrA   r  )ÚprocÚskip_msgs     r4   Útest_locale_commar   ý  sj   € ô �;‰;×,Ñ,Ô-?ÈØ8DÀeÐ7Lð -ó N€Däñ 2Ø!%§¡×!7Ñ!7Ó!9ô2ð ó€Hñ Ü�‰�HÕð r6   c                  óè   — t        j                  «       \  } }t        j                  t        «      5  |j
                  j                  t        j                  «       «       d d d «       y # 1 sw Y   y xY wr³  )	r®   r¯   rA   rB   rU   r²   r(  r,   r  ©rµ   r¶   s     r4   Útest_majformatter_typer£    óM   € Ü�l‰l‹n�G€CˆÜ	�‰”yÓ	!ñ ;Ø
�‰×$Ñ$¤W×%7Ñ%7Ó%9Ô:÷;÷ ;ñ ;úó   ±.A(Á(A1c                  óè   — t        j                  «       \  } }t        j                  t        «      5  |j
                  j                  t        j                  «       «       d d d «       y # 1 sw Y   y xY wr³  )	r®   r¯   rA   rB   rU   r²   rÇ  r,   r  r¢  s     r4   Útest_minformatter_typer§    r¤  r¥  c                  óè   — t        j                  «       \  } }t        j                  t        «      5  |j
                  j                  t        j                  «       «       d d d «       y # 1 sw Y   y xY wr³  )	r®   r¯   rA   rB   rU   r²   r   r,   r´  r¢  s     r4   Útest_majlocator_typer©    óM   € Ü�l‰l‹n�G€CˆÜ	�‰”yÓ	!ñ ;Ø
�‰×"Ñ"¤7×#7Ñ#7Ó#9Ô:÷;÷ ;ñ ;úr¥  c                  óè   — t        j                  «       \  } }t        j                  t        «      5  |j
                  j                  t        j                  «       «       d d d «       y # 1 sw Y   y xY wr³  )	r®   r¯   rA   rB   rU   r²   rÇ   r,   r´  r¢  s     r4   Útest_minlocator_typer¬    rª  r¥  c                  óˆ   ‡— t        j                  «       Šˆfd„}  | ddd«        | ddd«        | ddd«        | ddd«       y )Nc                 ó8  •— | |dœ}t        j                  |¬«      5  ‰j                  dd|«      }d d d «       t        j                  j                  «       «      dkD  | k(  sJ ‚t        |j                  j                  «       «      dkD  |k(  sJ ‚y # 1 sw Y   Œ`xY w)N)zxtick.minor.visiblezytick.minor.visibler{  r   r   )r®   rŠ   Úadd_subplotrÌ   r²   Úget_minor_ticksró   )ÚxminorÚyminorr  r|  r¶   rµ   s        €r4   Úminorticksubplotz,test_minorticks_rc.<locals>.minorticksubplot(  s�   ø€ Ø%+Ø%+ñ-ˆä�^‰^˜rÔ"ñ 	*Ø—‘  A qÓ)ˆB÷	*ô �B—H‘H×,Ñ,Ó.Ó/°!Ñ3¸Ò>Ð>Ð>Ü�B—H‘H×,Ñ,Ó.Ó/°!Ñ3¸Ò>Ð>Ñ>÷		*ð 	*ús   �BÂBFr   Tr   r\   r’   )r®   Úfigure)r³  rµ   s    @r4   Útest_minorticks_rcrµ  %  sE   ø€ Ü
�*‰*‹,€Cô?ñ �U˜E 1Ô%Ù�T˜5 !Ô$Ù�U˜D !Ô$Ù�T˜4 Õ#r6   c                  óð   ‡— t        j                  «       Šˆfd„} g d¢}|D ]>  } | dd|d«        | dd|d«        | dd|d«        | dd|d«       ‰j                  «        Œ@ t        j                  ‰«       y	)
ax  
    Test toggling minor ticks

    Test `.Axis.minorticks_on()` and `.Axis.minorticks_off()`. Testing is
    limited to a subset of built-in scales - `'linear'`, `'log'`, `'asinh'`
    and `'logit'`. `symlog` scale does not seem to have a working minor
    locator and is omitted. In future, this test should cover all scales in
    `matplotlib.scale.get_scale_names()`.
    c                 óL  •— ‰j                  dd|«      }|j                  |«       |j                  |«       | s|s|j                  «        | r6|s4|j                  j                  «        |j                  j                  «        | s6|r4|j                  j                  «        |j                  j                  «        | r|r|j                  «        t        |j                  j                  «       «      dkD  | k(  sJ ‚t        |j                  j                  «       «      dkD  |k(  sJ ‚y )Nr   r   )	r¯  r¹  r  Úminorticks_offr²   r±   ró   rÌ   r°  )r±  r²  Úscaler  r¶   rµ   s        €r4   Úminortickstogglez0test_minorticks_toggle.<locals>.minortickstoggleB  sã   ø€ Ø�_‰_˜Q  1Ó%ˆØ
�‰�eÔØ
�‰�eÔÙ™fØ×ÑÔÙ™&Ø�H‰H×"Ñ"Ô$Ø�H‰H×#Ñ#Ô%Ù™&Ø�H‰H×#Ñ#Ô%Ø�H‰H×"Ñ"Ô$Ù‘fØ×ÑÔä�B—H‘H×,Ñ,Ó.Ó/°!Ñ3¸Ò>Ð>Ð>Ü�B—H‘H×,Ñ,Ó.Ó/°!Ñ3¸Ò>Ð>Ñ>r6   )Úlinearr  ÚasinhÚlogitFr   Tr   r\   r’   N)r®   r´  ÚclearÚclose)rº  Úscalesr¹  rµ   s      @r4   Útest_minorticks_togglerÁ  7  sy   ø€ ô �*‰*‹,€Cô?ò$ 1€FØò ˆÙ˜  u¨aÔ0Ù˜˜u e¨QÔ/Ù˜  e¨QÔ/Ù˜˜t U¨AÔ.Ø�	‰	�ðô ‡I�Iˆc…Nr6   z%remove_overlapping_locs, expected_num))Tr   )Nr   )Frd  c                 ó0  — t        j                  ddd¬«      }t        j                  t        |«      «      }t	        j
                  «       \  }}|j                  ||«       |j                  j                  t        j                  j                  «       «       |j                  j                  t        j                  j                  d«      «       |j                  j                  t        j                  j                  d«      «       |j                  j!                  t        j                  j                  d«      «       |j                  j#                  d«       | �| |j                  _        |j                  j$                  }||j                  j'                  «       k(  sJ ‚t	        j(                  |j                  |¬	«       |j                  j$                  }||j                  j$                  k(  sJ ‚t        |j                  j+                  «       «      |k(  sJ ‚t        |j                  j#                  «       «      |k(  sJ ‚t        |j                  j-                  «       «      |k(  sJ ‚t        |j                  j/                  «       «      |d
z  k(  sJ ‚y )Nz
2018-11-03z
2018-11-06Ú
datetime64re  z
%a)r   r   r¸  é   z%H:%Mr#   )Úremove_overlapping_locsr   )rN   rP   ÚonesrÌ   r®   r¯   rL  r²   r   r‰   ÚdatesÚ
DayLocatorr(  ÚDateFormatterrÇ   ÚHourLocatorrÇ  r°  rÅ  Úget_remove_overlapping_locsÚsetprÍ   Úget_minorticklabelsÚget_minorticklines)rÅ  Úexpected_numÚtr×   rµ   r¶   ÚcurrentÚnews           r4   Útest_remove_overlaprÓ  _  sÔ  € ô
 	�	‰	�, °LÔA€AÜ
�‰”�A“‹€Aä�l‰l‹n�G€CˆØ‡G�GˆAˆq„Mà‡H�H×ÑœsŸy™y×3Ñ3Ó5Ô6Ø‡H�H× Ñ ¤§¡×!8Ñ!8¸Ó!@ÔAà‡H�H×ÑœsŸy™y×4Ñ4°^ÓDÔEØ‡H�H× Ñ ¤§¡×!8Ñ!8¸Ó!AÔBà‡H�H×Ñ˜RÔ ØÐ*Ø+Bˆ�‰Ô(ð �h‰h×.Ñ.€GØ�r—x‘x×;Ñ;Ó=Ò=Ð>Ð=Ü‡H�HˆR�X‰X¨wÕ7Ø
�(‰(×
*Ñ
*€CØ�2—8‘8×3Ñ3Ò3Ð4Ð3ô ˆr�x‰x×)Ñ)Ó+Ó,°Ò<Ð<Ð<äˆr�x‰x×'Ñ'Ó)Ó*¨lÒ:Ð:Ð:Üˆr�x‰x×+Ñ+Ó-Ó.°,Ò>Ð>Ð>Üˆr�x‰x×*Ñ*Ó,Ó-°¸a±Ò?Ð?Ñ?r6   ÚsubÚhiÚaardvark)r   r   c                 ó¬   — t        j                  «       }t        j                  t        «      5  |j                  | ¬«       d d d «       y # 1 sw Y   y xY w)Nr  )r,   r  rA   rB   rX   rl   )rÔ  r7  s     r4   Útest_bad_locator_subsrØ  „  sA   € ô 
×	Ñ	Ó	€BÜ	�‰”zÓ	"ñ  Ø
�‰˜3ˆÔ÷ ÷  ñ  ús   ®A
Á
Aznumticks, lims, ticksr   )r   r!   )r¦   r   r"   r   r\   rd  )r   rß  )r¦   r"   r  )r¦   r   r"   r   )r   rà  )rç   r   r   r¢  )r¦   r   r"   r   r  )r   rî  )r¦   r   rê  )r   r   r  i@B )r¦   r   r"   r   r  r¢  r‰  c                 óú   — t        j                  | ¬«      }t        t        j                  j                  «      j
                  dk  rt         |j                  |Ž |d¬«       y t         |j                  |Ž |«       y )Nr]   r   g¼‰Ø—²Ò¬<)Úrtol)	r,   r  rA  rN   Úversionrî   r   r.   r   )r^   rh  rp  r7  s       r4   Útest_small_range_loglocatorrÜ  �  s]   € ô( 
×	Ñ	 XÔ	.€BÜ”R—Z‘Z×'Ñ'Ó(×.Ñ.°Ò2Ü˜˜Ÿ™¨Ð-¨u¸5ÖAä˜>˜2Ÿ>™>¨4Ð0°%Õ8r6   c                  óà  — d} d}t        j                  t        d| dz   «      t        j                  t        |«      d«      «      D �]&  \  }\  }}t	        j
                  |¬«      }t        j                  |j                  d|z  d|z  «      «      j                  «       j                  t        «      }t        |«      |dz   k  sJ ‚|d   |cxk  r	|d   k  sJ ‚ J ‚|d   |cxk  r	|d	   k  sJ ‚ J ‚h t        j                  |«      £\  }||z  dk(  j                  «       rŒÛt        d|«      D ]=  }t        ||z   |dz   |«      }	t        |	«      t        |«      k  rŒ.t        |	«      |kD  rŒ=J ‚ �Œ) y )
Nri   r
   r   r   r]   r"   r   r±  r   )r�  r‘  rw  Úcombinationsr,   r  rN   rv  r.   r¾  Úastypert  rÌ   ÚdiffrH   )
Úmax_numticksÚpow_endr^   ÚlorÕ  r7  ÚdecadesÚstriderƒ   Úalt_decadess
             r4   Útest_loglocator_propertiesrç  ¨  ss  € ð €LØ€GÜ'×/Ñ/Ü�!�\ AÑ%Ó&¬	×(>Ñ(>¼uÀW»~ÈqÓ(QóSó VÑˆ‘(�2�rä×Ñ¨Ô2ˆÜ—(‘(˜2Ÿ>™>¨"¨b©&°"°b±&Ó9Ó:×@Ñ@ÓB×IÑIÌ#ÓNˆô �7‹|˜x¨!™|Ò+Ð+Ð+Ø�q‰z˜BÔ, '¨!¡*Ò,Ð,Ñ,Ð,Ð,Ø�r‰{˜bÔ. 7¨2¡;Ò.Ð.Ñ.Ð.Ð.Ø%”B—G‘G˜GÓ$Ð%‰ˆà˜&Ñ  AÑ%×*Ñ*Õ,ô    6Ó*ò V�Ü# B¨¡K°°a±¸Ó@�Ü˜;Ó'¬#¨g«,Ó6¼#¸kÓ:JÈXÓ:UÐUÐUòVñVr6   c                  óž   — t        j                  «       }  | d«      dk(  sJ ‚| j                  d«      dk(  sJ ‚| j                  d«      dk(  sJ ‚y )Nr   rU  )r,   ÚNullFormatterr1  rú  ©r  s    r4   Útest_NullFormatterrë  Â  sT   € Ü×%Ñ%Ó'€IÙ�S‹>˜RÒÐÐØ× Ñ  Ó%¨Ò+Ð+Ð+Ø×&Ñ& sÓ+¨rÒ1Ð1Ñ1r6   r  c                 ó   — d| › �S )Nzval: r@   )r“  s    r4   ú<lambda>rí  Ê  s   €  e¨A¨3 K€ r6   )r;   Úbarc                 óz   — | j                  «       dk(  sJ ‚| j                  d«       | j                  «       dk(  sJ ‚y )NrU  r‰   )r`  Úset_offset_stringrê  s    r4   Útest_set_offset_stringrñ  É  s@   € ð ×ÑÓ! RÒ'Ð'Ð'Ø×Ñ Ô&Ø×ÑÓ! UÒ*Ð*Ñ*r6   c                  óD  — t        j                  «       \  } }|j                  t        j                  d«      dg¬«       |j                  t        j                  d«      dg¬«       |j                  t        j                  d«      dg¬«       |j                  d¬«       |j                  d¬«       |j                  «        | j                  «        |j                  «       sJ ‚t        |j                  j                  «       t        j                  j                  «      sJ ‚y)	zœ
    Turning on minor gridlines in a multi-Axes Figure
    that contains more than one boxplot and shares the x-axis
    should not raise an exception.
    r"   r   )rr  r   rî   )Úwhichr­   N)r®   r¯   ÚboxplotrN   rP   rñ   r±   Údraw_without_renderingÚget_xgridlinesÚ
isinstancer²   Úget_minor_locatorr‰   ÚtickerrÈ   r¢  s     r4   Útest_minorticks_on_multi_figrú  Ò  sÎ   € ô �l‰l‹n�G€Cˆà‡J�JŒr�y‰y˜‹}¨¨€JÔ,Ø‡J�JŒr�y‰y˜‹}¨¨€JÔ,Ø‡J�JŒr�y‰y˜‹}¨¨€JÔ,à‡G�G�'€GÔØ‡G�G�'€GÔØ×ÑÔØ×ÑÔ à×ÑÔÐÐÜ�b—h‘h×0Ñ0Ó2´C·J±J×4OÑ4OÔPÐPÑPr6   )FÚ
contextlibr   r�  r  rJ  rV   Úpackaging.versionr   rA  ÚnumpyrN   Únumpy.testingr   r   r   rA   Ú
matplotlibr‰   Úmatplotlib.pyplotÚpyplotr®   Úmatplotlib.tickerrù  r,   r	   rZ   rv   r¡   r	  rO  rV  r_  r–  rœ  r¤  r½  rç  r]  r  r‡  rŽ  rÕ  r  r  r,  rX  rS   rT   rp  rr  r’  r   r£  r§  r©  r¬  rµ  rÁ  rÓ  ÚzerosrØ  rŒ  rü   rÜ  rç  rë  ÚFuncFormatterÚFixedFormatterrñ  rú  r@   r6   r4   ú<module>r     s_  ðÝ "Û Û Û Û 	Ý 4ã ß RÑ RÛ ã Ý Ý #÷,,ñ ,,÷^Fñ F÷<8!ñ 8!÷vmHñ mH÷`M7ñ M7÷`ñ ÷$ñ $÷"O!ñ O!÷d	 ñ 	 ÷?ñ ?÷:)8ñ )8÷Xb7ñ b7÷J\ñ \÷~!(ñ !(÷H/ñ /÷&0ñ 0÷8_ñ _÷Do'ñ o'÷d&ñ &÷+ñ +÷&n8ñ n8òb>ð ‡�×ÑØ?ò Bóñ0(Ló1ð0(L÷VB7ñ B7òJò*ò ;ò;ò;ò;ò$ò$%ðP ‡�×ÑÐ@ð&ó'ñ@ó	'ð@ðB ‡�×Ñ˜Ø	ˆ:ÐØ€B‡H�HˆVÓð!ó ñ óð ð ‡�×ÑÐ0Øˆ’ÐØˆ’ÐØˆ’ÐØˆ’ÐØˆ’/Ð"ØˆÒ"Ð#ØˆÒ"Ð#ØˆÒ"Ð#Øˆ	’?Ð#Øˆ	Ò(Ð)Øˆ	Ò*Ð+Øˆ	Ò*Ð+Øˆ
Ò&Ð'Øˆ
Ò/Ð0Øˆ
Ò/Ð0Øˆ
Ò3Ð4ð!3ó ð$ ‡�×Ñ�9Óñ9ó ó%ð&9ð ‡�×Ñ�9ÓñVó ðVò22ð ‡�×Ñ˜Ø€G×ÑÑ/Ó0Ø€G×Ñ˜>Ó*ð',ó -ñ+ó-ð+óQr6   