§
    ƒÛgH…  ã                   óD  — d Z ddlZddlZddlZddlmZ ddlmZm	Z	 ddl
mZ ddlmZmZmZm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 ej                             d¦  «        xZZ eeej        ¦  «        Zej         fdz  Z!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&dHd„Z'dHd„Z(d„ Z)d„ Z* eeg d¢¦  «        Z+ eeg d¢¦  «        Z, eeg d¢¦  «        Z- eeg d¢¦  «        Z. eej/        ¦  «         eej         ¦  «        d„ ¦   «         ¦   «         Z0 eej1        ej         ¦  «        d„ ¦   «         Z2 eej3        ej         ¦  «        d„ ¦   «         Z4 ee5ej         ¦  «        d„ ¦   «         Z6d„ Z7 eej8        ge!¢R Ž  eej9        ge!¢R Ž d „ ¦   «         ¦   «         Z: eej;        ge!¢R Ž  eej<        ge!¢R Ž d!„ ¦   «         ¦   «         Z=d"„ Z> eej?        ej         ej@        ¦  «         eejA        ej         ej@        ¦  «         eej?        ej         ejB        ¦  «         eejA        ej         ejB        ¦  «        d#„ ¦   «         ¦   «         ¦   «         ¦   «         ZC eej?        ej@        ej         ¦  «         eejA        ej@        ej         ¦  «         eej?        ejB        ej         ¦  «         eejA        ejB        ej         ¦  «        d$„ ¦   «         ¦   «         ¦   «         ¦   «         ZD eejE        ej         ej@        ¦  «         eejF        ej         ej@        ¦  «         eejG        ej         ej@        ¦  «         eejH        ej         ej@        ¦  «         eejE        ej         ejB        ¦  «         eejF        ej         ejB        ¦  «         eejG        ej         ejB        ¦  «         eejH        ej         ejB        ¦  «        d%„ ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ZI eejE        ge!¢R Ž  eejF        ge!¢R Ž d&„ ¦   «         ¦   «         ZJ eejG        ge!¢R Ž d'„ ¦   «         ZKd(„ ZLd)„ ZMd*„ ZN eMd+e	jO        ¦  «        ZP eMd,e	jQ        ¦  «        ZR eNd-¦  «        ZS eNd.¦  «        ZT eNd/¦  «        ZU eNd0¦  «        ZVejW        ePfejX        eRfejY        eSfejZ        eTfej[        eUfej\        eVffD ]\  Z]Z^  ee]ge!¢R Ž e^¦  «         Œd1„ Z_d2„ Z`d3„ Zad4„ Zbd5„ Zc ecd6¦  «        Zd ecd7¦  «        Ze eej8        ej/        ej         ¦  «         eej9        ej/        ej         ¦  «        d8„ ¦   «         ¦   «         Zf eej8        ej         ej/        ¦  «         eej9        ej         ej/        ¦  «        d9„ ¦   «         ¦   «         Zg eej;        ej/        ej         ¦  «         eej<        ej/        ej         ¦  «        d:„ ¦   «         ¦   «         Zh eej;        ej/        ej/        ¦  «        d;„ ¦   «         Zid<„ Zj ejd+¦  «        Zk ejd,¦  «        Zl ejd-¦  «        Zm ejd.¦  «        Zn ejd/¦  «        Zo ejd0¦  «        ZpejW        ekfejX        elfejY        emfejZ        enfej[        eofej\        epffD ] \  ZqZ^  eeqgej/        gdz  ¢R Ž e^¦  «         Œ!d=„ Zr erd>¦  «        Zs erd?¦  «        Ztd@„ Zu eud>¦  «        Zv eud?¦  «        ZwdA„ Zx exd>¦  «        Zy exd?¦  «        ZzdB„ Z{ e{d>¦  «        Z| e{d?¦  «        Z}dC„ Z~ eej        ej/        ¦  «         eej        ej         ¦  «        dD„ ¦   «         ¦   «         Z€ eej/        ej@        ¦  «         eej         ej@        ¦  «        dE„ ¦   «         ¦   «         Z� eej         dF¦  «         eej/        dF¦  «        dG„ ¦   «         ¦   «         Z‚  eejƒ        ej/        ej/        ¦  «        ev¦  «           eejƒ        ej         ej         ¦  «        ev¦  «           eej„        ej/        ej/        ¦  «        es¦  «           eej„        ej         ej         ¦  «        es¦  «         dS )Iz4
Implementation of operations on numpy timedelta64.
é    N)ÚConstant)ÚtypesÚcgutils)Úcreate_constant_array)Úlower_builtinÚlower_constantÚimpl_ret_untrackedÚ
lower_cast)Únpdatetime_helpersÚnumpy_supportÚnpyfuncs)Úoverload_method©Ú	IS_32BITS)ÚLoweringErroré@   é   c                 óT   — |                       |t          t          |¦  «        ¦  «        S )z2
    Multiply *val* by the constant *factor*.
    )Úmulr   ÚTIMEDELTA64©ÚbuilderÚvalÚfactors      úI/granary/edev/quantum/lib/python3.11/site-packages/numba/np/npdatetime.pyÚscale_by_constantr      s"   € ð �;Š;�s�H¥[°&Ñ9Ô9Ñ:Ô:Ð:ó    c                 óT   — |                       |t          t          |¦  «        ¦  «        S )z0
    Divide *val* by the constant *factor*.
    )Úsdivr   r   r   s      r   Úunscale_by_constantr    "   s"   € ð �<Š<˜�X¥k°6Ñ:Ô:Ñ;Ô;Ð;r   c                 óT   — |                       |t          t          |¦  «        ¦  «        S )z(
    Add constant *const* to *val*.
    )Úaddr   r   )r   r   Úconsts      r   Úadd_constantr$   )   s"   € ð �;Š;�s�H¥[°%Ñ8Ô8Ñ9Ô9Ð9r   c                 ó¨   — t          j        |j        |j        ¦  «        }|€!d|j        › d|j        › �}t          |¦  «        ‚t	          |||¦  «        S )zk
    Scale the timedelta64 *val* from *srcty* to *destty*
    (both numba.types.NPTimedelta instances)
    Nz cannot convert timedelta64 from ú to )r   Úget_timedelta_conversion_factorÚunitr   r   )Úcontextr   r   ÚsrctyÚdesttyr   Úmsgs          r   Úscale_timedeltar-   0   s]   € õ
  Ô?ØŒ
�F”Kñ!ô !€Fà€~àN°´ÐNÐNÀÄÐNÐNˆÝ˜CÑ Ô Ð Ý˜W c¨6Ñ2Ô2Ð2r   c                 óü   — t          j        |j        |j        ¦  «        }|�t          |||¦  «        |fS t          j        |j        |j        ¦  «        }|�|t          |||¦  «        fS t	          d|›d|›�¦  «        ‚)ze
    Scale either *left* or *right* to the other's unit, in order to have
    homogeneous units.
    Nzcannot normalize z and )r   r'   r(   r   ÚRuntimeError)r)   r   ÚleftÚrightÚlefttyÚrighttyr   s          r   Únormalize_timedeltasr4   >   s�   € õ
  Ô?ØŒ�W”\ñ#ô #€FàÐÝ  ¨$°Ñ7Ô7¸Ð>Ð>ÝÔ?ØŒ�f”kñ#ô #€FàÐØÕ& w°°vÑ>Ô>Ð>Ð>å
ˆ,°v°v°v¸w¸wÐGÑ
HÔ
HÐHr   Úretc                 ót   — t          j        | t          |¬¦  «        }|                      t          |¦  «         |S )zM
    Allocate a NaT-initialized datetime64 (or timedelta64) result slot.
    ©Úname)r   Úalloca_oncer   ÚstoreÚNAT©r   r8   r5   s      r   Úalloc_timedelta_resultr=   O   s4   € õ Ô
˜g¥{¸Ð
>Ñ
>Ô
>€CØ‡M‚M•#�sÑÔÐØ€Jr   c                 ón   — t          j        | t          j                             d¦  «        |¬¦  «        }|S )z8
    Allocate an uninitialized boolean result slot.
    é   r7   )r   r9   ÚllvmliteÚirÚIntTyper<   s      r   Úalloc_boolean_resultrC   X   s0   € õ Ô
˜g¥x¤{×':Ò':¸1Ñ'=Ô'=ÀDÐ
IÑ
IÔ
I€CØ€Jr   c                 ó:   — |                       d|t          ¦  «        S )z?
    Return a predicate which is true if *val* is not NaT.
    ú!=)Úicmp_unsignedr;   )r   r   s     r   Ú
is_not_natrG   `   s   € ð × Ò   s­CÑ0Ô0Ð0r   c                 ó¾   — t          |¦  «        dk    sJ ‚t          | |d         ¦  «        }|dd…         D ]&}|                      |t          | |¦  «        ¦  «        }Œ'|S )zH
    Return a predicate which is true if all of *vals* are not NaT.
    r?   r   N)ÚlenrG   Úand_)r   ÚvalsÚpredr   s       r   Úare_not_natrM   g   se   € õ ˆt‰9Œ9˜Š>ˆ>ˆ>ˆ>Ý�g˜t AœwÑ'Ô'€DØ�A�B�BŒxð <ð <ˆØ�|Š|˜D¥*¨W°cÑ":Ô":Ñ;Ô;ˆˆØ€Kr   )é   é   rN   é   rN   rP   rN   rN   rP   rN   rP   rN   )rN   é   rN   rP   rN   rP   rN   rN   rP   rN   rP   rN   )r   rN   é;   éZ   éx   é—   éµ   éÔ   éó   i  i0  iN  )r   rN   é<   é[   éy   é˜   é¶   éÕ   éô   i  i1  iO  c                 óZ   — t          |                     t          j        ¦  «        ¦  «        S ©N)Ú
DATETIME64ÚastypeÚnpÚint64)r)   r   ÚtyÚpyvals       r   Údatetime_constantrh   €   s    € õ �e—l’l¥2¤8Ñ,Ô,Ñ-Ô-Ð-r   c                 ó@   — |d         }t          | ||j        |¦  «        S ©Nr   )r	   Úreturn_type©r)   r   ÚsigÚargsÚress        r   Útimedelta_pos_implrp   ˆ   s!   € à
ˆqŒ'€CÝ˜g w°´ÀÑEÔEÐEr   c                 óf   — |                      |d         ¦  «        }t          | ||j        |¦  «        S rj   )Únegr	   rk   rl   s        r   Útimedelta_neg_implrs   Ž   s-   € à
�+Š+�d˜1”gÑ
Ô
€CÝ˜g w°´ÀÑEÔEÐEr   c                 óì  — |\  }t          |¦  «        }|                     t          j        ||¦  «        ¦  «        5 \  }}|5  |                     |                     |¦  «        |¦  «         d d d ¦  «         n# 1 swxY w Y   |5  |                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |                     |¦  «        }t          | ||j        |¦  «        S ra   )	r=   Úif_elser   Úis_scalar_negr:   rr   Úloadr	   rk   )	r)   r   rm   rn   r   r5   ÚthenÚ	otherwisero   s	            r   Útimedelta_abs_implrz   ”   sŸ  € à�D€CÝ
  Ñ
)Ô
)€CØ	�Š�Ô.¨w¸Ñ<Ô<Ñ	=Ô	=ð $ÑARÀ$È	Øð 	1ð 	1Ø�MŠM˜'Ÿ+š+ cÑ*Ô*¨CÑ0Ô0Ð0ð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1àð 	$ð 	$Ø�MŠM˜#˜sÑ#Ô#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $ð
 �,Š,�sÑ
Ô
€CÝ˜g w°´ÀÑEÔEÐEsY   ¼B?Á*A8Á,B?Á8A<	Á<B?Á?A<	Â B?ÂB(ÂB?Â(B,	Â,B?Â/B,	Â0B?Â?CÃCc           
      ó„  — |\  }t          |¦  «        }t          t          d¦  «        }|                     |                     d||¦  «        ¦  «        5 \  }}|5  |                     t          t          d¦  «        |¦  «         ddd¦  «         n# 1 swxY w Y   |5  |                     |                     d||¦  «        ¦  «        5 \  }	}
|	5  |                     t          t          d¦  «        |¦  «         ddd¦  «         n# 1 swxY w Y   |
5  |                     t          t          d¦  «        |¦  «         ddd¦  «         n# 1 swxY w Y   ddd¦  «         n# 1 swxY w Y   ddd¦  «         n# 1 swxY w Y   ddd¦  «         n# 1 swxY w Y   |                     |¦  «        }t          | ||j	        |¦  «        S )z
    np.sign(timedelta64)
    r   ú>r?   Nú==éÿÿÿÿ)
r=   r   r   ru   Úicmp_signedr:   rF   rw   r	   rk   )r)   r   rm   rn   r   r5   ÚzeroÚgt_zeroÚle_zeroÚeq_zeroÚlt_zeroro   s               r   Útimedelta_sign_implr…   ¡   sg  € ð �D€CÝ
  Ñ
)Ô
)€CÝ•K Ñ#Ô#€DØ	�Š˜×,Ò,¨S°#°tÑ<Ô<ñ 
ô 
ð 
BÙ0˜w¨Øð 	9ð 	9Ø�MŠM�(¥;°Ñ2Ô2°CÑ8Ô8Ð8ð	9ð 	9ð 	9ñ 	9ô 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9øøøð 	9ð 	9ð 	9ð 	9àð 	Bð 	BØ—’ ×!6Ò!6°t¸SÀ$Ñ!GÔ!Gñ #ô #ð BÙ&8 w°Øð Að AØ—M’M¥(­;¸Ñ":Ô":¸CÑ@Ô@Ð@ðAð Að Añ Aô Að Að Að Að Að Að Aøøøð Að Að Að Aàð Bð BØ—M’M¥(­;¸Ñ";Ô";¸SÑAÔAÐAðBð Bð Bñ Bô Bð Bð Bð Bð Bð Bð Bøøøð Bð Bð Bð Bð	Bð Bð Bñ Bô Bð Bð Bð Bð Bð Bð Bøøøð Bð Bð Bð Bð	Bð 	Bð 	Bñ 	Bô 	Bð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bøøøð 	Bð 	Bð 	Bð 	Bð	
Bð 
Bð 
Bñ 
Bô 
Bð 
Bð 
Bð 
Bð 
Bð 
Bð 
Bøøøð 
Bð 
Bð 
Bð 
Bð �,Š,�sÑ
Ô
€CÝ˜g w°´ÀÑEÔEÐEsÆ   ÁFÁ*BÂFÂB	ÂFÂB	ÂFÂ+E4ÃEÃ*D	Ã7EÄDÄEÄ
DÄEÄ*E	Ä:EÅE
Å
EÅE
ÅEÅE4ÅE!Å!E4Å$E!Å%E4Å(FÅ4E8	Å8FÅ;E8	Å<FÆFÆFc                 óÄ  — |\  }}|j         \  }}t          |¦  «        }t          j        |t	          |||g¦  «        ¦  «        5  t          | ||||j        ¦  «        }t          | ||||j        ¦  «        }|                     |                     ||¦  «        |¦  «         d d d ¦  «         n# 1 swxY w Y   | 	                    |¦  «        }	t          | ||j        |	¦  «        S ra   )rn   r=   r   Ú	if_likelyrM   r-   rk   r:   r"   rw   r	   ©
r)   r   rm   rn   ÚvaÚvbÚtaÚtbr5   ro   s
             r   Útimedelta_add_implr�   ·   ó  € ð �H€RˆØŒx�H€RˆÝ
  Ñ
)Ô
)€CÝ	Ô	˜7¥K°¸"¸b¸Ñ$BÔ$BÑ	CÔ	Cð 0ð 0Ý˜W g¨r°2°s´ÑGÔGˆÝ˜W g¨r°2°s´ÑGÔGˆØ�Š�g—k’k " bÑ)Ô)¨3Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ð �,Š,�sÑ
Ô
€CÝ˜g w°´ÀÑEÔEÐEó   ÁAB+Â+B/Â2B/c                 óÄ  — |\  }}|j         \  }}t          |¦  «        }t          j        |t	          |||g¦  «        ¦  «        5  t          | ||||j        ¦  «        }t          | ||||j        ¦  «        }|                     |                     ||¦  «        |¦  «         d d d ¦  «         n# 1 swxY w Y   | 	                    |¦  «        }	t          | ||j        |	¦  «        S ra   )rn   r=   r   r‡   rM   r-   rk   r:   Úsubrw   r	   rˆ   s
             r   Útimedelta_sub_implr’   Å   rŽ   r�   c                 óø  — t          |¦  «        }t          j        |t          ||¦  «        ¦  «        5  t	          |t
          j        ¦  «        rC|                     ||j        ¦  «        }| 	                    ||¦  «        }t          | ||¦  «        }n|                     ||¦  «        }t          | ||||¦  «        }|                     ||¦  «         d d d ¦  «         n# 1 swxY w Y   |                     |¦  «        S ra   )r=   r   r‡   rG   Ú
isinstancer   ÚFloatÚsitofpÚtypeÚfmulÚ_cast_to_timedeltar   r-   r:   rw   )	r)   r   Útd_argÚtd_typeÚ
number_argÚnumber_typerk   r5   r   s	            r   Ú_timedelta_times_numberrž   Ó   s"  € å
  Ñ
)Ô
)€CÝ	Ô	˜7¥J¨w¸Ñ$?Ô$?Ñ	@Ô	@ð 
 ð 
 Ý�k¥5¤;Ñ/Ô/ð 	2Ø—.’. ¨¬Ñ9Ô9ˆCØ—,’,˜s JÑ/Ô/ˆCÝ$ W¨g°sÑ;Ô;ˆCˆCà—+’+˜f jÑ1Ô1ˆCõ ˜g w°°W¸kÑJÔJˆØ�Š�c˜3ÑÔÐð
 ð 
 ð 
 ñ 
 ô 
 ð 
 ð 
 ð 
 ð 
 ð 
 ð 
 øøøð 
 ð 
 ð 
 ð 
 ð �<Š<˜ÑÔÐs   ³BCÃC Ã#C c           	      ó¨   — t          | ||d         |j        d         |d         |j        d         |j        ¦  «        }t          | ||j        |¦  «        S )Nr   r?   ©rž   rn   rk   r	   rl   s        r   Útimedelta_times_numberr¡   ä   óQ   € õ
 " '¨7Ø"& q¤'¨3¬8°A¬;¸¸Q¼ÀÄÈ!ÄØ"%¤/ñ3ô 3€Cõ ˜g w°´ÀÑEÔEÐEr   c           	      ó¨   — t          | ||d         |j        d         |d         |j        d         |j        ¦  «        }t          | ||j        |¦  «        S ©Nr?   r   r    rl   s        r   Únumber_times_timedeltar¥   ï   r¢   r   c           	      óâ  — |\  }}|j         d         }t          |¦  «        }|                     t          ||¦  «        |                     t          j        ||¦  «        ¦  «        ¦  «        }t          j        ||¦  «        5  t          |t          j
        ¦  «        rC|                     ||j        ¦  «        }	|                     |	|¦  «        }	t          | ||	¦  «        }	n|                     ||¦  «        }	t!          | ||	|j         d         |j        ¦  «        }	|                     |	|¦  «         d d d ¦  «         n# 1 swxY w Y   |                     |¦  «        }
t)          | ||j        |
¦  «        S r¤   )rn   r=   rJ   rG   Únot_r   Úis_scalar_zero_or_nanr‡   r”   r   r•   r–   r—   Úfdivr™   r   r-   rk   r:   rw   r	   )r)   r   rm   rn   rš   rœ   r�   r5   Úokr   ro   s              r   Útimedelta_over_numberr«   ú   sŽ  € ð Ñ€FˆJØ”(˜1”+€KÝ
  Ñ
)Ô
)€CØ	�Š•j ¨&Ñ1Ô1Ø—l’l¥7Ô#@ÀÈ*Ñ#UÔ#UÑVÔVñ
Xô 
X€Bå	Ô	˜7 BÑ	'Ô	'ð  ð  å�k¥5¤;Ñ/Ô/ð 	3Ø—.’. ¨¬Ñ9Ô9ˆCØ—,’,˜s JÑ/Ô/ˆCÝ$ W¨g°sÑ;Ô;ˆCˆCà—,’,˜v zÑ2Ô2ˆCõ ˜g w°Ø!œh qœk¨3¬?ñ<ô <ˆà�Š�c˜3ÑÔÐð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  ð �,Š,�sÑ
Ô
€CÝ˜g w°´ÀÑEÔEÐEs   ÂB-D:Ä:D>ÅD>c           	      ó”  — |\  }}|j         \  }}t          |||g¦  «        }|                      |j        ¦  «        }	t	          j        ||	d¬¦  «        }
|                     t          |	t          d¦  «        ¦  «        |
¦  «         t	          j	        ||¦  «        5  t          | |||||¦  «        \  }}|                     ||	¦  «        }|                     ||	¦  «        }|                     |                     ||¦  «        |
¦  «         d d d ¦  «         n# 1 swxY w Y   |                     |
¦  «        }t          | ||j        |¦  «        S )Nr5   r7   Únan)rn   rM   Úget_value_typerk   r   r9   r:   r   Úfloatr‡   r4   r–   r©   rw   r	   )r)   r   rm   rn   r‰   rŠ   r‹   rŒ   Únot_nanÚll_ret_typer5   ro   s               r   Útimedelta_over_timedeltar²     so  € ð �H€RˆØŒx�H€RˆÝ˜' B¨ 8Ñ,Ô,€GØ×(Ò(¨¬Ñ9Ô9€KÝ
Ô
˜g {¸Ð
?Ñ
?Ô
?€CØ‡M‚M•(˜;­¨e©¬Ñ5Ô5°sÑ;Ô;Ð;Ý	Ô	˜7 GÑ	,Ô	,ð 1ð 1Ý% g¨w¸¸BÀÀBÑGÔG‰ˆˆBØ�^Š^˜B Ñ,Ô,ˆØ�^Š^˜B Ñ,Ô,ˆØ�Š�g—l’l 2 rÑ*Ô*¨CÑ0Ô0Ð0ð	1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1ð
 �,Š,�sÑ
Ô
€CÝ˜g w°´ÀÑEÔEÐEs   ÂA.DÄDÄDc                 ó  — |\  }}|j         \  }}|                      |j        ¦  «        }t          |||g¦  «        }	t	          j        ||d¬¦  «        }
t          |d¦  «        }t          |d¦  «        }|                     ||
¦  «         t	          j        ||	¦  «        5  t          | |||||¦  «        \  }}| 
                    |                     d||¦  «        ¦  «        }t	          j        ||¦  «        5  |                     d||¦  «        }|                     ||                     d||¦  «        ¦  «        }|                     |¦  «        5 \  }}|5  |                     |¦  «        5 \  }}|5  |                     ||¦  «        }|                     ||¦  «        }|                     ||
¦  «         d d d ¦  «         n# 1 swxY w Y   |5  |                     ||¦  «        }|                     ||¦  «        }|                     ||
¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |5  |                     ||¦  «        }|                     ||
¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |                     |
¦  «        }t%          | ||j        |¦  «        S )Nr5   r7   r   r?   r}   ú<)rn   r®   rk   rM   r   r9   r   r:   r‡   r4   r§   r   Úor_ru   r‘   r   r"   rw   r	   )r)   r   rm   rn   r‰   rŠ   r‹   rŒ   r±   r°   r5   r€   ÚoneÚdenom_okÚvanegrr   rx   ry   ÚnegthenÚnegotherwiseÚtopÚdivro   s                          r   Útimedelta_floor_div_timedeltar½   +  s×  € à�H€RˆØŒx�H€RˆØ×(Ò(¨¬Ñ9Ô9€KÝ˜' B¨ 8Ñ,Ô,€GÝ
Ô
˜g {¸Ð
?Ñ
?Ô
?€CÝ�K Ñ#Ô#€DÝ
�; Ñ
"Ô
"€CØ‡M‚M�$˜ÑÔÐÝ	Ô	˜7 GÑ	,Ô	,ð ,ð ,Ý% g¨w¸¸BÀÀBÑGÔG‰ˆˆBà—<’< × 3Ò 3°D¸"¸dÑ CÔ CÑDÔDˆÝÔ˜w¨Ñ1Ô1ð 	,ð 	,à×'Ò'¨¨R°Ñ6Ô6ˆEØ—+’+˜e W×%8Ò%8¸¸bÀ$Ñ%GÔ%GÑHÔHˆCØ—’ Ñ%Ô%ð ,Ñ):¨$°	Øð 	4ð 	4Ø Ÿš¨Ñ/Ô/ð 4Ñ3J°G¸\Ø$ð 4ð 4Ø")§+¢+¨b°#Ñ"6Ô"6˜CØ")§,¢,¨s°BÑ"7Ô"7˜CØ#ŸMšM¨#¨sÑ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4ð *ð 4ð 4Ø")§+¢+¨b°#Ñ"6Ô"6˜CØ")§,¢,¨s°BÑ"7Ô"7˜CØ#ŸMšM¨#¨sÑ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4ð ð ,ð ,Ø!Ÿ,š, r¨2Ñ.Ô.�CØ—M’M # sÑ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð		,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,ð	,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð, �,Š,�sÑ
Ô
€CÝ˜g w°´ÀÑEÔEÐEs  ÂAKÃ5AJ<ÅJ%ÅI	Å)H1Å/AF>Æ2H1Æ>GÇH1ÇGÇH1ÇAHÈH1ÈHÈH1È!HÈ"H1È%I	È1H5È5I	È8H5È9I	È<J%ÉIÉJ%ÉIÉJ%É-J	ÊJ%ÊJÊJ%ÊJÊJ%ÊJ<Ê%J)Ê)J<Ê,J)Ê-J<Ê0KÊ<K 	Ë KËK 	ËKËKËKc           
      óÈ  — |\  }}|j         \  }}t          |||g¦  «        }|                      |j        ¦  «        }	t	          |¦  «        }
|                     t          |
¦  «         t          |	d¦  «        }t          j	        ||¦  «        5  t          | |||||¦  «        \  }}|                     |                     d||¦  «        ¦  «        }t          j	        ||¦  «        5  |                     d||¦  «        }|                     d||¦  «        }|                     ||¦  «        }|                     |                     ||¦  «        |                     d||¦  «        ¦  «        }|                     |¦  «        5 \  }}|5  |                     ||
¦  «         d d d ¦  «         n# 1 swxY w Y   |5  |                     |                     ||¦  «        |
¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |                     |
¦  «        }t'          | ||j        |¦  «        S )Nr   r}   r|   )rn   rM   r®   rk   r=   r:   r;   r   r   r‡   r4   r§   r   Úsremrµ   rJ   ru   r"   rw   r	   )r)   r   rm   rn   r‰   rŠ   r‹   rŒ   r°   r±   r5   r€   r·   ÚvaposÚvbposÚremÚcondrx   ry   ro   s                       r   Útimedelta_mod_timedeltarÄ   N  sw  € ð �H€RˆØŒx�H€RˆÝ˜' B¨ 8Ñ,Ô,€GØ×(Ò(¨¬Ñ9Ô9€KÝ
  Ñ
)Ô
)€CØ‡M‚M•#�sÑÔÐÝ�K Ñ#Ô#€DÝ	Ô	˜7 GÑ	,Ô	,ð =ð =Ý% g¨w¸¸BÀÀBÑGÔG‰ˆˆBà—<’< × 3Ò 3°D¸"¸dÑ CÔ CÑDÔDˆÝÔ˜w¨Ñ1Ô1ð 	=ð 	=à×'Ò'¨¨R°Ñ6Ô6ˆEØ×'Ò'¨¨R°Ñ6Ô6ˆEØ—,’,˜r 2Ñ&Ô&ˆCØ—;’;˜wŸ|š|¨E°5Ñ9Ô9Ø&×2Ò2°4¸¸dÑCÔCñEô EˆDà—’ Ñ&Ô&ð =Ñ*;¨4°Øð ,ð ,Ø—M’M # sÑ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,àð =ð =Ø—M’M '§+¢+¨c°2Ñ"6Ô"6¸Ñ<Ô<Ð<ð=ð =ð =ñ =ô =ð =ð =ð =ð =ð =ð =øøøð =ð =ð =ð =ð=ð =ð =ñ =ô =ð =ð =ð =ð =ð =ð =øøøð =ð =ð =ð =ð	=ð 	=ð 	=ñ 	=ô 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=øøøð 	=ð 	=ð 	=ð 	=ð	=ð =ð =ñ =ô =ð =ð =ð =ð =ð =ð =øøøð =ð =ð =ð =ð" �,Š,�sÑ
Ô
€CÝ˜g w°´ÀÑEÔEÐEs¤   ÂAH-Ã"BHÅ;G?ÆF$	ÆG?Æ$F(Æ(G?Æ+F(Æ,G?Æ1+G(	ÇG?Ç(G,Ç,G?Ç/G,Ç0G?Ç3HÇ?HÈHÈHÈHÈ
H-ÈH	ÈH-ÈH	ÈH-È-H1È4H1c                 ó   ‡ ‡— ˆˆ fd„}|S )Nc           
      óâ  •— |\  }}|j         \  }}t          |¦  «        }|                     t          |||g¦  «        ¦  «        5 \  }	}
|	5  	 t	          | |||||¦  «        \  }}|                     |                     ‰||¦  «        |¦  «         n&# t          $ r |                     ‰|¦  «         Y nw xY wd d d ¦  «         n# 1 swxY w Y   |
5  ‰dk    r!|                     t          j	        |¦  «         n |                     t          j
        |¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |                     |¦  «        }t          | ||j        |¦  «        S ©NrE   )rn   rC   ru   rM   r4   r:   rF   r/   r   Útrue_bitÚ	false_bitrw   r	   rk   )r)   r   rm   rn   r‰   rŠ   r‹   rŒ   r5   rx   ry   Únorm_aÚnorm_bro   Údefault_valueÚll_ops                 €€r   Úimplz/_create_timedelta_comparison_impl.<locals>.implt  sR  ø€ Ø‰ˆˆRØ”8‰ˆˆRÝ" 7Ñ+Ô+ˆØ�_Š_�[¨°2°r°(Ñ;Ô;Ñ<Ô<ð 	:Ñ@QÀÀyØð Uð UðUÝ%9Ø ¨"¨b°"°bñ&:ô &:‘N�F˜Fð —M’M '×"7Ò"7¸¸vÀvÑ"NÔ"NÐPSÑTÔTÐTÐTøõ	 $ð 6ð 6ð 6à—M’M -°Ñ5Ô5Ð5Ð5Ð5ð6øøøð	Uð Uð Uñ Uô Uð Uð Uð Uð Uð Uð Uøøøð Uð Uð Uð Uð ð :ð :ð ˜D’=�=Ø—M’M¥'Ô"2°CÑ8Ô8Ð8Ð8à—M’M¥'Ô"3°SÑ9Ô9Ð9ð:ð :ð :ñ :ô :ð :ð :ð :ð :ð :ð :øøøð :ð :ð :ð :ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:ð" �lŠl˜3ÑÔˆÝ! '¨7°C´OÀSÑIÔIÐIs   ÁD:ÁCÁBÁ$,CÂ B3Â0CÂ2B3Â3CÂ6D:ÃC	ÃD:Ã	C	Ã
D:ÃAD#ÄD:Ä#D'	Ä'D:Ä*D'	Ä+D:Ä:D>ÅD>© )rÍ   rÌ   rÎ   s   `` r   Ú!_create_timedelta_comparison_implrÐ   s  s/   øø€ ðJð Jð Jð Jð Jð Jð0 €Kr   c                 ó   ‡ — ˆ fd„}|S )Nc           
      óD  •— |\  }}|j         \  }}t          |¦  «        }|                     t          |||g¦  «        ¦  «        5 \  }	}
|	5  t	          | |||||¦  «        \  }}|                     |                     ‰||¦  «        |¦  «         d d d ¦  «         n# 1 swxY w Y   |
5  |                     t          j        |¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   | 	                    |¦  «        }t          | ||j        |¦  «        S ra   )rn   rC   ru   rM   r4   r:   r   r   rÉ   rw   r	   rk   )r)   r   rm   rn   r‰   rŠ   r‹   rŒ   r5   rx   ry   rÊ   rË   ro   rÍ   s                 €r   rÎ   z-_create_timedelta_ordering_impl.<locals>.impl�  sê  ø€ Ø‰ˆˆRØ”8‰ˆˆRÝ" 7Ñ+Ô+ˆØ�_Š_�[¨°2°r°(Ñ;Ô;Ñ<Ô<ð 	6Ñ@QÀÀyØð Oð OÝ!5Ø˜W b¨"¨b°"ñ"6ô "6‘�˜à—’˜g×1Ò1°%¸ÀÑHÔHÈ#ÑNÔNÐNðOð Oð Oñ Oô Oð Oð Oð Oð Oð Oð Oøøøð Oð Oð Oð Oð ð 6ð 6à—’�gÔ/°Ñ5Ô5Ð5ð6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6ð	6ð 	6ð 	6ñ 	6ô 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6øøøð 	6ð 	6ð 	6ð 	6ð �lŠl˜3ÑÔˆÝ! '¨7°C´OÀSÑIÔIÐIs[   ÁC+ÁABÂC+ÂB	ÂC+Â!B	Â"C+Â'!CÃC+ÃC	ÃC+ÃC	ÃC+Ã+C/Ã2C/rÏ   ©rÍ   rÎ   s   ` r   Ú_create_timedelta_ordering_implrÔ   �  s(   ø€ ðJð Jð Jð Jð Jð €Kr   r}   rE   r´   ú<=r|   ú>=c           
      ó  — |                       |t          t          d¦  «        ¦  «        }t          j        | |                      |t          t          d¦  «        ¦  «        ¦  «        }t          j        | |                      |t          t          d¦  «        ¦  «        ¦  «        }t          j        | |                      |t          t          d¦  «        ¦  «        ¦  «        }|                      ||                      ||¦  «        ¦  «        S )z_
    Return a predicate indicating whether *year_val* (offset by 1970) is a
    leap year.
    i²  é   éd   é�  )	r"   r   rb   r   Úis_nullrJ   Úis_not_nullr¿   rµ   )r   Úyear_valÚactual_yearÚmultiple_of_4Únot_multiple_of_100Úmultiple_of_400s         r   Úis_leap_yearrâ   ¶  sà   € ð
 —+’+˜h­µ¸TÑ(BÔ(BÑCÔC€KÝ”OØ�—’˜k­8µJÀÑ+BÔ+BÑCÔCñEô E€Må!Ô-Ø�—’˜k­8µJÀÑ+DÔ+DÑEÔEñGô GÐå”oØ�—’˜k­8µJÀÑ+DÔ+DÑEÔEñGô G€Oà�<Š<˜ØŸšÐ$7¸ÑIÔIñKô Kð Kr   c           
      ó.  — t          j        | t          ¦  «        }t          | |d¦  «        }|                      t          j        | |¦  «        ¦  «        5 \  }}|5  t          | |d¦  «        }|                      |t          | |d¦  «        ¦  «        }t          | |d¦  «        }|  	                    |t          | |d¦  «        ¦  «        }t          | |d¦  «        }	|                      |t          | |	d¦  «        ¦  «        }|  
                    ||¦  «         ddd¦  «         n# 1 swxY w Y   |5  t          | |d	¦  «        }
|                      |t          | |
d¦  «        ¦  «        }t          | |
d
¦  «        }|  	                    |t          | |d¦  «        ¦  «        }|                      |t          | |d¦  «        ¦  «        }|  
                    ||¦  «         ddd¦  «         n# 1 swxY w Y   ddd¦  «         n# 1 swxY w Y   |                      |¦  «        S )zg
    Given a year *year_val* (offset to 1970), return the number of days
    since the 1970 epoch.
    im  r?   é   éD   rÙ   i,  rÚ   Néþÿÿÿiäÿÿÿ)r   r9   r   r   ru   Ú
is_neg_intr$   r"   r    r‘   r:   rw   )r   rÝ   r5   ÚdaysÚif_negÚif_posÚ	from_1968Úp_daysÚ	from_1900Ú	from_1600Ú	from_1972Ún_daysÚ	from_2000s                r   Úyear_to_daysrò   Æ  s×  € õ Ô
˜g¥{Ñ
3Ô
3€Cå˜W h°Ñ4Ô4€Dà	�Š�Ô+¨G°XÑ>Ô>Ñ	?Ô	?ð ''Ù�˜Øð 	'ð 	'õ % W¨h¸Ñ:Ô:ˆIà—[’[ Ý!4°W¸iÈÑ!KÔ!KñMô MˆFõ % W¨i¸Ñ<Ô<ˆIà—[’[ Ý!4°W¸iÈÑ!MÔ!MñOô OˆFõ % W¨i¸Ñ=Ô=ˆIà—[’[ Ý!4°W¸iÈÑ!MÔ!MñOô OˆFà�MŠM˜& #Ñ&Ô&Ð&ð%	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'ð& ð 	'ð 	'õ
 % W¨h¸Ñ;Ô;ˆIà—[’[ Ý!4°W¸iÈÑ!KÔ!KñMô MˆFõ % W¨i¸Ñ=Ô=ˆIà—[’[ Ý!4°W¸iÈÑ!MÔ!MñOô OˆFð —[’[ Ý!4°W¸iÈÑ!MÔ!MñOô OˆFà�MŠM˜& #Ñ&Ô&Ð&ð%	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'ð+''ð ''ð ''ñ ''ô ''ð ''ð ''ð ''ð ''ð ''ð ''øøøð ''ð ''ð ''ð ''ðP �<Š<˜ÑÔÐs\   ÁG7ÁB9DÄG7ÄD#	Ä#G7Ä&D#	Ä'G7Ä,B(G ÇG7Ç G$	Ç$G7Ç'G$	Ç(G7Ç7G;Ç>G;c                 ó  — t           j        |         }t           j        |         }|dk     s|dk    r||fS |dk    r|}t          | |¦  «        }�n˜t          j        | dt
          ¦  «        }t          j        | dt          ¦  «        }	t          j        | t          ¦  «        }
t          j	        | |d¦  «        \  }}|  
                    t          | |¦  «        ¦  «        5 \  }}|5  |                      t          j        | |d|d¬¦  «        ¦  «        }|                      ||
¦  «         d d d ¦  «         n# 1 swxY w Y   |5  |                      t          j        | |	d|d¬¦  «        ¦  «        }|                      ||
¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   t          | |¦  «        }|                      ||                      |
¦  «        ¦  «        }|dk    rt          j	        | |d¦  «        \  }}|d	fS |d
fS )Nr   r   Úleap_year_months_accÚnormal_year_months_accé   T)Úinboundsé   ÚWÚD)r   ÚDATETIME_UNITSrò   r   Úglobal_constantrô   rõ   r9   r   Údivmod_by_constantru   râ   rw   Úgepr:   r"   )r   Údt_valÚsrc_unitÚ	dest_unitÚdest_unit_codeÚsrc_unit_coderÝ   Údays_valÚ
leap_arrayÚnormal_arrayrè   ÚyearÚmonthrx   ry   ÚaddendÚweeksÚ_s                     r   Úreduce_datetime_for_unitr  ü  sí  € Ý'Ô6°yÔA€NÝ&Ô5°hÔ?€MØ˜ÒÐ˜]¨aÒ/Ð/Ø�xÐÐà˜ÒÐàˆÝ ¨Ñ2Ô2ˆ‰õ Ô,¨WÐ6LÝ-AñCô Cˆ
åÔ.¨wÐ8PÝ/EñGô Gˆõ Ô" 7­KÑ8Ô8ˆõ Ô0°¸&À"ÑEÔE‰ˆˆeð �_Š_�\¨'°4Ñ8Ô8Ñ9Ô9ð 	,Ñ=N¸dÀIØð ,ð ,Ø Ÿš¥g¤k°'¸:Ø23°UÀTð'Kñ 'Kô 'Kñ Lô L�à—’˜f dÑ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð ð ,ð ,Ø Ÿš¥g¤k°'¸<Ø23°UÀTð'Kñ 'Kô 'Kñ Lô L�à—’˜f dÑ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,õ   ¨Ñ.Ô.ˆØ—;’;˜x¨¯ª°dÑ);Ô);Ñ<Ô<ˆà˜ÒÐåÔ-¨g°xÀÑCÔC‰ˆˆqØ�cˆzÐà˜ˆ}Ðs\   ÃF#Ã!AD0Ä$F#Ä0D4	Ä4F#Ä7D4	Ä8F#Ä=AFÆ F#ÆF	ÆF#ÆF	ÆF#Æ#F'Æ*F'c                 ó¦   — t          | |||¦  «        \  }}t          j        ||¦  «        }|€t          d|›d|›�¦  «        ‚t	          | ||¦  «        S )zC
    Convert datetime *dt_val* from *src_unit* to *dest_unit*.
    Nzcannot convert datetime64 from r&   )r  r   r'   r   r   )r   rÿ   r   r  Údt_unitÚ	dt_factors         r   Úconvert_datetime_for_arithr  )  ss   € õ
 /Ø�˜ 9ñ.ô .�O€FˆGõ #ÔBÀ7ÈIÑVÔV€IØÐåˆmØ*2¨(¨(°I°Ið?ñ @ô @ð 	@å˜W f¨iÑ8Ô8Ð8r   c                 ó   ‡ — ˆ fd„}|S )Nc                 ó–  •— t          |¦  «        }t          j        |t          |||g¦  «        ¦  «        5  t	          ||||¦  «        }t          j        ||¦  «        }t          |||¦  «        } t          |‰
¦  «        ||¦  «        }	| 	                    |	|¦  «         d d d ¦  «         n# 1 swxY w Y   | 
                    |¦  «        S ra   )r=   r   r‡   rM   r  r   r'   r   Úgetattrr:   rw   )r)   r   Údt_argr  rš   Útd_unitÚret_unitr5   Ú	td_factorÚret_valÚ
ll_op_names             €r   rÎ   z'_datetime_timedelta_arith.<locals>.impl:  s  ø€ å$ WÑ-Ô-ˆÝÔ˜w­°G¸fÀfÐ=MÑ(NÔ(NÑOÔOð 	(ð 	(Ý/°¸Ø07¸ñCô CˆFå*ÔJØ˜ñ#ô #ˆIå& w°¸	ÑBÔBˆFØ2•g˜g zÑ2Ô2°6¸6ÑBÔBˆGØ�MŠM˜' 3Ñ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð �|Š|˜CÑ Ô Ð s   ¶A)B+Â+B/Â2B/rÏ   )r  rÎ   s   ` r   Ú_datetime_timedelta_arithr  9  s#   ø€ ð!ð !ð !ð !ð !ð €Kr   r"   r‘   c           	      ó    — |\  }}|j         \  }}t          | |||j        ||j        |j        j        ¦  «        }t	          | ||j        |¦  «        S ra   ©rn   Ú_datetime_plus_timedeltar(   rk   r	   ©	r)   r   rm   rn   r  rš   Údt_typer›   ro   s	            r   Údatetime_plus_timedeltar   O  óZ   € ð �N€FˆFØ”xÑ€GˆWÝ
" 7¨GØ#)¨7¬<Ø#)¨7¬<Ø#&¤?Ô#7ñ9ô 9€Cõ ˜g w°´ÀÑEÔEÐEr   c           	      ó    — |\  }}|j         \  }}t          | |||j        ||j        |j        j        ¦  «        }t	          | ||j        |¦  «        S ra   r  )	r)   r   rm   rn   rš   r  r›   r  ro   s	            r   Útimedelta_plus_datetimer#  [  r!  r   c           	      ó    — |\  }}|j         \  }}t          | |||j        ||j        |j        j        ¦  «        }t	          | ||j        |¦  «        S ra   )rn   Ú_datetime_minus_timedeltar(   rk   r	   r  s	            r   Údatetime_minus_timedeltar&  i  sZ   € ð �N€FˆFØ”xÑ€GˆWÝ
# G¨WØ$*¨G¬LØ$*¨G¬LØ$'¤OÔ$8ñ:ô :€Cõ ˜g w°´ÀÑEÔEÐEr   c                 óä  — |\  }}|j         \  }}|j        }|j        }	|j        j        }
t          |¦  «        }t	          j        |t          |||g¦  «        ¦  «        5  t          ||||
¦  «        }t          |||	|
¦  «        }|                     ||¦  «        }| 	                    ||¦  «         d d d ¦  «         n# 1 swxY w Y   | 
                    |¦  «        }t          | ||j        |¦  «        S ra   )rn   r(   rk   r=   r   r‡   rM   r  r‘   r:   rw   r	   )r)   r   rm   rn   r‰   rŠ   r‹   rŒ   Úunit_aÚunit_br  r5   r  ro   s                 r   Údatetime_minus_datetimer*  w  s'  € à�F€BˆØŒX�F€BˆØŒW€FØŒW€FØŒÔ#€HÝ
  Ñ
)Ô
)€CÝ	Ô	˜7¥K°¸"¸b¸Ñ$BÔ$BÑ	CÔ	Cð $ð $Ý'¨°°V¸XÑFÔFˆÝ'¨°°V¸XÑFÔFˆØ—+’+˜b "Ñ%Ô%ˆØ�Š�g˜sÑ#Ô#Ð#ð	$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $ð
 �,Š,�sÑ
Ô
€CÝ˜g w°´ÀÑEÔEÐEs   ÁAB;Â;B?ÃB?c                 ó   ‡ — ˆ fd„}|S )Nc                 óÒ  •— |\  }}|j         \  }}|j        }|j        }	t          j        ||	¦  «        }
t	          |¦  «        }|                     t          |||g¦  «        ¦  «        5 \  }}|5  t          ||||
¦  «        }t          |||	|
¦  «        }|                     ‰||¦  «        }| 	                    ||¦  «         d d d ¦  «         n# 1 swxY w Y   |5  ‰dk    rt          j        }nt          j        }| 	                    ||¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |                     |¦  «        }t          | ||j        |¦  «        S rÇ   )rn   r(   r   Úget_best_unitrC   ru   rM   r  r   r:   r   rÈ   rÉ   rw   r	   rk   )r)   r   rm   rn   r‰   rŠ   r‹   rŒ   r(  r)  r  r5   rx   ry   rÊ   rË   r  ro   rÍ   s                     €r   rÎ   z._create_datetime_comparison_impl.<locals>.impl‹  s&  ø€ Ø‰ˆˆBØ”‰ˆˆBØ”ˆØ”ˆÝ%Ô3°F¸FÑCÔCˆÝ" 7Ñ+Ô+ˆØ�_Š_�[¨°2°r°(Ñ;Ô;Ñ<Ô<ð 	,Ñ@QÀÀyØð ,ð ,Ý3Ø˜R ¨ñ3ô 3�å3Ø˜R ¨ñ3ô 3�à!×-Ò-¨e°V¸VÑDÔD�Ø—’˜g sÑ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð ð ,ð ,Ø˜D’=�=Ý%Ô.�G�Gå%Ô/�GØ—’˜g sÑ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,ð �lŠl˜3ÑÔˆÝ! '¨7°C´OÀSÑIÔIÐIs[   Á(D2Á.ACÃ D2ÃC	ÃD2ÃC	ÃD2Ã6DÄD2ÄD	ÄD2Ä"D	Ä#D2Ä2D6Ä9D6rÏ   rÓ   s   ` r   Ú _create_datetime_comparison_implr.  Š  s(   ø€ ðJð Jð Jð Jð Jð0 €Kr   c                 ó   ‡ — ˆ fd„}|S )Nc                 ó@  •— |\  }}t          ||¦  «        }t          ||¦  «        }|                     d||¦  «        }|                     |||¦  «        }	‰
r||}}|                     ||	|¦  «        }	|                     ||	|¦  «        }	t          | ||j        |	¦  «        S ©NrÖ   ©rG   r   Úselectr	   rk   ©r)   r   rm   rn   Úin1Úin2Úin1_not_natÚin2_not_natÚ
in1_ge_in2ro   ÚNAT_DOMINATESs             €r   Údatetime_max_implz1_gen_datetime_max_impl.<locals>.datetime_max_implº  ó©   ø€ ð ‰ˆˆSÝ  ¨#Ñ.Ô.ˆÝ  ¨#Ñ.Ô.ˆØ×(Ò(¨¨s°CÑ8Ô8ˆ
Ø�nŠn˜Z¨¨cÑ2Ô2ˆØð 	 à˜C�ˆCØ�nŠn˜[¨#¨sÑ3Ô3ˆØ�nŠn˜[¨#¨sÑ3Ô3ˆå! '¨7°C´OÀSÑIÔIÐIr   rÏ   )r:  r;  s   ` r   Ú_gen_datetime_max_implr=  ¹  ó)   ø€ ðJð Jð Jð Jð Jð Ðr   TFc                 ó   ‡ — ˆ fd„}|S )Nc                 ó@  •— |\  }}t          ||¦  «        }t          ||¦  «        }|                     d||¦  «        }|                     |||¦  «        }	‰
r||}}|                     ||	|¦  «        }	|                     ||	|¦  «        }	t          | ||j        |	¦  «        S ©NrÕ   r2  ©r)   r   rm   rn   r5  r6  r7  r8  Ú
in1_le_in2ro   r:  s             €r   Údatetime_min_implz1_gen_datetime_min_impl.<locals>.datetime_min_implÏ  r<  r   rÏ   )r:  rD  s   ` r   Ú_gen_datetime_min_implrE  Î  r>  r   c                 ó   ‡ — ˆ fd„}|S )Nc                 ó@  •— |\  }}t          ||¦  «        }t          ||¦  «        }|                     d||¦  «        }|                     |||¦  «        }	‰
r||}}|                     ||	|¦  «        }	|                     ||	|¦  «        }	t          | ||j        |	¦  «        S r1  r2  r4  s             €r   Útimedelta_max_implz3_gen_timedelta_max_impl.<locals>.timedelta_max_implä  r<  r   rÏ   )r:  rH  s   ` r   Ú_gen_timedelta_max_implrI  ã  ó)   ø€ ðJð Jð Jð Jð Jð Ðr   c                 ó   ‡ — ˆ fd„}|S )Nc                 ó@  •— |\  }}t          ||¦  «        }t          ||¦  «        }|                     d||¦  «        }|                     |||¦  «        }	‰
r||}}|                     ||	|¦  «        }	|                     ||	|¦  «        }	t          | ||j        |	¦  «        S rA  r2  rB  s             €r   Útimedelta_min_implz3_gen_timedelta_min_impl.<locals>.timedelta_min_implù  r<  r   rÏ   )r:  rM  s   ` r   Ú_gen_timedelta_min_implrN  ø  rJ  r   c                 óê  — |                      t          ¦  «        }|                     d||¦  «        }|                     |¦  «        5 \  }}|5  |                     t
          |¦  «         d d d ¦  «         n# 1 swxY w Y   |5  |                     |                     |t          ¦  «        |¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |                     |¦  «        S )NÚuno)Úallocar   Úfcmp_unorderedru   r:   r;   Úfptosirw   )r)   r   r   ÚtempÚ
val_is_nanrx   Úelss          r   r™   r™     s»  € Ø�>Š>�+Ñ&Ô&€DØ×'Ò'¨¨s°CÑ8Ô8€JØ	�Š˜Ñ	$Ô	$ð Bñ )Ø�#Øð 	%ð 	%ð �MŠM�#˜tÑ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%ð ð 	Bð 	BØ�MŠM˜'Ÿ.š.¨­kÑ:Ô:¸DÑAÔAÐAð	Bð 	Bð 	Bñ 	Bô 	Bð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bøøøð 	Bð 	Bð 	Bð 	BðBð Bð Bñ Bô Bð Bð Bð Bð Bð Bð Bøøøð Bð Bð Bð Bð �<Š<˜ÑÔÐsZ   ÁCÁA5Á)CÁ5A9	Á9CÁ<A9	Á=CÂ0B>Â2CÂ>C	ÃCÃC	ÃCÃCÃCc                 ó0   — t          j        | |||¦  «        S ra   )r   Únp_datetime_isnat_impl)r)   r   rm   rn   s       r   Ú_np_isnat_implrY    s   € õ Ô*¨7°G¸SÀ$ÑGÔGÐGr   c                 óR   — |j         dk    rd|› d|› d|› d�}t          |¦  «        ‚|S )Nr   zCannot cast r&   z as z is not 64 bits wide.)ÚbitwidthÚ
ValueError)r)   r   ÚfromtyÚtotyr   r,   s         r   Ú_cast_npdatetime_int64r_  !  sB   € ð „}˜ÒÐØN˜VÐNÐN¨ÐNÐN°4ÐNÐNÐNˆÝ˜‰oŒoÐØ€Jr   Ú__hash__c                 ó"   — t           rd„ }nd„ }|S )Nc                 ó.  — t          j        | ¦  «        } | dk     rt          j        | ¦  «        }nKt          j        | ¦  «        dz  dz	  }t          j        | ¦  «        dz  }t          j        |d|z  z   ¦  «        }|dk    rt          j        d¦  «        }|S )Niÿÿÿl       üÿ é    l   ÿÿ iCB r~   ræ   )rd   re   Úint32)ÚxÚyÚhiÚlos       r   rÎ   z ol_hash_npdatetime.<locals>.impl.  s…   € Ý”˜‘”ˆAØ�9Š}ˆ}Ý”H˜Q‘K”K��å”h˜q‘k”kÐ$6Ñ6¸2Ñ=�Ý”h˜q‘k”kÐ$6Ñ6�Ý”H˜R 7¨b¡.Ñ0Ñ1Ô1�Ø�BŠwˆwÝ”H˜R‘L”L�ØˆHr   c                 ó‚   — t          j        | ¦  «        dk    rt          j        d¦  «        S t          j        | ¦  «        S )Nr~   ræ   )rd   re   )re  s    r   rÎ   z ol_hash_npdatetime.<locals>.impl:  s1   € ÝŒx˜‰{Œ{˜bÒ Ð Ý”x ‘|”|Ð#Ý”8˜A‘;”;Ðr   r   )re  rÎ   s     r   Úol_hash_npdatetimerj  *  s6   € õ ð ð
	ð 
	ð 
	ð 
	ð	ð 	ð 	ð €Kr   )r5   )…Ú__doc__Únumpyrd   ÚoperatorÚllvmlite.irr@   r   Ú
numba.corer   r   Únumba.core.cgutilsr   Únumba.core.imputilsr   r   r	   r
   Únumba.npr   r   r   Únumba.extendingr   Únumba.core.configr   Únumba.core.errorsr   rA   rB   rb   r   r;   ÚNPTimedeltaÚTIMEDELTA_BINOP_SIGr   r    r$   r-   r4   r=   rC   rG   rM   Únormal_year_monthsÚleap_year_monthsrõ   rô   Ú
NPDatetimerh   Úposrp   rr   rs   Úabsrz   r…   r"   Úiaddr�   r‘   Úisubr’   rž   r   ÚIntegerÚimulr•   r¡   r¥   ÚtruedivÚitruedivÚfloordivÚ	ifloordivr«   r²   r½   rÄ   rÐ   rÔ   rÉ   Útimedelta_eq_timedelta_implrÈ   Útimedelta_ne_timedelta_implÚtimedelta_lt_timedelta_implÚtimedelta_le_timedelta_implÚtimedelta_gt_timedelta_implÚtimedelta_ge_timedelta_implÚeqÚneÚltÚleÚgtÚgeÚop_Úfuncrâ   rò   r  r  r  r  r%  r   r#  r&  r*  r.  Údatetime_eq_datetime_implÚdatetime_ne_datetime_implÚdatetime_lt_datetime_implÚdatetime_le_datetime_implÚdatetime_gt_datetime_implÚdatetime_ge_datetime_implÚopr=  Údatetime_maximum_implÚdatetime_fmax_implrE  Údatetime_minimum_implÚdatetime_fmin_implrI  Útimedelta_maximum_implÚtimedelta_fmax_implrN  Útimedelta_minimum_implÚtimedelta_fmin_implr™   ÚisnatrY  r_  rj  Údatetime_minimumÚdatetime_maximumrÏ   r   r   ú<module>r¥     s  ððð ð Ð Ð Ð Ø €€€à Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  à %Ð %Ð %Ð %Ð %Ð %Ð %Ð %Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4ðAð Að Að Að Að Að Að Að Að Að Að Aà @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ø +Ð +Ð +Ð +Ð +Ð +Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø +Ð +Ð +Ð +Ð +Ð +ð $œ;×.Ò.¨rÑ2Ô2Ð 2€
ˆ[Ø€hˆ{Ð.Ô2Ñ3Ô3€àÔ(Ð*¨QÑ.Ð ð;ð ;ð ;ð<ð <ð <ð:ð :ð :ð3ð 3ð 3ðIð Ið Ið"ð ð ð ðð ð ð ð1ð 1ð 1ðð ð ð +Ð*ØØ4Ð4Ð4ñ6ô 6Ð ð )Ð(ØØ4Ð4Ð4ñ6ô 6Ð ð /Ð.ØØ;Ð;Ð;ñ=ô =Ð ð -Ð,ØØ;Ð;Ð;ñ=ô =Ð ð
 €�Ô Ñ!Ô!Ø€�Ô!Ñ"Ô"ð.ð .ñ #Ô"ñ "Ô!ð.ð €ˆxŒ|˜UÔ.Ñ/Ô/ðFð Fñ 0Ô/ðFð
 €ˆxŒ|˜UÔ.Ñ/Ô/ðFð Fñ 0Ô/ðFð
 €ˆs�EÔ%Ñ&Ô&ð	Fð 	Fñ 'Ô&ð	FðFð Fð Fð, €ˆxŒ|Ð2Ð1Ð2Ð2Ð2Ø€ˆxŒ}Ð3Ð2Ð3Ð3Ð3ð	Fð 	Fñ 4Ô3ñ 3Ô2ð	Fð €ˆxŒ|Ð2Ð1Ð2Ð2Ð2Ø€ˆxŒ}Ð3Ð2Ð3Ð3Ð3ð	Fð 	Fñ 4Ô3ñ 3Ô2ð	Fðð ð ð" €ˆxŒ|˜UÔ.°´Ñ>Ô>Ø€ˆxŒ}˜eÔ/°´Ñ?Ô?Ø€ˆxŒ|˜UÔ.°´Ñ<Ô<Ø€ˆxŒ}˜eÔ/°´Ñ=Ô=ðFð Fñ >Ô=ñ =Ô<ñ @Ô?ñ ?Ô>ðFð €ˆxŒ|˜Uœ]¨EÔ,=Ñ>Ô>Ø€ˆxŒ}˜eœm¨UÔ->Ñ?Ô?Ø€ˆxŒ|˜Uœ[¨%Ô*;Ñ<Ô<Ø€ˆxŒ}˜eœk¨5Ô+<Ñ=Ô=ðFð Fñ >Ô=ñ =Ô<ñ @Ô?ñ ?Ô>ðFð €ˆxÔ Ô!2°E´MÑBÔBØ€ˆxÔ  %Ô"3°U´]ÑCÔCØ€ˆxÔ  %Ô"3°U´]ÑCÔCØ€ˆxÔ! 5Ô#4°e´mÑDÔDØ€ˆxÔ Ô!2°E´KÑ@Ô@Ø€ˆxÔ  %Ô"3°U´[ÑAÔAØ€ˆxÔ  %Ô"3°U´[ÑAÔAØ€ˆxÔ! 5Ô#4°e´kÑBÔBðFð Fñ CÔBñ BÔAñ BÔAñ AÔ@ñ EÔDñ DÔCñ DÔCñ CÔBðFð. €ˆxÔÐ6Ð"5Ð6Ð6Ð6Ø€ˆxÔ Ð7Ð#6Ð7Ð7Ð7ðFð Fñ 8Ô7ñ 7Ô6ðFð  €ˆxÔ Ð7Ð#6Ð7Ð7Ð7ð Fð  Fñ 8Ô7ð FðD Fð  Fð  FðJð ð ð8ð ð ð& @Ð?Øˆ'Ô
ñô Ð à?Ð?Øˆ'Ô
ñô Ð à=Ð=¸cÑBÔBÐ Ø=Ð=¸dÑCÔCÐ Ø=Ð=¸cÑBÔBÐ Ø=Ð=¸dÑCÔCÐ à”;Ð ;Ð<Ø”;Ð ;Ð<Ø”;Ð!<Ð=Ø”;Ð ;Ð<Ø”;Ð!<Ð=Ø”;Ð ;Ð<ð>ð 3ð 3�I€Cˆð -€M€M�#Ð,Ð+Ð,Ð,Ð,¨TÑ2Ô2Ð2Ð2ð
Kð Kð Kð 3ð 3ð 3ðl*ð *ð *ðZ9ð 9ð 9ð ð ð ð  5Ð4°UÑ;Ô;Ð Ø5Ð5°eÑ<Ô<Ð ð
 €ˆxŒ|˜UÔ-¨uÔ/@ÑAÔAØ€ˆxŒ}˜eÔ.°Ô0AÑBÔBðFð Fñ CÔBñ BÔAðFð €ˆxŒ|˜UÔ.°Ô0@ÑAÔAØ€ˆxŒ}˜eÔ/°Ô1AÑBÔBðFð Fñ CÔBñ BÔAðFð €ˆxŒ|˜UÔ-¨uÔ/@ÑAÔAØ€ˆxŒ}˜eÔ.°Ô0AÑBÔBðFð Fñ CÔBñ BÔAðFð €ˆxŒ|˜UÔ-¨uÔ/?Ñ@Ô@ðFð Fñ AÔ@ðFð$ð ð ð8 =Ð<¸TÑBÔBÐ Ø<Ð<¸TÑBÔBÐ Ø<Ð<¸SÑAÔAÐ Ø<Ð<¸TÑBÔBÐ Ø<Ð<¸SÑAÔAÐ Ø<Ð<¸TÑBÔBÐ à”+Ð8Ð9Ø”+Ð8Ð9Ø”+Ð8Ð9Ø”+Ð8Ð9Ø”+Ð8Ð9Ø”+Ð8Ð9ð;ð 3ð 3�H€Bˆð -€M€M�"Ð,˜Ô(Ð)¨!Ñ+Ð,Ð,Ð,¨TÑ2Ô2Ð2Ð2ðð ð ð$ /Ð.¨tÑ4Ô4Ð Ø+Ð+¨EÑ2Ô2Ð ðð ð ð$ /Ð.¨tÑ4Ô4Ð Ø+Ð+¨EÑ2Ô2Ð ðð ð ð$ 1Ð0°Ñ6Ô6Ð Ø-Ð-¨eÑ4Ô4Ð ðð ð ð$ 1Ð0°Ñ6Ô6Ð Ø-Ð-¨eÑ4Ô4Ð ðð ð ð €ˆrŒx˜Ô)Ñ*Ô*Ø€ˆrŒx˜Ô*Ñ+Ô+ðHð Hñ ,Ô+ñ +Ô*ðHð €ˆEÔ˜eœmÑ,Ô,Ø€ˆEÔ˜uœ}Ñ-Ô-ðð ñ .Ô-ñ -Ô,ðð €�Ô" JÑ/Ô/Ø€�Ô! :Ñ.Ô.ðð ñ /Ô.ñ 0Ô/ðð* W€€Ð Ô1°5Ô3CÀUÔEUÑ VÔ VÐWlÑ mÔ mÐ mØ X€€Ð Ô1°5Ô3DÀeÔFWÑ XÔ XÐYnÑ oÔ oÐ oØ V€€Ð Ô1°5Ô3CÀUÔEUÑ VÔ VÐWlÑ mÔ mÐ mØ X€€Ð Ô1°5Ô3DÀeÔFWÑ XÔ XÐYnÑ oÔ oÐ oÐ oÐ or   