§
    ‡ÛgIß  ã                   ó  — d dl Z d dlZd dlZd dlZd dlZd dlZd dlm	Z	m
Z
mZ d dlmZ d dlmZ d dlmZ d dlmZ d„ Zej                             d e j         dddd dd¦  «         e j         dddd dd¦  «         e j         dddddd¦  «        g e j         dddd dd¦  «         e j         dddddd¦  «        g e j         dddddd¦  «         e j         dddd	dd¦  «        ggg¦  «        ej                             d
g d¢¦  «        d„ ¦   «         ¦   «         Zej                             d
g d¢¦  «        d„ ¦   «         Zej                             dg d¢¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Z  edg¦  «        d„ ¦   «         Z! edg¦  «        d„ ¦   «         Z" edg¦  «        d„ ¦   «         Z# edg¦  «        d„ ¦   «         Z$d„ Z%d„ Z& edg¦  «        d „ ¦   «         Z'd!„ Z(d"„ Z) ed#g¦  «        d$„ ¦   «         Z*d%„ Z+d&„ Z,ej                             d' e j-        d(¬)¦  «        d*„  e.d+d,d-¦  «        D ¦   «         f e j-        d.¬/¦  «        d0„  e.dd1d	¦  «        D ¦   «         f e j-        d-¬2¦  «        d3„  e.d d4d¦  «        D ¦   «         f e j-        d5¬6¦  «        d7„  e.d d8¦  «        D ¦   «         fg¦  «        d9„ ¦   «         Z/d:„ Z0e&d;„ ¦   «         Z1e&d<„ ¦   «         Z2d=„ Z3d>„ Z4ej                             d? e j-        d@¬A¦  «        dBf e j-        d¬6¦  «        dCf e j-        d¬2¦  «        dDf e j-        d¬/¦  «        dEf e j-        d¬)¦  «        dFf e j-        dG¬)¦  «        dHf e j-        dI¬)¦  «        dHfg¦  «        dJ„ ¦   «         Z5dK„ Z6dL„ Z7ej                             d? e j-        d(¬)¦  «        dM„  e.dNdOd-¦  «        D ¦   «         f e j-        dP¬/¦  «        g dQ¢f e j-        dP¬2¦  «        g dR¢f e j-        d¬A¦  «        g dS¢fg¦  «        dT„ ¦   «         Z8dU„ Z9dV„ Z:dW„ Z;dX„ Z< edYg¦  «        dZ„ ¦   «         Z=d[„ Z>d\„ Z?d]„ Z@d^„ ZAd_„ ZBej        jC        d`„ ¦   «         ZDej        jC        da„ ¦   «         ZEdb„ ZFdc„ ZGdd„ ZHej                             ded e j-        d¬/¦  «        fddfg e j-        d¬/¦  «         e j-        df¬/¦  «        gfg¦  «        dg„ ¦   «         ZIdh„ ZJdi„ ZKdj„ ZLdk„ ZMdl„ ZNdm„ ZOdn„ ZPdo„ ZQej                             dpdq¦  «        dr„ ¦   «         ZRds„ ZSej                             dtduejT        fdejU        fdvejV        fdPejW        fdwejX        fdxejY        ff¦  «        dy„ ¦   «         ZZdz„ Z[ej                             d{d|¦  «        d}„ ¦   «         Z\d~„ Z]d„ Z^dS )€é    N)Ú_apiÚ
rc_contextÚstyle)Úimage_comparisonc                  óT  ‡— t          j         ddd¦  «        Šˆfd„t          dd¦  «        D ¦   «         } t          j        | d¬¦  «        }t          j        g d¢¦  «        }t	          j        d	¬
¦  «        }|                     ddd¦  «        }|                     | |¦  «        \  }|                     ||¦  «        \  }t          j         	                    | 
                    d¬¦  «        | 
                    d¬¦  «        ¦  «         t	          j        d	¬
¦  «        }|                     ddd¦  «        }|                     || ¦  «        \  }|                     ||¦  «        \  }t          j         	                    |                     d¬¦  «        |                     d¬¦  «        ¦  «         d S )Néá  é   c                 ó@   •— g | ]}‰t          j        |¬ ¦  «        z   ‘ŒS )©Údays©ÚdatetimeÚ	timedelta)Ú.0ÚxÚbases     €úQ/granary/edev/quantum/lib/python3.11/site-packages/matplotlib/tests/test_dates.pyú
<listcomp>z$test_date_numpyx.<locals>.<listcomp>   s,   ø€ ÐCÐCÐC°!ˆD•8Ô%¨1Ð-Ñ-Ô-Ñ-ÐCÐCÐCó    r   é   údatetime64[ns]©Údtype)ç        ç       @ç      ð?)é
   é   )ÚfigsizeF)Úorig)r   ÚrangeÚnpÚarrayÚpltÚfigureÚadd_subplotÚplotÚtestingÚassert_equalÚ	get_xdataÚ	get_ydata)ÚtimeÚtimenpÚdataÚfigÚaxÚhÚhnpr   s          @r   Útest_date_numpyxr3      sp  ø€ åÔ˜T 1 aÑ(Ô(€DØCÐCÐCÐCµu¸QÀ±{´{ÐCÑCÔC€DÝŒX�dÐ"2Ð3Ñ3Ô3€FÝŒ8�L�L�LÑ!Ô!€DÝ
Œ*˜WÐ
%Ñ
%Ô
%€CØ	�Š˜˜A˜qÑ	!Ô	!€BØ	�Š��tÑ	Ô	�B€AØ�7Š7�6˜4Ñ Ô �D€CÝ„J×Ò˜AŸKšK¨U˜KÑ3Ô3°S·]²]È°]Ñ5NÔ5NÑOÔOÐOÝ
Œ*˜WÐ
%Ñ
%Ô
%€CØ	�Š˜˜A˜qÑ	!Ô	!€BØ	�Š��tÑ	Ô	�B€AØ�7Š7�4˜Ñ Ô �D€CÝ„J×Ò˜AŸKšK¨U˜KÑ3Ô3°S·]²]È°]Ñ5NÔ5NÑOÔOÐOÐOÐOr   Út0r   r	   r   r   r   )zdatetime64[s]zdatetime64[us]zdatetime64[ms]r   c                 óÂ   — t          j        | ¦  «        }t          j        | |¬¦  «        }t          j        |¦  «        }t          j                             ||¦  «         d S )Nr   )ÚmdatesÚdate2numr"   r#   r(   r)   )r4   r   r,   ÚtnpÚnptimes        r   Útest_date_date2num_numpyr:   "   sT   € õ Œ?˜2ÑÔ€DÝ
Œ(�2˜UÐ
#Ñ
#Ô
#€CÝŒ_˜SÑ!Ô!€FÝ„J×Ò˜D &Ñ)Ô)Ð)Ð)Ð)r   c                 ó  — t          j         dddddd¦  «        }t          j        |¦  «        t          j        g}t          j        |dg| ¬¦  «        }t          j        |¦  «        }t          j                             ||¦  «         d S )Nr   r	   r   ÚNaTr   )r   r6   r7   r"   Únanr#   r(   Úassert_array_equal)r   r4   Útmplr8   r9   s        r   Útest_date2num_NaTr@   6   sy   € õ
 
Ô	˜4  A q¨!¨QÑ	/Ô	/€BÝŒO˜BÑÔ¥¤Ð(€DÝ
Œ(�B˜�; eÐ
,Ñ
,Ô
,€CÝŒ_˜SÑ!Ô!€FÝ„J×!Ò! $¨Ñ/Ô/Ð/Ð/Ð/r   Úunits)ÚsÚmsÚusÚnsc                 ó€   — t          j        t          j        d| ¦  «        ¦  «        }t          j        |¦  «        sJ ‚d S )Nr<   )r6   r7   r"   Ú
datetime64Úisnan)rA   r?   s     r   Útest_date2num_NaT_scalarrI   B   s7   € åŒ?�2œ=¨°Ñ6Ô6Ñ7Ô7€DÝŒ8�D‰>Œ>ÐÐÐÐÐr   c                  ó¬  ‡— t          j         ddd¦  «        Št          j                             ˆfd„t	          d¦  «        D ¦   «         g d¢¬¦  «        } t          j        | ¦  «        }t          j                             t          j         	                    |¦  «        d¦  «         t          j         dddt
          j
        ¬	¦  «        Št          j                             ˆfd
„t	          d¦  «        D ¦   «         g d¢¬¦  «        } t          j        | ¦  «        }t          j                             t          j         	                    |¦  «        d¦  «         d S )Néæ  é   é   c                 óF   •— g | ]}‰t          j        d |z  ¬¦  «        z   ‘ŒS ©r   r   r   ©r   Úir   s     €r   r   z(test_date2num_masked.<locals>.<listcomp>K   ó@   ø€ ð ,ð ,ð ,Øð ¥Ô 2¸¸Q¹Ð @Ñ @Ô @Ñ@ð ,ð ,ð ,r   é   )r   r	   r	   r   r   r   r	   )Úmask)FTTFFFT©Útzinfoc                 óF   •— g | ]}‰t          j        d |z  ¬¦  «        z   ‘ŒS rO   r   rP   s     €r   r   z(test_date2num_masked.<locals>.<listcomp>T   rR   r   )r   r"   Úmar#   r!   r6   r7   r(   r>   ÚgetmaskÚUTC)ÚdatesÚnpdatesr   s     @r   Útest_date2num_maskedr]   H   s\  ø€ åÔ˜T 2 rÑ*Ô*€DÝŒE�KŠKð ,ð ,ð ,ð ,Ý"'¨¡(¤(ð,ñ ,ô ,Ø2GÐ2GÐ2Gð ñ Iô I€EåŒo˜eÑ$Ô$€GÝ„J×!Ò!¥"¤%§-¢-°Ñ"8Ô"8ð#)ñ*ô *ð *õ
 Ô˜T 2 rµ&´*Ð=Ñ=Ô=€DÝŒE�KŠKð ,ð ,ð ,ð ,Ý"'¨¡(¤(ð,ñ ,ô ,Ø2GÐ2GÐ2Gð ñ Iô I€EåŒo˜eÑ$Ô$€GÝ„J×!Ò!¥"¤%§-¢-°Ñ"8Ô"8ð#)ñ*ô *ð *ð *ð *r   c            	      ób  — t          j        ¦   «         \  } }|                     ¦   «          |                      ¦   «          t          j                             |                     ¦   «         t          j	        t	          j
        d¦  «        ¦  «        t          j	        t	          j
        d¦  «        ¦  «        g¦  «         t          j        ¦   «          t          j        d¦  «         t          j        ¦   «         \  } }|                     ¦   «          |                      ¦   «          t          j                             |                     ¦   «         t          j	        t	          j
        d¦  «        ¦  «        t          j	        t	          j
        d¦  «        ¦  «        g¦  «         t          j        ¦   «          d S )Nú
1970-01-01z
1970-01-02ú
0000-12-31)r$   ÚsubplotsÚ
xaxis_dateÚdraw_without_renderingr"   r(   Úassert_allcloseÚget_xlimr6   r7   rG   Ú_reset_epoch_test_exampleÚ	set_epoch©r/   r0   s     r   Útest_date_emptyri   \   sO  € õ Œl‰nŒn�G€CˆØ‡M‚M�O„O€OØ×ÒÑ Ô Ð Ý„J×Ò˜rŸ{š{™}œ}Ý &¤µ´¸lÑ0KÔ0KÑ LÔ LÝ &¤µ´¸lÑ0KÔ0KÑ LÔ Lð NñOô Oð Oõ Ô$Ñ&Ô&Ð&Ý
Ô�\Ñ"Ô"Ð"ÝŒl‰nŒn�G€CˆØ‡M‚M�O„O€OØ×ÒÑ Ô Ð Ý„J×Ò˜rŸ{š{™}œ}Ý &¤µ´¸lÑ0KÔ0KÑ LÔ LÝ &¤µ´¸lÑ0KÔ0KÑ LÔ Lð NñOô Oð Oõ Ô$Ñ&Ô&Ð&Ð&Ð&r   c                  ó"  — t          j        ¦   «         } |                      ¦   «         }|                     ddgddg¦  «         |j                             ¦   «          t          j                             | 	                    ¦   «         ddg¦  «         d S )Né2   éF   r	   r   )
r$   r%   r&   r'   ÚxaxisÚ	axis_dater"   r(   rd   re   rh   s     r   Útest_date_not_emptyro   r   sv   € Ý
Œ*‰,Œ,€CØ	�ŠÑ	Ô	€Bà‡G‚GˆR�ˆH�q˜!�fÑÔÐØ„H×ÒÑÔÐÝ„J×Ò˜rŸ{š{™}œ}¨r°2¨hÑ7Ô7Ð7Ð7Ð7r   c            	      ó  — t          j        ¦   «         \  } }|                     d¦  «         |                     t	          j        d¦  «        t	          j        d¦  «        gddg¦  «         t          j                             |                     ¦   «         t          j
        t	          j        d¦  «        ¦  «        t          j
        t	          j        d¦  «        ¦  «        g¦  «         t          j        ¦   «          t          j        d¦  «         t          j        ¦   «         \  } }|                     d¦  «         |                     t	          j        d¦  «        t	          j        d¦  «        gddg¦  «         t          j                             |                     ¦   «         t          j
        t	          j        d¦  «        ¦  «        t          j
        t	          j        d¦  «        ¦  «        g¦  «         t          j        ¦   «          d S )Nç      ø?z
2016-01-01z
2016-01-02r	   r   r`   )r$   ra   Úaxhliner'   r"   rG   r(   rd   re   r6   r7   rf   rg   rh   s     r   Útest_axhliners   {   s�  € åŒl‰nŒn�G€CˆØ‡J‚Jˆs�O„O€OØ‡G‚G�RŒ]˜<Ñ(Ô(­"¬-¸Ñ*EÔ*EÐFÈÈAÈÑOÔOÐOÝ„J×Ò˜rŸ{š{™}œ}Ý &¤µ´¸lÑ0KÔ0KÑ LÔ LÝ &¤µ´¸lÑ0KÔ0KÑ LÔ Lð NñOô Oð Oõ Ô$Ñ&Ô&Ð&Ý
Ô�\Ñ"Ô"Ð"ÝŒl‰nŒn�G€CˆØ‡J‚Jˆs�O„O€OØ‡G‚G�RŒ]˜<Ñ(Ô(­"¬-¸Ñ*EÔ*EÐFÈÈAÈÑOÔOÐOÝ„J×Ò˜rŸ{š{™}œ}Ý &¤µ´¸lÑ0KÔ0KÑ LÔ LÝ &¤µ´¸lÑ0KÔ0KÑ LÔ Lð NñOô Oð Oõ Ô$Ñ&Ô&Ð&Ð&Ð&r   zdate_axhspan.pngc                  ól  — t          j         ddd¦  «        } t          j         ddd¦  «        }t          j        ¦   «         \  }}|                     | |dd¬¦  «         |                     | t          j        d¬	¦  «        z
  |t          j        d¬	¦  «        z   ¦  «         |                     d¬
¦  «         d S )NéÙ  r	   é   é   Úblueç      Ð?©Ú	facecolorÚalphaé   r   ©Úleft)r   r$   ra   ÚaxhspanÚset_ylimr   Úsubplots_adjust©r4   Útfr/   r0   s       r   Útest_date_axhspanr…   �   s³   € õ 
Ô	˜4  BÑ	'Ô	'€BÝ	Ô	˜4  BÑ	'Ô	'€BÝŒl‰nŒn�G€CˆØ‡J‚Jˆr�2 ¨t€JÑ4Ô4Ð4Ø‡K‚K�•XÔ'¨QÐ/Ñ/Ô/Ñ/Ø•XÔ'¨QÐ/Ñ/Ô/Ñ/ñ1ô 1ð 1à×Ò˜TÐÑ"Ô"Ð"Ð"Ð"r   zdate_axvspan.pngc                  óh  — t          j         ddd¦  «        } t          j         ddd¦  «        }t          j        ¦   «         \  }}|                     | |dd¬¦  «         |                     | t          j        d	¬
¦  «        z
  |t          j        d	¬
¦  «        z   ¦  «         |                     ¦   «          d S )NéÐ  r	   rv   éÚ  rw   rx   ry   rz   iÐ  r   )r   r$   ra   ÚaxvspanÚset_xlimr   Úautofmt_xdaterƒ   s       r   Útest_date_axvspanrŒ   ›   s®   € õ 
Ô	˜4  BÑ	'Ô	'€BÝ	Ô	˜4  BÑ	'Ô	'€BÝŒl‰nŒn�G€CˆØ‡J‚Jˆr�2 ¨t€JÑ4Ô4Ð4Ø‡K‚K�•XÔ'¨SÐ1Ñ1Ô1Ñ1Ø•XÔ'¨SÐ1Ñ1Ô1Ñ1ñ3ô 3ð 3à×ÒÑÔÐÐÐr   zdate_axhline.pngc                  ój  — t          j         ddd¦  «        } t          j         ddd¦  «        }t          j        ¦   «         \  }}|                     | dd¬¦  «         |                     | t          j        d¬	¦  «        z
  |t          j        d¬	¦  «        z   ¦  «         |                     d
¬¦  «         d S ©Nru   r	   rv   é   rx   r   ©ÚcolorÚlwr}   r   ry   r~   )r   r$   ra   rr   r�   r   r‚   rƒ   s       r   Útest_date_axhliner“   §   s±   € õ 
Ô	˜4  BÑ	'Ô	'€BÝ	Ô	˜4  BÑ	'Ô	'€BÝŒl‰nŒn�G€CˆØ‡J‚Jˆr˜ A€JÑ&Ô&Ð&Ø‡K‚K�•XÔ'¨QÐ/Ñ/Ô/Ñ/Ø•XÔ'¨QÐ/Ñ/Ô/Ñ/ñ1ô 1ð 1à×Ò˜TÐÑ"Ô"Ð"Ð"Ð"r   zdate_axvline.pngc                  óf  — t          j         ddd¦  «        } t          j         ddd¦  «        }t          j        ¦   «         \  }}|                     | dd¬¦  «         |                     | t          j        d¬	¦  «        z
  |t          j        d¬	¦  «        z   ¦  «         |                     ¦   «          d S )
Nr‡   r	   rv   rw   Úredr   r�   r}   r   )r   r$   ra   ÚaxvlinerŠ   r   r‹   rƒ   s       r   Útest_date_axvliner—   ³   s¬   € õ 
Ô	˜4  BÑ	'Ô	'€BÝ	Ô	˜4  BÑ	'Ô	'€BÝŒl‰nŒn�G€CˆØ‡J‚Jˆr˜ 1€JÑ%Ô%Ð%Ø‡K‚K�•XÔ'¨QÐ/Ñ/Ô/Ñ/Ø•XÔ'¨QÐ/Ñ/Ô/Ñ/ñ1ô 1ð 1à×ÒÑÔÐÐÐr   c                 ó   — |                       d¦  «         t          j        ddd¦  «        }t          j        ddd¦  «        }t          j        ¦   «         \  }}t	          j        t          ¦  «        5 }|                     ||fd¬¦  «         t          |¦  «        dk    sJ ‚dt          |d         j
        ¦  «        v sJ ‚	 d d d ¦  «         n# 1 swxY w Y   |                     g g ¦  «         |j                             t          j        ¦   «         ¦  «          |j                             ¦   «         ¦   «         }t          |¦  «        d	k    sJ ‚| j        rt%          d
„ | j        D ¦   «         ¦  «        sJ ‚t          | j        ¦  «        dk    sJ ‚d S )NÚWARNINGr‡   r	   rv   T)Úautoz.Attempting to set identical low and high xlimsr   éè  c              3   óB   K  — | ]}|j         d k    o
|j        dk    V — ŒdS )zmatplotlib.tickerr™   N)ÚnameÚ	levelname)r   Úrecords     r   ú	<genexpr>z+test_too_many_date_ticks.<locals>.<genexpr>Õ   sK   è è € ð "&ð "&àð 	ŒÐ*Ò*ÐL¨vÔ/?À9Ò/Lð"&ð "&ð "&ð "&ð "&ð "&r   )Ú	set_levelr   r$   ra   ÚpytestÚwarnsÚUserWarningrŠ   ÚlenÚstrÚmessager'   rm   Úset_major_locatorr6   Ú
DayLocatorÚget_major_locatorÚrecordsÚall)Úcaplogr4   r„   r/   r0   ÚrecÚvs          r   Útest_too_many_date_ticksr°   ¿   sÓ  € ð ×Ò�YÑÔÐÝ	Ô	˜4  BÑ	'Ô	'€BÝ	Ô	˜4  BÑ	'Ô	'€BÝŒl‰nŒn�G€CˆÝ	Œ•kÑ	"Ô	"ð ( cØ
�Š�R˜�H 4ˆÑ(Ô(Ð(Ý�3‰xŒx˜1Š}ˆ}ˆ}ˆ}Ø@Ý�s˜1”v”~Ñ&Ô&ð'ð 'ð 'ð 'ð 'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð
 ‡G‚GˆB��O„O€OØ„H×Ò�vÔ0Ñ2Ô2Ñ3Ô3Ð3Ø$ˆŒ×"Ò"Ñ$Ô$Ñ&Ô&€AÝˆq‰6Œ6�DŠ=ˆ=ˆ=ˆ=ð Œ>ð &�cð "&ð "&à”nð"&ñ "&ô "&ñ &ô &ð &ð &ð &õ ˆvŒ~ÑÔ Ò"Ð"Ð"Ð"Ð"Ð"s   Á1ACÃCÃCc                 óF   ‡ — t          j        ‰ ¦  «        ˆ fd„¦   «         }|S )Nc                  ó�   •— t          j        ¦   «          t          j        d¦  «          ‰ ¦   «          t          j        ¦   «          d S )Nú
2000-01-01)r6   rf   rg   )Úthefuncs   €r   Úwrapperz%_new_epoch_decorator.<locals>.wrapperÜ   sC   ø€ åÔ(Ñ*Ô*Ð*ÝÔ˜Ñ&Ô&Ð&Øˆ‰	Œ	ˆ	ÝÔ(Ñ*Ô*Ð*Ð*Ð*r   )Ú	functoolsÚwraps)r´   rµ   s   ` r   Ú_new_epoch_decoratorr¸   Û   s8   ø€ Ý„_�WÑÔð+ð +ð +ð +ñ Ôð+ð
 €Nr   zRRuleLocator_bounds.pngc                  ó”  — dd l mc m}  |                      ¦   «          t	          j        ddd¦  «        }t	          j        ddd¦  «        }t          j        ¦   «         }t          j        ¦   «         }|                     d¦  «         | 	                    ||gddgd¬	¦  «         t          j        t          j        j        d
¬¦  «        }t          j        |¦  «        }|j                             |¦  «         |j                             t          j        |¦  «        ¦  «         |                     ¦   «          |                     ¦   «          d S )Nr   r›   r	   ip  Tr   r   Úo©Úmarkeréô  ©Úinterval)Úmatplotlib.testing.jpl_unitsr(   Ú	jpl_unitsÚregisterr   r$   r%   ÚsubplotÚset_autoscale_onr'   r6   ÚrrulewrapperÚdateutilÚrruleÚYEARLYÚRRuleLocatorrm   r¨   Úset_major_formatterÚAutoDateFormatterÚautoscale_viewr‹   )rA   r4   r„   r/   r0   rÇ   Úlocators          r   Útest_RRuleLocatorrÎ   å   s,  € à0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ø	‡N‚NÑÔÐõ 
Ô	˜4  AÑ	&Ô	&€BÝ	Ô	˜4  AÑ	&Ô	&€Bå
Œ*‰,Œ,€CÝ	Œ‰Œ€BØ×Ò˜ÑÔÐØ‡G‚GˆR�ˆH�s˜C�j¨€GÑ-Ô-Ð-åÔ¥¤Ô 5ÀÐDÑDÔD€EÝÔ! %Ñ(Ô(€GØ„H×Ò˜wÑ'Ô'Ð'Ø„H× Ò ¥Ô!9¸'Ñ!BÔ!BÑCÔCÐCà×ÒÑÔÐØ×ÒÑÔÐÐÐr   c                  óà   — t          j        ¦   «         } t          j        dddt           j        ¬¦  «        }t          j        dddt           j        ¬¦  «        }|                      ||¦  «         d S )Nr	   )ÚyearÚmonthÚdayrV   é   )r6   r©   r   rZ   Útick_values)ÚlocÚx1Úy1s      r   Útest_RRuleLocator_dayrangerØ   ý   s`   € Ý
Ô
Ñ
Ô
€CÝ	Ô	 ¨°½&¼*Ð	EÑ	EÔ	E€BÝ	Ô	 ¨°½6¼:Ð	FÑ	FÔ	F€BØ‡O‚O�B˜ÑÔÐÐÐr   c                  óz  — t          j        t          j        j        d¬¦  «        } t          j        | ¦  «        }t          j        ddd¬¦  «        }t          j        dddd¬¦  «        }ddg}t          t          t          t          j
        |                     ||¦  «        ¦  «        ¦  «        ¦  «        |k    sJ ‚d S )	Nr}   r¾   éä  r	   ©rÐ   rÑ   rÒ   )rÐ   rÑ   rÒ   Úmicrosecondú2020-01-01 00:00:00+00:00z 2020-01-01 00:00:00.000001+00:00)r6   rÅ   rÆ   rÇ   ÚSECONDLYrÉ   r   ÚlistÚmapr¦   Únum2daterÔ   )rÇ   rÕ   Úd1Úd2Úexpecteds        r   Útest_RRuleLocator_close_minmaxrå     s¬   € õ Ô¥¤Ô 7À!ÐDÑDÔD€EÝ
Ô
˜eÑ
$Ô
$€CÝ	Ô	 ¨A°1Ð	5Ñ	5Ô	5€BÝ	Ô	 ¨A°1À!Ð	DÑ	DÔ	D€BØ+Ø2ð4€Hå••C�œ¨¯ª¸¸RÑ)@Ô)@ÑAÔAÑBÔBÑCÔCÀxÒOÐOÐOÐOÐOÐOr   z#DateFormatter_fractionalSeconds.pngc                  ó¢  — dd l mc m}  |                      ¦   «          t	          j        dddddd¦  «        }t	          j        dddddd¦  «        }t          j        ¦   «         }t          j        ¦   «         }|                     d¦  «         | 	                    ||gddgd¬¦  «         | 
                    ¦   «          |                     ¦   «          d S )	Nr   iÑ  r	   Tr   r   rº   r»   )rÀ   r(   rÁ   rÂ   r   r$   r%   rÃ   rÄ   r'   rÌ   r‹   )rA   r4   r„   r/   r0   s        r   Útest_DateFormatterrç     sÙ   € à0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ø	‡N‚NÑÔÐõ
 
Ô	˜4  A q¨!¨QÑ	/Ô	/€BÝ	Ô	˜4  A q¨!¨QÑ	/Ô	/€Bå
Œ*‰,Œ,€CÝ	Œ‰Œ€BØ×Ò˜ÑÔÐØ‡G‚GˆR�ˆH�s˜C�j¨€GÑ-Ô-Ð-ð ×ÒÑÔÐØ×ÒÑÔÐÐÐr   c            	      ó   — dt           j        d<   t          j        ddddd¦  «        t          j        ddddd¦  «        t          j        dddd	d¦  «        g} g d
¢}t          j        ¦   «         \  }}|                     | |¦  «         |j                             t          j        d¦  «        ¦  «         |j	         
                    ¦   «          d„ |                     ¦   «         D ¦   «         }g d¢}||k    sJ ‚|j                             t          j        ¦   «         ¦  «         |j                             t          j        d¦  «        ¦  «         t          j        d¦  «        }|j                             t          j        |¦  «        ¦  «         |j                             t          j        d¦  «        ¦  «         |j	         
                    ¦   «          d„ |                     d¬¦  «        D ¦   «         }g d¢}||k    sJ ‚dS )zh
    Test if setting the locator only will update the AutoDateFormatter to use
    the new locator.
    z%d %H:%Mzdate.autoformatter.minuteiâ  é	   é   é   r   é;   r   )r   r   r	   )r   rê   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS © ©Úget_text©r   Útls     r   r   z.test_locator_set_formatter.<locals>.<listcomp>9  s    € Ð?Ð?Ð? B�"—+’+‘-”-Ð?Ð?Ð?r   )z30 08:00z30 08:30z30 09:00z30 09:30z30 10:00z30 10:30)r}   é7   )rL   é   )rM   é-   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS rî   rï   rñ   s     r   r   z.test_locator_set_formatter.<locals>.<listcomp>E  s    € ÐLÐLÐL B�"—+’+‘-”-ÐLÐLÐLr   Úminor)Úwhich)z30 08:15z30 08:45z30 09:15z30 09:45z30 10:15N)r$   ÚrcParamsr   ra   r'   rm   r¨   r6   ÚMinuteLocatorÚcanvasÚdrawÚget_xticklabelsÚmtickerÚNullLocatorÚset_minor_locatorÚset_minor_formatterrË   )Útr   r/   r0   Ú
ticklabelsrä   Ú	decoy_locs          r   Útest_locator_set_formatterr  *  sã  € ð
 1;…C„LÐ,Ñ-Ý	Ô	˜4  B¨¨1Ñ	-Ô	-Ý	Ô	˜4  B¨¨2Ñ	.Ô	.Ý	Ô	˜4  B¨¨BÑ	/Ô	/ð	1€Að 	ˆ	ˆ	€AåŒl‰nŒn�G€CˆØ‡G‚GˆAˆq�M„M€MØ„H×Ò�vÔ3°GÑ<Ô<Ñ=Ô=Ð=Ø„J‡O‚OÑÔÐØ?Ð?¨"×*<Ò*<Ñ*>Ô*>Ð?Ñ?Ô?€Jð4ð 4ð 4€Hà˜Ò!Ð!Ð!Ð!à„H×Ò�wÔ2Ñ4Ô4Ñ5Ô5Ð5Ø„H×Ò�vÔ3°GÑ<Ô<Ñ=Ô=Ð=ÝÔ$ XÑ.Ô.€IØ„H× Ò ¥Ô!9¸)Ñ!DÔ!DÑEÔEÐEà„H×Ò�vÔ3°HÑ=Ô=Ñ>Ô>Ð>Ø„J‡O‚OÑÔÐØLÐL¨"×*<Ò*<À7Ð*<Ñ*KÔ*KÐLÑLÔL€JØKÐKÐK€HØ˜Ò!Ð!Ð!Ð!Ð!Ð!r   c                  óÀ   —  G d„ d¦  «        } d„ }t          j         | ¦   «         ¦  «        }||j        d<    |t          j        ddd¦  «        g¦  «        dgk    sJ ‚d S )	Nc                   ó   — e Zd Zd„ ZdS )ú.test_date_formatter_callable.<locals>._Locatorc                 ó   — dS )Niõÿÿÿrî   )Úselfs    r   Ú	_get_unitz8test_date_formatter_callable.<locals>._Locator._get_unitM  s   €  C Cr   N)Ú__name__Ú
__module__Ú__qualname__r  rî   r   r   Ú_Locatorr  L  s   € € € € € Ø'Ð'Ð'Ð'Ð'r   r  c                 ó   — d„ | D ¦   «         S )Nc                 ó8   — g | ]}|                      d ¦  «        ‘ŒS )z	%d-%m//%Y)Ústrftime)r   Údts     r   r   zVtest_date_formatter_callable.<locals>.callable_formatting_function.<locals>.<listcomp>P  s$   € Ð9Ð9Ð9¨R�—’˜KÑ(Ô(Ð9Ð9Ð9r   rî   )r[   Ú_s     r   Úcallable_formatting_functionzBtest_date_formatter_callable.<locals>.callable_formatting_functionO  s   € Ø9Ð9°5Ð9Ñ9Ô9Ð9r   iöÿÿÿéÞ  rL   é   z25-12//2014)r6   rË   Úscaledr   )r  r  Ú	formatters      r   Útest_date_formatter_callabler  J  s“   € ð(ð (ð (ð (ð (ñ (ô (ð (ð:ð :ð :õ Ô(¨¨©¬Ñ4Ô4€IØ8€IÔ�SÑØˆ9•hÔ'¨¨b°"Ñ5Ô5Ð6Ñ7Ô7¸M¸?ÒJÐJÐJÐJÐJÐJr   zdelta, expectedé (  ©Úweeksc                 ó   — g | ]}d |z  ‘ŒS ©z$\mathdefault{%d}$rî   )r   rÐ   s     r   r   r   Y  s   € ÐEÐEÐE tÐ˜dÑ"ÐEÐEÐEr   éÆ  i{  rv   rê   r   c                 ó   — g | ]}d |z  ‘ŒS )z $\mathdefault{1990{-}01{-}%02d}$rî   )r   rÒ   s     r   r   r   [  s   € ÐKÐKÐK°CÐ)¨CÑ/ÐKÐKÐKr   é    ©Úhoursc                 ó   — g | ]}d |z  ‘ŒS )z$\mathdefault{01{-}01\;%02d}$rî   )r   Úhours     r   r   r   ]  s   € ÐJÐJÐJ°$Ð&¨Ñ-ÐJÐJÐJr   rw   r   ©Úminutesc                 ó   — g | ]}d |z  ‘ŒS )z$\mathdefault{01\;00{:}%02d}$rî   )r   Úminus     r   r   r   _  s   € ÐGÐGÐG°$Ð&¨Ñ-ÐGÐGÐGr   é   c                 óš  ‡— t          j        d¦  «         t          j        ddd¦  «        }|| z   }t          j        d¬¦  «        }|                     ¦   «          |j                             t          j        |¦  «        t          j        |¦  «        ¦  «         t          j	        |d¬¦  «        Šˆfd„ |¦   «         D ¦   «         |k    sJ ‚d S )	NÚdefaultr   r	   F©Úinterval_multiplesT©Úusetexc                 ó&   •— g | ]} ‰|¦  «        ‘ŒS rî   rî   )r   rÕ   r  s     €r   r   z.test_date_formatter_usetex.<locals>.<listcomp>l  s!   ø€ Ð0Ð0Ð0˜sˆIˆI�c‰NŒNÐ0Ð0Ð0r   )
r   Úuser   r6   ÚAutoDateLocatorÚcreate_dummy_axisÚaxisÚset_view_intervalr7   rË   )Údeltarä   râ   rã   rÍ   r  s        @r   Útest_date_formatter_usetexr9  W  sÉ   ø€ õ 
„IˆiÑÔÐå	Ô	˜4  AÑ	&Ô	&€BØ	ˆe‰€BåÔ$¸Ð>Ñ>Ô>€GØ×ÒÑÔÐØ„L×"Ò"¥6¤?°2Ñ#6Ô#6½¼ÈÑ8KÔ8KÑLÔLÐLåÔ(¨¸Ð>Ñ>Ô>€IØ0Ð0Ð0Ð0 g g¡i¤iÐ0Ñ0Ô0°HÒ<Ð<Ð<Ð<Ð<Ð<r   c                  ó  — t          j         dddt          j        ¬¦  «        } t          j         dddt          j        ¬¦  «        }t          j        d¬¦  «        }t	          t          j        | ||¦  «        ¦  «        dk    sJ ‚|t          j        d¬¦  «        z
  }t	          t          j        | ||¦  «        ¦  «        dk    sJ ‚|t          j        d¬¦  «        z   }t	          t          j        | ||¦  «        ¦  «        dk    sJ ‚t          j         dddt          j        ¬¦  «        }t          j        d	¬¦  «        }t          j        | ||¦  «        }t	          |¦  «        d
k    sJ ‚t          j        |d         ¦  «        ||z
  k    sJ ‚dS )zj
    This test should check if drange works as expected, and if all the
    rounding errors are fixed
    éÛ  r	   rU   r   r#  é   ©Úmicrosecondsr  é   é   éÿÿÿÿN)r   r6   rZ   r   r¥   Údrangerá   )ÚstartÚendr8  Ú	dateranges       r   Útest_drangerF  o  s}  € õ
 Ô˜d A qµ´Ð<Ñ<Ô<€EÝ
Ô
˜D ! Q­v¬zÐ
:Ñ
:Ô
:€CÝÔ QÐ'Ñ'Ô'€Eõ �vŒ}˜U C¨Ñ/Ô/Ñ0Ô0°BÒ6Ð6Ð6Ð6ð •Ô"°Ð2Ñ2Ô2Ñ
2€CÝ�vŒ}˜U C¨Ñ/Ô/Ñ0Ô0°BÒ6Ð6Ð6Ð6ð •Ô"°Ð2Ñ2Ô2Ñ
2€CÝ�vŒ}˜U C¨Ñ/Ô/Ñ0Ô0°BÒ6Ð6Ð6Ð6õ Ô
˜D ! Q­v¬zÐ
:Ñ
:Ô
:€Cõ Ô QÐ'Ñ'Ô'€EÝ”˜e S¨%Ñ0Ô0€IÝˆy‰>Œ>˜QÒÐÐÐÝŒ?˜9 Rœ=Ñ)Ô)¨c°E©kÒ:Ð:Ð:Ð:Ð:Ð:r   c            
      ó�  — d„ } t          j         ddd¦  «        }t          j        d¬¦  «        g d¢gt          j        d¬¦  «        g d¢gt          j        d	¬
¦  «        g d¢gt          j        d¬
¦  «        g d¢gt          j        d¬¦  «        g d¢gt          j        d¬¦  «        g d¢gt          j        d¬¦  «        g d¢gt          j        d¬¦  «        g d¢gf}|D ]X\  }}||z   } | ||¦  «        }t          t          t          t          j         |¦   «         ¦  «        ¦  «        ¦  «        |k    sJ ‚ŒYt          j        d¬¦  «        }|j        ddddddddœk    sJ ‚t          j        t          j
        j        di¬¦  «        }|j        ddddddddœk    sJ ‚t          j        d¬¦  «        }|j        ddddddddœk    sJ ‚d S ) Nc                 óž   — t          j        d¬¦  «        }|                     ¦   «           |j        j        t          j        | |g¦  «        Ž  |S )NFr.  ©r6   r4  r5  r6  r7  r7   ©Údate1Údate2rÍ   s      r   Ú_create_auto_date_locatorz9test_auto_date_locator.<locals>._create_auto_date_locator‘  sL   € ÝÔ(¸EÐBÑBÔBˆØ×!Ò!Ñ#Ô#Ð#Ø&ˆŒÔ&­¬¸À¸Ñ(GÔ(GÐHÐHØˆr   r   r	   r  r  )
ú1990-01-01 00:00:00+00:00z2010-01-01 00:00:00+00:00z2030-01-01 00:00:00+00:00z2050-01-01 00:00:00+00:00z2070-01-01 00:00:00+00:00z2090-01-01 00:00:00+00:00z2110-01-01 00:00:00+00:00z2130-01-01 00:00:00+00:00z2150-01-01 00:00:00+00:00z2170-01-01 00:00:00+00:00é4   )rN  z1990-02-01 00:00:00+00:00z1990-03-01 00:00:00+00:00z1990-04-01 00:00:00+00:00z1990-05-01 00:00:00+00:00z1990-06-01 00:00:00+00:00z1990-07-01 00:00:00+00:00z1990-08-01 00:00:00+00:00z1990-09-01 00:00:00+00:00z1990-10-01 00:00:00+00:00z1990-11-01 00:00:00+00:00z1990-12-01 00:00:00+00:00é�   r   )z1990-01-05 00:00:00+00:00z1990-01-26 00:00:00+00:00z1990-02-16 00:00:00+00:00z1990-03-09 00:00:00+00:00z1990-03-30 00:00:00+00:00z1990-04-20 00:00:00+00:00z1990-05-11 00:00:00+00:00é(   )z1990-01-03 00:00:00+00:00z1990-01-10 00:00:00+00:00z1990-01-17 00:00:00+00:00z1990-01-24 00:00:00+00:00z1990-01-31 00:00:00+00:00z1990-02-07 00:00:00+00:00r#  )rN  z1990-01-01 04:00:00+00:00z1990-01-01 08:00:00+00:00z1990-01-01 12:00:00+00:00z1990-01-01 16:00:00+00:00z1990-01-01 20:00:00+00:00z1990-01-02 00:00:00+00:00z1990-01-02 04:00:00+00:00z1990-01-02 08:00:00+00:00z1990-01-02 12:00:00+00:00z1990-01-02 16:00:00+00:00rv   r'  )rN  z1990-01-01 00:05:00+00:00z1990-01-01 00:10:00+00:00z1990-01-01 00:15:00+00:00z1990-01-01 00:20:00+00:00©Úseconds)	rN  z1990-01-01 00:00:05+00:00z1990-01-01 00:00:10+00:00z1990-01-01 00:00:15+00:00z1990-01-01 00:00:20+00:00z1990-01-01 00:00:25+00:00z1990-01-01 00:00:30+00:00z1990-01-01 00:00:35+00:00z1990-01-01 00:00:40+00:00éÜ  r=  )z 1989-12-31 23:59:59.999500+00:00rN  z 1990-01-01 00:00:00.000500+00:00z 1990-01-01 00:00:00.001000+00:00z 1990-01-01 00:00:00.001500+00:00z 1990-01-01 00:00:00.002000+00:00Fr.  r+  rL   rë   )r   r	   r   r?  r}   r@  rS   r}   )Úmaxticks)r   r   rß   rà   r¦   r6   rá   r4  rU  rÆ   rÇ   ÚMONTHLY)rM  râ   ÚresultsÚt_deltarä   rã   rÍ   s          r   Útest_auto_date_locatorrY  �  s“  € ðð ð õ 
Ô	˜4  AÑ	&Ô	&€BÝÔ"¨Ð2Ñ2Ô2ðKð Kð Kðõ Ô"¨Ð,Ñ,Ô,ðKð Kð Kðõ Ô"¨Ð,Ñ,Ô,ð.ð .ð .ðõ Ô"¨Ð+Ñ+Ô+ðKð Kð Kðõ
 Ô"¨Ð,Ñ,Ô,ð.ð .ð .ðõ Ô"¨2Ð.Ñ.Ô.ð.ð .ð .ðõ
 Ô"¨2Ð.Ñ.Ô.ð.ð .ð .ðõ Ô"°Ð5Ñ5Ô5ð5ð 5ð 5ðð]6€Gðp %ð Fð FÑˆ�Ø�'‰\ˆØ+Ð+¨B°Ñ3Ô3ˆÝ•C��Vœ_¨W¨W©Y¬YÑ7Ô7Ñ8Ô8Ñ9Ô9¸XÒEÐEÐEÐEÐEåÔ$¸Ð>Ñ>Ô>€GØÔ 2¨"°¸¸rÀbÈQÐOÐOÒOÐOÐOÐOåÔ$­x¬~Ô/EÀqÐ.IÐJÑJÔJ€GØÔ 2¨!°°r¸bÀRÈAÐNÐNÒNÐNÐNÐNåÔ$¨aÐ0Ñ0Ô0€GØÔ 1¨¨q°Q¸1ÀÀqÐIÐIÒIÐIÐIÐIÐIÐIr   c            
      ór  — d„ } t          j        d¬¦  «        g d¢gt          j        d¬¦  «        g d¢gt          j        d¬¦  «        g d	¢gt          j        d
¬¦  «        g d¢gt          j        d
¬¦  «        g d¢gt          j        d¬¦  «        g d¢gt          j        d
¬¦  «        g d¢gt          j        d¬¦  «        g d¢gf}t          j         ddd¦  «        }|D ]X\  }}||z   } | ||¦  «        }t          t          t          t          j         |¦   «         ¦  «        ¦  «        ¦  «        |k    sJ ‚ŒYd S )Nc                 óž   — t          j        d¬¦  «        }|                     ¦   «           |j        j        t          j        | |g¦  «        Ž  |S )NTr.  rI  rJ  s      r   rM  zAtest_auto_date_locator_intmult.<locals>._create_auto_date_locatorá  sL   € ÝÔ(¸DÐAÑAÔAˆØ×!Ò!Ñ#Ô#Ð#Ø&ˆŒÔ&­¬¸À¸Ñ(GÔ(GÐHÐHØˆr   r  r  ©z1980-01-01 00:00:00+00:00z2000-01-01 00:00:00+00:00rÝ   z2040-01-01 00:00:00+00:00z2060-01-01 00:00:00+00:00z2080-01-01 00:00:00+00:00z2100-01-01 00:00:00+00:00z2120-01-01 00:00:00+00:00z2140-01-01 00:00:00+00:00z2160-01-01 00:00:00+00:00z2180-01-01 00:00:00+00:00z2200-01-01 00:00:00+00:00rO  )ú1997-01-01 00:00:00+00:00ú1997-02-01 00:00:00+00:00ú1997-03-01 00:00:00+00:00ú1997-04-01 00:00:00+00:00ú1997-05-01 00:00:00+00:00z1997-06-01 00:00:00+00:00z1997-07-01 00:00:00+00:00z1997-08-01 00:00:00+00:00z1997-09-01 00:00:00+00:00z1997-10-01 00:00:00+00:00z1997-11-01 00:00:00+00:00z1997-12-01 00:00:00+00:00rP  r   )
r]  z1997-01-15 00:00:00+00:00r^  z1997-02-15 00:00:00+00:00r_  z1997-03-15 00:00:00+00:00r`  z1997-04-15 00:00:00+00:00ra  z1997-05-15 00:00:00+00:00rQ  )r]  z1997-01-05 00:00:00+00:00z1997-01-09 00:00:00+00:00z1997-01-13 00:00:00+00:00z1997-01-17 00:00:00+00:00z1997-01-21 00:00:00+00:00z1997-01-25 00:00:00+00:00z1997-01-29 00:00:00+00:00r^  z1997-02-05 00:00:00+00:00z1997-02-09 00:00:00+00:00r#  )r]  z1997-01-01 04:00:00+00:00z1997-01-01 08:00:00+00:00z1997-01-01 12:00:00+00:00z1997-01-01 16:00:00+00:00z1997-01-01 20:00:00+00:00z1997-01-02 00:00:00+00:00z1997-01-02 04:00:00+00:00z1997-01-02 08:00:00+00:00z1997-01-02 12:00:00+00:00z1997-01-02 16:00:00+00:00rv   r'  )r]  z1997-01-01 00:05:00+00:00z1997-01-01 00:10:00+00:00z1997-01-01 00:15:00+00:00z1997-01-01 00:20:00+00:00rR  )	r]  z1997-01-01 00:00:05+00:00z1997-01-01 00:00:10+00:00z1997-01-01 00:00:15+00:00z1997-01-01 00:00:20+00:00z1997-01-01 00:00:25+00:00z1997-01-01 00:00:30+00:00z1997-01-01 00:00:35+00:00z1997-01-01 00:00:40+00:00rT  r=  )z 1996-12-31 23:59:59.999500+00:00r]  z 1997-01-01 00:00:00.000500+00:00z 1997-01-01 00:00:00.001000+00:00z 1997-01-01 00:00:00.001500+00:00z 1997-01-01 00:00:00.002000+00:00éÍ  r	   ©r   r   rß   rà   r¦   r6   rá   )rM  rW  râ   rX  rä   rã   rÍ   s          r   Útest_auto_date_locator_intmultrd  ß  sä  € ðð ð õ Ô"¨Ð2Ñ2Ô2ðKð Kð Kðõ Ô"¨Ð,Ñ,Ô,ðKð Kð Kðõ Ô"¨Ð,Ñ,Ô,ðKð Kð Kðõ Ô"¨Ð+Ñ+Ô+ð.ð .ð .ðõ Ô"¨Ð,Ñ,Ô,ð.ð .ð .ðõ Ô"¨2Ð.Ñ.Ô.ð.ð .ð .ðõ
 Ô"¨2Ð.Ñ.Ô.ð.ð .ð .ðõ Ô"°Ð5Ñ5Ô5ð5ð 5ð 5ððg;€Gõz 
Ô	˜4  AÑ	&Ô	&€BØ$ð Fð FÑˆ�Ø�'‰\ˆØ+Ð+¨B°Ñ3Ô3ˆÝ•C��Vœ_¨W¨W©Y¬YÑ7Ô7Ñ8Ô8Ñ9Ô9¸XÒEÐEÐEÐEÐEðFð Fr   c                  óà   — t          j        d¬¦  «        } t          j        | ¦  «        }d}|                     ||dt           j        z  z   |dt           j        z  z   g¦  «        }|g d¢k    sJ ‚d S )NTr.  g    €BÃ@r½   i„  )ú00:00z00.0005z00.0009)r6   r4  ÚConciseDateFormatterÚformat_ticksÚMUSECONDS_PER_DAY)rÍ   r  Ú	year_1996Ústringss       r   Ú test_concise_formatter_subsecondrl  +  s‡   € ÝÔ$¸Ð=Ñ=Ô=€GÝÔ+¨GÑ4Ô4€IØ€IØ×$Ò$ØØ�C�&Ô2Ñ2Ñ2Ø�C�&Ô2Ñ2Ñ2ð&4ñ 5ô 5€Gð Ð5Ð5Ð5Ò5Ð5Ð5Ð5Ð5Ð5r   c            
      ó,  — d„ } t          j         ddd¦  «        }t          j        d¬¦  «        d„ t          ddd	¦  «        D ¦   «         gt          j        d
¬¦  «        g d¢gt          j        d¬¦  «        g d¢gt          j        d¬¦  «        g d¢gt          j        d¬¦  «        g d¢gt          j        d	¬¦  «        g d¢gt          j        d¬¦  «        g d¢gt          j        d¬¦  «        g d¢gf}|D ]\  }}||z   } | ||¦  «        }||k    sJ ‚Œd S )Nc                 ó†  — t          j        ¦   «         \  }}t          j        d¬¦  «        }t          j        |¦  «        }|j                             |¦  «         |j                             |¦  «         |                     | |¦  «         |j	         
                    ¦   «          d„ |                     ¦   «         D ¦   «         }|S )NTr.  c                 ó6   — g | ]}|                      ¦   «         ‘ŒS rî   rï   ©r   Ústs     r   r   zMtest_concise_formatter.<locals>._create_auto_date_locator.<locals>.<listcomp>@  ó    € Ð<Ð<Ð< ˆr�{Š{‰}Œ}Ð<Ð<Ð<r   ©r$   ra   r6   r4  rg  Úyaxisr¨   rÊ   r�   rû   rü   Úget_yticklabels)rK  rL  r/   r0   rÍ   r  Ústss          r   rM  z9test_concise_formatter.<locals>._create_auto_date_locator7  sª   € Ý”,‘.”.‰ˆˆRåÔ(¸DÐAÑAÔAˆÝÔ/°Ñ8Ô8ˆ	Ø
Œ×"Ò" 7Ñ+Ô+Ð+Ø
Œ×$Ò$ YÑ/Ô/Ð/Ø
�Š�E˜5Ñ!Ô!Ð!ØŒ
�ŠÑÔÐØ<Ð< r×'9Ò'9Ñ';Ô';Ð<Ñ<Ô<ˆØˆ
r   rb  r	   r  r  c                 ó,   — g | ]}t          |¦  «        ‘ŒS rî   ©r¦   ©r   r  s     r   r   z*test_concise_formatter.<locals>.<listcomp>E  ó   € Ð7Ð7Ð7˜A•�Q‘”Ð7Ð7Ð7r   é¼  é™  rv   rO  )Ú1997ÚFebÚMarÚAprÚMayÚJunÚJulÚAugÚSepÚOctÚNovÚDecrP  r   )
ÚJanÚ15r~  rŠ  r  rŠ  r€  rŠ  r�  rŠ  rQ  )r‰  Ú05Ú09Ú13Ú17Ú21Ú25Ú29r~  r‹  rŒ  r#  )zJan-01ú04:00ú08:00ú12:00ú16:00ú20:00zJan-02r’  r“  r”  r•  r'  )rf  ú00:05ú00:10ú00:15ú00:20rR  )	rf  r‹  Ú10rŠ  Ú20r�  Ú30Ú35Ú40r   )ú59.5rf  ú00.5ú01.0ú01.5ú02.0ú02.5©r   r   r!   )rM  râ   rW  rX  rä   rã   rk  s          r   Útest_concise_formatterr§  6  s¯  € ð
ð 
ð 
õ 
Ô	˜4  AÑ	&Ô	&€BÝÔ"¨Ð2Ñ2Ô2Ø7Ð7¥ t¨T°2Ñ!6Ô!6Ð7Ñ7Ô7ðõ Ô"¨Ð,Ñ,Ô,ð-ð -ð -ðõ Ô"¨Ð,Ñ,Ô,ðð ð ðõ Ô"¨Ð+Ñ+Ô+ðð ð ðõ Ô"¨Ð,Ñ,Ô,ð?ð ?ð ?ðõ Ô"¨2Ð.Ñ.Ô.Ø=Ð=Ð=ðõ Ô"¨2Ð.Ñ.Ô.ØIÐIÐIðõ Ô"¨1Ð-Ñ-Ô-ØIÐIÐIðð3€Gð: %ð #ð #Ñˆ�Ø�'‰\ˆØ+Ð+¨B°Ñ3Ô3ˆØ˜(Ò"Ð"Ð"Ð"Ð"ð#ð #r   zt_delta, expectedg{®Gáz„?rR  z1997-Jan-01 00:00z1997-Jan-01 00:01ú1997-Jan-01ú1997-Jan-02ú1997-Jané   Ú é  c                 ó¸  — t          j         ddd¦  «        }|| z   }t          j        ¦   «         \  }}t          j        ¦   «         }t          j        |¦  «        }|j                             |¦  «         |j                             |¦  «         | 	                    ||gddg¦  «         |j
                             ¦   «          |                     ¦   «         |k    sJ ‚d S )Nrb  r	   r   )r   r$   ra   r6   r4  rg  rm   r¨   rÊ   r'   rû   rü   Ú
get_offset)rX  rä   râ   rã   r/   r0   rÍ   r  s           r   Ú"test_concise_formatter_show_offsetr°  g  sË   € õ 
Ô	˜4  AÑ	&Ô	&€BØ	ˆg‰€BåŒl‰nŒn�G€CˆÝÔ$Ñ&Ô&€GÝÔ+¨GÑ4Ô4€IØ„H×Ò˜wÑ'Ô'Ð'Ø„H× Ò  Ñ+Ô+Ð+à‡G‚GˆR�ˆH�q˜!�fÑÔÐØ„J‡O‚OÑÔÐØ×ÒÑ!Ô! XÒ-Ð-Ð-Ð-Ð-Ð-r   c                  óP  — t          j         ddd¦  «        t          j         ddd¦  «        g} ddg}t          j        ¦   «         \  }}|                     | |¦  «         t	          j        ¦   «         x|j        _        }|j        j        �J ‚ |j	        | Ž  |j        j        |k    sJ ‚d S )Nr‡   r	   rÚ   r   rv   r   )
r   r$   ra   r'   r6   ÚConciseDateConverterrm   Ú	converterrA   rŠ   )r   Úyr/   r0   Úconvs        r   Útest_concise_converter_staysr¶    s¦   € õ 
Ô	˜4  AÑ	&Ô	&­Ô(9¸$ÀÀ2Ñ(FÔ(FÐG€AØ	
ˆAˆ€AÝŒl‰nŒn�G€CˆØ‡G‚GˆAˆq�M„M€Må &Ô ;Ñ =Ô =Ð=€B„HÔ˜ØŒ8Œ>Ð!Ð!Ð!Ø€B„K�€O€OØŒ8Ô Ò%Ð%Ð%Ð%Ð%Ð%r   c                  ó  — t          j        ¦   «         \  } }t          j        ddd¦  «        }|t          j        d¬¦  «        z   }t	          j        ¦   «         }t	          j        |¦  «        }|j                             |¦  «         |j         	                    |¦  «         | 
                    ||gddg¦  «         |                      ¦   «          |                     ¦   «         dk    sJ ‚|                     ||t          j        d¬¦  «        z   ¦  «         |                      ¦   «          |                     ¦   «         dk    sJ ‚|                     |t          j        d	¬¦  «        z   |t          j        d
¬¦  «        z   ¦  «         |                      ¦   «          |                     ¦   «         dk    sJ ‚|                     ||t          j        d¬¦  «        z   ¦  «         |                      ¦   «          |                     ¦   «         dk    sJ ‚d S )Nrb  r	   r­  r  r   r¬  r   rª  rS   rê   r}  )r$   ra   r   r   r6   r4  rg  rm   r¨   rÊ   r'   rc   r¯  rŠ   )r/   r0   râ   rã   rÍ   r  s         r   Útest_offset_changesr¸  ”  sô  € ÝŒl‰nŒn�G€Cˆå	Ô	˜4  AÑ	&Ô	&€BØ	�hÔ  sÐ+Ñ+Ô+Ñ	+€BåÔ$Ñ&Ô&€GÝÔ+¨GÑ4Ô4€IØ„H×Ò˜wÑ'Ô'Ð'Ø„H× Ò  Ñ+Ô+Ð+à‡G‚GˆR�ˆH�q˜!�fÑÔÐØ×ÒÑ Ô Ð Ø×ÒÑ!Ô! RÒ'Ð'Ð'Ð'Ø‡K‚K��B�Ô+°!Ð4Ñ4Ô4Ñ4Ñ5Ô5Ð5Ø×ÒÑ Ô Ð Ø×ÒÑ!Ô! ZÒ/Ð/Ð/Ð/Ø‡K‚K�•XÔ'¨aÐ0Ñ0Ô0Ñ0Ø•XÔ'¨bÐ1Ñ1Ô1Ñ1ñ3ô 3ð 3à×ÒÑ Ô Ð Ø×ÒÑ!Ô! VÒ+Ð+Ð+Ð+Ø‡K‚K��B�Ô+°#Ð6Ñ6Ô6Ñ6Ñ7Ô7Ð7Ø×ÒÑ Ô Ð Ø×ÒÑ!Ô! RÒ'Ð'Ð'Ð'Ð'Ð'r   c                 ó   — g | ]}d |fz  ‘Œ	S r  rî   ry  s     r   r   r   °  s    € ÐCÐCÐC¨Ð˜q˜eÑ#ÐCÐCÐCr   r{  r|  rQ  )r‰  ú$\mathdefault{05}$ú$\mathdefault{09}$z$\mathdefault{13}$z$\mathdefault{17}$z$\mathdefault{21}$z$\mathdefault{25}$z$\mathdefault{29}$r~  rº  r»  )zJan$\mathdefault{{-}01}$ú$\mathdefault{04{:}00}$ú$\mathdefault{08{:}00}$ú$\mathdefault{12{:}00}$ú$\mathdefault{16{:}00}$z$\mathdefault{20{:}00}$zJan$\mathdefault{{-}02}$r¼  r½  r¾  r¿  )z$\mathdefault{59.5}$z$\mathdefault{00{:}00}$z$\mathdefault{00.5}$z$\mathdefault{01.0}$z$\mathdefault{01.5}$z$\mathdefault{02.0}$z$\mathdefault{02.5}$c                 ó~  — t          j         ddd¦  «        }|| z   }t          j        d¬¦  «        }|                     ¦   «          |j                             t          j        |¦  «        t          j        |¦  «        ¦  «         t          j        |d¬¦  «        }|                      |¦   «         ¦  «        |k    sJ ‚d S )Nrb  r	   Tr.  r0  )	r   r6   r4  r5  r6  r7  r7   rg  rh  )rX  rä   râ   rã   rÍ   r  s         r   Útest_concise_formatter_usetexrÁ  ®  s²   € õ, 
Ô	˜4  AÑ	&Ô	&€BØ	ˆg‰€BåÔ$¸Ð=Ñ=Ô=€GØ×ÒÑÔÐØ„L×"Ò"¥6¤?°2Ñ#6Ô#6½¼ÈÑ8KÔ8KÑLÔLÐLåÔ+¨G¸DÐAÑAÔA€IØ×!Ò! ' '¡)¤)Ñ,Ô,°Ò8Ð8Ð8Ð8Ð8Ð8r   c            
      ó:  ‡— g d¢Šˆfd„} t          j         ddd¦  «        }t          j        d¬¦  «        d„ t          dd	d
¦  «        D ¦   «         gt          j        d¬¦  «        g d¢gt          j        d¬¦  «        g d¢gt          j        d¬¦  «        g d¢gt          j        d¬¦  «        g d¢gt          j        d
¬¦  «        g d¢gt          j        d¬¦  «        g d¢gt          j        d¬¦  «        g d¢gf}|D ]\  }}||z   } | ||¦  «        }||k    sJ ‚Œd S )N)ú%Yz%m/%Yzday: %dú%H hr %M minrÄ  z	%S.%f secc                 óŒ  •— t          j        ¦   «         \  }}t          j        d¬¦  «        }t          j        |‰¬¦  «        }|j                             |¦  «         |j                             |¦  «         |                     | |¦  «         |j	         
                    ¦   «          d„ |                     ¦   «         D ¦   «         }|S )NTr.  )Úformatsc                 ó6   — g | ]}|                      ¦   «         ‘ŒS rî   rï   rp  s     r   r   zUtest_concise_formatter_formats.<locals>._create_auto_date_locator.<locals>.<listcomp>Ü  rr  r   rs  )rK  rL  r/   r0   rÍ   r  rv  rÆ  s          €r   rM  zAtest_concise_formatter_formats.<locals>._create_auto_date_locatorÓ  s°   ø€ Ý”,‘.”.‰ˆˆRåÔ(¸DÐAÑAÔAˆÝÔ/°ÀÐIÑIÔIˆ	Ø
Œ×"Ò" 7Ñ+Ô+Ð+Ø
Œ×$Ò$ YÑ/Ô/Ð/Ø
�Š�E˜5Ñ!Ô!Ð!ØŒ
�ŠÑÔÐØ<Ð< r×'9Ò'9Ñ';Ô';Ð<Ñ<Ô<ˆØˆ
r   rb  r	   r  r  c                 ó,   — g | ]}t          |¦  «        ‘ŒS rî   rx  ry  s     r   r   z2test_concise_formatter_formats.<locals>.<listcomp>á  s*   € ð .ð .ð .¸­c°!©f¬fð .ð .ð .r   r{  r|  rv   rO  )r}  ú02/1997ú03/1997ú04/1997ú05/1997z06/1997z07/1997z08/1997z09/1997z10/1997z11/1997z12/1997rP  r   )
ú01/1997úday: 15rÉ  rÎ  rÊ  rÎ  rË  rÎ  rÌ  rÎ  rQ  )rÍ  úday: 05úday: 09zday: 13zday: 17zday: 21zday: 25zday: 29rÉ  rÏ  rÐ  r#  )zday: 01ú04 hr 00 minú08 hr 00 minú12 hr 00 minú16 hr 00 minz20 hr 00 minzday: 02rÑ  rÒ  rÓ  rÔ  r'  )ú00 hr 00 minz00 hr 05 minz00 hr 10 minz00 hr 15 minz00 hr 20 minrR  )	rÕ  z05.000000 secz10.000000 secz15.000000 secz20.000000 secz25.000000 secz30.000000 secz35.000000 secz40.000000 secr   )z59.500000 secrÕ  z00.500000 secz01.000000 secz01.500000 secz02.000000 secz02.500000 secr¦  )rM  râ   rW  rX  rä   rã   rk  rÆ  s          @r   Útest_concise_formatter_formatsrÖ  Ï  sé  ø€ ð<ð <ð <€Gð
ð 
ð 
ð 
ð 
õ 
Ô	˜4  AÑ	&Ô	&€Bå	Ô	 (Ð	+Ñ	+Ô	+ð .ð .½eÀDØ	ˆrñ?ô ?ð .ñ .ô .ð 	å	Ô	 "Ð	%Ñ	%Ô	%ð (ð (ð (ð 	õ 
Ô	 Ð	%Ñ	%Ô	%ð (ð (ð (ð 	õ 
Ô	 Ð	$Ñ	$Ô	$ð 'ð 'ð 'ð 	õ 
Ô	 "Ð	%Ñ	%Ô	%ð (ð (ð (ð 	õ
 
Ô	 BÐ	'Ñ	'Ô	'ð *9ð *9ð *9ð 	:å	Ô	 BÐ	'Ñ	'Ô	'ð *ð *ð *ð 	õ
 
Ô	 AÐ	&Ñ	&Ô	&ð )ð )ð )ð 	ð7
€Gð@ %ð #ð #Ñˆ�Ø�'‰\ˆØ+Ð+¨B°Ñ3Ô3ˆØ˜(Ò"Ð"Ð"Ð"Ð"ð#ð #r   c            
      ó:  ‡— g d¢Šˆfd„} t          j         ddd¦  «        }t          j        d¬¦  «        d„ t          dd	d
¦  «        D ¦   «         gt          j        d¬¦  «        g d¢gt          j        d¬¦  «        g d¢gt          j        d¬¦  «        g d¢gt          j        d¬¦  «        g d¢gt          j        d
¬¦  «        g d¢gt          j        d¬¦  «        g d¢gt          j        d¬¦  «        g d¢gf}|D ]\  }}||z   } | ||¦  «        }||k    sJ ‚Œd S )N)r¬  z'%yz%Bz%m-%dz%Sz%S.%fc                 óŒ  •— t          j        ¦   «         \  }}t          j        d¬¦  «        }t          j        |‰¬¦  «        }|j                             |¦  «         |j                             |¦  «         |                     | |¦  «         |j	         
                    ¦   «          d„ |                     ¦   «         D ¦   «         }|S )NTr.  )Úzero_formatsc                 ó6   — g | ]}|                      ¦   «         ‘ŒS rî   rï   rp  s     r   r   zVtest_concise_formatter_zformats.<locals>._create_auto_date_locator.<locals>.<listcomp>  rr  r   rs  )rK  rL  r/   r0   rÍ   r  rv  rÙ  s          €r   rM  zBtest_concise_formatter_zformats.<locals>._create_auto_date_locator	  s·   ø€ Ý”,‘.”.‰ˆˆRåÔ(¸DÐAÑAÔAˆÝÔ/Ø ,ð0ñ 0ô 0ˆ	à
Œ×"Ò" 7Ñ+Ô+Ð+Ø
Œ×$Ò$ YÑ/Ô/Ð/Ø
�Š�E˜5Ñ!Ô!Ð!ØŒ
�ŠÑÔÐØ<Ð< r×'9Ò'9Ñ';Ô';Ð<Ñ<Ô<ˆØˆ
r   rb  r	   r  r  c                 ó,   — g | ]}t          |¦  «        ‘ŒS rî   rx  ry  s     r   r   z3test_concise_formatter_zformats.<locals>.<listcomp>  rz  r   r{  r|  rv   rO  )z'97r~  r  r€  r�  r‚  rƒ  r„  r…  r†  r‡  rˆ  rP  r   )
ÚJanuaryrŠ  ÚFebruaryrŠ  ÚMarchrŠ  ÚAprilrŠ  r�  rŠ  rQ  )rÜ  r‹  rŒ  r�  rŽ  r�  r�  r‘  rÝ  r‹  rŒ  r#  )z01-01r’  r“  r”  r•  r–  z01-02r’  r“  r”  r•  r'  )Ú00r—  r˜  r™  rš  rR  )	rà  r‹  r›  rŠ  rœ  r�  r�  rž  rŸ  r   )r   z00.0r¡  r¢  r£  r¤  r¥  r¦  )rM  râ   rW  rX  rä   rã   rk  rÙ  s          @r   Útest_concise_formatter_zformatsrá    sÈ  ø€ Ø<Ð<Ð<€Lðð ð ð ð õ 
Ô	˜4  AÑ	&Ô	&€BÝÔ"¨Ð2Ñ2Ô2Ø7Ð7¥ t¨T°2Ñ!6Ô!6Ð7Ñ7Ô7ðõ Ô"¨Ð,Ñ,Ô,ð>ð >ð >ðõ Ô"¨Ð,Ñ,Ô,ð6ð 6ð 6ðõ Ô"¨Ð+Ñ+Ô+ð8ð 8ð 8ðõ Ô"¨Ð,Ñ,Ô,ðAð Að Aðõ Ô"¨2Ð.Ñ.Ô.Ø:Ð:Ð:ðõ Ô"¨2Ð.Ñ.Ô.ØFÐFÐFðõ Ô"¨1Ð-Ñ-Ô-ØHÐHÐHðð3€Gð: %ð #ð #Ñˆ�Ø�'‰\ˆØ+Ð+¨B°Ñ3Ô3ˆØ˜(Ò"Ð"Ð"Ð"Ð"ð#ð #r   c                  óô  — d„ } t          j         ddd¦  «                             t           j        j        ¬¦  «        }t          j        d¬¦  «        g d¢dgt          j        d	¬
¦  «        g d¢dgt          j        d¬¦  «        g d¢dgt          j        d¬¦  «        g d¢dgf}t          j        t          j        d¬¦  «        ¦  «        }|D ]+\  }}}||z   } | |||¦  «        \  }}	||k    sJ ‚|	|k    sJ ‚Œ,d S )Nc                 óà  — t          j        ¦   «         \  }}t          j        d¬¦  «        }t          j        ||¬¦  «        }|j                             |¦  «         |j                             |¦  «         |                     | |¦  «         |j	         
                    ¦   «          d„ |                     ¦   «         D ¦   «         }||j                             ¦   «                              ¦   «         fS )NTr.  ©Útzc                 ó6   — g | ]}|                      ¦   «         ‘ŒS rî   rï   rp  s     r   r   zPtest_concise_formatter_tz.<locals>._create_auto_date_locator.<locals>.<listcomp>D  rr  r   )r$   ra   r6   r4  rg  rt  r¨   rÊ   r�   rû   rü   ru  Úget_offset_textrð   )rK  rL  rå  r/   r0   rÍ   r  rv  s           r   rM  z<test_concise_formatter_tz.<locals>._create_auto_date_locator;  sÏ   € Ý”,‘.”.‰ˆˆRåÔ(¸DÐAÑAÔAˆÝÔ/°¸BÐ?Ñ?Ô?ˆ	Ø
Œ×"Ò" 7Ñ+Ô+Ð+Ø
Œ×$Ò$ YÑ/Ô/Ð/Ø
�Š�E˜5Ñ!Ô!Ð!ØŒ
�ŠÑÔÐØ<Ð< r×'9Ò'9Ñ';Ô';Ð<Ñ<Ô<ˆØ�B”H×,Ò,Ñ.Ô.×7Ò7Ñ9Ô9Ð9Ð9r   rb  r	   rU   rQ  r#  )ú03:00ú07:00ú11:00ú15:00ú19:00z23:00rè  ré  rê  rë  rì  r©  rv   r'  )rè  z03:05z03:10z03:15z03:20r¨  rR  )	rè  r‹  r›  rŠ  rœ  r�  r�  rž  rŸ  z1997-Jan-01 03:00r   )r   rè  r¡  r¢  r£  r¤  r¥  r   )r   ÚreplaceÚtimezoneÚutcr   )
rM  râ   rW  Únew_tzrX  Úexpected_stringsÚexpected_offsetrã   rk  Úoffsets
             r   Útest_concise_formatter_tzrô  :  sa  € ð
:ð 
:ð 
:õ 
Ô	˜4  AÑ	&Ô	&×	.Ò	.µhÔ6GÔ6KÐ	.Ñ	LÔ	L€BÝÔ"¨Ð,Ñ,Ô,ð>ð >ð >àðõ
 Ô"¨2Ð.Ñ.Ô.Ø=Ð=Ð=Øðõ Ô"¨2Ð.Ñ.Ô.ØIÐIÐIØ#ðõ Ô"¨1Ð-Ñ-Ô-ØIÐIÐIØ#ðð€Gõ& Ô�xÔ1¸Ð:Ñ:Ô:Ñ;Ô;€FØ6=ð )ð )Ñ2ˆÐ! ?Ø�'‰\ˆØ3Ð3°B¸¸FÑCÔC‰ˆ�ØÐ*Ò*Ð*Ð*Ð*Ø˜Ò(Ð(Ð(Ð(Ð(ð	)ð )r   c                  óâ  — d„ } t          j        d¬¦  «        g d¢gt          j        d¬¦  «        g d¢gt          j        d¬¦  «        g d	¢gt          j        d
¬¦  «        g d¢gt          j        d
¬¦  «        g d¢gt          j        d¬¦  «        g d¢gt          j        d
¬¦  «        g d¢gf}t          j                             d¦  «        }t          j         ddd|¬¦  «        }|D ]‡\  }}t          ddi¦  «        5  ||z   } | |||¦  «        }t          t          t          t          j
         |¦   «         |¬¦  «        ¦  «        ¦  «        }||k    sJ ‚	 d d d ¦  «         n# 1 swxY w Y   Œˆd S )Nc                 ó    — t          j        d|¬¦  «        }|                     ¦   «           |j        j        t          j        | |g¦  «        Ž  |S )NT©r/  rå  rI  )rK  rL  rå  rÍ   s       r   rM  zDtest_auto_date_locator_intmult_tz.<locals>._create_auto_date_locatord  sN   € ÝÔ(¸DÀRÐHÑHÔHˆØ×!Ò!Ñ#Ô#Ð#Ø&ˆŒÔ&­¬¸À¸Ñ(GÔ(GÐHÐHØˆr   r  r  )z1980-01-01 00:00:00-08:00z2000-01-01 00:00:00-08:00z2020-01-01 00:00:00-08:00z2040-01-01 00:00:00-08:00z2060-01-01 00:00:00-08:00z2080-01-01 00:00:00-08:00z2100-01-01 00:00:00-08:00z2120-01-01 00:00:00-08:00z2140-01-01 00:00:00-08:00z2160-01-01 00:00:00-08:00z2180-01-01 00:00:00-08:00z2200-01-01 00:00:00-08:00rO  )ú1997-01-01 00:00:00-08:00ú1997-02-01 00:00:00-08:00ú1997-03-01 00:00:00-08:00ú1997-04-01 00:00:00-08:00ú1997-05-01 00:00:00-07:00z1997-06-01 00:00:00-07:00z1997-07-01 00:00:00-07:00z1997-08-01 00:00:00-07:00z1997-09-01 00:00:00-07:00z1997-10-01 00:00:00-07:00z1997-11-01 00:00:00-08:00z1997-12-01 00:00:00-08:00rP  r   )
rø  z1997-01-15 00:00:00-08:00rù  z1997-02-15 00:00:00-08:00rú  z1997-03-15 00:00:00-08:00rû  z1997-04-15 00:00:00-07:00rü  z1997-05-15 00:00:00-07:00rQ  )rø  z1997-01-05 00:00:00-08:00z1997-01-09 00:00:00-08:00z1997-01-13 00:00:00-08:00z1997-01-17 00:00:00-08:00z1997-01-21 00:00:00-08:00z1997-01-25 00:00:00-08:00z1997-01-29 00:00:00-08:00rù  z1997-02-05 00:00:00-08:00z1997-02-09 00:00:00-08:00r#  )rø  z1997-01-01 04:00:00-08:00z1997-01-01 08:00:00-08:00z1997-01-01 12:00:00-08:00z1997-01-01 16:00:00-08:00z1997-01-01 20:00:00-08:00z1997-01-02 00:00:00-08:00z1997-01-02 04:00:00-08:00z1997-01-02 08:00:00-08:00z1997-01-02 12:00:00-08:00z1997-01-02 16:00:00-08:00rv   r'  )rø  z1997-01-01 00:05:00-08:00z1997-01-01 00:10:00-08:00z1997-01-01 00:15:00-08:00z1997-01-01 00:20:00-08:00rR  )	rø  z1997-01-01 00:00:05-08:00z1997-01-01 00:00:10-08:00z1997-01-01 00:00:15-08:00z1997-01-01 00:00:20-08:00z1997-01-01 00:00:25-08:00z1997-01-01 00:00:30-08:00z1997-01-01 00:00:35-08:00z1997-01-01 00:00:40-08:00zCanada/Pacificrb  r	   rU   z_internal.classic_modeFrä  )r   r   rÆ   rå  Úgettzr   rß   rà   r¦   r6   rá   )	rM  rW  rå  râ   rX  rä   rã   rÍ   rq  s	            r   Ú!test_auto_date_locator_intmult_tzrþ  c  sE  € ðð ð õ Ô"¨Ð0Ñ0Ô0ðKð Kð Kðõ Ô"¨Ð,Ñ,Ô,ðKð Kð Kðõ Ô"¨Ð,Ñ,Ô,ðKð Kð Kðõ Ô"¨Ð+Ñ+Ô+ð.ð .ð .ðõ Ô"¨Ð,Ñ,Ô,ð.ð .ð .ðõ Ô"¨2Ð.Ñ.Ô.ð.ð .ð .ðõ
 Ô"¨2Ð.Ñ.Ô.ð.ð .ð .ððY3€Gõj 
Œ×	Ò	Ð+Ñ	,Ô	,€BÝ	Ô	˜4  A¨bÐ	1Ñ	1Ô	1€BØ$ð "ð "Ñˆ�ÝÐ1°5Ð9Ñ:Ô:ð 	"ð 	"Ø�g‘ˆBØ/Ð/°°B¸Ñ;Ô;ˆGÝ•c�#�vœ¨w¨w©y¬y¸RÐ@Ñ@Ô@ÑAÔAÑBÔBˆBØ˜’>�>�>�>�>ð		"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"øð"ð "s   Ã=AE#Å#E'	Å*E'	zdate_inverted_limit.pngc                  ó’  — t          j         ddd¦  «        } t          j         ddd¦  «        }t          j        ¦   «         \  }}|                     | dd¬¦  «         |                     | t          j        d¬	¦  «        z
  |t          j        d¬	¦  «        z   ¦  «         |                     ¦   «          |                     d
¬¦  «         d S rŽ   )r   r$   ra   rr   r�   r   Úinvert_yaxisr‚   rƒ   s       r   Útest_date_inverted_limitr  ©  sÁ   € õ 
Ô	˜4  BÑ	'Ô	'€BÝ	Ô	˜4  BÑ	'Ô	'€BÝŒl‰nŒn�G€CˆØ‡J‚Jˆr˜ A€JÑ&Ô&Ð&Ø‡K‚K�•XÔ'¨QÐ/Ñ/Ô/Ñ/Ø•XÔ'¨QÐ/Ñ/Ô/Ñ/ñ1ô 1ð 1à‡O‚OÑÔÐØ×Ò˜TÐÑ"Ô"Ð"Ð"Ð"r   c                 óè  ‡‡— t           j                             d¦  «        }t          j        }t          j        ddddd|¬¦  «        }t          j        dd¬	¦  «        }|j        d
z  Šd} | |||¬¦  «        } |||¦  «        }dt          j        t          j
        d¦  «        ¦  «        z   Šˆˆfd„t          |¦  «        D ¦   «         }	t          t          j        |¦  «        ¦  «        }
|
|	k    sJ ‚d S )NzEurope/Brusselsr  r   rê   r   rU   é!   rõ   )r(  rS  i€Q rë   )rC  ÚfreqÚperiodsg    ´p&Ar`   c                 ó    •— g | ]
}‰|‰z  z   ‘ŒS rî   rî   )r   rQ   Úinterval_daysr4   s     €€r   r   z&_test_date2num_dst.<locals>.<listcomp>Æ  s#   ø€ ÐDÐDÐD°a˜˜q =Ñ0Ñ1ÐDÐDÐDr   )rÆ   rå  rý  r6   rZ   r   r   rS  r7   r"   rG   r!   rß   )Ú
date_rangeÚ
tz_convertÚBRUSSELSrZ   Údtstartr¿   ÚNÚdt_utcÚdt_bxlÚexpected_ordinalfÚactual_ordinalfr  r4   s              @@r   Ú_test_date2num_dstr  ¶  s   øø€ õ Œ{× Ò Ð!2Ñ3Ô3€HÝ
Œ*€Cõ Ô  a¨¨Q°¸#Ð>Ñ>Ô>€GÝÔ!¨"°bÐ9Ñ9Ô9€HØÔ$ uÑ,€MØ	€AàˆZ˜g¨H¸aÐ@Ñ@Ô@€FØˆZ˜ Ñ)Ô)€FØ	•F”O¥B¤M°,Ñ$?Ô$?Ñ@Ô@Ñ	@€BØDÐDÐDÐDÐD½5À¹8¼8ÐDÑDÔDÐÝ�6œ?¨6Ñ2Ô2Ñ3Ô3€OàÐ/Ò/Ð/Ð/Ð/Ð/Ð/r   c                  óh   ‡—  G d„ dt           j         ¦  «        Šˆfd„} d„ }t          | |¦  «         d S )Nc                   óL   ‡ — e Zd ZdZˆ fd„Zˆ fd„Zˆ fd„Zed„ ¦   «         Zˆ xZ	S )ú%test_date2num_dst.<locals>.dt_tzawarezü
        This bug specifically occurs because of the normalization behavior of
        pandas Timestamp objects, so in order to replicate it, we need a
        datetime-like object that applies timezone normalization after
        subtraction.
        c                 ó  •— t          ¦   «                              |¦  «        }t          |dd ¦  «        }|�(t          |dd ¦  «        }|�|                     |¦  «        }t	          |t
          j        ¦  «        r|                      |¦  «        }|S )NrV   Ú	normalize)ÚsuperÚ__sub__Úgetattrr  Ú
isinstancer   Ú
mk_tzaware)r
  ÚotherÚrrV   Ú	localizerÚ	__class__s        €r   r  z-test_date2num_dst.<locals>.dt_tzaware.__sub__Ø  s„   ø€ Ý‘”—’ Ñ&Ô&ˆAÝ˜Q ¨$Ñ/Ô/ˆFàÐ!Ý# F¨K¸Ñ>Ô>�	ØÐ(Ø×(Ò(¨Ñ+Ô+�Aå˜!�XÔ.Ñ/Ô/ð 'Ø—O’O AÑ&Ô&�àˆHr   c                 ól   •— |                       t          ¦   «                              |¦  «        ¦  «        S ©N)r  r  Ú__add__)r
  r  r  s     €r   r"  z-test_date2num_dst.<locals>.dt_tzaware.__add__æ  s%   ø€ Ø—?’?¥5¡7¤7§?¢?°5Ñ#9Ô#9Ñ:Ô:Ð:r   c                 óp   •— t          ¦   «                              |¦  «        }|                      |¦  «        S r!  )r  Ú
astimezoner  )r
  rV   r  r  s      €r   r$  z0test_date2num_dst.<locals>.dt_tzaware.astimezoneé  s,   ø€ Ý‘”×#Ò# FÑ+Ô+ˆBØ—?’? 2Ñ&Ô&Ð&r   c                 óT   — i }d}|D ]}t          ||d ¦  «        }|�|||<   Œ | di |¤ŽS )N)rÐ   rÑ   rÒ   r&  ÚminuteÚsecondrÜ   rV   rî   )r  )ÚclsÚdatetime_objÚkwargsÚattrsÚattrÚvals         r   r  z0test_date2num_dst.<locals>.dt_tzaware.mk_tzawareí  sQ   € àˆFðˆEð ð 'ð '�Ý˜l¨D°$Ñ7Ô7�Ø�?Ø#&�F˜4‘Løà�3�=�=˜�=�=Ð r   )
r  r  r  Ú__doc__r  r"  r$  Úclassmethodr  Ú__classcell__)r  s   @r   Ú
dt_tzawarer  Ð  s�   ø€ € € € € ð	ð 	ð	ð 	ð 	ð 	ð 	ð	;ð 	;ð 	;ð 	;ð 	;ð	'ð 	'ð 	'ð 	'ð 	'ð 
ð	!ð 	!ñ 
Œð	!ð 	!ð 	!ð 	!ð 	!r   r1  c                 ój   •‡‡— ‰                      | ¦  «        Šˆˆfd„t          |¦  «        D ¦   «         S )Nc                 ó    •— g | ]
}‰|‰z  z   ‘ŒS rî   rî   )r   rQ   r  r  s     €€r   r   z9test_date2num_dst.<locals>.date_range.<locals>.<listcomp>  s"   ø€ Ð=Ð=Ð=¨�˜1˜t™8Ñ$Ð=Ð=Ð=r   )r  r!   )rC  r  r  r  r1  s    ` @€r   r  z%test_date2num_dst.<locals>.date_range  s;   øøø€ Ø×'Ò'¨Ñ.Ô.ˆà=Ð=Ð=Ð=Ð=­e°G©n¬nÐ=Ñ=Ô=Ð=r   c                 ó    ‡— ˆfd„| D ¦   «         S )Nc                 ó:   •— g | ]}|                      ‰¦  «        ‘ŒS rî   )r$  )r   ÚdrV   s     €r   r   z9test_date2num_dst.<locals>.tz_convert.<locals>.<listcomp>  s%   ø€ Ð6Ð6Ð6¨�—’˜VÑ$Ô$Ð6Ð6Ð6r   rî   )Údt_listrV   s    `r   r	  z%test_date2num_dst.<locals>.tz_convert  s   ø€ Ø6Ð6Ð6Ð6¨gÐ6Ñ6Ô6Ð6r   )r   r  )r  r	  r1  s     @r   Útest_date2num_dstr8  Ì  sq   ø€ ð.!ð .!ð .!ð .!ð .!•XÔ&ñ .!ô .!ð .!ðb>ð >ð >ð >ð >ð7ð 7ð 7õ �z :Ñ.Ô.Ð.Ð.Ð.r   c                 ó<   ‡ — ˆ fd„}t          ‰ j        |¦  «         d S )Nc                  óR   •—  ‰j         j        | Ž                      t          ¦  «        S r!  )ÚDatetimeIndexr	  ÚastypeÚobject)ÚargsÚpds    €r   r	  z,test_date2num_dst_pandas.<locals>.tz_convert  s$   ø€ Ø*ˆrÔÔ*¨DÐ1×8Ò8½Ñ@Ô@Ð@r   )r  r  )r?  r	  s   ` r   Útest_date2num_dst_pandasr@    s;   ø€ ðAð Að Að Að Aõ �r”} jÑ1Ô1Ð1Ð1Ð1r   c           	      óú  —  |d¦  «        } | t          j         dddd¦  «        |¦  «        } | t          j         dddd¦  «        |¦  «        }t          j        t          j        j        |¬¦  «        }|                     ||¦  «        }t          j         ddddt          j                             ¦   «         ¬¦  «        t          j         ddd	d
t          j                             ¦   «         ¬¦  «        g}||k    sJ ‚d S )NúAustralia/Sydneyr   r?  r	   r   )r  r  é   rU   r   é   )	r   r6   rÅ   rÆ   rÇ   ÚDAILYÚbetweenrå  Útzutc)Ú	attach_tzÚget_tzÚSYDr  ÚdtendÚruleÚactÚexps           r   Ú_test_rrulewrapperrO    sì   € Ø
ˆ&Ð#Ñ
$Ô
$€Càˆi�Ô)¨$°°1°aÑ8Ô8¸#Ñ>Ô>€GØˆI•hÔ'¨¨a°°AÑ6Ô6¸Ñ<Ô<€EåÔ¥H¤NÔ$8À'ÐJÑJÔJ€Dà
�,Š,�w Ñ
&Ô
&€CÝÔ˜T 1 a¨µH´K×4EÒ4EÑ4GÔ4GÐHÑHÔHÝÔ˜T 1 a¨µH´K×4EÒ4EÑ4GÔ4GÐHÑHÔHðJ€Cð �#Š:ˆ:ˆ:ˆ:ˆ:ˆ:r   c            	      ó2  — d„ } t          | t          j        j        ¦  «         t          j                             d¦  «        }t	          j        dddd¦  «        }t	          j        dddd¦  «        }t          j        t          j        j        |||¬¦  «        }| 	                    |¦  «        t	          j        ddddd|¬	¦  «        k    sJ ‚| 
                    |¦  «        t	          j        ddd
dd|¬	¦  «        k    sJ ‚|j        |k    sJ ‚|j        dk    sJ ‚d S )Nc                 ó.   — |                       |¬¦  «        S )NrU   )rí  ©r  Úzis     r   rH  z$test_rrulewrapper.<locals>.attach_tz'  s   € Ø�zŠz ˆzÑ$Ô$Ð$r   rB  r   r?  r	   r   )r  r  rV   Úuntilr   rU   r   )rO  rÆ   rå  rý  r   r6   rÅ   rÇ   rE  ÚafterÚbeforeÚ_base_tzinfoÚ	_interval)rH  rJ  r  rK  rL  s        r   Útest_rrulewrapperrY  &  sM  € ð%ð %ð %õ �y¥(¤+Ô"3Ñ4Ô4Ð4å
Œ+×
Ò
Ð.Ñ
/Ô
/€CÝÔ  a¨¨AÑ.Ô.€GÝÔ˜d A q¨!Ñ,Ô,€EÝÔ¥H¤NÔ$8À'Ø&)°ð8ñ 8ô 8€Dà�:Š:�gÑÔ¥(Ô"3°D¸!¸QÀÀ1Ø;>ð#@ñ #@ô #@ò @ð @ð @ð @à�;Š;�uÑÔ¥Ô!2°4¸¸A¸qÀ!Ø:=ð"?ñ "?ô "?ò ?ð ?ð ?ð ?ð Ô Ò#Ð#Ð#Ð#ØŒ>˜QÒÐÐÐÐÐr   c                  ó^   — t          j        d¦  «        } d„ }t          || j        ¦  «         d S )NÚpytzc                 ó,   — |                      | ¦  «        S r!  )ÚlocalizerR  s     r   rH  z)test_rrulewrapper_pytz.<locals>.attach_tz@  s   € Ø�{Š{˜2‰ŒÐr   )r¢   ÚimportorskiprO  rî  )r[  rH  s     r   Útest_rrulewrapper_pytzr_  ;  s=   € õ Ô˜vÑ&Ô&€Dðð ð õ �y $¤-Ñ0Ô0Ð0Ð0Ð0r   c            	      óT  ‡— t          j        d¦  «        } |                      d¦  «        Šˆfd„t          d¦  «        D ¦   «         }t	          j        d‰¬¦  «        }|                     ¦   «          |j                             t	          j	        |d         ¦  «        dz
  t	          j	        |d	         ¦  «        dz   ¦  «         t          j        g d
¢¦  «        }|t	          j	        t          j        d¦  «        ¦  «        z   }t          j                             | |¦   «         ¦  «         g d¢}t          t!          t"          t	          j         |¦   «         ‰¬¦  «        ¦  «        ¦  «        }||k    sJ ‚t          j        |                     |d         |d         ¦  «        t          j        g d¢¦  «        ¦  «        sJ ‚t          j        |                     |d         |d         ¦  «                             |d         |d         ¦  «        t          j        g d¢¦  «        ¦  «        sJ ‚d S )Nr[  zAmerica/New_Yorkc           	      óŒ   •— g | ]@}‰                      t          j        d dd¦  «        ¦  «        t          j        |¦  «        z   ‘ŒAS )rˆ   r	   )r]  r   r   )r   rQ   rå  s     €r   r   z)test_yearlocator_pytz.<locals>.<listcomp>K  sW   ø€ ð 	7ð 	7ð 	7Ø%&ð 
�Š•XÔ& t¨Q°Ñ2Ô2Ñ	3Ô	3ÝÔ˜aÑ Ô ñ
!ð 	7ð 	7ð 	7r   r‡   Tr÷  r   r   rA  )g{ŸªjÀa&Ag{Ÿªjšd&Ag{Ÿªjtg&Ag{ŸªjNj&Ag{Ÿªj*m&Ag{Ÿªjp&Ag{ŸªjÞr&Ar`   )z2009-01-01 00:00:00-05:00z2010-01-01 00:00:00-05:00z2011-01-01 00:00:00-05:00z2012-01-01 00:00:00-05:00z2013-01-01 00:00:00-05:00z2014-01-01 00:00:00-05:00z2015-01-01 00:00:00-05:00rä  r	   )	g‚£ªª‰Ì@g‚£ªª*‰Ì@g‚£ªª:‰Ì@g‚£ªªJ‰Ì@g‚£ªªZ‰Ì@g‚£ªªj‰Ì@g‚£ªªz‰Ì@g‚£ªªŠ‰Ì@g‚£ªªš‰Ì@)r¢   r^  rî  r!   r6   r4  r5  r6  r7  r7   r"   r#   rG   r(   rd   rß   rà   r¦   rá   ÚallcloserÔ   Úget_locator)r[  r   rÍ   r  rä   rq  rå  s         @r   Útest_yearlocator_pytzrd  F  s@  ø€ åÔ˜vÑ&Ô&€Dà	�ŠÐ)Ñ	*Ô	*€Bð	7ð 	7ð 	7ð 	7Ý*/°©+¬+ð	7ñ 	7ô 	7€AåÔ$¸ÀÐDÑDÔD€GØ×ÒÑÔÐØ„L×"Ò"¥6¤?°1°Q´4Ñ#8Ô#8¸Ñ#<Ý#)¤?°1°R´5Ñ#9Ô#9¸#Ñ#=ñ?ô ?ð ?å
Œð Nð Nð Nñ 	Oô 	O€Að 	
�FŒO�BœM¨,Ñ7Ô7Ñ8Ô8Ñ8€AÝ„J×Ò˜q ' '¡)¤)Ñ,Ô,Ð,ðJð Jð J€Hõ 
�c•#•v” w w¡y¤y°RÐ8Ñ8Ô8Ñ9Ô9Ñ	:Ô	:€BØ�Š>ˆ>ˆ>ˆ>ÝŒ;�w×*Ò*¨1¨Q¬4°°1´Ñ6Ô6½¼ð	ð 	ð 	ñ9ô 9ñ ô ð ð ð õ Œ;�w×*Ò*¨1¨Q¬4°°1´Ñ6Ô6×BÒBÀ1ÀQÄ4ÈÈ1ÌÑNÔNÝ”xð	ð 	ð 	ñô ñô ð ð ð ð ð r   c            
      óž  — d„ } t          j         ddd¦  «        }t          j        d¬¦  «        ddddœg d¢gt          j        d¬¦  «        dd	d
dœg d¢gt          j        d¬¦  «        ddddœddggf}|D ]W\  }}}||z   } | ||fi |¤Ž}t          t          t          t          j         |¦   «         ¦  «        ¦  «        ¦  «        |k    sJ ‚ŒXd S )Nc                 óÎ   — t          j        di |¤Ž}|                     ¦   «          |j                             t          j        | ¦  «        t          j        |¦  «        ¦  «         |S )Nrî   )r6   ÚYearLocatorr5  r6  r7  r7   )rK  rL  r*  rÍ   s       r   Ú_create_year_locatorz.test_YearLocator.<locals>._create_year_locatorh  sb   € ÝÔ$Ð.Ð. vÐ.Ð.ˆØ×!Ò!Ñ#Ô#Ð#ØŒ×&Ò&¥v¤°uÑ'=Ô'=Ý'-¤°uÑ'=Ô'=ñ	?ô 	?ð 	?àˆr   r   r	   r  r  rv   )r   rÑ   rÒ   r\  r}   rÓ   )z1980-05-16 00:00:00+00:00z2000-05-16 00:00:00+00:00z2020-05-16 00:00:00+00:00z2040-05-16 00:00:00+00:00z2060-05-16 00:00:00+00:00z2080-05-16 00:00:00+00:00z2100-05-16 00:00:00+00:00z2120-05-16 00:00:00+00:00z2140-05-16 00:00:00+00:00z2160-05-16 00:00:00+00:00z2180-05-16 00:00:00+00:00z2200-05-16 00:00:00+00:00i  ré   r  z1980-09-25 00:00:00+00:00z2000-09-25 00:00:00+00:00rc  )rh  râ   rW  r8  Ú	argumentsrä   rã   rÍ   s           r   Útest_YearLocatorrj  g  sG  € ðð ð õ 
Ô	˜4  AÑ	&Ô	&€BÝÔ"¨Ð2Ñ2Ô2Ø a°Ð2Ð2ðKð Kð Kðõ Ô"¨Ð2Ñ2Ô2Ø a°Ð3Ð3ðKð Kð Kðõ Ô"¨Ð0Ñ0Ô0Ø a°Ð3Ð3Ø,Ð.IÐJðð%€Gð0 '.ð Fð FÑ"ˆˆy˜(Ø�%‰ZˆØ&Ð& r¨2Ð;Ð;°Ð;Ð;ˆÝ•C��Vœ_¨W¨W©Y¬YÑ7Ô7Ñ8Ô8Ñ9Ô9¸XÒEÐEÐEÐEÐEðFð Fr   c                  ó`  — t          j        t          ¦  «        5  t          j        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          j        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          j        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          j        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        d¬¦  «         d S )NrA  r¾   g      ø¿r   gÍÌÌÌÌÌô?r   )r¢   ÚraisesÚ
ValueErrorr6   r©   rî   r   r   Útest_DayLocatorrn  Ž  s   € Ý	Œ•zÑ	"Ô	"ð 'ð 'ÝÔ 2Ð&Ñ&Ô&Ð&ð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'å	Œ•zÑ	"Ô	"ð )ð )ÝÔ 4Ð(Ñ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )å	Œ•zÑ	"Ô	"ð &ð &ÝÔ 1Ð%Ñ%Ô%Ð%ð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &å	Œ•zÑ	"Ô	"ð (ð (ÝÔ 3Ð'Ñ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (å
Ô˜sÐ#Ñ#Ô#Ð#Ð#Ð#sE   š<¼A ÁA Á BÂBÂ	BÂ&CÃCÃCÃ,DÄDÄDc                  ó~   — t          j         dddt          j        ¬¦  «        } |                      ¦   «         dk    sJ ‚d S )Né²  r	   rU   rZ   )r   r6   rZ   Útzname©r  s    r   Útest_tz_utcrs  š  s<   € Ý	Ô	˜4  A­f¬jÐ	9Ñ	9Ô	9€BØ�9Š9‰;Œ;˜%ÒÐÐÐÐÐr   z	x, tdeltarq   c                 ó>   — t          j        | ¦  «        }||k    sJ ‚d S r!  )r6   Únum2timedelta)r   Útdeltar  s      r   Útest_num2timedeltarw  Ÿ  s%   € õ
 
Ô	˜aÑ	 Ô	 €BØ�Š<ˆ<ˆ<ˆ<ˆ<ˆ<r   c                  ó8  — t          j        d¦  «        t          j        d¦  «        g} t          j        | ¦  «        }t          j        ddg¦  «        t          j        t          j        d¦  «        ¦  «        z   }t           j                             ||¦  «         d S )Nr³   z
2001-01-01ç    H&Ag    ìJ&Ar`   )r"   rG   r6   r7   r#   r(   r)   )r  Údnr  s      r   Útest_datetime64_in_listr{  ¨  s}   € Ý
Œ-˜Ñ
%Ô
%¥r¤}°\Ñ'BÔ'BÐ	C€BÝ	Œ˜Ñ	Ô	€Bå	Œ�7˜WÐ%Ñ	&Ô	&Ý	Œ�œ |Ñ4Ô4Ñ	5Ô	5ñ
6€Aå„J×Ò˜B Ñ"Ô"Ð"Ð"Ð"r   c                  óŽ  — t          j        d¦  «        } t          j        ¦   «          t          j        ¦   «          t          j        t          ¦  «        5  t          j        d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        ¦   «          t          j        d¦  «         | t          j        d¦  «        z
   	                    d¦  «        }| 	                    d¦  «        }t           j
                             t          j        | ¦  «        t          |¦  «        ¦  «         t          j        ¦   «          t          j        d¦  «         t           j
                             t          j        | ¦  «        d¦  «         t          j        ¦   «          t          j        d¦  «         t           j
                             t          j        | ¦  «        |d	z
  ¦  «         t          j        ¦   «          t          j        d
¦  «         t           j
                             t          j        t          j        d¦  «        ¦  «        d¦  «         d S )Nr³   z
0000-01-01r_   údatetime64[D]Úintr`   ry  z1970-01-01T01:00:00gUUUUUU¥?ú1970-01-01T00:00:00z1970-01-01T12:00:00g      à?)r"   rG   r6   rf   Ú	get_epochr¢   rl  ÚRuntimeErrorrg   r<  r(   r)   r7   Úfloatrd   )Údater  s     r   Útest_change_epochr„  ±  s  € ÝŒ=˜Ñ&Ô&€Dõ Ô$Ñ&Ô&Ð&Ý
ÔÑÔÐå	Œ•|Ñ	$Ô	$ð 'ð 'õ 	Ô˜Ñ&Ô&Ð&ð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'õ
 Ô$Ñ&Ô&Ð&Ý
Ô�\Ñ"Ô"Ð"Ø
•”˜|Ñ,Ô,Ñ
,×	4Ò	4°_Ñ	EÔ	E€BØ	�Š�5Ñ	Ô	€BÝ„J×Ò�FœO¨DÑ1Ô1µ5¸±9´9Ñ=Ô=Ð=å
Ô$Ñ&Ô&Ð&Ý
Ô�\Ñ"Ô"Ð"Ý„J×Ò�FœO¨DÑ1Ô1°8Ñ<Ô<Ð<å
Ô$Ñ&Ô&Ð&Ý
ÔÐ*Ñ+Ô+Ð+Ý„J×Ò�vœ¨tÑ4Ô4°b¸6±kÑBÔBÐBÝ
Ô$Ñ&Ô&Ð&Ý
ÔÐ*Ñ+Ô+Ð+Ý„J×ÒÝŒ�œÐ&;Ñ<Ô<Ñ=Ô=Øñô ð ð ð s   ÁA5Á5A9Á<A9c                  ó®  — t          j        ddd¬¦  «        } t          j        d¬¦  «        }dg|j        d<   |                     ¦   «          |j                             t          j        | d	         ¦  «        t          j        | d
         ¦  «        ¦  «         t          j
        t          d¬¦  «        5   |¦   «         }d d d ¦  «         d S # 1 swxY w Y   d S )Nz
2001-01-10z
2001-03-04r}  r   Fr.  r   r   r   rA  zAutoDateLocator was unable©Úmatch)r"   Úaranger6   r4  Ú	intervaldr5  r6  r7  r7   r¢   r£   r¤   )r[   rÍ   Úlocss      r   Útest_warn_notintervalsr‹  Ñ  s  € ÝŒI�l L¸ÐHÑHÔH€EÝÔ$¸Ð>Ñ>Ô>€GØ˜3€GÔ�aÑØ×ÒÑÔÐØ„L×"Ò"¥6¤?°5¸´8Ñ#<Ô#<Ý#)¤?°5¸´9Ñ#=Ô#=ñ?ô ?ð ?å	Œ•kÐ)EÐ	FÑ	FÔ	Fð ð Øˆw‰yŒyˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Â2C
Ã
CÃCc                  ó  — dt           j        d<   t          j        ddd¬¦  «        } t          j        ¦   «         \  }}|                     | t          j        t          | ¦  «        ¦  «        ¦  «         |j                             ¦   «          | 	                    ¦   «         d          
                    ¦   «         dk    sJ ‚| 	                    ¦   «         d	          
                    ¦   «         d
k    sJ ‚dt           j        d<   t          j        ¦   «         \  }}|                     | t          j        t          | ¦  «        ¦  «        ¦  «         |j                             ¦   «          | 	                    ¦   «         d          
                    ¦   «         dk    sJ ‚| 	                    ¦   «         d	          
                    ¦   «         dk    sJ ‚t          j        t          ¦  «        5  dt           j        d<   d d d ¦  «         d S # 1 swxY w Y   d S )NÚconcisezdate.converterz
2020-01-01ú
2020-05-01r}  r   r   r‰  r	   rŠ  rš   zJan 01 2020úJan 15 2020Úboo)r$   rù   r"   rˆ  ra   r'   r¥   rû   rü   rý   rð   r¢   rl  rm  ©r[   r/   r0   s      r   Útest_change_converterr’  Ü  sõ  € Ø%.…C„LÐ!Ñ"ÝŒI�l L¸ÐHÑHÔH€EÝŒl‰nŒn�G€Cˆà‡G‚GˆE•2”9�S ™ZœZÑ(Ô(Ñ)Ô)Ð)Ø„J‡O‚OÑÔÐØ×ÒÑÔ Ô"×+Ò+Ñ-Ô-°Ò6Ð6Ð6Ð6Ø×ÒÑÔ Ô"×+Ò+Ñ-Ô-°Ò5Ð5Ð5Ð5à%+…C„LÐ!Ñ"ÝŒl‰nŒn�G€Cˆà‡G‚GˆE•2”9�S ™ZœZÑ(Ô(Ñ)Ô)Ð)Ø„J‡O‚OÑÔÐØ×ÒÑÔ Ô"×+Ò+Ñ-Ô-°Ò>Ð>Ð>Ð>Ø×ÒÑÔ Ô"×+Ò+Ñ-Ô-°Ò>Ð>Ð>Ð>Ý	Œ•zÑ	"Ô	"ð /ð /Ø).�ŒÐ%Ñ&ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð /ð /s   ÇG<Ç<H ÈH c                  ó�  — dt           j        d<   t          j        ddd¬¦  «        } t          j        ¦   «         \  }}|                     | t          j        t          | ¦  «        ¦  «        ¦  «         |j                             ¦   «          | 	                    ¦   «         d          
                    ¦   «         dk    sJ ‚| 	                    ¦   «         d	          
                    ¦   «         d
k    sJ ‚dt           j        d<   t          j        ¦   «         \  }}|                     | t          j        t          | ¦  «        ¦  «        ¦  «         |j                             ¦   «          | 	                    ¦   «         d          
                    ¦   «         dk    sJ ‚| 	                    ¦   «         d	          
                    ¦   «         dk    sJ ‚d S )NFzdate.interval_multiplesz
2020-01-10rŽ  r}  r   r   zJan 10 2020r	   zJan 24 2020ÚTruer�  zFeb 01 2020)r$   rù   r"   rˆ  ra   r'   r¥   rû   rü   rý   rð   r‘  s      r   Útest_change_interval_multiplesr•  ñ  sz  € Ø.3…C„LÐ*Ñ+ÝŒI�l L¸ÐHÑHÔH€EÝŒl‰nŒn�G€Cˆà‡G‚GˆE•2”9�S ™ZœZÑ(Ô(Ñ)Ô)Ð)Ø„J‡O‚OÑÔÐØ×ÒÑÔ Ô"×+Ò+Ñ-Ô-°Ò>Ð>Ð>Ð>Ø×ÒÑÔ Ô"×+Ò+Ñ-Ô-°Ò>Ð>Ð>Ð>à.4…C„LÐ*Ñ+ÝŒl‰nŒn�G€Cˆà‡G‚GˆE•2”9�S ™ZœZÑ(Ô(Ñ)Ô)Ð)Ø„J‡O‚OÑÔÐØ×ÒÑÔ Ô"×+Ò+Ñ-Ô-°Ò>Ð>Ð>Ð>Ø×ÒÑÔ Ô"×+Ò+Ñ-Ô-°Ò>Ð>Ð>Ð>Ð>Ð>r   c                  óâ  — t          j        t          j        ¦  «        5  t	          j        ¦   «          t	          j        d¦  «         t	          j        d¦  «        dk    sJ ‚t	          j        d¦  «        dk    sJ ‚t	          j        ¦   «          t	          j        d¦  «         t	          j        d¦  «        dk    sJ ‚t	          j        d¦  «        dk    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )	Nr`   g   @ÆžBAg    xò%Ag    zò%Ag   ÀÆžBAr  r   r   )	r¢   r£   r   ÚMatplotlibDeprecationWarningr6   rf   rg   Ú
julian2numÚ
num2julianrî   r   r   Útest_julian2numrš    s/  € Ý	Œ•dÔ7Ñ	8Ô	8ð 3ð 3ÝÔ(Ñ*Ô*Ð*ÝÔ˜Ñ&Ô&Ð&õ Ô  Ñ+Ô+¨xÒ7Ð7Ð7Ð7ÝÔ  Ñ*Ô*¨iÒ7Ð7Ð7Ð7åÔ(Ñ*Ô*Ð*ÝÔÐ.Ñ/Ô/Ð/ÝÔ  Ñ+Ô+¨sÒ2Ð2Ð2Ð2ÝÔ  Ñ%Ô%¨Ò2Ð2Ð2Ð2Ð2ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3ð 3ð 3s   ŸB7C$Ã$C(Ã+C(c            
      óp  — t          j        ¦   «         } |                      dt          j        ¦  «        dk    sJ ‚|                      dd¦  «        dk    sJ ‚|                      dd¦  «        dk    sJ ‚|                      dd¦  «        dk    sJ ‚|                      ¦   «          |                      ¦   «         t          j        dddddt          j        j	        ¬¦  «        t          j        dddddt          j        j	        ¬¦  «        fk    sJ ‚| j
        t           j        k    sJ ‚d}t          j
                             |¦  «        }| j
        |k    sJ ‚|                      d¦  «         | j
        |k    sJ ‚|                      ¦   «           | j        j        t          j        d	d
g¦  «        Ž  |                      ¦   «         t          j        ddddd|¬¦  «        t          j        ddddd|¬¦  «        fk    sJ ‚|t$          j        d<   t          j        ¦   «         } | j
        |k    sJ ‚t)          j        t,          d¬¦  «        5  t          j        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t)          j        t.          d¬¦  «        5  t          j        d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   ©r   r	   r	   )éþÿÿÿr   rp  rU   r   ÚIcelandú
2022-01-10z
2022-01-08rK   rë   r   rî  z Aiceland is not a valid timezoner†  ÚAicelandrä  z%tz must be string or tzinfo subclass.)r6   ÚDateLocatorÚnonsingularr"   Úinfr5  Údatalim_to_dtr   rî  rï  rå  rZ   rÆ   rý  Ú
set_tzinfor6  Úset_data_intervalr7   r$   rù   r¢   rl  rm  Ú	TypeError)rÍ   Útz_strÚ
iceland_tzs      r   Útest_DateLocatorrª    sq  € ÝÔ Ñ"Ô"€Gà×Ò˜q¥"¤&Ñ)Ô)¨VÒ3Ð3Ð3Ð3Ø×Ò˜q !Ñ$Ô$¨Ò.Ð.Ð.Ð.Ø×Ò˜q !Ñ$Ô$¨Ò.Ð.Ð.Ð.Ø×Ò˜q !Ñ$Ô$¨Ò/Ð/Ð/Ð/Ø×ÒÑÔÐà× Ò Ñ"Ô"ÝÔ˜$  1 a¨µ8Ô3DÔ3HÐIÑIÔIÝÔ˜$  1 a¨µ8Ô3DÔ3HÐIÑIÔIð'Kò Kð Kð Kð Kð
 Œ:�œÒ#Ð#Ð#Ð#Ø€FÝ”×"Ò" 6Ñ*Ô*€JàŒ:˜Ò#Ð#Ð#Ð#à×Ò�yÑ!Ô!Ð!àŒ:˜Ò#Ð#Ð#Ð#Ø×ÒÑÔÐØ"€G„LÔ"¥F¤O°\Ø5Að5Cñ %Dô %Dð Eð Eà× Ò Ñ"Ô"ÝÔ˜$  1 a¨°:Ð>Ñ>Ô>ÝÔ˜$  2 q¨!°JÐ?Ñ?Ô?ð'Aò Að Að Að Að
  &…C„L�Ñõ Ô Ñ"Ô"€GàŒ:˜Ò#Ð#Ð#Ð#õ 
Œ•zÐ)KÐ	LÑ	LÔ	Lð *ð *ÝÔ˜jÐ)Ñ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *å	Œ•yØDð
Fñ 
Fô 
Fð !ð !åÔ˜aÐ Ñ Ô Ð ð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !ð !ð !s$   É I"É"I&É)I&ÊJ+Ê+J/Ê2J/c                  óÐ  — t          j        d¦  «        dk    sJ ‚t          j        ddd¬¦  «        } t          j        d| ¬¦  «        dk    sJ ‚t	          j        t          j        dd	g| ¬¦  «        t	          j        dd
g¦  «        k    ¦  «        sJ ‚t          j        g ¦  «        j        dk    sJ ‚t          j        g t          j        ddd¬¦  «        ¦  «        j        dk    sJ ‚d S )NrŸ  ç    €ŽÒ@rK   r	   r   rÛ   z2022-01)r-  z2022-02g    @–Ò@r   )r6   Údatestr2numr   rƒ  r"   r¬   r#   Úsizerr  s    r   Útest_datestr2numr¯  A  s#  € ÝÔ˜lÑ+Ô+¨wÒ6Ð6Ð6Ð6Ý	Œ˜D¨¨rÐ	2Ñ	2Ô	2€BÝÔ˜i°Ð4Ñ4Ô4¸Ò?Ð?Ð?Ð?ÝŒ6•&Ô$Ø	�IÐ¨ð
ñ 
ô 
åŒX�v˜vÐ&Ñ'Ô'ò(ñ )ô )ð )ð )ð )õ Ô˜bÑ!Ô!Ô&¨!Ò+Ð+Ð+Ð+ÝÔ˜b¥(¤-°TØ67¸Rð#Añ #Aô #Añ Bô BÜBFÈ!òLð Lð Lð Lð Lð Lr   Úkwarg)rÆ  rÙ  Úoffset_formatsc                 óÎ   — t          j        ¦   «         }| ddgi}| › d�}t          j        t          |¬¦  «        5  t          j        |fi |¤Ž d d d ¦  «         d S # 1 swxY w Y   d S )Nr¬  rÃ  z argument must be a listr†  )r6   r4  r¢   rl  rm  rg  )r°  rÍ   r*  r‡  s       r   Ú!test_concise_formatter_exceptionsr³  M  sÀ   € õ Ô$Ñ&Ô&€GØ�b˜$�ZÐ €FØÐ.Ð.Ð.€EÝ	Œ•z¨Ð	/Ñ	/Ô	/ð 7ð 7ÝÔ# GÐ6Ð6¨vÐ6Ð6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð 7ð 7s   ºAÁAÁ!Ac                  ó¬   — t          j        ¦   «         } t          j        | ¦  «        } |d¦  «        dk    sJ ‚|                     d¦  «        dk    sJ ‚d S )Nr¬  Ú2022z2022-01-10 00:00:00)r6   r4  rg  Úformat_data_short)rÍ   r  s     r   Útest_concise_formatter_callr·  W  sa   € ÝÔ$Ñ&Ô&€GÝÔ+¨GÑ4Ô4€IØˆ9�WÑÔ Ò'Ð'Ð'Ð'Ø×&Ò& wÑ/Ô/Ð3HÒHÐHÐHÐHÐHÐHr   zspan, expected_locatorg{®Gáz”?é   éÈ   r‡   c                 óÈ   — t          j        t          j        ¦  «        5  t	          j        | ¦  «        \  }}t          ||¦  «        sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S r!  )r¢   r£   r   r—  r6   Údate_ticker_factoryr  )ÚspanÚexpected_locatorrÍ   r  s       r   Útest_date_ticker_factoryr¾  ^  s©   € õ 
Œ•dÔ7Ñ	8Ô	8ð 5ð 5ÝÔ/°Ñ5Ô5‰
ˆ�Ý˜'Ð#3Ñ4Ô4Ð4Ð4Ð4Ð4ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5ð 5ð 5s   Ÿ*AÁAÁAc                  óV  — t          j        d„ t          dd¦  «        D ¦   «         ¦  «        } t          j        g d¢¦  «        }t           j                             |d¦  «        }t          j        ¦   «         \  }}|                     | |¦  «         |                     ¦   «         dk    sJ ‚d S )Nc                 ó:   — g | ]}t          j         d d|¦  «        ‘ŒS )r   r	   )r   )r   Úns     r   r   z(test_datetime_masked.<locals>.<listcomp>n  s'   € ÐEÐEÐE°A•(Ô# D¨!¨QÑ/Ô/ÐEÐEÐEr   r	   r@  )r	   r   r   r?  r}   r   rœ  )	r"   r#   r!   rX   Úmasked_greaterr$   ra   r'   re   )r   r´  Úmr/   r0   s        r   Útest_datetime_maskedrÄ  k  s“   € õ 	ŒÐEÐE½¸qÀ!¹¼ÐEÑEÔEÑFÔF€AÝ
Œ���Ñ!Ô!€AÝ
Œ×Ò˜Q Ñ"Ô"€AåŒl‰nŒn�G€CˆØ‡G‚GˆAˆq�M„M€MØ�;Š;‰=Œ=˜FÒ"Ð"Ð"Ð"Ð"Ð"r   r-  )iÀ½ðÿi€–˜ c                 óž   — t          j        t          d| › d�¬¦  «        5  t          j        | ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzDate ordinal z	 convertsr†  )r¢   rl  rm  r6   rá   )r-  s    r   Útest_num2date_errorrÆ  w  s—   € å	Œ•zÐ)G¸Ð)GÐ)GÐ)GÐ	HÑ	HÔ	Hð ð ÝŒ˜ÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s    AÁAÁ	Ac                  ó  — t          j        d¦  «        t          j        dddddddt          j        j        ¬¦  «        k    sJ ‚t          j        d	¦  «        t          j        dddddd
t          j        j        ¬¦  «        k    sJ ‚d S )Ngj®<  jø@iÃ  r   é   r   r?  i,B rU   gq®<  jø@r}   )r6   rá   r   rî  rï  rî   r   r   Útest_num2date_roundoffrÉ  }  s­   € ÝŒ?Ð,Ñ-Ô-µÔ1BØˆb�"�a˜˜A˜v­hÔ.?Ô.Cð2Eñ 2Eô 2Eò Eð Eð Eð Eõ Œ?Ð,Ñ-Ô-µÔ1BØˆb�"�a˜˜A¥hÔ&7Ô&;ð2=ñ 2=ô 2=ò =ð =ð =ð =ð =ð =r   c            
      ó  — t          j        t          j        dddddt           j        ¬¦  «        ¦  «        } t          j        d¦  «        } || ¦  «        dk    sJ ‚|                     d¦  «          || ¦  «        dk    sJ ‚d S )	Nr;  r	   r   rU   z%Y-%b-%d %H:%Mz2011-Jan-01 00:00zPacific/Kiritimatiz2011-Jan-01 14:00)r6   r7   r   rZ   ÚDateFormatterr¥  )r,   r  s     r   Útest_DateFormatter_settzrÌ  …  s�   € ÝŒ?�8Ô,¨T°1°a¸¸AÝ4:´Jð@ñ @ô @ñ Aô A€DåÔ$Ð%5Ñ6Ô6€Iàˆ9�T‰?Œ?Ð1Ò1Ð1Ð1Ð1ð ×ÒÐ-Ñ.Ô.Ð.Øˆ9�T‰?Œ?Ð1Ò1Ð1Ð1Ð1Ð1Ð1r   )_r   Údateutil.tzrÆ   Údateutil.rruler¶   Únumpyr"   r¢   Ú
matplotlibr   r   r   Úmatplotlib.datesr[   r6   Úmatplotlib.pyplotÚpyplotr$   Úmatplotlib.testing.decoratorsr   Úmatplotlib.tickerÚtickerrþ   r3   ÚmarkÚparametrizer:   r@   rI   r]   ri   ro   rs   r…   rŒ   r“   r—   r°   r¸   rÎ   rØ   rå   rç   r  r  r   r!   r9  rF  rY  rd  rl  r§  r°  r¶  r¸  rÁ  rÖ  rá  rô  rþ  r  r  r8  r@  rO  rY  r[  r_  rd  rj  rn  rs  rw  r{  r„  r‹  r’  r•  rš  rª  r¯  r³  r·  rú   ÚHourLocatorr©   ÚWeekdayLocatorÚMonthLocatorrg  r¾  rÄ  rÆ  rÉ  rÌ  rî   r   r   ú<module>rÜ     sä
  ðØ €€€à Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ø €€€à .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ø !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð Ø :Ð :Ð :Ð :Ð :Ð :Ø #Ð #Ð #Ð #Ð #Ð #ðPð Pð Pð$ „×Ò˜Ð 1 Ô 1°$¸¸1¸aÀÀAÑ FÔ Fà!2 Ô!2°4¸¸A¸qÀ!ÀQÑ!GÔ!GØ!2 Ô!2°4¸¸A¸qÀ!ÀQÑ!GÔ!Gð!Ið #4 (Ô"3°D¸!¸QÀÀ1ÀaÑ"HÔ"HØ"3 (Ô"3°D¸!¸QÀÀ1ÀaÑ"HÔ"Hð"Jà"3 (Ô"3°D¸!¸QÀÀ1ÀaÑ"HÔ"HØ"3 (Ô"3°D¸!¸QÀÀ1ÀaÑ"HÔ"Hð"Jð!Kð Lñ Mô Mð „×Ò˜ð #5ð #5ð #5ñ 6ô 6ð*ð *ñ	6ô 6ñMô Mð*ð „×Ò˜ð #5ð #5ð #5ñ 6ô 6ð0ð 0ñ	6ô 6ð0ð „×Ò˜Ð"9Ð"9Ð"9Ñ:Ô:ðð ñ ;Ô:ðð
*ð *ð *ð('ð 'ð 'ð,8ð 8ð 8ð'ð 'ð 'ð( ÐÐ%Ð&Ñ'Ô'ð#ð #ñ (Ô'ð#ð ÐÐ%Ð&Ñ'Ô'ðð ñ (Ô'ðð ÐÐ%Ð&Ñ'Ô'ð#ð #ñ (Ô'ð#ð ÐÐ%Ð&Ñ'Ô'ðð ñ (Ô'ðð#ð #ð #ð8ð ð ð ÐÐ,Ð-Ñ.Ô.ðð ñ /Ô.ðð.ð ð ð	Pð 	Pð 	Pð ÐÐ8Ð9Ñ:Ô:ðð ñ ;Ô:ðð0"ð "ð "ð@
Kð 
Kð 
Kð „×ÒÐ*Ø€XÔ˜hÐ'Ñ'Ô'ØEÐE¨u¨u°T¸4ÀÑ/DÔ/DÐEÑEÔEðGà€XÔ˜RÐ Ñ Ô ØKÐK¸5¸5ÀÀBÈ¹?¼?ÐKÑKÔKðMà€XÔ˜bÐ!Ñ!Ô!ØJÐJ¸%¸%ÀÀ2Àq¹/¼/ÐJÑJÔJðLà€XÔ Ð#Ñ#Ô#ØGÐG¸%¸%ÀÀ2¹,¼,ÐGÑGÔGðIð	-ñ 	ô 	ð=ð =ñ	ô 	ð=ð;ð ;ð ;ð@ ðLJð LJñ ÔðLJð^ ðHFð HFñ ÔðHFðV6ð 6ð 6ð.#ð .#ð .#ðb „×ÒÐ,Ø€XÔ Ð%Ñ%Ô%Ð':Ð;Ø€XÔ Ð"Ñ"Ô"Ð$7Ð8Ø€XÔ˜aÐ Ñ Ô  -Ð0Ø€XÔ˜QÐÑÔ Ð/Ø€XÔ˜aÐ Ñ Ô  *Ð-Ø€XÔ˜bÐ!Ñ!Ô! 2Ð&Ø€XÔ˜cÐ"Ñ"Ô" BÐ'ð/ñ ô ð.ð .ñô ð.ð&ð &ð &ð*(ð (ð (ð4 „×ÒÐ,Ø€XÔ˜hÐ'Ñ'Ô'ØCÐC¨U¨U°4¸¸rÑ-BÔ-BÐCÑCÔCðEà€XÔ˜RÐ Ñ Ô ð4ð 4ð 4ð5ð
 €XÔ˜bÐ!Ñ!Ô!ð"ð "ð "ð#ð €XÔ Ð"Ñ"Ô"ðð ð ð ð/ñ ô ð*	9ð 	9ñ+ô ð*	9ð4#ð 4#ð 4#ðn1#ð 1#ð 1#ðh&)ð &)ð &)ðRC"ð C"ð C"ðL ÐÐ,Ð-Ñ.Ô.ð	#ð 	#ñ /Ô.ð	#ð0ð 0ð 0ð,>/ð >/ð >/ðB2ð 2ð 2ðð ð ðð ð ð* „Ôð1ð 1ñ Ôð1ð „Ôðð ñ Ôðð@$Fð $Fð $FðN	$ð 	$ð 	$ð ð  ð  ð
 „×Ò˜ØÐ0˜hÔ0°aÐ8Ñ8Ô8Ð9Ø˜s˜8Ð&8 hÔ&8¸aÐ&@Ñ&@Ô&@Ø&8 hÔ&8¸cÐ&BÑ&BÔ&Bð&Dð EðFñGô Gðð ñ	Gô Gðð
#ð #ð #ðð ð ð@ð ð ð/ð /ð /ð*?ð ?ð ?ð&3ð 3ð 3ð+!ð +!ð +!ð\	Lð 	Lð 	Lð „×Ò˜ØFñHô Hð7ð 7ñHô Hð7ðIð Ið Ið „×ÒÐ1Ø Ô!5Ð6Ø˜fÔ0Ð1Ø˜vÔ0Ð1Ø˜vÔ4Ð5Ø Ô 3Ð4Ø Ô!3Ð4ð6ñ7ô 7ð5ð 5ñ7ô 7ð5ð	#ð 	#ð 	#ð „×Ò˜Ð 4Ñ5Ô5ðð ñ 6Ô5ðð
=ð =ð =ð	2ð 	2ð 	2ð 	2ð 	2r   