§
    tŠtjg’  ã                  ó,  — U d dl mZ d dlZd dlZd dlmZ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 d dlZd dlmZ d dlmZmZ d dlmZmZ d dlmZm Z  d d	l!m"Z"m#Z#m$Z$m%Z%m&Z& d d
l'm(Z(m)Z)m*Z* d dl+m,c m-Z. d dl/m0Z0 d dl1m2Z2m3Z3m4Z4 d dl5m,c m6c m7Z6 erd dl8m9Z9 d dl:m;Z; d dl<m=Z= d dlm>Z> i Z?de@d<   dQd„ZAdRd„ZBejC        dSd„¦   «         ZDdTd„ZEdTd„ZFdUd!„ZGd"„ ZH G d#„ d$ejI        ¦  «        ZJ G d%„ d&ejK        jL        ¦  «        ZM G d'„ d(ejN        ¦  «        ZOdVd+„ZP G d,„ d-ejN        ¦  «        ZQ G d.„ d/ejR        ¦  «        ZS G d0„ d1ejT        ¦  «        ZU G d2„ d3ejV        ¦  «        ZWdWd5„ZXdXd;„ZYdYd=„ZZdZdA„Z[d[dC„Z\ej]        d\dF„¦   «         Z^ej]        d\dG„¦   «         Z_ej]        d\dH„¦   «         Z`ej]        d\dI„¦   «         ZadVdJ„Zb G dK„ dLejK        jc        ¦  «        Zd G dM„ dNejK        jL        ¦  «        Ze G dO„ dPejK        jL        ¦  «        ZfdS )]é    )ÚannotationsN)ÚdatetimeÚtzinfo)ÚTYPE_CHECKINGÚAnyÚcast)Úlib)Ú	TimestampÚ	to_offset)Ú	FreqGroupÚperiods_per_day)ÚFÚnpt)Úis_floatÚis_float_dtypeÚ
is_integerÚis_integer_dtypeÚis_nested_list_like)ÚIndexÚSeriesÚ
get_option)Ú
date_range)ÚPeriodÚPeriodIndexÚperiod_range)Ú	Generator)ÚAxis)Ú
BaseOffset)ÚTimeUnitÚdictÚ
_mpl_unitsÚreturnú-list[tuple[type, type[mdates.DateConverter]]]c                 óÎ   — t           t          ft          t          ft          j        t          ft          j        t          ft          j        t          ft          j
        t          fg} | S ©N)r
   ÚDatetimeConverterr   ÚPeriodConverterÚpydtr   ÚdateÚtimeÚTimeConverterÚnpÚ
datetime64)Úpairss    úc/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pandas/plotting/_matplotlib/converter.pyÚ	get_pairsr0   F   sL   € å	Õ%Ð&Ý	•Ð!Ý	ŒÕ)Ð*Ý	ŒÕ%Ð&Ý	Œ•MÐ"Ý	ŒÕ)Ð*ð€Eð €Ló    Úfuncr   c                ól   ‡ — t          j        ‰ ¦  «        ˆ fd„¦   «         }t          t          |¦  «        S )z/
    Decorator applying pandas_converters.
    c                 ód   •— t          ¦   «         5   ‰| i |¤Žcd d d ¦  «         S # 1 swxY w Y   d S r%   )Úpandas_converters)ÚargsÚkwargsr2   s     €r/   Úwrapperz6register_pandas_matplotlib_converters.<locals>.wrapperW   s…   ø€ åÑ Ô ð 	)ð 	)Ø�4˜Ð( Ð(Ð(ð	)ð 	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)ð 	)ð 	)s   �%¥)¬))Ú	functoolsÚwrapsr   r   )r2   r8   s   ` r/   Ú%register_pandas_matplotlib_convertersr;   R   sE   ø€ õ
 „_�TÑÔð)ð )ð )ð )ñ Ôð)õ •�7ÑÔÐr1   úGenerator[None]c               #  ó²   K  — t          d¦  «        } | rt          ¦   «          	 dV — | dk    rt          ¦   «          dS dS # | dk    rt          ¦   «          w w xY w)z¨
    Context manager registering pandas' converters for a plot.

    See Also
    --------
    register_pandas_matplotlib_converters : Decorator that applies this.
    z'plotting.matplotlib.register_convertersNÚauto)r   ÚregisterÚ
deregister)Úvalues    r/   r5   r5   _   sn   è è € õ Ð@ÑAÔA€Eàð å‰
Œ
ˆ
ðØˆˆˆà�FŠ?ˆ?å‰LŒLˆLˆLˆLð ˆ?øˆ5�FŠ?ˆ?å‰LŒLˆLˆLð øøøs	   £? ¿AÚNonec                 óô   — t          ¦   «         } | D ]f\  }}|t          j        v r<t          t          j        |         |¦  «        st          j        |         }|t          |<    |¦   «         t          j        |<   Œgd S r%   )r0   ÚmunitsÚregistryÚ
isinstancer!   )r.   Útype_ÚclsÚpreviouss       r/   r?   r?   u   sv   € Ý‰KŒK€EØð 'ð '‰
ˆˆsà•F”OÐ#Ð#­Jµv´ÀuÔ7MÈsÑ,SÔ,SÐ#Ý” uÔ-ˆHØ (�J�uÑà!$ ¡¤�Œ˜ÑÐð'ð 'r1   c                 ój  — t          ¦   «         D ]R\  } }t          t          j                             | ¦  «        ¦  «        |u rt          j                             | ¦  «         ŒSt                               ¦   «         D ]7\  }}t          |¦  «        t          t          t          hvr|t          j        |<   Œ8d S r%   )r0   ÚtyperD   rE   ÚgetÚpopr!   Úitemsr&   r'   r+   )rG   rH   ÚunitÚ	formatters       r/   r@   r@   €   s¤   € å‘k”kð 'ð '‰
ˆˆså•”×#Ò# EÑ*Ô*Ñ+Ô+¨sÐ2Ð2ÝŒO×Ò Ñ&Ô&Ð&øõ &×+Ò+Ñ-Ô-ð .ð .‰ˆˆiÝ�	‰?Œ?Õ#4µoÅ}Ð"UÐUÐUà$-�FŒO˜DÑ!øð.ð .r1   Útmú	pydt.timeÚfloatc                óV   — | j         dz  | j        dz  z   | j        z   | j        dz  z   }|S )Ni  é<   é@B )ÚhourÚminuteÚsecondÚmicrosecond)rQ   Útot_secs     r/   Ú_to_ordinalfr\   Ž   s0   € ØŒg˜‰n˜rœy¨2™~Ñ-°´	Ñ9¸B¼NÈUÑ<RÑR€GØ€Nr1   c                óâ   — t          | t          ¦  «        r0t          | ¦  «        }t          |                     ¦   «         ¦  «        S t          | t
          j        ¦  «        rt          | ¦  «        S | S r%   )rF   Ústrr
   r\   r*   r(   )ÚdÚparseds     r/   Útime2numra   “   sZ   € Ý�!•SÑÔð +Ý˜1‘”ˆÝ˜FŸKšK™MœMÑ*Ô*Ð*Ý�!•T”YÑÔð Ý˜A‰ŒÐØ€Hr1   c                  óT   — e Zd Zed„ ¦   «         Zedd„¦   «         Zed	d„¦   «         ZdS )
r+   c                óv  — t           t          j        f}t          | |¦  «        st	          | ¦  «        st          | ¦  «        rt          | ¦  «        S t          | t          ¦  «        r|                      t          ¦  «        S t          | t          t          t          j        t          f¦  «        rd„ | D ¦   «         S | S )Nc                ó,   — g | ]}t          |¦  «        ‘ŒS © )ra   )Ú.0Úxs     r/   ú
<listcomp>z)TimeConverter.convert.<locals>.<listcomp>¥   s   € Ð/Ð/Ð/ A•H˜Q‘K”KÐ/Ð/Ð/r1   )r^   r(   r*   rF   r   r   ra   r   ÚmapÚlistÚtupler,   Úndarray)rA   rO   ÚaxisÚvalid_typess       r/   ÚconvertzTimeConverter.convert�   s¢   € å�DœIÐ&ˆÝ�e˜[Ñ)Ô)ð 	#­Z¸Ñ->Ô->ð 	#Å(È5Á/Ä/ð 	#Ý˜E‘?”?Ð"Ý�e�UÑ#Ô#ð 	'Ø—9’9�XÑ&Ô&Ð&Ý�e�d¥E­2¬:µuÐ=Ñ>Ô>ð 	0Ø/Ð/¨Ð/Ñ/Ô/Ð/Øˆr1   r"   úmunits.AxisInfo | Nonec                óš   — | dk    rd S t           j                             ¦   «         }t          |¦  «        }t	          j        ||d¬¦  «        S )Nr*   )ÚmajlocÚmajfmtÚlabel)ÚmplÚtickerÚAutoLocatorÚTimeFormatterrD   ÚAxisInfo)rO   rm   rr   rs   s       r/   ÚaxisinfozTimeConverter.axisinfo¨   sG   € à�6Š>ˆ>Ø�4å”×'Ò'Ñ)Ô)ˆÝ˜vÑ&Ô&ˆÝŒ f°VÀ6ÐJÑJÔJÐJr1   r^   c                ó   — dS )Nr*   re   )rg   rm   s     r/   Údefault_unitszTimeConverter.default_units±   s   € àˆvr1   N)r"   rp   )r"   r^   )Ú__name__Ú
__module__Ú__qualname__Ústaticmethodro   rz   r|   re   r1   r/   r+   r+   œ   sq   € € € € € Øðð ñ „\ðð ðKð Kð Kñ „\ðKð ðð ð ñ „\ðð ð r1   r+   c                  ó    — e Zd Zd
d„Zddd„Zd	S )rx   r"   rB   c                ó0   — |                       |¦  «         d S r%   )Úset_locs)ÚselfÚlocss     r/   Ú__init__zTimeFormatter.__init__¸   s   € Ø�Š�dÑÔÐÐÐr1   r   Úposú
int | Noner^   c                óR  — d}t          |¦  «        }t          ||z
  dz  ¦  «        }|dz  }|dz  }t          |d¦  «        \  }}t          |d¦  «        \  }	}t          |	d¦  «        \  }
}	|dk    r*t          j        |	|||¦  «                             |¦  «        S |dk    r2t          j        |	|||¦  «                             |¦  «        dd…         S |dk    r)t          j        |	||¦  «                             d	¦  «        S t          j        |	|¦  «                             d
¦  «        S )a¾  
        Return the time of day as a formatted string.

        Parameters
        ----------
        x : float
            The time of day specified as seconds since 00:00 (midnight),
            with up to microsecond precision.
        pos
            Unused

        Returns
        -------
        str
            A string in HH:MM:SS.mmmuuu format. Microseconds,
            milliseconds and seconds are only displayed if non-zero.
        z%H:%M:%S.%frV   éè  rU   é   r   Néýÿÿÿú%H:%M:%Sú%H:%M)ÚintÚroundÚdivmodr(   r*   Ústrftime)r„   rg   r‡   ÚfmtÚsÚmsusÚmsÚusÚmÚhÚ_s              r/   Ú__call__zTimeFormatter.__call__»   s  € ð$ ˆÝ�‰FŒFˆÝ�a˜!‘e˜u‘_Ñ%Ô%ˆØ�T‰\ˆØ�D‰[ˆÝ�a˜‰}Œ}‰ˆˆ1Ý�a˜‰}Œ}‰ˆˆ1Ý�a˜‰}Œ}‰ˆˆ1Ø�Š7ˆ7Ý”9˜Q  1 dÑ+Ô+×4Ò4°SÑ9Ô9Ð9Ø�1ŠWˆWÝ”9˜Q  1 dÑ+Ô+×4Ò4°SÑ9Ô9¸#¸2¸#Ô>Ð>Ø�!ŠVˆVÝ”9˜Q  1Ñ%Ô%×.Ò.¨zÑ:Ô:Ð:åŒy˜˜A‰Œ×'Ò'¨Ñ0Ô0Ð0r1   N©r"   rB   ©r   ©r‡   rˆ   r"   r^   )r}   r~   r   r†   r›   re   r1   r/   rx   rx   ·   sA   € € € € € ðð ð ð ð!1ð !1ð !1ð !1ð !1ð !1ð !1r1   rx   c                  óV   — e Zd Zed	d„¦   «         Zed
d„¦   «         Zed
d„¦   «         ZdS )r'   rm   r   c                ó¢   — t          |d¦  «        st          d¦  «        ‚t          |j        d¬¦  «        }t                               | |¦  «        S )NÚfreqz/Axis must have `freq` set to convert to PeriodsT©Ú	is_period)ÚhasattrÚ	TypeErrorr   r¡   r'   Úconvert_from_freq)ÚvaluesrO   rm   r¡   s       r/   ro   zPeriodConverter.convertã   sP   € õ �t˜VÑ$Ô$ð 	OÝÐMÑNÔNÐNÝ˜œ¨dÐ3Ñ3Ô3ˆÝ×0Ò0°¸Ñ>Ô>Ð>r1   r¡   r   c                óz   ‡— t          | ¦  «        rˆfd„| D ¦   «         } nt                               | ‰¦  «        } | S )Nc                óF   •— g | ]}t                                |‰¦  «        ‘ŒS re   )r'   Ú_convert_1d)rf   Úvr¡   s     €r/   rh   z5PeriodConverter.convert_from_freq.<locals>.<listcomp>ó   s)   ø€ ÐKÐKÐK¸q•o×1Ò1°!°TÑ:Ô:ÐKÐKÐKr1   )r   r'   rª   )r§   r¡   s    `r/   r¦   z!PeriodConverter.convert_from_freqð   sH   ø€ å˜vÑ&Ô&ð 	?ØKÐKÐKÐKÀFÐKÑKÔKˆFˆFå$×0Ò0°¸Ñ>Ô>ˆFØˆr1   c                óš  ‡— t           t          t          t          j        t
          j        f}t          j        ¦   «         5  t          j	        ddt          ¬¦  «         t          j	        ddt          ¬¦  «         t          | |¦  «        st          | ¦  «        st          | ¦  «        rt          | ‰¦  «        cd d d ¦  «         S t          | t          ¦  «        r&|                      ‰¦  «        j        cd d d ¦  «         S t          | t$          ¦  «        r$|                      ˆfd„¦  «        cd d d ¦  «         S t)          j        | d¬¦  «        dk    r"t          | ‰¬	¦  «        j        cd d d ¦  «         S t          | t,          t.          t
          j        f¦  «        rˆfd
„| D ¦   «         cd d d ¦  «         S 	 d d d ¦  «         n# 1 swxY w Y   | S )NÚignoreú#Period with BDay freq is deprecated©ÚcategoryúPeriodDtype\[B\] is deprecatedc                ó$   •— t          | ‰¦  «        S r%   ©Ú_get_datevalue)rg   r¡   s    €r/   ú<lambda>z-PeriodConverter._convert_1d.<locals>.<lambda>  s   ø€ ­N¸1¸dÑ,CÔ,C€ r1   F)ÚskipnaÚperiod)r¡   c                ó0   •— g | ]}t          |‰¦  «        ‘ŒS re   r³   )rf   rg   r¡   s     €r/   rh   z/PeriodConverter._convert_1d.<locals>.<listcomp>  s#   ø€ Ð@Ð@Ð@°A� q¨$Ñ/Ô/Ð@Ð@Ð@r1   )r^   r   r   r(   r)   r,   r-   ÚwarningsÚcatch_warningsÚfilterwarningsÚFutureWarningrF   r   r   r´   r   ÚasfreqÚasi8r   ri   r	   Úinfer_dtyperj   rk   rl   )r§   r¡   rn   s    ` r/   rª   zPeriodConverter._convert_1dø   sÒ  ø€ å�H¥f­d¬i½¼ÐGˆÝÔ$Ñ&Ô&ð 	Að 	AÝÔ#ØÐ?Í-ðñ ô ð õ Ô#ØÐ;Åmðñ ô ð õ ˜6 ;Ñ/Ô/ðAå˜fÑ%Ô%ðAõ ˜FÑ#Ô#ðAõ
 & f¨dÑ3Ô3ð	Að 	Að 	Að 	Añ 	Aô 	Að 	Að 	Aõ ˜F¥KÑ0Ô0ð 	AØ—}’} TÑ*Ô*Ô/ð	Að 	Að 	Að 	Añ 	Aô 	Að 	Að 	Aõ ˜F¥EÑ*Ô*ð AØ—z’zÐ"CÐ"CÐ"CÐ"CÑDÔDð!	Að 	Að 	Að 	Añ 	Aô 	Að 	Að 	Aõ" ” °Ð6Ñ6Ô6¸(ÒBÐBõ # 6°Ð5Ñ5Ô5Ô:ð)	Að 	Að 	Að 	Añ 	Aô 	Að 	Að 	Aõ* ˜F¥T­5µ"´*Ð$=Ñ>Ô>ð AØ@Ð@Ð@Ð@¸Ð@Ñ@Ô@ð-	Að 	Að 	Að 	Añ 	Aô 	Að 	Að 	Að*Að+	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	Að. ˆs*   ¿A6G Ã.G Ã=,G Ä6/G Å24G Ç GÇGN©rm   r   ©r¡   r   )r}   r~   r   r€   ro   r¦   rª   re   r1   r/   r'   r'   â   sr   € € € € € Øð
?ð 
?ð 
?ñ „\ð
?ð ðð ð ñ „\ðð ðð ð ñ „\ðð ð r1   r'   r¡   r   c                ó\  — t          | t          ¦  «        r|                      |¦  «        j        S t          | t          t
          t          j        t          j	        f¦  «        rt          | |¦  «        j        S t          | ¦  «        st          | ¦  «        r| S | €d S t          d| › d�¦  «        ‚)NzUnrecognizable date 'ú')rF   r   r½   Úordinalr^   r   r(   r)   r,   r-   r   r   Ú
ValueError)r)   r¡   s     r/   r´   r´     s¡   € Ý�$�ÑÔð Ø�{Š{˜4Ñ Ô Ô(Ð(Ý	�D�3¥­$¬)µR´]ÐCÑ	DÔ	Dð Ý�d˜DÑ!Ô!Ô)Ð)Ý	�DÑ	Ô	ð �X d™^œ^ð ØˆØ	ˆØˆtÝ
Ð4¨TÐ4Ð4Ð4Ñ
5Ô
5Ð5r1   c                  óT   — e Zd Zedd„¦   «         Zed„ ¦   «         Zedd	„¦   «         Zd
S )r&   rm   r   c                ó€   ‡‡— t          | ¦  «        rˆˆfd„| D ¦   «         } nt                               | ‰‰¦  «        } | S )Nc                óH   •— g | ]}t                                |‰‰¦  «        ‘ŒS re   )r&   rª   )rf   r«   rm   rO   s     €€r/   rh   z-DatetimeConverter.convert.<locals>.<listcomp>-  s,   ø€ ÐSÐSÐSÀqÕ'×3Ò3°A°t¸TÑBÔBÐSÐSÐSr1   )r   r&   rª   )r§   rO   rm   s    ``r/   ro   zDatetimeConverter.convert#  sQ   øø€ õ ˜vÑ&Ô&ð 	GØSÐSÐSÐSÐSÈFÐSÑSÔSˆFˆFå&×2Ò2°6¸4ÀÑFÔFˆFØˆr1   c                ó  — d„ }t          | t          t          j        t          j        t          j        f¦  «        rt          j        | ¦  «        S t          | ¦  «        st          | ¦  «        r| S t          | t          ¦  «        r || ¦  «        S t          | t          t          t          j        t          t           f¦  «        rÈt          | t           ¦  «        rt          | ¦  «        } t          | t          ¦  «        r| j        } t          | t          j        ¦  «        st%          j        | ¦  «        } t)          | ¦  «        st+          | ¦  «        r| S 	 t-          j        | ¦  «        } n# t0          $ r Y nw xY wt          j        | ¦  «        } | S )Nc                ót   — 	 t          j        t          j        | ¦  «        ¦  «        S # t          $ r | cY S w xY wr%   )ÚmdatesÚdate2numÚtoolsÚto_datetimeÚ	Exception)r§   s    r/   Ú	try_parsez0DatetimeConverter._convert_1d.<locals>.try_parse4  sF   € ðÝ”¥uÔ'8¸Ñ'@Ô'@ÑAÔAÐAøÝð ð ð Ø���ðøøøs   ‚%( ¨7¶7)rF   r   r(   r)   r,   r-   r*   rË   rÌ   r   r   r^   rj   rk   rl   r   r   r§   ÚcomÚasarray_tuplesafer   r   rÍ   rÎ   rÏ   )r§   rO   rm   rÐ   s       r/   rª   zDatetimeConverter._convert_1d2  sv  € ð	ð 	ð 	õ �f�x­¬µB´MÅ4Ä9ÐMÑNÔNð 	-Ý”? 6Ñ*Ô*Ð*Ý˜ÑÔð 	-¥8¨FÑ#3Ô#3ð 	-ØˆMÝ˜¥Ñ$Ô$ð 	-Ø�9˜VÑ$Ô$Ð$Ý˜¥¥u­b¬j½%ÅÐ HÑIÔIð 	-Ý˜&¥&Ñ)Ô)ð 'õ ˜v™œ�Ý˜&¥%Ñ(Ô(ð 'Øœ�Ý˜f¥b¤jÑ1Ô1ð 7ÝÔ.¨vÑ6Ô6�å Ñ'Ô'ð ­>¸&Ñ+AÔ+Að Ø�ðÝÔ*¨6Ñ2Ô2��øÝð ð ð Ø�ðøøøõ ”_ VÑ,Ô,ˆFàˆs   ÅE& Å&
E3Å2E3rO   útzinfo | Noner"   úmunits.AxisInfoc                óÔ   — | }t          |¬¦  «        }t          ||¬¦  «        }t          j        ddd¦  «        }t          j        ddd¦  «        }t	          j        ||d||f¬¦  «        S )z°
        Return the :class:`~matplotlib.units.AxisInfo` for *unit*.

        *unit* is a tzinfo instance or None.
        The *axis* argument is required but not used.
        )ÚtziÐ  é   iÚ  Ú )rr   rs   rt   Údefault_limits)ÚPandasAutoDateLocatorÚPandasAutoDateFormatterr(   r)   rD   ry   )rO   rm   rÖ   rr   rs   ÚdateminÚdatemaxs          r/   rz   zDatetimeConverter.axisinfoV  sx   € ð ˆå&¨"Ð-Ñ-Ô-ˆÝ(¨°BÐ7Ñ7Ô7ˆÝ”)˜D ! QÑ'Ô'ˆÝ”)˜D ! QÑ'Ô'ˆåŒØ &°ÀGÈWÐCUð
ñ 
ô 
ð 	
r1   NrÀ   )rO   rÓ   r"   rÔ   )r}   r~   r   r€   ro   rª   rz   re   r1   r/   r&   r&   "  sn   € € € € € Øðð ð ñ „\ðð ð!ð !ñ „\ð!ðF ð
ð 
ð 
ñ „\ð
ð 
ð 
r1   r&   c                  ó   — e Zd Zdd	d„ZdS )
rÛ   Nú%Y-%m-%dÚ
defaultfmtr^   r"   rB   c                óJ   — t           j                             | |||¦  «         d S r%   )rË   ÚAutoDateFormatterr†   )r„   ÚlocatorrÖ   rà   s       r/   r†   z PandasAutoDateFormatter.__init__k  s%   € ÝÔ ×)Ò)¨$°¸¸ZÑHÔHÐHÐHÐHr1   )Nrß   )rà   r^   r"   rB   )r}   r~   r   r†   re   r1   r/   rÛ   rÛ   j  s4   € € € € € ðIð Ið Ið Ið Ið Ið Ir1   rÛ   c                  ó   — e Zd Zd„ Zd„ ZdS )rÚ   c                ó¨  — ||z
                        ¦   «         }t          |¦  «        | j        k     rƒd| _        t	          | j        ¦  «        }|                     | j        ¦  «          |j        j        | j         	                    ¦   «         Ž   |j        j
        | j                             ¦   «         Ž  |S t          j                             | ||¦  «        S )z*Pick the best locator based on a distance.éÿÿÿÿ)Útotal_secondsÚabsÚminticksÚ_freqÚMilliSecondLocatorrÖ   Úset_axisrm   Úset_view_intervalÚget_view_intervalÚset_data_intervalÚget_data_intervalrË   ÚAutoDateLocatorÚget_locator)r„   ÚdminÚdmaxr[   rã   s        r/   rò   z!PandasAutoDateLocator.get_locatorp  sÆ   € à˜$‘;×-Ò-Ñ/Ô/ˆåˆw‰<Œ<˜$œ-Ò'Ð'ØˆDŒJÝ(¨¬Ñ1Ô1ˆGØ×Ò˜TœYÑ'Ô'Ð'ð +ˆGŒLÔ*Ø”×,Ò,Ñ.Ô.ðð ð +ˆGŒLÔ*Ø”×,Ò,Ñ.Ô.ðð ð ˆNåÔ%×1Ò1°$¸¸dÑCÔCÐCr1   c                ó@   — t                                | j        ¦  «        S r%   )rë   Úget_unit_genericrê   ©r„   s    r/   Ú	_get_unitzPandasAutoDateLocator._get_unit…  s   € Ý!×2Ò2°4´:Ñ>Ô>Ð>r1   N)r}   r~   r   rò   rø   re   r1   r/   rÚ   rÚ   o  s5   € € € € € ðDð Dð Dð*?ð ?ð ?ð ?ð ?r1   rÚ   c                  óH   — e Zd ZdZdd„Zd„ Zed„ ¦   «         Zd„ Zd„ Z	d	„ Z
d
S )rë   g÷LêÚH>r"   rB   c                óT   — t           j                             | |¦  «         d| _        d S )Ng      ð?)rË   ÚDateLocatorr†   Ú	_interval)r„   rÖ   s     r/   r†   zMilliSecondLocator.__init__Œ  s&   € ÝÔ×#Ò# D¨"Ñ-Ô-Ð-ØˆŒˆˆr1   c                ó,   — |                       d¦  «        S )Nræ   )rö   r÷   s    r/   rø   zMilliSecondLocator._get_unit�  s   € Ø×$Ò$ RÑ(Ô(Ð(r1   c                óh   — t           j                             | ¦  «        }|dk     rt          j        S |S )Nr   )rË   ÚRRuleLocatorrö   rë   ÚUNIT)r¡   rO   s     r/   rö   z#MilliSecondLocator.get_unit_generic“  s/   € åÔ"×3Ò3°DÑ9Ô9ˆØ�!Š8ˆ8Ý%Ô*Ð*Øˆr1   c                óŒ  — 	 |                       ¦   «         \  }}n# t          $ r g cY S w xY wt          j        ||f¦  «        \  }}||z
  dz  dz  }d}dD ]}|||dz
  z  k    r	|| _         nd| _        Œ||z
  |                      ¦   «         |                      ¦   «         z  z  }|| j        dz  k    r&t          d|d	›d
|› d|› d| j        dz  d	›d�	¦  «        ‚|                      ¦   «         }|› d�}	| j	         
                    d ¦  «        }
|                     d ¬¦  «        }|                     d ¬¦  «        }t          |||	|
¬¦  «                             t          ¦  «        }	 t          |¦  «        dk    r)|                      t          j        |¦  «        ¦  «        }|S n# t"          $ r Y nw xY wt          j        ||g¦  «        }|S )Ni€Q rŠ   é   )r×   é
   é2   éd   éÈ   iô  r×   g     @�@é   z)MillisecondLocator estimated to generate r_   z ticks from z to z: exceeds Locator.MAXTICKS* 2 (z) r–   )r   )ÚstartÚendr¡   rÖ   r   )Úviewlim_to_dtrÅ   rË   rÌ   rü   rø   Ú_get_intervalÚMAXTICKSÚRuntimeErrorrÖ   ÚtznameÚreplacer   ÚastypeÚobjectÚlenÚraise_if_exceedsrÏ   )r„   ró   rô   ÚnmaxÚnminÚnumÚmax_millis_ticksÚintervalÚestimater¡   rÖ   ÚstÚedÚ	all_datesr…   Úlimss                   r/   r›   zMilliSecondLocator.__call__š  s:  € ð	Ø×+Ò+Ñ-Ô-‰JˆD�$�$øÝð 	ð 	ð 	ØˆIˆIˆIð	øøøõ ”_ d¨D \Ñ2Ô2‰
ˆˆdà�d‰{˜eÑ# dÑ*ˆØÐØ2ð 	$ð 	$ˆHØ�hÐ"2°QÑ"6Ñ7Ò7Ð7Ø!)�”Ø�à#ˆDŒNˆNà˜4‘K D§N¢NÑ$4Ô$4°t×7IÒ7IÑ7KÔ7KÑ$KÑLˆà�d”m aÑ'Ò'Ð'Ýð0ØÐUð0ð 0Ø+/ð0ð 0Ø59ð0ð 0àœ¨Ñ)Ð/ð0ð 0ð 0ñô ð ð ×%Ò%Ñ'Ô'ˆØˆˆˆˆØŒW�^Š^˜DÑ!Ô!ˆØ�\Š\ ˆ\Ñ&Ô&ˆØ�\Š\ ˆ\Ñ&Ô&ˆÝ R¨R°d¸rÐBÑBÔB×IÒIÍ&ÑQÔQˆ	ð	Ý�9‰~Œ~ Ò!Ð!Ø×,Ò,­V¬_¸YÑ-GÔ-GÑHÔH�Ø�ð "øõ ð 	ð 	ð 	ØˆDð	øøøõ Œ  d˜|Ñ,Ô,ˆØˆs   ‚ š)¨)Å!;F Æ
F+Æ*F+c                ó   — | j         S r%   )rü   r÷   s    r/   r  z MilliSecondLocator._get_intervalÇ  s
   € ØŒ~Ðr1   c                ó¬   — |                       ¦   «         \  }}t          j        |¦  «        }t          j        |¦  «        }|                      ||¦  «        S )z@
        Set the view limits to include the data range.
        )Údatalim_to_dtrË   rÌ   Únonsingular)r„   ró   rô   ÚvminÚvmaxs        r/   Ú	autoscalezMilliSecondLocator.autoscaleÊ  sM   € ð
 ×'Ò'Ñ)Ô)‰
ˆˆdåŒ˜tÑ$Ô$ˆÝŒ˜tÑ$Ô$ˆà×Ò  dÑ+Ô+Ð+r1   Nrœ   )r}   r~   r   r   r†   rø   r€   rö   r›   r  r$  re   r1   r/   rë   rë   ‰  s…   € € € € € Ø#€Dðð ð ð ð)ð )ð )ð ðð ñ „\ðð+ð +ð +ðZð ð ð
,ð 
,ð 
,ð 
,ð 
,r1   rë   útuple[int, int]c                ó¾   — | dk     rd\  }}nN| dk     rd\  }}nB| dk     rd\  }}n6| dk     rd\  }}n*| d	k     rd
\  }}n| dk     rd\  }}n| dz  dz   }|dz  |dz  }}||fS )zN
    Returns a default spacing between consecutive ticks for annual data.
    é   )r×   r×   é   )r×   r  r  )r×   é   r  )r)  r  r  )r)  é   iX  )r  r  rŠ   r×   re   )ÚnyearsÚmin_spacingÚmaj_spacingÚfactors       r/   Ú_get_default_annual_spacingr/  Þ  s¬   € ð �‚{€{Ø%+Ñ"ˆ�k�kØ	�"ŠˆØ%+Ñ"ˆ�k�kØ	�"ŠˆØ%+Ñ"ˆ�k�kØ	�#ŠˆØ%,Ñ"ˆ�k�kØ	�#ŠˆØ%,Ñ"ˆ�k�kØ	�#ŠˆØ%-Ñ"ˆ�k�kà˜4‘ !Ñ#ˆØ&,¨r¡k°6¸C±<�kˆØ˜Ð%Ð%r1   Údatesr   r·   r^   únpt.NDArray[np.intp]c                óV   — t          | |¦  «        }t          j        |¦  «        d         S )zÓ
    Returns the indices where the given period changes.

    Parameters
    ----------
    dates : PeriodIndex
        Array of intervals to monitor.
    period : str
        Name of the period to monitor.
    r   )Ú_period_break_maskr,   Únonzero)r0  r·   Úmasks      r/   Ú_period_breakr6  ô  s(   € õ ˜e VÑ,Ô,€DÝŒ:�dÑÔ˜AÔÐr1   únpt.NDArray[np.bool_]c                ód   — t          | |¦  «        }t          | d| j        z  z
  |¦  «        }||k    S )Nr×   )Úgetattrr¡   )r0  r·   ÚcurrentrI   s       r/   r3  r3    s6   € Ý�e˜VÑ$Ô$€GÝ�u˜q 5¤:™~Ñ-¨vÑ6Ô6€HØ�hÒÐr1   Úlabel_flagsr"  Úboolc                ó`   — | j         dk    s | j         dk    r| d         dk    r|dz  dk    rdS dS )zè
    Returns true if the ``label_flags`` indicate there is at least one label
    for this level.

    if the minimum view limit is not an exact integer, then the first tick
    label won't be shown, so we must adjust for that.
    r   r×   ç        FT©Úsize)r;  r"  s     r/   Úhas_level_labelrA  	  sD   € ð Ô˜1ÒÐØÔ˜AÒÐ +¨a¤.°AÒ"5Ð"5¸$À¹(ÀSº.¸.àˆuàˆtr1   útuple[int, int, int]c                óÎ  — | j         }t          j        |¦  «        }d}|t          j        j        k    rt          | j        ¦  «        }d|z  }d|z  }n�|t          j        k    rd}d}n{|t          j        k    rd}d}nf|t          j	        k    rd}d}nQ|t          j
        k    rd}d	}n<|t          j        k    rd}d
}n'|t          j        k    rd}d}nt          d|› �¦  «        ‚|||fS )Nræ   é   im  é   i  é   é4   r×   é   é   úUnsupported frequency: )Ú_period_dtype_coder   Úfrom_period_dtype_codeÚFR_HRrA   r   Ú_cresoÚFR_BUSÚFR_DAYÚFR_WKÚFR_MTHÚFR_QTRÚFR_ANNÚNotImplementedError)r¡   Ú
dtype_codeÚ
freq_groupÚppdÚppmÚppys         r/   Ú_get_periods_per_ymdr[    s  € àÔ(€JÝÔ1°*Ñ=Ô=€Jà
€Cà•Y”_Ô*Ò*Ð*å˜dœkÑ*Ô*ˆØ�3‰hˆØ�C‰iˆˆØ	•yÔ'Ò	'Ð	'ØˆØˆˆØ	•yÔ'Ò	'Ð	'ØˆØˆˆØ	•y”Ò	&Ð	&ØˆØˆˆØ	•yÔ'Ò	'Ð	'ØˆØˆˆØ	•yÔ'Ò	'Ð	'ØˆØˆˆØ	•yÔ'Ò	'Ð	'ØˆØˆˆå!Ð"H¸JÐ"HÐ"HÑIÔIÐIà��Sˆ=Ðr1   r#  ú
np.ndarrayc           	     ó   ‡‡‡‡‡‡‡‡— |j         }t          |¦  «        \  }}}| Št          | ¦  «        t          |¦  «        }} || z
  dz   }t          j        ¦   «         5  t          j        ddt          ¬¦  «         t          j        ddt          ¬¦  «         t          t          | |¬¦  «        t          ||¬¦  «        |¬¦  «        Šd d d ¦  «         n# 1 swxY w Y   t          j
        |dt          j        fd	t          fd
t          fdg¬¦  «        }‰j        |d         d d …<   d|d         d d …<   d|d	         ddg<   |d	         Š|d
         Š|d         Šˆfd„Š||k    �rt          ‰d¦  «        Št          ‰d¦  «        }	t          ‰d¦  «        ŠdBˆˆˆˆˆˆˆˆfd„}
dCˆˆˆˆˆˆfd„}dCˆˆˆˆˆˆfd„}||dz  k     r |d¦  «         �n3||d z  k     r |d!¦  «         �n||d"z  k     r |d#¦  «         �n||d$z  k     r |d%¦  «         �nñ||d&z  k     r |d'¦  «         �nÛ||d(z  k     r |d)¦  «         �nÅ||d*z  k     r |d¦  «         �n¯||d+z  k     r |d!¦  «         �n™||d,z  k     r |d#¦  «         �nƒ||d-z  k     r |d'¦  «         �nm||d.z  k     r |d)¦  «         �nW||d/z  k     r |
dd0¦  «         �n@||d1z  k     r |
d!d0¦  «         �n)||d2z  k     r |
d3d0¦  «         �n||d/z  k     r |
d.d¦  «         �nû||d4z  k     r |
d-d¦  «         �näd‰|	<   d‰‰<   d5‰‰<   d6‰|	<   d7‰‰<   t          ‰‰¦  «        s.t          |	‰¦  «        sd7‰ ‰‰¦  «        <   �n›d7‰ ‰|	¦  «        <   �n‹||d4z  k    rºt          ‰d¦  «        }	d‰|	<   |t           j        j        k     rd|d
<   nt          ‰d¦  «        Šd|d
         ‰<   t          ‰d8¦  «        }t          ‰d¦  «        Šd5‰|<   d9‰|	<   d:‰‰<   t          ‰‰¦  «        s.t          |	‰¦  «        sd:‰ ‰|¦  «        <   �nØd:‰ ‰|	¦  «        <   �nÈ|d;|z  k    rnt          ‰d¦  «        Št          ‰d¦  «        }	t          ‰d8¦  «        }d‰|	<   d‰|<   d0‰‰<   d0‰|	<   d<‰|	<   d=‰‰<   t          ‰‰¦  «        sd=‰ ‰|	¦  «        <   �nQ|d/|z  k    rFt          ‰d¦  «        Št          ‰d>¦  «        }t          ‰d¦  «        }	d‰|<   d‰|	<   d<‰|<   d=‰‰<   �n|d4|z  k    rZt          ‰d¦  «        Št          ‰d¦  «        }	d‰‰<   d‰|	<   d0‰‰<   ‰|	         j        }|	|dk    |d?k    z           }d<‰|<   d=‰‰<   nŸ|d@|z  k    r5t          ‰d¦  «        Št          ‰d>¦  «        }d‰‰<   d‰|<   d0‰‰<   dA‰‰<   nat          ‰d¦  «        Š‰‰         j        }||z  }t+          |¦  «        \  }}‰||z  dk             }d‰|<   ‰||z  dk             }d‰|<   dA‰|<   |S )DNr×   r­   r®   r¯   r±   ©rÄ   r¡   )r  r	  r¡   ÚvalÚmajÚmin)r“   z|S20©ÚdtyperØ   r“   Tr   ræ   c                ód   •— | d         dk    r| j         dk    r‰dz  dk    r| d         S | d         S )Nr   r×   r>  r?  )r;  Ú	vmin_origs    €r/   Úfirst_labelz"_daily_finder.<locals>.first_labelb  sB   ø€ Ø˜ŒN˜aÒÐ kÔ&6¸Ò&:Ð&:À)ÈaÁ-ÐSVÒAVÐAVØ˜q”>Ð!à˜q”>Ð!r1   ÚdayÚmonthÚyearÚlabel_intervalr�   Úforce_year_startr<  r"   rB   c                óØ   •— ‰j         }t          ‰d¦  «        }d‰‰<   d‰	||| z  dk    z  <   d‰||| z  dk    z  <   d‰‰<   d‰‰<   |r t          ‰‰
¦  «        sd‰ ‰‰¦  «        <   d S d S d S )NrW   Tr   rŽ   ú%H:%M
%d-%bú%H:%M
%d-%b
%Y)rW   r3  rA  )rj  rk  Útargetr5  Údates_Ú	day_startrf  Úinfo_fmtÚinfo_majÚinfo_minre  Ú
year_starts       €€€€€€€€r/   Ú_hour_finderz#_daily_finder.<locals>._hour_findern  s¶   ø€ Ø”[ˆFÝ% f¨fÑ5Ô5ˆDØ"&ˆH�YÑØ>BˆH�T˜V nÑ4¸Ò9Ñ:Ñ;Ø>EˆH�T˜V nÑ4¸Ò9Ñ:Ñ;Ø"0ˆH�YÑØ#5ˆH�ZÑ Øð F­¸
ÀIÑ(NÔ(Nð FØ3E�˜˜ YÑ/Ô/Ñ0Ð0Ð0ðFð Fð Fð Fr1   c                ó°   •— ‰j         }t          ‰d¦  «        }t          ‰d¦  «        }d‰|<   d‰||| z  dk    z  <   d‰||| z  dk    z  <   d‰‰<   d‰‰	<   d S )NrW   rX   Tr   rŽ   rm  rn  )rX   r6  r3  )
rj  ro  Ú
hour_startr5  rp  rq  rr  rs  rt  ru  s
       €€€€€€r/   Ú_minute_finderz%_daily_finder.<locals>._minute_findery  s~   ø€ Ø”]ˆFÝ& v¨vÑ6Ô6ˆJÝ% f¨hÑ7Ô7ˆDØ#'ˆH�ZÑ Ø>BˆH�T˜V nÑ4¸Ò9Ñ:Ñ;Ø>EˆH�T˜V nÑ4¸Ò9Ñ:Ñ;Ø"0ˆH�YÑØ#5ˆH�ZÑ Ð Ð r1   c                ó°   •— ‰j         }t          ‰d¦  «        }t          ‰d¦  «        }d‰|<   d‰||| z  dk    z  <   d‰||| z  dk    z  <   d‰‰<   d‰‰	<   d S )NrX   rY   Tr   r�   z%H:%M:%S
%d-%bz%H:%M:%S
%d-%b
%Y)rY   r6  r3  )
rj  ro  Úminute_startr5  rp  rq  rr  rs  rt  ru  s
       €€€€€€r/   Ú_second_finderz%_daily_finder.<locals>._second_finderƒ  s~   ø€ Ø”]ˆFÝ(¨°Ñ:Ô:ˆLÝ% f¨hÑ7Ô7ˆDØ%)ˆH�\Ñ"Ø>BˆH�T˜V nÑ4¸Ò9Ñ:Ñ;Ø>HˆH�T˜V nÑ4¸Ò9Ñ:Ñ;Ø"3ˆH�YÑØ#8ˆH�ZÑ Ð Ð r1   ià.  ip  r  i`	  r)  i°  r  i   é   i�  é   é–   éF   r‹   rH  r  ç      @Fg      ø?g      ô?rF  rI  z%dz%d
%bz%d
%b
%YÚweekz

%bz

%b
%Yçffffffò?ú%bú%b
%YÚquarteré   r'  ú%Y)rj  r�   rk  r<  r"   rB   )rj  r�   r"   rB   )rK  r[  r�   r¹   rº   r»   r¼   r   r   r,   ÚzerosÚint64r<  r¾   r6  rA  r   rM  rA   rh  ri  r/  )r"  r#  r¡   rV  ÚperiodsperdayÚperiodspermonthÚperiodsperyearÚspanÚinfoÚmonth_startrv  ry  r|  Ú
week_startÚquarter_startÚmonth_breakÚ
jan_or_julÚ
year_breakr+  Ú
min_anndefÚ
maj_anndefÚ	major_idxÚ	minor_idxrp  rq  rf  rr  rs  rt  re  ru  s                          @@@@@@@@r/   Ú_daily_finderrš  =  së  øøøøøøøø€ ð Ô(€Jå5IÈ$Ñ5OÔ5OÑ2€M�? Nð €IÝ˜‘I”I�s 4™yœyˆ4€TØ�$‰;˜‰?€Då	Ô	 Ñ	"Ô	"ð 
ð 
ÝÔØÐ;Åmð	
ñ 	
ô 	
ð 	
õ 	ÔØÐ7Å-ð	
ñ 	
ô 	
ð 	
õ Ý ¨DÐ1Ñ1Ô1Ý˜t¨$Ð/Ñ/Ô/Øð
ñ 
ô 
ˆð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
õ Œ8Ø�e�RœXÐ&¨µ¨¸½t°}ÀoÐVðñ ô €Dð ”[€Dˆ„K����NØ€Dˆ„K����NØ€Dˆ„K��B�Ñà�EŒ{€HØ�EŒ{€HØ�EŒ{€Hð"ð "ð "ð "ð "ð ˆÒÑÝ! &¨%Ñ0Ô0ˆ	Ý# F¨GÑ4Ô4ˆÝ" 6¨6Ñ2Ô2ˆ
ð		Fð 		Fð 		Fð 		Fð 		Fð 		Fð 		Fð 		Fð 		Fð 		Fð 		Fð 		Fð 		Fð	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð �- %Ñ'Ò'Ð'ØˆN˜1ÑÔÐÑØ�M DÑ(Ò(Ð(ØˆN˜1ÑÔÐÑØ�M DÑ(Ò(Ð(ØˆN˜1ÑÔÐÑØ�M DÑ(Ò(Ð(ØˆN˜2ÑÔÐÑØ�M CÑ'Ò'Ð'ØˆN˜2ÑÔÐÑØ�M CÑ'Ò'Ð'ØˆN˜2ÑÔÐÑØ�M CÑ'Ò'Ð'ØˆN˜1ÑÔÐÑØ�M BÑ&Ò&Ð&ØˆN˜1ÑÔÐÑØ�M BÑ&Ò&Ð&ØˆN˜1ÑÔÐÑØ�M BÑ&Ò&Ð&ØˆN˜2ÑÔÐÑØ�M AÑ%Ò%Ð%ØˆN˜2ÑÔÐÑØ�M CÑ'Ò'Ð'ØˆL˜˜EÑ"Ô"Ð"Ñ"Ø�M CÑ'Ò'Ð'ØˆL˜˜EÑ"Ô"Ð"Ñ"Ø�M DÑ(Ò(Ð(ØˆL˜˜EÑ"Ô"Ð"Ñ"Ø�M CÑ'Ò'Ð'ØˆL˜˜DÑ!Ô!Ð!Ñ!Ø�M AÑ%Ò%Ð%ØˆL˜˜TÑ"Ô"Ð"Ñ"à$(ˆH�[Ñ!Ø"&ˆH�YÑØ"&ˆH�YÑØ$,ˆH�[Ñ!Ø#/ˆH�ZÑ Ý" :¨yÑ9Ô9ð FÝ& {°IÑ>Ô>ð FØ7C�H˜[˜[¨Ñ3Ô3Ñ4Ñ4à9E�H˜[˜[¨Ñ5Ô5Ñ6ùð 
� 1Ñ$Ò	$Ð	$Ý# F¨GÑ4Ô4ˆØ $ˆ�ÑØ�	œÔ-Ò-Ð-ØˆD�‰KˆKå% f¨eÑ4Ô4ˆIØ%)ˆD�ŒK˜	Ñ"Ý" 6¨6Ñ2Ô2ˆ
Ý" 6¨6Ñ2Ô2ˆ
Ø#ˆ�ÑØ (ˆ�ÑØ+ˆ�ÑÝ˜z¨9Ñ5Ô5ð 	BÝ" ;°	Ñ:Ô:ð BØ4@�˜˜ ZÑ0Ô0Ñ1Ñ1à5A�˜˜ [Ñ1Ô1Ñ2ùà	�˜Ñ&Ò	&Ð	&Ý" 6¨6Ñ2Ô2ˆ
Ý# F¨GÑ4Ô4ˆÝ" 6¨6Ñ2Ô2ˆ
Ø $ˆ�ÑØ#ˆ�ÑØ$ˆ�ÑØ %ˆ�ÑØ $ˆ�ÑØ'ˆ�ÑÝ˜z¨9Ñ5Ô5ð 	:Ø19ˆH�[�[ Ñ-Ô-Ñ.ùà	��~Ñ%Ò	%Ð	%Ý" 6¨6Ñ2Ô2ˆ
Ý% f¨iÑ8Ô8ˆÝ# F¨GÑ4Ô4ˆØ"&ˆ�ÑØ $ˆ�ÑØ"&ˆ�ÑØ'ˆ�ÑÑà	��^Ñ#Ò	#Ð	#Ý" 6¨6Ñ2Ô2ˆ
Ý# F¨GÑ4Ô4ˆØ#ˆ�ÑØ $ˆ�ÑØ$ˆ�Ñà˜[Ô)Ô/ˆØ  +°Ò"2°{ÀaÒ7GÑ!HÔIˆ
Ø#ˆ�ÑØ'ˆ�ÑÐà	��nÑ$Ò	$Ð	$Ý" 6¨6Ñ2Ô2ˆ
Ý% f¨iÑ8Ô8ˆØ#ˆ�ÑØ"&ˆ�ÑØ$ˆ�ÑØ#ˆ�ÑÐõ # 6¨6Ñ2Ô2ˆ
Ø˜JÔ'Ô,ˆ
Ø˜Ñ&ˆÝ#>¸vÑ#FÔ#FÑ ˆ�ZØ 
¨ZÑ 7¸1Ò <Ô>ˆ	Ø"ˆ�ÑØ 
¨ZÑ 7¸1Ò <Ô>ˆ	Ø"ˆ�ÑØ"ˆ�Ñà€Ks   ÁA)CÃCÃCc                ó"  — t          |¦  «        \  }}}| }t          | ¦  «        t          |¦  «        }} || z
  dz   }t          j        |dt          fdt          fdt          fdg¬¦  «        }t          j        | |dz   ¦  «        |d<   |d         }d|d<   |d	z  d
k                         ¦   «         d
         }	|d         }
|d         }|d|z  k    r=d|
|	<   d|d<   d|d d …<   d||	<   t          |	|¦  «        s|j        dk    rd}nd
}d||<   �n|d|z  k    r;|dz  d
k                         ¦   «         }d|
|	<   d|d         |<   d|d<   d||<   d||	<   nÁ|d|z  k    r(d|
|	<   d|d<   |d	z  d
k    |d	z  dk    z  }d||<   d||	<   n�|d|z  k    r1|dz  d
k                         ¦   «         }d|
|	<   d|d         |<   d||	<   nV||z  }t          |¦  «        \  }}||	         d	z  dz   }|	||z  d
k             }d|
|<   d|d         |	||z  d
k             <   d||<   |S )Nr×   r_  r`  ra  ©r“   z|S8rb  rØ   r“   rH  r   rƒ  Tr„  r…  r�  rF  rI  r  r'  rˆ  ©
r[  r�   r,   r‰  r<  Úaranger4  rA  r@  r/  )r"  r#  r¡   rš   r�  re  rŽ  r�  rp  ru  rs  rr  Úidxr’  r”  r+  r–  r—  Úyearsr˜  s                       r/   Ú_monthly_finderr¡    s½  € å/°Ñ5Ô5Ñ€A€qˆ.à€IÝ˜‘I”I�s 4™yœyˆ4€TØ�$‰;˜‰?€Dõ Œ8Ø�e�S�\ E­4 =°5½$°-ÀÐPðñ ô €Dõ ”)˜D $¨¡(Ñ+Ô+€Dˆ�KØ�%Œ[€FØ€Dˆ�KØ˜2‘+ Ò"×+Ò+Ñ-Ô-¨aÔ0€JØ�EŒ{€HØ�EŒ{€Hàˆt�nÑ$Ò$Ð$Ø#ˆ�ÑØˆˆU‰àˆ���‰Ø'ˆ�Ñå˜z¨9Ñ5Ô5ð 	%ØŒ{˜QŠˆØ��à�Ø$ˆH�S‰Mùà	��~Ñ%Ò	%Ð	%Ø !™ qš×1Ò1Ñ3Ô3ˆØ#ˆ�Ñð &*ˆˆUŒ�MÑ"ØˆˆU‰à"&ˆ�ÑØ'ˆ�ÑÐà	��^Ñ#Ò	#Ð	#Ø#ˆ�ÑØˆˆU‰à˜r‘k QÒ&¨6°B©;¸!Ò+;Ñ<ˆ
Ø#ˆ�ÑØ'ˆ�ÑÐà	��nÑ$Ò	$Ð	$Ø !™ qš×1Ò1Ñ3Ô3ˆØ#ˆ�ÑØ%)ˆˆUŒ�MÑ"à#ˆ�ÑÐð ˜Ñ&ˆÝ#>¸vÑ#FÔ#FÑ ˆ�ZØ�zÔ" bÑ(¨1Ñ,ˆØ ¨
Ñ 2°aÒ 7Ô9ˆ	Ø"ˆ�ÑØ=AˆˆUŒ�J ¨
Ñ 2°aÒ 7Ô9Ñ:à"ˆ�Ñà€Kr1   c                óô  — t          |¦  «        \  }}}| }t          | ¦  «        t          |¦  «        }} || z
  dz   }t          j        |dt          fdt          fdt          fdg¬¦  «        }t          j        | |dz   ¦  «        |d<   d|d<   |d         }|d         }	|d         }
|d	z  d
k                         ¦   «         d
         }|d|z  k    r<d|	|<   d|d<   d|
d d …<   d|
|<   t          ||¦  «        s|j        dk    rd}nd
}d|
|<   no|d|z  k    rd|	|<   d|d<   d|
|<   nV||         d	z  dz   }||z  }t          |¦  «        \  }}|||z  d
k             }d|	|<   d|d         |||z  d
k             <   d|
|<   |S )Nr×   r_  r`  ra  rœ  rb  rØ   r“   rI  r   g      @TzQ%qzQ%q
%Fr'  z%Fi²  r�  )r"  r#  r¡   rš   r�  re  rŽ  r�  rp  rs  rr  ru  rŸ  r   r+  r–  r—  r˜  s                     r/   Ú_quarterly_finderr£  M  sã  € å/°Ñ5Ô5Ñ€A€qˆ.Ø€IÝ˜‘I”I�s 4™yœyˆ4€TØ�$‰;˜‰?€DåŒ8Ø�e�S�\ E­4 =°5½$°-ÀÐPðñ ô €Dõ ”)˜D $¨¡(Ñ+Ô+€Dˆ�KØ€Dˆ�KØ�%Œ[€FØ�EŒ{€HØ�EŒ{€HØ˜1‘* ’/×*Ò*Ñ,Ô,¨QÔ/€Jàˆs�^Ñ#Ò#Ð#Ø#ˆ�ÑØˆˆU‰àˆ���‰Ø(ˆ�ÑÝ˜z¨9Ñ5Ô5ð 	&ØŒ{˜QŠˆØ��à�Ø%ˆH�S‰Møà	��nÑ$Ò	$Ð	$Ø#ˆ�ÑØˆˆU‰Ø#ˆ�ÑÐð �zÔ" aÑ'¨$Ñ.ˆØ˜Ñ&ˆÝ#>¸vÑ#FÔ#FÑ ˆ�ZØ ¨
Ñ 2°aÒ 7Ô9ˆ	Ø"ˆ�ÑØ=AˆˆUŒ�J ¨
Ñ 2°aÒ 7Ô9Ñ:Ø"ˆ�Ñà€Kr1   c                ó�  — t          | ¦  «        t          |dz   ¦  «        }} || z
  dz   }t          j        |dt           fdt          fdt          fdg¬¦  «        }t          j        | |dz   ¦  «        |d<   d|d<   |d         }t          |¦  «        \  }}||z  d	k    }||z  d	k    }	d
|d         |<   d
|d         |	<   d|d         |<   |S )Nr×   r_  r`  ra  rœ  rb  rØ   r“   r   Trˆ  )r�   r,   r‰  r<  rž  r/  )
r"  r#  r¡   rŽ  r�  rp  r–  r—  r˜  r™  s
             r/   Ú_annual_finderr¥  }  sæ   € õ ˜‘I”I�s 4¨!¡8™}œ}ˆ4€TØ�$‰;˜‰?€DåŒ8Ø�e�S�\ E­4 =°5½$°-ÀÐPðñ ô €Dõ ”)˜D $¨¡(Ñ+Ô+€Dˆ�KØ€Dˆ�KØ�%Œ[€Få:¸4Ñ@Ô@Ñ€Z�Ø˜Ñ# qÒ(€IØ˜Ñ# qÒ(€IØ!€Dˆ„K�	ÑØ!€Dˆ„K�	ÑØ!€Dˆ„K�	Ñà€Kr1   c                ó>  — | j         }t          j        |¦  «        }|t          j        k    rt          S |t          j        k    rt          S |t          j        k    rt          S |t          j	        j
        k    s|t          j        k    rt          S t          d|› �¦  «        ‚)NrJ  )rK  r   rL  rT  r¥  rS  r£  rR  r¡  rO  rA   rQ  rš  rU  )r¡   rV  Úfgroups      r/   Ú
get_finderr¨  ”  s�   € àÔ(€JÝÔ-¨jÑ9Ô9€Fà•Ô!Ò!Ð!ÝÐØ	•9Ô#Ò	#Ð	#Ý Ð Ø	•9Ô#Ò	#Ð	#ÝÐØ
�	Ô(Ô.Ò
.Ð
.°6½Y¼_Ò3LÐ3LÝÐå!Ð"H¸JÐ"HÐ"HÑIÔIÐIr1   c                  óH   — e Zd ZU dZded<   	 	 	 	 	 	 	 ddd„Zd„ Zd„ Zd„ ZdS )ÚTimeSeries_DateLocatoraß  
    Locates the ticks along an axis controlled by a :class:`Series`.

    Parameters
    ----------
    freq : BaseOffset
        Valid frequency specifier.
    minor_locator : {False, True}, optional
        Whether the locator is for minor ticks (True) or not.
    dynamic_mode : {True, False}, optional
        Whether the locator should work in dynamic mode.
    base : {int}, optional
    quarter : {int}, optional
    month : {int}, optional
    day : {int}, optional
    r   rm   FTr×   Nr¡   r   Úminor_locatorr<  Údynamic_modeÚbaser�   r†  rh  rg  r"   rB   c	                óÐ   — t          |d¬¦  «        }|| _        || _        |||c| _        | _        | _        || _        || _        d| _        || _	        t          |¦  «        | _        d S ©NTr¢   r   )r   r¡   r­  r†  rh  rg  ÚisminorÚ	isdynamicÚoffsetÚplot_objr¨  Úfinder)	r„   r¡   r«  r¬  r­  r†  rh  rg  r³  s	            r/   r†   zTimeSeries_DateLocator.__init__¹  si   € õ ˜¨Ð.Ñ.Ô.ˆØˆŒ	ØˆŒ	Ø07¸ÀÐ,ˆŒ�t”z 4¤8Ø$ˆŒØ%ˆŒØˆŒØ ˆŒÝ  Ñ&Ô&ˆŒˆˆr1   c                óÌ   — |                       ||| j        ¦  «        }| j        r!t          j        |d         |d         ¦  «        S t          j        |d         |d         ¦  «        S )z'Returns the default locations of ticks.ra  r_  r`  )r´  r¡   r°  r,   Úcompress)r„   r"  r#  rã   s       r/   Ú_get_default_locsz(TimeSeries_DateLocator._get_default_locsÎ  sW   € à—+’+˜d D¨$¬)Ñ4Ô4ˆàŒ<ð 	?Ý”;˜w uœ~¨w°u¬~Ñ>Ô>Ð>ÝŒ{˜7 5œ>¨7°5¬>Ñ:Ô:Ð:r1   c                ó2  — t          | j                             ¦   «         ¦  «        }|\  }}||k     r||}}| j        r|                      ||¦  «        }nC| j        }t          ||¦  «        \  }}|dz   |z  }t          t          ||dz   |¦  «        ¦  «        }|S )z"Return the locations of the ticks.r×   )	rk   rm   rî   r±  r·  r­  r‘   rj   Úrange)r„   Úvir"  r#  r…   r­  r_   r˜   s           r/   r›   zTimeSeries_DateLocator.__call__Ö  s¦   € õ �4”9×.Ò.Ñ0Ô0Ñ1Ô1ˆØ‰
ˆˆdØ�$Š;ˆ;Ø˜t�$ˆDØŒ>ð 	5Ø×)Ò)¨$°Ñ5Ô5ˆDˆDà”9ˆDÝ˜D $Ñ'Ô'‰FˆQ�Ø˜‘E˜T‘>ˆDõ �˜d D¨1¡H¨dÑ3Ô3Ñ4Ô4ˆDØˆr1   c                óà   — | j                              ¦   «         \  }}|                      ||¦  «        }|ddg         \  }}||k    r
|dz  }|dz  }t          j                             ||¦  «        S )zf
        Sets the view limits to the nearest multiples of base that contain the
        data.
        r   ræ   r×   )rm   rð   r·  ru   Ú
transformsr!  )r„   r"  r#  r…   s       r/   r$  z TimeSeries_DateLocator.autoscaleé  st   € ð ”y×2Ò2Ñ4Ô4‰ˆˆtà×%Ò% d¨DÑ1Ô1ˆØ˜Q ˜G”}‰ˆˆtØ�4Š<ˆ<Ø�A‰IˆDØ�A‰IˆDÝŒ~×)Ò)¨$°Ñ5Ô5Ð5r1   )FTr×   r×   r×   r×   N)r¡   r   r«  r<  r¬  r<  r­  r�   r†  r�   rh  r�   rg  r�   r"   rB   )	r}   r~   r   Ú__doc__Ú__annotations__r†   r·  r›   r$  re   r1   r/   rª  rª  ¥  sˆ   € € € € € € ðð ð" €J€J�Jð
 $Ø!ØØØØØð'ð 'ð 'ð 'ð 'ð*;ð ;ð ;ðð ð ð&6ð 6ð 6ð 6ð 6r1   rª  c                  óT   ‡ — e Zd ZU dZded<   	 	 	 ddˆ fd„Zd„ Zdˆ fd„Zddd„Zˆ xZ	S )ÚTimeSeries_DateFormatteraš  
    Formats the ticks along an axis controlled by a :class:`PeriodIndex`.

    Parameters
    ----------
    freq : BaseOffset
        Valid frequency specifier.
    minor_locator : bool, default False
        Whether the current formatter should apply to minor ticks (True) or
        major ticks (False).
    dynamic_mode : bool, default True
        Whether the formatter works in dynamic mode or not.
    r   rm   FTNr¡   r   r«  r<  r¬  r"   rB   c                óö   •— t          |d¬¦  «        }d | _        || _        t          ¦   «                              g ¦  «         d | _        || _        || _        d| _        || _	        t          |¦  «        | _        d S r¯  )r   Úformatr¡   Úsuperrƒ   Ú
formatdictr°  r±  r²  r³  r¨  r´  )r„   r¡   r«  r¬  r³  Ú	__class__s        €r/   r†   z!TimeSeries_DateFormatter.__init__  ss   ø€ õ ˜¨Ð.Ñ.Ô.ˆØˆŒØˆŒ	Ý‰Œ×Ò˜ÑÔÐØ15ˆŒØ$ˆŒØ%ˆŒØˆŒØ ˆŒÝ  Ñ&Ô&ˆŒˆˆr1   c                ó  — |                       ||| j        ¦  «        }| j        r7t          j        |d         t          j        |d         ¦  «        z  |¦  «        }nt          j        |d         |¦  «        }d„ |D ¦   «         | _        | j        S )z"Returns the default ticks spacing.ra  r`  c                ó   — i | ]
\  }}}}||“ŒS re   re   )rf   rg   rš   Úfs       r/   ú
<dictcomp>z@TimeSeries_DateFormatter._set_default_format.<locals>.<dictcomp>)  s"   € Ð;Ð;Ð;¡L Q¨¨1¨a˜1˜aÐ;Ð;Ð;r1   )r´  r¡   r°  r,   r¶  Úlogical_notrÄ  )r„   r"  r#  r�  rÂ  s        r/   Ú_set_default_formatz,TimeSeries_DateFormatter._set_default_format!  s   € à�{Š{˜4  t¤yÑ1Ô1ˆàŒ<ð 	4Ý”[  e¤­r¬~¸dÀ5¼kÑ/JÔ/JÑ!JÈDÑQÔQˆFˆFå”[  e¤¨dÑ3Ô3ˆFØ;Ð;°FÐ;Ñ;Ô;ˆŒØŒÐr1   c                óÜ   •— t          ¦   «                              |¦  «         t          | j                             ¦   «         ¦  «        \  }}||k     r||}}|                      ||¦  «         dS )zSets the locations of the ticksN)rÃ  rƒ   rk   rm   rî   rË  )r„   r…   r"  r#  rÅ  s       €r/   rƒ   z!TimeSeries_DateFormatter.set_locs,  sj   ø€ õ
 	‰Œ×Ò˜ÑÔÐå˜TœY×8Ò8Ñ:Ô:Ñ;Ô;‰ˆˆtØ�$Š;ˆ;Ø  $�4ˆTØ× Ò   tÑ,Ô,Ð,Ð,Ð,r1   r   r‡   rˆ   r^   c                óÔ  — | j         €dS | j                              |d¦  «        }t          |t          j        ¦  «        r|                     d¦  «        }t          j        ¦   «         5  t          j        ddt          ¬¦  «         t          t          |¦  «        | j        ¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |t          ¦  «        sJ ‚|                     |¦  «        S )NrØ   zutf-8r­   r®   r¯   r^  )rÄ  rM   rF   r,   Úbytes_Údecoder¹   rº   r»   r¼   r   r�   r¡   r’   )r„   rg   r‡   r“   r·   s        r/   r›   z!TimeSeries_DateFormatter.__call__8  s)  € ØŒ?Ð"Ø�2à”/×%Ò% a¨Ñ,Ô,ˆCÝ˜#�rœyÑ)Ô)ð *Ø—j’j Ñ)Ô)�ÝÔ(Ñ*Ô*ð @ð @ÝÔ'ØØ9Ý*ðñ ô ð õ
  ­¨A©¬°T´YÐ?Ñ?Ô?�ð@ð @ð @ñ @ô @ð @ð @ð @ð @ð @ð @øøøð @ð @ð @ð @õ ˜f¥fÑ-Ô-Ð-Ð-Ð-Ø—?’? 3Ñ'Ô'Ð's   Á'A B3Â3B7Â:B7)FTN)r¡   r   r«  r<  r¬  r<  r"   rB   rœ   r�   rž   )
r}   r~   r   r½  r¾  r†   rË  rƒ   r›   Ú__classcell__©rÅ  s   @r/   rÀ  rÀ  þ  sª   ø€ € € € € € ðð ð €J€J�Jð
 $Ø!Øð'ð 'ð 'ð 'ð 'ð 'ð 'ð$	ð 	ð 	ð
-ð 
-ð 
-ð 
-ð 
-ð 
-ð(ð (ð (ð (ð (ð (ð (ð (ð (r1   rÀ  c                  óV   ‡ — e Zd ZU dZddˆ fd„Zded<   eddd„¦   «         Zddd„Zˆ xZ	S )ÚTimeSeries_TimedeltaFormatterzR
    Formats the ticks along an axis controlled by a :class:`TimedeltaIndex`.
    ÚnsrO   r   c                óV   •— || _         t          ¦   «                              ¦   «          d S r%   )rO   rÃ  r†   )r„   rO   rÅ  s     €r/   r†   z&TimeSeries_TimedeltaFormatter.__init__O  s&   ø€ ØˆŒ	Ý‰Œ×ÒÑÔÐÐÐr1   r   rm   é	   Ú
n_decimalsr�   Úexpr"   r^   c                ó˜  — t          | d|z  ¦  «        \  }}t          |d¦  «        \  }}t          |d¦  «        \  }}t          |d¦  «        \  }}t          |d||z
  z  z  ¦  «        }	t          |¦  «        d›dt          |¦  «        d›dt          |¦  «        d›�}|dk    r|d|	d|› d	�›�z  }|dk    rt          |¦  «        d	›d
|› �}|S )z8
        Convert seconds to 'D days HH:MM:SS.F'
        r  rU   r‹   Ú02dú:r   ú.Ú0r_   z days )r‘   r�   )
rg   r‡   r×  rØ  r”   rÔ  r˜   r™   r_   Údecimalss
             r/   Úformat_timedelta_ticksz4TimeSeries_TimedeltaFormatter.format_timedelta_ticksU  sô   € õ
 �q˜"˜c™'Ñ"Ô"‰ˆˆ2Ý�a˜‰}Œ}‰ˆˆ1Ý�a˜‰}Œ}‰ˆˆ1Ý�a˜‰}Œ}‰ˆˆ1Ý�r˜B :°Ñ#3Ñ4Ñ4Ñ5Ô5ˆÝ�1‰vŒvÐ5Ð5Ð5�C ™FœFÐ5Ð5Ð5­¨Q©¬Ð5Ð5Ð5ˆØ˜Š>ˆ>ØÐ.�XÐ. 
Ð.Ð.Ð.Ð.Ð.Ñ.ˆAØ�Š6ˆ6Ý�q‘6”6Ð&Ð&Ð& 1Ð&Ð&ˆAØˆr1   r   r‡   rˆ   c                ó\  — dddddœ| j                  }t          | j                             ¦   «         ¦  «        \  }}t	          t          t          j        t          j        dd|z  z  t          ||z
  ¦  «        z  ¦  «        ¦  «        ¦  «        |¦  «        }|  
                    ||||¦  «        S )NrÖ  r  rF  r   )rÔ  r—   r–   r”   r  r  )rO   rk   rm   rî   ra  r�   r,   ÚceilÚlog10rè   rß  )r„   rg   r‡   rØ  r"  r#  r×  s          r/   r›   z&TimeSeries_TimedeltaFormatter.__call__f  s˜   € Ø˜a q¨qÐ1Ð1°$´)Ô<ˆÝ˜TœY×8Ò8Ñ:Ô:Ñ;Ô;‰ˆˆtÝ��RœW¥R¤X¨c°B¸±G©m½cÀ$ÈÁ+Ñ>NÔ>NÑ.NÑ%OÔ%OÑPÔPÑQÔQÐSVÑWÔWˆ
Ø×*Ò*¨1¨c°:¸sÑCÔCÐCr1   )rÔ  )rO   r   )rÖ  )r×  r�   rØ  r�   r"   r^   r�   rž   )
r}   r~   r   r½  r†   r¾  r€   rß  r›   rÐ  rÑ  s   @r/   rÓ  rÓ  J  sž   ø€ € € € € € ðð ðð ð ð ð ð ð ð €J€J�Jàðð ð ð ñ „\ðð Dð Dð Dð Dð Dð Dð Dð Dð Dr1   rÓ  )r"   r#   )r2   r   r"   r   )r"   r<   rœ   )rQ   rR   r"   rS   rÁ   )r"   r%  )r0  r   r·   r^   r"   r1  )r0  r   r·   r^   r"   r7  )r;  r1  r"  rS   r"   r<  )r¡   r   r"   rB  )r"  rS   r#  rS   r¡   r   r"   r\  )gÚ
__future__r   Ú
contextlibr   r(   r   r9   Útypingr   r   r   r¹   Ú
matplotlibru   Úmatplotlib.datesr0  rË   Úmatplotlib.unitsÚunitsrD   Únumpyr,   Úpandas._libsr	   Úpandas._libs.tslibsr
   r   Úpandas._libs.tslibs.dtypesr   r   Úpandas._typingr   r   Úpandas.core.dtypes.commonr   r   r   r   r   Úpandasr   r   r   Úpandas.core.commonÚcoreÚcommonrÑ   Úpandas.core.indexes.datetimesr   Úpandas.core.indexes.periodr   r   r   Úpandas.core.tools.datetimesrÍ   Ú	datetimesÚcollections.abcr   Úmatplotlib.axisr   Úpandas._libs.tslibs.offsetsr   r   r!   r¾  r0   r;   Úcontextmanagerr5   r?   r@   r\   ra   ÚConversionInterfacer+   rv   Ú	Formatterrx   ÚDateConverterr'   r´   r&   râ   rÛ   rñ   rÚ   rû   rë   r/  r6  r3  rA  r[  Úcacherš  r¡  r£  r¥  r¨  ÚLocatorrª  rÀ  rÓ  re   r1   r/   ú<module>r     s”  ðØ "Ð "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø Ð Ð Ð ðð ð ð ð ð ð ð ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð
 €€€à Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !Ø !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð à Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ðð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð
ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð
 !Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4ðð ð ð ð ð ð ð ð ð ð
 ,Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +àð (Ø)Ð)Ð)Ð)Ð)Ð)à$Ð$Ð$Ð$Ð$Ð$à6Ð6Ð6Ð6Ð6Ð6Ø'Ð'Ð'Ð'Ð'Ð'ð €
Ð Ð Ð Ñ ð	ð 	ð 	ð 	ð
ð 
ð 
ð 
ð Ôðð ð ñ Ôðð*'ð 'ð 'ð 'ð.ð .ð .ð .ðð ð ð ð
ð ð ðð ð ð ð �FÔ.ñ ô ð ð6%1ð %1ð %1ð %1ð %1�C”JÔ(ñ %1ô %1ð %1ðV0ð 0ð 0ð 0ð 0�fÔ*ñ 0ô 0ð 0ðf	6ð 	6ð 	6ð 	6ðE
ð E
ð E
ð E
ð E
˜Ô,ñ E
ô E
ð E
ðPIð Ið Ið Ið I˜fÔ6ñ Iô Ið Ið
?ð ?ð ?ð ?ð ?˜FÔ2ñ ?ô ?ð ?ð4K,ð K,ð K,ð K,ð K,˜Ô+ñ K,ô K,ð K,ðj&ð &ð &ð &ð,ð ð ð ðð ð ð ðð ð ð ð !ð !ð !ð !ðH „ðDð Dð Dñ „ðDðN „ðDð Dð Dñ „ðDðN „ð,ð ,ð ,ñ „ð,ð^ „ðð ð ñ „ðð,Jð Jð Jð Jð"Q6ð Q6ð Q6ð Q6ð Q6˜SœZÔ/ñ Q6ô Q6ð Q6ðrI(ð I(ð I(ð I(ð I(˜sœzÔ3ñ I(ô I(ð I(ðX Dð  Dð  Dð  Dð  D C¤JÔ$8ñ  Dô  Dð  Dð  Dð  Dr1   