§
    Ð! h"J  ã                  óJ  — d dl mZ d dlmZmZ d dlmZ d dlZd dlZd dl	m
Z d dlmZmZmZmZmZ d dlmZ d dl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 dlm Z  d dl!m"Z"m#Z#m$Z$m%Z% d dl&m'c m(Z) d dl*m'c m+c m,Z- d dl*m.Z. d dl/m0Z0 d dl1m2Z2m3Z3 d dl4m5Z5 erd dl6m7Z7 d dl8m9Z9m:Z:m;Z;m<Z<  e=e-j>        ¦  «        Z>e> ?                    ddi¦  «         ddiZ@d„ ZA e5g d¢e"jB        z   e"d¬¦  «         e5dge"¦  «         G d„ de0¦  «        ¦   «         ¦   «         ZC	 	 	 	 	 d&d'd%„ZDdS )(é    )Úannotations)ÚdatetimeÚ	timedelta)ÚTYPE_CHECKINGN)Úindex)Ú
BaseOffsetÚNaTÚPeriodÚ
ResolutionÚTick)ÚOFFSET_TO_PERIOD_FREQSTR)Úcache_readonlyÚdoc)Úfind_stack_level)Ú
is_integer)ÚPeriodDtype)Ú	ABCSeries)Úis_valid_na_for_dtype)ÚPeriodArrayÚperiod_arrayÚraise_on_incompatibleÚvalidate_dtype_freq)Úmaybe_extract_name)ÚDatetimeIndexOpsMixin)ÚDatetimeIndexÚIndex)Úinherit_names)ÚHashable)ÚDtypeÚDtypeObjÚSelfÚnptÚtarget_klasszPeriodIndex or list of PeriodsÚklassr   c                óÜ   — |                      d¦  «        }|j        dk    rD|                      dd ¦  «        }t          |¦  «        }t          ||¬¦  «        } | j        |fi |¤ŽS  | |fi |¤ŽS )NÚdataÚint64Úfreq©Údtype)Úpopr*   r   r   Ú_simple_new)ÚclsÚdÚvaluesr(   r*   s        úTc:\xampp_lite_8_4\www\timesheet\venv\Lib\site-packages\pandas/core/indexes/period.pyÚ_new_PeriodIndexr1   D   s‚   € à�UŠU�6‰]Œ]€FØ„|�wÒÐØ�uŠu�V˜TÑ"Ô"ˆÝ˜DÑ!Ô!ˆÝ˜V¨5Ð1Ñ1Ô1ˆØˆsŒ˜vÐ+Ð+¨Ð+Ð+Ð+àˆs�6ÐÐ˜QÐÐÐó    )ÚstrftimeÚ
start_timeÚend_timeT)ÚwrapÚis_leap_yearc            
      ó&  ‡ — e Zd ZU dZdZded<   ded<   ded<   eZd	Ze	dHd„¦   «         Z
edId„¦   «         Z eej        fdddœe¤ŽdJdKd„¦   «         Z eej        ¦  «        dLdMd„¦   «         Ze	 eej        j        ¦  «        dNd„¦   «         ¦   «         Ze	 eej        j        ¦  «        dNd„¦   «         ¦   «         Ze	 eej        j        ¦  «        dNd„¦   «         ¦   «         Z	 	 	 	 	 	 dOdPd$„Zeddddddddd%œdQd&„¦   «         Zedd'œdQd(„¦   «         Ze	dRd*„¦   «         ZdSd,„ZdTd.„ZdUˆ fd3„Ze	dVd4„¦   «         Ze	dWd5„¦   «         Zˆ fd6„Zd7„ Z dXd;„Z!dYd>„Z" ee#j$        ¦  «        dZˆ fd@„¦   «         Z$d[dC„Z% ee#j&        ¦  «        d\d]dG„¦   «         Z&ˆ xZ'S )^ÚPeriodIndexaí  
    Immutable ndarray holding ordinal values indicating regular periods in time.

    Index keys are boxed to Period objects which carries the metadata (eg,
    frequency information).

    Parameters
    ----------
    data : array-like (1d int np.ndarray or PeriodArray), optional
        Optional period-like data to construct index with.
    copy : bool
        Make a copy of input ndarray.
    freq : str or period object, optional
        One of pandas period strings or corresponding objects.
    year : int, array, or Series, default None

        .. deprecated:: 2.2.0
           Use PeriodIndex.from_fields instead.
    month : int, array, or Series, default None

        .. deprecated:: 2.2.0
           Use PeriodIndex.from_fields instead.
    quarter : int, array, or Series, default None

        .. deprecated:: 2.2.0
           Use PeriodIndex.from_fields instead.
    day : int, array, or Series, default None

        .. deprecated:: 2.2.0
           Use PeriodIndex.from_fields instead.
    hour : int, array, or Series, default None

        .. deprecated:: 2.2.0
           Use PeriodIndex.from_fields instead.
    minute : int, array, or Series, default None

        .. deprecated:: 2.2.0
           Use PeriodIndex.from_fields instead.
    second : int, array, or Series, default None

        .. deprecated:: 2.2.0
           Use PeriodIndex.from_fields instead.
    dtype : str or PeriodDtype, default None

    Attributes
    ----------
    day
    dayofweek
    day_of_week
    dayofyear
    day_of_year
    days_in_month
    daysinmonth
    end_time
    freq
    freqstr
    hour
    is_leap_year
    minute
    month
    quarter
    qyear
    second
    start_time
    week
    weekday
    weekofyear
    year

    Methods
    -------
    asfreq
    strftime
    to_timestamp
    from_fields
    from_ordinals

    See Also
    --------
    Index : The base pandas Index type.
    Period : Represents a period of time.
    DatetimeIndex : Index with datetime64 data.
    TimedeltaIndex : Index of timedelta64 data.
    period_range : Create a fixed-frequency PeriodIndex.

    Examples
    --------
    >>> idx = pd.PeriodIndex.from_fields(year=[2000, 2002], quarter=[1, 3])
    >>> idx
    PeriodIndex(['2000Q1', '2002Q3'], dtype='period[Q-DEC]')
    Úperiodindexr   Ú_datar   r(   r   r*   TÚreturnútype[libindex.PeriodEngine]c                ó   — t           j        S ©N)ÚlibindexÚPeriodEngine©Úselfs    r0   Ú_engine_typezPeriodIndex._engine_type¼   s   € åÔ$Ð$r2   r   c                ó   — | j         j        S r?   )r*   Ú_resolution_objrB   s    r0   rF   zPeriodIndex._resolution_objÀ   s   € ð ŒzÔ)Ð)r2   zpandas.arrays.PeriodArray)ÚotherÚ
other_nameNÚEÚhowÚstrr!   c                óŠ   — | j                              ||¦  «        }t          | ¦  «                             || j        ¬¦  «        S ©N©Úname)r;   ÚasfreqÚtyper,   rO   ©rC   r(   rJ   Úarrs       r0   rP   zPeriodIndex.asfreqÉ   s<   € ð Œj×Ò  cÑ*Ô*ˆÝ�D‰zŒz×%Ò% c°´	Ð%Ñ:Ô:Ð:r2   Ústartr   c                ón   — | j                              ||¦  «        }t          j        || j        ¬¦  «        S rM   )r;   Úto_timestampr   r,   rO   rR   s       r0   rV   zPeriodIndex.to_timestampÓ   s1   € àŒj×%Ò% d¨CÑ0Ô0ˆÝÔ(¨°4´9Ð=Ñ=Ô=Ð=r2   r   c                óB   — t          | j        j        | j        ¬¦  «        S rM   )r   r;   ÚhourrO   rB   s    r0   rX   zPeriodIndex.hourØ   s   € õ �T”Z”_¨4¬9Ð5Ñ5Ô5Ð5r2   c                óB   — t          | j        j        | j        ¬¦  «        S rM   )r   r;   ÚminuterO   rB   s    r0   rZ   zPeriodIndex.minuteÝ   ó   € õ �T”ZÔ&¨T¬YÐ7Ñ7Ô7Ð7r2   c                óB   — t          | j        j        | j        ¬¦  «        S rM   )r   r;   ÚsecondrO   rB   s    r0   r]   zPeriodIndex.secondâ   r[   r2   FúDtype | NoneÚcopyÚboolrO   úHashable | Nonec                óZ  — h d£}d }	|s#t          |t          t          f¦  «        r|j        }	t	          |¦  «                             |¦  «        s>t          t          t	          |¦  «        |z
  ¦  «        ¦  «        }
t          d|
› �¦  «        ‚t          |¦  «        r(t          j        dt          t          ¦   «         ¬¦  «         |�(t          j        dt          t          ¦   «         ¬¦  «         t          ||| ¦  «        }|€2|€0|s|                      d ¦  «          | j        di |¤d|i¤Žj        }d}nÍ|r |�t%          d¦  «        ‚t%          d	¦  «        ‚t'          ||¦  «        }|r0t          || ¦  «        r |j        |k    r|                     |¦  «        }|€C|�At-          j        |t,          j        ¬
¦  «        }t3          |¦  «        }t5          ||¬
¦  «        }n$|�|�t%          d¦  «        ‚t7          ||¬¦  «        }|r|                     ¦   «         }|                      |||	¬¦  «        S )N>   ÚdayrX   ÚyearÚmonthrZ   r]   Úquarterz-__new__() got an unexpected keyword argument zXConstructing PeriodIndex from fields is deprecated. Use PeriodIndex.from_fields instead.)Ú
stacklevelz‚The 'ordinal' keyword in PeriodIndex is deprecated and will be removed in a future version. Use PeriodIndex.from_ordinals instead.r(   Fz Cannot pass both data and fieldsz#Cannot pass both ordinal and fieldsr)   z!Cannot pass both data and ordinal)r&   r(   )rO   Úrefs© )Ú
isinstancer   r   Ú_referencesÚsetÚissubsetÚnextÚiterÚ	TypeErrorÚlenÚwarningsÚwarnÚFutureWarningr   r   Ú_raise_scalar_data_errorÚfrom_fieldsr;   Ú
ValueErrorr   r(   rP   ÚnpÚasarrayr'   r   r   r   r_   r,   )r-   r&   Úordinalr(   r*   r_   rO   ÚfieldsÚvalid_field_setrh   Úarguments              r0   Ú__new__zPeriodIndex.__new__ê   sv  € ð
ð 
ð 
ˆð ˆØð 	$�
 4­%µÐ);Ñ<Ô<ð 	$ØÔ#ˆDå�6‰{Œ{×#Ò# OÑ4Ô4ð 
	Ý�D¥ V¡¤¨Ñ!>Ñ?Ô?Ñ@Ô@ˆHÝÐVÈHÐVÐVÑWÔWÐWÝ�‰[Œ[ð 	åŒMð3åÝ+Ñ-Ô-ð	ñ ô ð ð ÐåŒMðõ Ý+Ñ-Ô-ðñ ô ð õ " $¨¨cÑ2Ô2ˆàˆ<˜G˜Oàð 3à×,Ò,¨TÑ2Ô2Ð2Ø"�3”?Ð7Ð7 VÐ7Ð7°$Ð7Ð7Ð7Ô=ˆDØˆDˆDàð 	:ØÐÝ Ð!CÑDÔDÐDÝÐBÑCÔCÐCõ ' u¨dÑ3Ô3ˆDð
 ð )�
 4¨Ñ-Ô-ð )°$´)¸tÒ2CÐ2Cð —{’{ 4Ñ(Ô(�àˆ| Ð 3Ýœ* WµB´HÐ=Ñ=Ô=�Ý# DÑ)Ô)�Ý" 7°%Ð8Ñ8Ô8��ØÐ! gÐ&9Ý Ð!DÑEÔEÐEõ $¨°DÐ9Ñ9Ô9�àð 	Ø—9’9‘;”;ˆDà�Š˜t¨$°TˆÑ:Ô:Ð:r2   )rd   rf   re   rc   rX   rZ   r]   r(   c               ó¨   — |||||||dœ}	d„ |	                      ¦   «         D ¦   «         }	t          j        |	|¬¦  «        }
|                      |
¦  «        S )N)rd   rf   re   rc   rX   rZ   r]   c                ó   — i | ]
\  }}|®||“ŒS r?   ri   )Ú.0ÚkeyÚvalues      r0   ú
<dictcomp>z+PeriodIndex.from_fields.<locals>.<dictcomp>W  s#   € ÐSÐSÐS¡  eÀÐAR�#�uÐARÐARÐARr2   )r{   r(   )Úitemsr   Ú_from_fieldsr,   )r-   rd   rf   re   rc   rX   rZ   r]   r(   r{   rS   s              r0   rv   zPeriodIndex.from_fieldsA  sj   € ð ØØØØØØð
ð 
ˆð TÐS¨v¯|ª|©~¬~ÐSÑSÔSˆÝÔ&¨f¸4Ð@Ñ@Ô@ˆØ�Š˜sÑ#Ô#Ð#r2   rN   c               óº   — t          j        |t           j        ¬¦  «        }t          |¦  «        }t	          j        ||¬¦  «        }|                      ||¬¦  «        S )Nr)   rN   )rx   ry   r'   r   r   r,   )r-   Úordinalsr(   rO   r*   r&   s         r0   Úfrom_ordinalszPeriodIndex.from_ordinals[  sP   € å”:˜h­b¬hÐ7Ñ7Ô7ˆÝ˜DÑ!Ô!ˆÝÔ& x°uÐ=Ñ=Ô=ˆØ�Š˜t¨$ˆÑ/Ô/Ð/r2   únpt.NDArray[np.object_]c                ó8   — t          j        | t          ¬¦  «        S )Nr)   )rx   ry   ÚobjectrB   s    r0   r/   zPeriodIndex.valuese  s   € åŒz˜$¥fÐ-Ñ-Ô-Ð-r2   úint | npt.NDArray[np.int64]c                óÆ  — t          |t          t          j        t          t          j        f¦  «        r7t          | j        t          ¦  «        r| j                             |¦  «        }|S nit          |t          ¦  «        r,|j
        | j        j
        k    r|j        S t          | |¦  «        ‚t          |¦  «        rt          |t          ¦  «        sJ ‚|S t          | d¦  «        ‚)aÅ  
        Convert timedelta-like input to an integer multiple of self.freq

        Parameters
        ----------
        other : timedelta, np.timedelta64, DateOffset, int, np.ndarray

        Returns
        -------
        converted : int, np.ndarray[int64]

        Raises
        ------
        IncompatibleFrequency : if the input cannot be written as a multiple
            of self.freq.  Note IncompatibleFrequency subclasses ValueError.
        N)rj   r   rx   Útimedelta64r   Úndarrayr(   r;   Ú _check_timedeltalike_freq_compatr   ÚbaseÚnr   r   Úint)rC   rG   Údeltas      r0   Ú_maybe_convert_timedeltaz$PeriodIndex._maybe_convert_timedeltai  sÏ   € õ" �e�i­¬½½r¼zÐJÑKÔKð 	Ý˜$œ)¥TÑ*Ô*ð àœ
×CÒCÀEÑJÔJ�Ø�ðõ ˜�zÑ*Ô*ð 	ØŒz˜TœYœ^Ò+Ð+Ø”w�å'¨¨eÑ4Ô4Ð4Ý˜ÑÔð 	Ý˜e¥SÑ)Ô)Ð)Ð)Ð)ØˆLõ $ D¨$Ñ/Ô/Ð/r2   r    c                ó   — | j         |k    S )zF
        Can we compare values of the given dtype to our own?
        r)   )rC   r*   s     r0   Ú_is_comparable_dtypez PeriodIndex._is_comparable_dtype‹  s   € ð Œz˜UÒ"Ð"r2   ÚwhereÚmaskúnpt.NDArray[np.bool_]ú
np.ndarrayc                óò   •— t          |t          ¦  «        rt          |j        | j        ¬¦  «        }n$t          |t          ¦  «        st          d¦  «        ‚t          ¦   «                              ||¦  «        S )z�
        where : array of timestamps
        mask : np.ndarray[bool]
            Array of booleans where data is not NA.
        ©r(   z6asof_locs `where` must be DatetimeIndex or PeriodIndex)rj   r   r9   Ú_valuesr(   rp   ÚsuperÚ	asof_locs)rC   r™   rš   Ú	__class__s      €r0   r¡   zPeriodIndex.asof_locs”  sl   ø€ õ �e�]Ñ+Ô+ð 	VÝ ¤°D´IÐ>Ñ>Ô>ˆEˆEÝ˜E¥;Ñ/Ô/ð 	VÝÐTÑUÔUÐUå‰wŒw× Ò  ¨Ñ-Ô-Ð-r2   c                óÖ   — t          | ¦  «        dk    rdS | j        st          d¦  «        ‚| j        }t	          |dd…         |dd…         z
  dk                          ¦   «         ¦  «        S )z‰
        Returns True if this PeriodIndex is range-like in that all Periods
        between start and end are present, in order.
        r   TzIndex is not monotonicé   Néÿÿÿÿé   )rq   Úis_monotonic_increasingrw   Úasi8r`   Úall)rC   r/   s     r0   Úis_fullzPeriodIndex.is_full¡  sm   € õ ˆt‰9Œ9˜Š>ˆ>Ø�4ØÔ+ð 	7ÝÐ5Ñ6Ô6Ð6Ø”ˆÝ�f˜Q˜R˜R”j 6¨#¨2¨#¤;Ñ.°!Ò3×8Ò8Ñ:Ô:Ñ;Ô;Ð;r2   c                ó   — dS )NÚperiodri   rB   s    r0   Úinferred_typezPeriodIndex.inferred_type®  s	   € ð ˆxr2   c                ó–   •— t          ¦   «                              ||¦  «        }| j        |j        k    r|                      |¦  «        }|S r?   )r    Ú_convert_tolerancer*   r–   )rC   Ú	toleranceÚtargetr¢   s      €r0   r¯   zPeriodIndex._convert_tolerance·  sF   ø€ õ
 ‘G”G×.Ò.¨y¸&ÑAÔAˆ	àŒ:˜œÒ%Ð%à×5Ò5°iÑ@Ô@ˆIàÐr2   c                óL  — |}|                       |¦  «         t          || j        ¦  «        r	t          }�n8t	          |t
          ¦  «        r¾	 |                      |¦  «        \  }}n&# t          $ r}t          d|› d�¦  «        |‚d}~ww xY w|  	                    |¦  «        r9	 |  
                    ||¦  «        S # t          $ r}t          |¦  «        |‚d}~ww xY w|| j        k    r|                      |¦  «        }ntt          |¦  «        ‚t	          |t          ¦  «        r|                      |¦  «         n:t	          |t          ¦  «        r|                      |¦  «        }nt          |¦  «        ‚	 t!          j        | |¦  «        S # t          $ r}t          |¦  «        |‚d}~ww xY w)a»  
        Get integer location for requested label.

        Parameters
        ----------
        key : Period, NaT, str, or datetime
            String or datetime key must be parsable as Period.

        Returns
        -------
        loc : int or ndarray[int64]

        Raises
        ------
        KeyError
            Key is not present in the index.
        TypeError
            If key is listlike or otherwise not hashable.
        zCannot interpret 'z' as periodN)Ú_check_indexing_errorr   r*   r	   rj   rK   Ú_parse_with_resorw   ÚKeyErrorÚ_can_partial_date_sliceÚ_partial_date_slicerF   Ú_cast_partial_indexing_scalarr
   Ú_disallow_mismatched_indexingr   r   Úget_loc)rC   r‚   Úorig_keyÚparsedÚresoÚerrs         r0   rº   zPeriodIndex.get_locÄ  sß  € ð( ˆà×"Ò" 3Ñ'Ô'Ð'å   d¤jÑ1Ô1ð 	 ÝˆC‰Cå˜�SÑ!Ô!ð 	 ðOØ#×4Ò4°SÑ9Ô9‘�˜˜øÝð Oð Oð OåÐD°CÐDÐDÐDÑEÔEÈ3ÐNøøøøðOøøøð ×+Ò+¨DÑ1Ô1ð 1ð1Ø×3Ò3°D¸&ÑAÔAÐAøÝð 1ð 1ð 1Ý" 3™-œ-¨SÐ0øøøøð1øøøð �tÔ+Ò+Ð+ð ×8Ò8¸Ñ@Ô@��å˜s‘m”mÐ#å˜�VÑ$Ô$ð 	 Ø×.Ò.¨sÑ3Ô3Ð3Ð3å˜�XÑ&Ô&ð 	 Ø×4Ò4°SÑ9Ô9ˆCˆCõ ˜3‘-”-Ðð	.Ý”=  sÑ+Ô+Ð+øÝð 	.ð 	.ð 	.Ý˜8Ñ$Ô$¨#Ð-øøøøð	.øøøsH   ÁA% Á%
BÁ/BÂBÂ!B7 Â7
CÃCÃCÅ/F Æ
F#ÆFÆF#r‚   r
   ÚNonec                óD   — |j         | j        k    rt          |¦  «        ‚d S r?   )Ú_dtyper*   rµ   )rC   r‚   s     r0   r¹   z)PeriodIndex._disallow_mismatched_indexing  s%   € ØŒ:˜œÒ#Ð#Ý˜3‘-”-Ðð $Ð#r2   Úlabelr   c                óz   — 	 t          || j        ¬¦  «        }n"# t          $ r}t          |¦  «        |‚d }~ww xY w|S )Nrž   )r
   r(   rw   rµ   )rC   rÂ   r¬   r¾   s       r0   r¸   z)PeriodIndex._cast_partial_indexing_scalar  sQ   € ð	+Ý˜E¨¬	Ð2Ñ2Ô2ˆFˆFøÝð 	+ð 	+ð 	+å˜5‘/”/ sÐ*øøøøð	+øøøð ˆs   ‚ ™
8£3³8Úsidec                óœ   •— t          |t          ¦  «        r|                      |¦  «        }t          ¦   «                              ||¦  «        S r?   )rj   r   r¸   r    Ú_maybe_cast_slice_bound)rC   rÂ   rÄ   r¢   s      €r0   rÆ   z#PeriodIndex._maybe_cast_slice_bound  sB   ø€ å�e�XÑ&Ô&ð 	>Ø×6Ò6°uÑ=Ô=ˆEå‰wŒw×.Ò.¨u°dÑ;Ô;Ð;r2   r½   r¼   c                óÒ   — t          j        |j        |j        ¦  «        }t          ||¬¦  «        }|                     | j        d¬¦  «        |                     | j        d¬¦  «        fS )Nrž   rT   )rJ   Úend)r   ÚgetÚattr_abbrevr
   rP   r(   )rC   r½   r¼   r(   Úivs        r0   Ú_parsed_string_to_boundsz$PeriodIndex._parsed_string_to_bounds  s[   € Ý'Ô+¨DÔ,<¸dÔ>NÑOÔOˆÝ�F Ð&Ñ&Ô&ˆØ—	’	˜$œ)¨�	Ñ1Ô1°2·9²9¸T¼YÈE°9Ñ3RÔ3RÐSÐSr2   r¤   Úperiodsr”   c                óZ   — |�%t          dt          | ¦  «        j        › d�¦  «        ‚| |z   S )Nz%`freq` argument is not supported for z.shift)rp   rQ   Ú__name__)rC   rÍ   r(   s      r0   ÚshiftzPeriodIndex.shift  s=   € àÐÝØS½¸T¹
¼
Ô8KÐSÐSÐSñô ð ð �g‰~Ðr2   )r<   r=   )r<   r   )NrI   )rJ   rK   r<   r!   )NrT   )rJ   rK   r<   r   )r<   r   )NNNNFN)r*   r^   r_   r`   rO   ra   r<   r!   )r<   r!   )r<   rŠ   )r<   r�   )r*   r    r<   r`   )r™   r   rš   r›   r<   rœ   )r<   r`   )r<   rK   )r‚   r
   r<   r¿   )rÂ   r   r<   r
   )rÄ   rK   )r½   r   r¼   r   )r¤   N)rÍ   r”   r<   r!   )(rÏ   Ú
__module__Ú__qualname__Ú__doc__Ú_typÚ__annotations__r   Ú	_data_clsÚ!_supports_partial_string_indexingÚpropertyrD   r   rF   r   rP   Ú_shared_doc_kwargsrV   rX   ÚfgetrZ   r]   r~   Úclassmethodrv   r‰   r/   r–   r˜   r¡   rª   r­   r¯   rº   r¹   r¸   r   rÆ   rÌ   rÐ   Ú__classcell__)r¢   s   @r0   r9   r9   P   sû  ø€ € € € € € ðZð Zðx €DàÐÐÑØÐÐÑØÐÐÑà€IØ(,Ð%àð%ð %ð %ñ „Xð%ð ð*ð *ð *ñ „^ð*ð 	€SØÔðà)Ø ðð ð ð	ð ð;ð ;ð ;ð ;ñô ð;ð 	€SˆÔ	!Ñ"Ô"ð>ð >ð >ð >ñ #Ô"ð>ð Ø€SˆÔ	Ô	ÑÔð6ð 6ð 6ñ  Ôñ „Xð6ð Ø€SˆÔ	Ô	 Ñ!Ô!ð8ð 8ð 8ñ "Ô!ñ „Xð8ð Ø€SˆÔ	Ô	 Ñ!Ô!ð8ð 8ð 8ñ "Ô!ñ „Xð8ð ØØØ"ØØ $ðU;ð U;ð U;ð U;ð U;ðn ð ØØØØØØØð$ð $ð $ð $ð $ñ „[ð$ð2 Ø37ð 0ð 0ð 0ð 0ð 0ñ „[ð0ð ð.ð .ð .ñ „Xð.ð 0ð  0ð  0ð  0ðD#ð #ð #ð #ð.ð .ð .ð .ð .ð .ð ð
<ð 
<ð 
<ñ „Xð
<ð ðð ð ñ „Xððð ð ð ð ð<.ð <.ð <.ð| ð  ð  ð  ðð ð ð ð 	€SÐ	Ô	6Ñ7Ô7ð<ð <ð <ð <ð <ñ 8Ô7ð<ðTð Tð Tð Tð
 	€SÐ	Ô	$Ñ%Ô%ðð ð ð ñ &Ô%ðð ð ð ð r2   r9   rÍ   ú
int | NonerO   ra   r<   c                óF  — t          j        | ||¦  «        dk    rt          d¦  «        ‚|€,t          | t          ¦  «        st          |t          ¦  «        sd}t          j        | |||¦  «        \  }}t          |¦  «        }t          ||¬¦  «        }t          ||¬¦  «        S )a  
    Return a fixed frequency PeriodIndex.

    The day (calendar) is the default frequency.

    Parameters
    ----------
    start : str, datetime, date, pandas.Timestamp, or period-like, default None
        Left bound for generating periods.
    end : str, datetime, date, pandas.Timestamp, or period-like, default None
        Right bound for generating periods.
    periods : int, default None
        Number of periods to generate.
    freq : str or DateOffset, optional
        Frequency alias. By default the freq is taken from `start` or `end`
        if those are Period objects. Otherwise, the default is ``"D"`` for
        daily frequency.
    name : str, default None
        Name of the resulting PeriodIndex.

    Returns
    -------
    PeriodIndex

    Notes
    -----
    Of the three parameters: ``start``, ``end``, and ``periods``, exactly two
    must be specified.

    To learn more about the frequency strings, please see `this link
    <https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#offset-aliases>`__.

    Examples
    --------
    >>> pd.period_range(start='2017-01-01', end='2018-01-01', freq='M')
    PeriodIndex(['2017-01', '2017-02', '2017-03', '2017-04', '2017-05', '2017-06',
             '2017-07', '2017-08', '2017-09', '2017-10', '2017-11', '2017-12',
             '2018-01'],
            dtype='period[M]')

    If ``start`` or ``end`` are ``Period`` objects, they will be used as anchor
    endpoints for a ``PeriodIndex`` with frequency matching that of the
    ``period_range`` constructor.

    >>> pd.period_range(start=pd.Period('2017Q1', freq='Q'),
    ...                 end=pd.Period('2017Q2', freq='Q'), freq='M')
    PeriodIndex(['2017-03', '2017-04', '2017-05', '2017-06'],
                dtype='period[M]')
    r¦   zOOf the three parameters: start, end, and periods, exactly two must be specifiedNÚDr)   rN   )	ÚcomÚcount_not_nonerw   rj   r
   r   Ú_generate_ranger   r9   )rT   rÈ   rÍ   r(   rO   r&   r*   s          r0   Úperiod_rangerã   #  sª   € õp Ô˜%  gÑ.Ô.°!Ò3Ð3Ýð,ñ
ô 
ð 	
ð €|�Z¨­vÑ6Ô6€|½zÈ#ÍvÑ?VÔ?V€|ØˆåÔ,¨U°C¸À$ÑGÔG�J€Dˆ$Ý˜ÑÔ€EÝ�t 5Ð)Ñ)Ô)€DÝ�t $Ð'Ñ'Ô'Ð'r2   )NNNNN)rÍ   rÝ   rO   ra   r<   r9   )EÚ
__future__r   r   r   Útypingr   rr   Únumpyrx   Úpandas._libsr   r@   Úpandas._libs.tslibsr   r	   r
   r   r   Úpandas._libs.tslibs.dtypesr   Úpandas.util._decoratorsr   r   Úpandas.util._exceptionsr   Úpandas.core.dtypes.commonr   Úpandas.core.dtypes.dtypesr   Úpandas.core.dtypes.genericr   Úpandas.core.dtypes.missingr   Úpandas.core.arrays.periodr   r   r   r   Úpandas.core.commonÚcoreÚcommonrà   Úpandas.core.indexes.baseÚindexesr’   Úibaser   Ú pandas.core.indexes.datetimeliker   Úpandas.core.indexes.datetimesr   r   Úpandas.core.indexes.extensionr   Úcollections.abcr   Úpandas._typingr   r    r!   r"   ÚdictÚ_index_doc_kwargsÚupdaterÙ   r1   Ú
_field_opsr9   rã   ri   r2   r0   ú<module>r      s™  ðØ "Ð "Ð "Ð "Ð "Ð "ðð ð ð ð ð ð ð ð !Ð  Ð  Ð  Ð  Ð  Ø €€€à Ð Ð Ð à *Ð *Ð *Ð *Ð *Ð *ðð ð ð ð ð ð ð ð ð ð ð ð ð ð @Ð ?Ð ?Ð ?Ð ?Ð ?ðð ð ð ð ð ð ð ð 5Ð 4Ð 4Ð 4Ð 4Ð 4à 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø <Ð <Ð <Ð <Ð <Ð <ðð ð ð ð ð ð ð ð ð ð ð ð !Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ø (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø BÐ BÐ BÐ BÐ BÐ Bðð ð ð ð ð ð ð ð 8Ð 7Ð 7Ð 7Ð 7Ð 7àð Ø(Ð(Ð(Ð(Ð(Ð(ðð ð ð ð ð ð ð ð ð ð ð ð �D˜Ô0Ñ1Ô1Ð Ø × Ò ˜.Ð*JÐKÑ LÔ LÐ Làˆ]ðÐ ð	 ð 	 ð 	 ð €Ø*Ð*Ð*¨[Ô-CÑCØØ	ðñ ô ð
 €�Ð Ñ-Ô-ðJð Jð Jð Jð JÐ'ñ Jô Jñ .Ô-ñô ðJð\ ØØØ	Ø ðC(ð C(ð C(ð C(ð C(ð C(ð C(r2   