python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
datetimetester.cpython-312.opt-2.pyc

͑e	ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
m
Z
ddlmZmZmZmZmZmZmZmZmZddlmZddlmZmZmZmZddlZ ddlm!Z!m"Z"ddlm#Z#ddlm$Z$dd	lm%Z%dd
lm&Z&ddlm'Z'ddlm(Z(mZddl%Z)	ddl*Z*ddl,Z,	ddl-Z-ej\ej^hZ0e1ejdd
zDcgc]}ee|f	c}Z3edd
d
ddZ4dddigdfZ5e6dZ7e6dZ8GddejrZ:Gdde$Z;Gdde;Z<Gdde<Z=Gdde$Z>Gdd ejrZ?Gd!d"ejrZ@Gd#d$ZAGd%d&eAejrZBGd'd(ejrZCGd)d*e(ZDGd+d,eAejrZEGd-d.eZFGd/d0eEZGGd1d2eGZHGd3d4e%ZIGd5d6eAejrZJGd7d8ZKGd9d:eJeKejrZLGd;d<eGeKejrZMd=ZNe#dZOe#d
>ZPe#d
?ZQe#d
@ZRed
dAd
dBZSed
ddCd
ZTGdDdEe$ZUeUdFdGdHdIZVeUdJdKdLdMZWeUdNdOdPdQZXeUdRdSdTdUZYe;ddVdZZe;dWdXdZ[GdYdZejrZ\Gd[d\ejrZ]Gd]d^e$Z^Gd_d`e^Z_e_dFdadHdIZ`e_dJdbdLdMZae_dNdcdPdQZbe_dRdddTdUZcGdedfe$ZdGdgdhejrZee#dd
ZfdiZgGdjdke$ZhGdldmejrZiGdndoejZkGdpdqeiZleje*dudrGdsdtejrZnduZoepdvk(rejyy#e+$rdZ*YWwxYw#e+$rYZwxYwcc}w)wN)array)	ltlegtgeeqnetruedivfloordivmod)support)is_resource_enabled	ALWAYS_EQLARGESTSMALLEST)MINYEARMAXYEAR	timedeltatzinfo)time)timezone)UTC)datedatetime
g@A@abcinfnanc*eZdZdZdZdZdZdZy)
TestModulect}|j|jd|j|jdy)Nr')datetime_moduleassertEqualrr)selfrs  G/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/datetimetester.pytest_constantszTestModule.test_constantsGs3"))1-))40cL|jttjyN)assertIsrrutcr*s r+test_utc_aliaszTestModule.test_utc_aliasLs

c8<<(r-cr	tt}tjD]}|j||yr/)dirr(__all__assertIn)r*	all_attrsattrs   r+test_allzTestModule.test_allOs2@(	#++	+DMM$	*	+r-cd|jjvr|jdt}t	dt|D}t	gd}|j
||z
t	gy)N_Purez"Only run for Fast C implementationc3dK|](}|jds|jds|*yw)__N)
startswithendswith).0names  r+	<genexpr>z/TestModule.test_name_cleanup.<locals>.<genexpr>Zs0NT??40t9LNs.0)rrrr
datetime_CAPIrrrrrsys)	__class____name__skipTestr(setr5r))r*rnamesalloweds    r+test_name_cleanupzTestModule.test_name_cleanupUsldnn---MM>?"NS]NN/0	
#b'2r-c2d|jjvr|jdtj}|j|ddd|j|ddd|j|ddd	|j|d
dd|j|ddd|j|d
dd	|j|ddd	|j|ddd|j|dd
d|j|dd
d	|j|ddd	|j|ddd|j|dd
d|j|dd
d	y)N_Fastz'Only run for Pure Python implementationr)rFrGrH_pydatetime_divide_and_roundr))r*dars  r+test_divide_and_roundz TestModule.test_divide_and_roundasddnn---MMCD++S"q)QR(	
QA&RR(QR(Ra(	
RQ'S!b)Rb)S"q)QA&RR(QR(Ra(r-N)rG
__module____qualname__r,r3r:rLr^r!r-r+r%r%Es1
)+
3)r-r%c,eZdZddZdZdZdZdZy)FixedOffsetct|trt|}t|trt|}||_||_||_yNminutes)
isinstanceintr_FixedOffset__offset_FixedOffset__name_FixedOffset__dstoffsetr*offsetrB	dstoffsets    r+__init__zFixedOffset.__init__s@fc"v.Fi%!)4I
$r-c6|jjSr/)rjlowerr2s r+__repr__zFixedOffset.__repr__s{{  ""r-c|jSr/)rir*dts  r+	utcoffsetzFixedOffset.utcoffset}}r-c|jSr/)rjrts  r+tznamezFixedOffset.tznames{{r-c|jSr/)rkrts  r+dstzFixedOffset.dstsr-N*)rGr_r`rorrrvryr{r!r-r+rbrbs%# r-rbceZdZddZy)PicklableFixedOffsetNc4tj||||yr/)rbrorls    r+rozPicklableFixedOffset.__init__sT64;r-)NNNrGr_r`ror!r-r+rrs<r-rceZdZdZy)PicklableFixedOffsetWithSlots)rirjspamN)rGr_r`	__slots__r!r-r+rrsDIr-rceZdZdZy)_TZInfoc*tjSr/)random)r*r(s  r+rvz_TZInfo.utcoffsets}}r-NrGr_r`rvr!r-r+rrsr-rc6eZdZdZdZdZdZdZdZdZ	y)	
TestTZInfoc
t}tddddddd|}|jt5|j	dddy#1swYyxYw)NrT rQr)rrassertRaises	TypeErrorrv)r*tz1dt1s   r+test_refcnt_crash_bug_22044z&TestTZInfo.test_refcnt_crash_bug_22044sMitQBAq#6


y
)	MMO			sAAct}tj}|jt|j
||jt|j||jt|j|yr/)rrmaxrNotImplementedErrorryrvr{)r*uselessrus   r+test_non_abstractnessz TestTZInfo.test_non_abstractnesss[(
\\-w~~rB-w/@/@"E-w{{B?r-cGddt}|jt|t|dd}|j|tt	j
}|j
t|j||j
t|j||j
t|j|y)NceZdZdZy)9TestTZInfo.test_subclass_must_override.<locals>.NotEnoughc ||_||_yr/)_NotEnough__offset_NotEnough__name)r*rmrBs   r+rozBTestTZInfo.test_subclass_must_override.<locals>.NotEnough.__init__s &
"r-Nrr!r-r+	NotEnoughrs
#r-rrQNotByALongShot)r
assertTrue
issubclassassertIsInstancernowrrryrvr{)r*rr	rus    r+test_subclass_must_overridez&TestTZInfo.test_subclass_must_overrides	#	#	

9f56
q*
+b&)
\\^-ryy"=-r||R@-rvvr:r-cltdd}|j|ttjdfD]y}|j|j
|td|j|j|d|j|j|td{y)NrQThreerer})
rbrrrrr)rvrryr{)r*forus   r+test_normalzTestTZInfo.test_normals
G
$b&),,.$&	@BR\\"-y/CDRYYr]G4RVVBZ2)>?	@r-ctjt}|jt|ttD]H\}}}|j||}|j
|}|jt|tJyr/)r__new__r0typepickle_choicesdumpsloads)r*origpickler	unpicklerprotogreenderiveds       r+test_pickling_basezTestTZInfo.test_pickling_basesj~~f%

d4j&))7	1%GYMM$.Eooe,GMM$w-0	1r-ctd}t|dfft|dfft|fft|dfffD]O\}}||}|j	d}|j|t|jt|||j|jd||j|j	d|tD]\}}}|j||}	|j|	}
|j|
t|jt|
||j|
jd||j|
j	d||jt|
dRy)NrecookieESTr)rrrrryrrr0rr)rvrrrassertFalsehasattr)r*rmotypeargsronamerrrrrs           r+test_pickling_subclassz!TestTZInfo.test_pickling_subclasss]4(
!FH#56
*VX,>?
y!
'	)	;KE4
$<DKK%E!!$/MM$t*e,T^^D16:T[[.6-;
;)E

dE2#//%0%%gv6

d7mU3  !2!24!8&A  !5u=  &!9:
;	;r-ctdxGfddt}|}tddddd|	}|j|}|j	||jz
|y)
Nrhoursc*eZdZ	fdZfdZdZy)0TestTZInfo.test_issue23600.<locals>.UKSummerTimecSr/r!)r*ru	DSTOFFSETs  r+rvz:TestTZInfo.test_issue23600.<locals>.UKSummerTime.utcoffsets	  r-cSr/r!)r*ruDSTDIFFs  r+r{z4TestTZInfo.test_issue23600.<locals>.UKSummerTime.dstsr-cy)NUKSummerTimer!rts  r+ryz7TestTZInfo.test_issue23600.<locals>.UKSummerTime.tznames%r-NrGr_r`rvr{ry)rrsr+rrs

!

&r-rrrWr)rrrfromutcr)rv)r*rtzutrrs     @@r+test_issue23600zTestTZInfo.test_issue23600sc'a00)	&6	&^T1b"a3JJqMQ[[]*A.r-N)
rGr_r`rrrrrrrr!r-r+rrs'@;@	1;./r-rcreZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZy)TestTimeZonecttdd|_ttdd|_t	ddd|_y)N#@rACDTrRrr)rrrrrDTr2s r+setUpzTestTimeZone.setUps;YS16:	YQ//74A&r-c|j|jtjtjtj
fD],}|j
t||jd.yr/)	rrrr1minrr)strryr*rs  r+test_strzTestTimeZone.test_strsO99dhh<</	7BSWbiio6	7r-ct}|j|jtjtj
tjfD](}t|}|j|t|*yr/)
r(rrrr1rrreprr)eval)r*rrtzreps    r+	test_reprzTestTimeZone.test_reprsW"99dhh<</	.BHERe-		.r-cBtdd}|jtjj	dt
|jtjj	d||jtjj	d|y)N;rrf)rr)rr1rvZEROrr)r*limits  r+test_class_memberszTestTimeZone.test_class_memberssmB///5t<//5v>//5u=r-c|jtjttd|j	tjttdd|jtjttddtdtdfD];}t|}|j
|jdtdzd=tddtdfD]9}|jtt||jtt|;|jt5tdddd|jt5tdddd|jt5ttdddd|jt5ttdddd|jt5ttdd	dddy#1swYxYw#1swYxYw#1swYxYw#1swY]xYw#1swYyxYw)
Nrrrmicrosecondssecondsrer}ABCextra)r0rr1rassertIsNotr)assertNotEqualrvr
ValueErrorrr)r*	subminuterinvalids    r+test_constructorzTestTimeZone.test_constructors

hllHYq\$:;x	!e'DEx	!e'DE#3Yq5IJ	NI)$BT 2Yq5I I1M	N"!Q16	>Gj(G<j(WH=	>

y
)98D>9


y
)78B<7


y
)?8D$+??


y
)=8D"+==


y
)I8D%+III		:977??==IIs<H H,)H8II H),H58II
Ic|jtjt|j|jtyr/)rrr1rrr2s r+test_inheritancezTestTimeZone.test_inheritance,s*hllF3dhh/r-c|j}dD]a}|tz}|j|t|j	||j|t|j	|c|jt5|jj	dddd|jt5|jj	ddddy#1swYCxYw#1swYyxYw)N)rg?rrR)rHOURr)rrvrrr)r*dummyhrms    r+test_utcoffsetzTestTimeZone.test_utcoffset0s	JAXFVXf%5%?%?%FGfWhw&7&A&A%&HI	J


y
)A488+=+=b+AA


y
)@488+=+=a+@@@	BA@@sC&C2&C/2C;c|jtjj|j|jt5|jjdddd|jt5|jjddddy#1swYCxYw#1swYyxYw)NrrR)assertIsNonerr1r{rrrrr2s r+test_dstzTestTimeZone.test_dst;s{(,,**47734


y
);488<<+;;


y
):488<<?::	<;::sB,B8,B58Cc
|jdtjjd|jdt	jd|jdtt
jd|jdtdtzjd|jdtdtzjd|jdttdjd|jd	tdtzd	jd|jd
tt
d
jd|jdttdd
jd|jdttdd
jd|jdttdd
djd|jdttdd
djd|jt5|jjdddd|jt5|jjddddy#1swYCxYw#1swYyxYw)Nrz	UTC-05:00z	UTC+09:30rz	UTC-00:01reXYZzUTC+01:06:40rzUTC-01:06:40zUTC+01:06:40.000001rzUTC-01:06:40.000001rrR)r)rr1ryrrrrrrrr2s r+test_tznamezTestTimeZone.test_tznameAs 3 3D 9:

4 01 5 5d ;<hrDy&9&@&@&FGhsTz&:&A&A$&GHhy/D&E&L&LT&RSdE : A A$ GH8D(#;#B#B4#HI	
)At2D)E)L)LT)RS!9Q#5"56==dC	E.!)AtQ"78??E	G.!9Qa#8"89@@F	H

y
)>488??2+>>


y
)=488??1+===	?>==s#KK
K

Kc|jt5tjj	|j
ddd|jt5tjj	dddd|j|jtfD]}|j
j|}|j	|}|j||z
|j||j||j
jtjy#1swYxYw#1swYxYw)Nznot datetimer)
rrrr1rrrrrEasternreplacer)rv)r*rutctimelocals    r+test_fromutczTestTimeZone.test_fromutcXs


z
*	*LL  )	*


y
)	1LL  0	188TYY0	CBggooRo0GJJw'EUW_bll5.ABU!WW__HLL_A
C		C		*	*	1	1s*D3 D?3D<?Ec|jtttt|j	tttt|j	tdtztdtzd|jt5ttttkddd|jtttth|jttdk7|jttdk(tt}|j|tk(|j|tk7|j|tk|j|tkD|j|tk|j|tk\|j|tk|j|tkD|j|tk|j|tk\y#1swYyxYw)Nr	r)
rrrrr)rrr7rrrrrrs  r+test_comparisonzTestTimeZone.test_comparisonds{HTNHTN;$$8"t),hrDy%.HI


y
)J8D>HTN+JJ

htnx~&67$./$4/0
d^i(y)W%g&g
&w'h'X
&x(h'	KJs! H88Ictddd}tjtjtjfD]}|j|j
||j|j
|j|j||j|j|j|j||j|jy)Nrr)
rrrrr1r)ryrrvr{r*rrs   r+test_aware_datetimez TestTimeZone.test_aware_datetimeysQ1<<x||<	9BRYYq\YYbY188:
<R\\!_YYbY1;;=
?RVVAYYYbY1557
9	9r-c|j|jtjtjfD]D}t
D]9\}}}|j
|j||}|j||;Ftj}t
D]9\}}}|j
|j||}|j||;yr/)rrrrrrrrr)r1r0)r*rrrrtz_copys      r+test_picklezTestTimeZone.test_pickles))TXXx||X\\A	.B-;
.)E#//'--E*BC  "-
.	.\\)7	'%GYoogmmB&>?GMM'2&	'r-c6|j|jtjtjfD])}tj
|}|j
||+tj}tj
|}|j||yr/)	rrrrrcopyr)r1r0r*rrs   r+	test_copyzTestTimeZone.test_copysm))TXXx||X\\A	*BiimGWb)	*\\))B-

gr"r-c6|j|jtjtjfD])}tj|}|j||+tj}tj|}|j||yr/)
rrrrrrdeepcopyr)r1r0rs   r+
test_deepcopyzTestTimeZone.test_deepcopyso))TXXx||X\\A	*BmmB'GWb)	*\\--#

gr"r-cXtddtdddtddddg}|j|Dcgc]}|c}|D])}|jd|5t|ddd+td	
td	dg}|j|Dcgc]}|c}|D]G}|jd
|5|j	t
5t|ddddddIycc}w#1swYxYwcc}w#1swY*xYw#1swYvxYw)Nrrrrrfr?Brrfrrgood)	test_typedeltarr)rrbad)rextendsubTestrrr)r*time_deltasr*bad_time_deltass    r+test_offset_boundariesz#TestTimeZone.test_offset_boundariess1
B+BB7BBVL

	<uUF<= 	 Ee<
 
 
 	 
BBQ/
	OD5DE$	$EU;
$&&z2$UO$
$
$	$=
 
  E$$
$
$s;
C>"D 
D	D D+D D	DD  D)	c|jtjt|jtt	dty)Nrr)rrr1rrr2s r+test_comparison_with_tzinfoz(TestTimeZone.test_comparison_with_tzinfos6	
HLL&(3HYQ%78&(Cr-N)rGr_r`rrrrrrrrrrrrrr r#r1r3r!r-r+rrs['
7
.>J$0A;>.
C(*	9'##$2Dr-rceZdZdZdZy)HarmlessMixedComparisonc|jddd}|j|dk(|j|dk7|jd|k(|jd|k7|j|ddg|g|jg|ddgg|j|tk(|j|tk7|j|t
k|j|t
kD|j|t
k|j|t
k\|j|tk|j|tkD|j|tk|j|tk\y)Nrr!)theclassrrr7rrrr*mes  r+test_harmless_mixed_comparisonz6HarmlessMixedComparison.test_harmless_mixed_comparisons2
]]1a
#r"b!r"b!

b1b"b/*

b2q"b/*	
i(y)	
W%g&g
&w'h'X
&x(h'r-c|jddd|jtfd|jtfd|jtfd|jtfd|jtfd|jtfd|jtfd|jtfd	y)
NrcdkSNr!r!r:sr+<lambda>zGHarmlessMixedComparison.test_harmful_mixed_comparison.<locals>.<lambda>R"Wr-cdkSr>r!r?sr+r@zGHarmlessMixedComparison.test_harmful_mixed_comparison.<locals>.<lambda>R2Xr-cdkDSr>r!r?sr+r@zGHarmlessMixedComparison.test_harmful_mixed_comparison.<locals>.<lambda>rAr-cdk\Sr>r!r?sr+r@zGHarmlessMixedComparison.test_harmful_mixed_comparison.<locals>.<lambda>rCr-cdkSr>r!r?sr+r@zGHarmlessMixedComparison.test_harmful_mixed_comparison.<locals>.<lambda>rAr-cdkSr>r!r?sr+r@zGHarmlessMixedComparison.test_harmful_mixed_comparison.<locals>.<lambda>rCr-cdkDSr>r!r?sr+r@zGHarmlessMixedComparison.test_harmful_mixed_comparison.<locals>.<lambda>rAr-cdk\Sr>r!r?sr+r@zGHarmlessMixedComparison.test_harmful_mixed_comparison.<locals>.<lambda>rCr-)r8rrr9s @r+test_harmful_mixed_comparisonz5HarmlessMixedComparison.test_harmful_mixed_comparisons
]]1a
#)_5)%56)_5)%56)_5)%56)_5)%56r-N)rGr_r`r;rJr!r-r+r5r5s(:7r-r5ceZdZeZdZdZdZejdZ
dZdZdZ
dZd	Zd
ZdZdZd
ZdZdZejdZdZdZdZdZdZdZdZdZdZdZ dZ!y)
TestTimeDeltac|j}t}|||ddddddd||d|d||dd|d||ddd|d||d|d||d|d	
||d
|d||d|d||d|d
||d|d
||d|d||d|d
||d
|d||d|d||d|d||d|dy)Nr)weeksdaysrrfrmillisecondsrrrOrrrNrTr+r<rerPg$I$I?gUUUUUU?g?gMbP?)r)r)r*rtds   r+rzTestTimeDelta.test_constructorsV



	24!!1a!"4	5
2a5"!*
2a8R]#
2aA;*+
2A;
#
21:r|$
2A;2'
2a="R.)
2a="$/0
21rt45	2E?BAJ'
26?BQK(
2FR]+
2fr!}-
2eba01
25!21#56r-c	|j}t}|d}|dd}|ddd}|||z|z|ddd|||z
|dd||j||dd|||d|||d|||dd|||dd	d
|t|||t||||dd|||ddd|||d
z|d||d
zd
|z||d
zd
|z||d
z|dd|d
|z|dd||d
z|dd||d
z|ddd|d
|z|ddd||d
z|ddd||dz|||dz||z
||dz||z||dz|dzdz||dzd|zdz||dz|dd|d|z|dd||dz|d||d
z|dd||dz|ddd||d
z|dd||dz|ddd||dz|d||dz|dd||dz|d||d
z|dd||dz|ddd||d
z|dd||dz|ddd|d}|d|zdzd|z|d|zdzd|z|dd|zzd|z|dd|zzd|z|d|zdzd|z|d |zdzd|z||d!d"z|d#||d!d$z|d%|d|zdzd|z|d|zdzd|z|d|zd&zd|z|d |zd&zd|z|d|zdzd|z|d|zdzd|z|d|zd'zd|z|d|zd'zd|zt	d(d
D] }|||zdz|zt|dz"t	d(d
D] }|||zdz|zt|dz"||d!d)z|d%||d*d	d+|d*d	d,z
|ddd||d*dd|d*ddz
|dddy)-NrTrrSrTrYiDQrVr
QX>QirFiX'rSr+ri@i6i@?xrrQrUrRrPr	r翶~Ϛ?@g6+1?iS	g@grOg`""K?-?ɚ;r&>B)r)r__rsub__absrangeround)r*rrVabcusis        r+test_computationszTestTimeDelta.test_computationss}



qEq"Iq!TN
1Q3q5"QD/"
1Q31l#$
1::a="Q-.
A2r"v
A2r!u

A2r"l#$
A2r"k6*+
3q61

3r7A
2a>1
2aJ#
1R4B
1R4A
1R4A
1R4As
2a4As
1R4As
1R4Aq%!
2a4Aq%!
1R4Aq%!
1R4!
1R4!A
1R4!QB
1e9qtRi 
1e9r!tRi 
1T62a8
462a8
1a4A
1b5"Q(
1d7Bq!QK 
1b5"Q/"
1g:r!Q	*+
1S5"R&
1S5"Q*
1Q31
1R4Aq
1T62aA;
1R4Ax!
1W9bAy)*Q

AbDC<2
AbDC<2
3!B$<2
3!B$<2
BrES="R% 
BrES="R% 	2a=8#RV%<=
2a=9$bf&=>	AbDA:qt
AbDA:qt
BrES="R% 
BrES="R% 
AbDB;2
AbDB;2
AbDD="R% 
AbDD="R% sB	)A"Q|U1Q3Z(	)sB	+A"R"}eAbDk*	+	2a=M*BF,CD	2i'"Yv*FF
aA;	
2iAIq!!44
aA;	r-ctddD]j|jtfd|jtfd|jtfd|jtfdld|jtfd|jtfd	|jtfd
|jtfd|jtfdy)
Nr}r?czSr/r!rirmsr+r@z<TestTimeDelta.test_disallowed_computations.<locals>.<lambda>i1r-cz
Sr/r!rssr+r@z<TestTimeDelta.test_disallowed_computations.<locals>.<lambda>jrtr-czSr/r!rssr+r@z<TestTimeDelta.test_disallowed_computations.<locals>.<lambda>krtr-cz
Sr/r!rssr+r@z<TestTimeDelta.test_disallowed_computations.<locals>.<lambda>lrtr-rczSr/r!rizerosr+r@z<TestTimeDelta.test_disallowed_computations.<locals>.<lambda>qsTQYr-czSr/r!rysr+r@z<TestTimeDelta.test_disallowed_computations.<locals>.<lambda>rsQ$Yr-czSr/r!rysr+r@z<TestTimeDelta.test_disallowed_computations.<locals>.<lambda>ssQXr-cdzS)Nr!risr+r@z<TestTimeDelta.test_disallowed_computations.<locals>.<lambda>tsQWr-cdzS)Nrr!rsr+r@z<TestTimeDelta.test_disallowed_computations.<locals>.<lambda>usQVr-)rrrZeroDivisionError)r*rirmrzs @@@r+test_disallowed_computationsz*TestTimeDelta.test_disallowed_computationsdsbM	6Ai5i5i5i5		6)%67+->?+-=>+_=)^4r-ctd}|jt|jt|jt|j
ty)Nr})rrr__mul__NAN__truediv__)r*ris  r+test_disallowed_specialz%TestTimeDelta.test_disallowed_specialws7bM*aii5*ammS9r-cd\}}}t|||}|j|j||j|j||j|j|y)N)rrTrr)rOrr)r*rOrrlrVs     r+test_basic_attributesz#TestTimeDelta.test_basic_attributes}sX$gr
tWb
)$'W-"-r-cBtd}|j|jddD].}t|}|j|j|0dD];}t|}|j|j|tdz=y)	NmrQg8~A)g˟$@g˟$rarg.Ar)r
rSirr)rr)
total_seconds)r*rVrmss    r+test_total_secondsz TestTimeDelta.test_total_secondss
C
 ))+Z8N	@M=1BR--/?	@
!	LB+BR--/i6J1JK	Lr-cbtdddddd}td	}|j||y)
NdrV8rPrgArOrNrrfrrrr)rr)r*t1t2s   r+test_carrieszTestTimeDelta.test_carriess9
C)!!$9;A
&R r-ctdddddd}t}|jt|t||td	z
}|td
z
}|j|||jt|t||di}d
||<|jt|d|j||d
y)NrrVrrPriz
rrTrR1rQrrU)rr)hashlen)r*rrds    r+test_hash_equalityz TestTimeDelta.test_hash_equalitys
C)!!$9;[b48,
ia  
iS!!R b48,
G"Q#2"r-cd}t|}tD];\}}}|j||}|j|}|j	||=y)N)r"8)rrrrr)r*rrrrrrrs        r+
test_picklingzTestTimeDelta.test_picklingsU$)7	,%GYMM$.Eooe,GT7+	,r-ctdddtddd}|j||j|k|j|k\|j|k7|j|k|j|kDdD]}t|}|j|k|j|kD|j|k|j|k\|j|k7|j|k7|j|k(|j|k(|j|kD|j|k|j|k\|j|ktD]'|jk(d|jk7d|jk(d|jk7d|jtfd|jtfd|jtfd	|jtfd
|jtfd|jtfd|jtfd
|jtfd*y)NrUrQrW)rQrQrQ)rUrWrW)rUrQrRFTckSr/r!badargrsr+r@z,TestTimeDelta.test_compare.<locals>.<lambda>vr-ckSr/r!rsr+r@z,TestTimeDelta.test_compare.<locals>.<lambda>fr-ckDSr/r!rsr+r@z,TestTimeDelta.test_compare.<locals>.<lambda>rr-ck\Sr/r!rsr+r@z,TestTimeDelta.test_compare.<locals>.<lambda>rr-ckSr/r!rsr+r@z,TestTimeDelta.test_compare.<locals>.<lambda>2r-ckSr/r!rsr+r@z,TestTimeDelta.test_compare.<locals>.<lambda>"r-ckDSr/r!rsr+r@z,TestTimeDelta.test_compare.<locals>.<lambda>rr-ck\Sr/r!rsr+r@z,TestTimeDelta.test_compare.<locals>.<lambda>rr-)rr)rr
OTHERSTUFFrrr*rrrrs   @@r+test_comparezTestTimeDelta.test_comparesS
q!Q

q!Q
R b!b!r"b!b!3
	'DD!BOOBG$OOBG$OOB"H%OOB"H%OOB"H%OOB"H%R2X&R2X&R"W%R"W%R2X&R2X&
	'!
	?FR6\51R6\40Vr\51Vr\40i)=>i)<=i)<=i)=>i)=>i)<=i)<=i)=>
	?r-c*t}|j}|t|dd|t|dd|t|dd|t|dd|t|d	d
dd
|t|dddd|t|ddd	dd|t|dd|t|dd|t|ddddddy)Nrz1 day, 0:00:00r
z-1 day, 0:00:00rUz2 days, 0:00:00rSz-2 days, 0:00:00r:rr%z12:58:59rQrWz2:03:04irr)rNrrfrz-210 days, 23:12:34rUz0:00:00.001000rz0:00:00.000003rcr&rOrrfrrz999999999 days, 23:59:59.999999)rr)r)r*rVrs   r+rzTestTimeDelta.test_strs




3r!u:'(
3r"v;)*
3r!u:()
3r"v;*+
3rB34jA
3r1a019=
3r2r2>? 	"	3rq!"$45
3rq!"$45
3ryB &(),	.r-c	d|jjz}|jt|jdd|z|jt|jddd|z|jt|jdddd	|z|jt|jd
d|z|jt|jd
|z|jt|jdd|z|jt|jddd|z|jt|jddd|zy)N	datetime.rz
%s(days=1)rrUz%s(days=10, seconds=2)rOz,%s(days=-10, seconds=2, microseconds=400000)rSrz%s(seconds=60)z%s(0)rrz%s(microseconds=100))rOrz%s(days=1, microseconds=100))rrz%s(seconds=1, microseconds=100)r8rGr)rr*rBs  r+rzTestTimeDelta.test_reprsWT]]333dmmA./%,	.dmmB231D8	:dmmCF;<G$N	PdmmBm78)D0	2dmmo. 4	)dmmm=>/$6	8dmmmEF7$>	@dmmACmHI:TA	Cr-ctdddddtdtdd	tdd
dfD]}t|}|j|jd
|dd}t	|}|j||t|j|j|j}|j||y)Nrcrrr&r6erQrrOrrUrQrOrrr	)	rrrr?rr)rOrr)r*rVstd2s    r+test_roundtripzTestTimeDelta.test_roundtrips)2r%'f>*-*a8!QQ?	A	&BRAOOALL56!"Aq'CR%BGGRZZACR%	&r-c:|jtjt|jtjt|jtjt|jtjtjkD|j
tjtd|j
tjtddd|j
tjtdddy)NrrcrXg~.Arr)rrrr
resolutionrr)r2s r+test_resolution_infoz"TestTimeDelta.test_resolution_infosimmY7immY7i22I>	

	

56	*(=>	)Y(NO--yAq/ABr-ctj}tj|z}||z}|jt|j
||jt|j|tj|z
}||z
}|jt|j||jt|j
||jtdtd}|jt|jd|jt|jd|jt|jd|jt|jd|jt|jdy)Nc$tjSr/)rrr!r-r+r@z-TestTimeDelta.test_overflow.<locals>.<lambda>.s)--r-rʚ;geAg#B;g|=gr{>)
rrrr
OverflowError__sub____add__rrr)r*tinyrVdays    r+
test_overflowzTestTimeDelta.test_overflow!s##
]]T
!
d
-T:-dU;
]]T
!
d
-T:-dU;-)?@l-e<-c:-%@-%@-%@r-ctd}|jt|jt|jt|jtyNr)rrrrINF)r*rs  r+_test_overflow_specialz$TestTimeDelta._test_overflow_special7s9l-c:-sd;r-c<t}|j}||d|d||d|d||d|d||d|d||d|d	||d
|d||d|d
||d|d||d|d||d|d||d|d||d|dd}|dz}||d|z|d||d|z|d||d|zd|z|d	||d|z|d||d|z|d||d|zd|z|d||d d |d!z||d |jzd |jz|jzy)"Ng-C6:?rUrg-C6:gMb@?rgMb@ga2U0*C?rga2U0*Cr
g~jtX?rUg~jtXrSgƠ>rgƠ?i|tAr+g?rQg?rrOrgٿgɿr^rq)rr)r)r*rVrus_per_hour
us_per_days     r+test_microsecond_roundingz'TestTimeDelta.test_microsecond_rounding=s



	28$be,
29%r!u-
28$ba&89
29%rr':;
28$ba&89
29%rr':;
28$ba&89
29%rr':;
2i "!"45
2j!22#67
2frt45
2g 67 2%

22j=!2a5)
2B{N#RU+
22j=;79KL
23z>"BqE*
2CO$be,
23z>[922;NO	23RS%9!9:
23.BMM0A2==0PQr-ctd}|j|j|j|jfdy)Nr
r)r
rXr&r)r*rVs  r+test_massive_normalizationz(TestTimeDelta.test_massive_normalization^s2
B
'"''2::r?0	2r-c|jtd|jtdd|jtddd|jtd|jtdy)Nrrr)rrrr2s r+	test_boolzTestTimeDelta.test_boolcs\	!%	!Q(	!Q*+	q121&r-cFGfddtd}|jt||j|j	ddd}|jt||j|j	d	||z}|jt|tj|}|jt||j|j|j|j|j|j|j|j|j|jt|t||j|j	dy)
Nc(eZdZefdZdZy)0TestTimeDelta.test_subclass_timedelta.<locals>.TcT|j|j|jSr/r)rVTs r+from_tdz8TestTimeDelta.test_subclass_timedelta.<locals>.T.from_tdms"**boo>>r-cv|jdz|jdzz|jdzz}t|S)Nr+g @r)rOrrrh)r*sums  r+as_hoursz9TestTimeDelta.test_subclass_timedelta.<locals>.T.as_hoursqs?yy2~||f,-((612Sz!r-N)rGr_r`staticmethodrr)rsr+rrls

?
?
"r-rrrQr+r
iri)
rr0rr)rrrOrrr)r*rrt3t4rs     @r+test_subclass_timedeltaz%TestTimeDelta.test_subclass_timedeltajs&		"			"AY

d2h"+
B
&

d2h",
"W

d2h	*
YYr]

d2h""''*RZZ0"//:R#b'*+r-c	\Gddt}|ddd}td}dd|ddd	fd
d|ddd	fdd
|dddfg}|D]M\}}}|j|5|||}|j|||j	||dddOy#1swYZxYw)NceZdZy)6TestTimeDelta.test_subclass_date.<locals>.DateSubclassNrGr_r`r!r-r+DateSubclassrr-rrrRrQaddc||zSr/r!rrs  r+r@z2TestTimeDelta.test_subclass_date.<locals>.<lambda>
Qr-rYraddc||zSr/r!rs  r+r@z2TestTimeDelta.test_subclass_date.<locals>.<lambda>
!a%r-subc||z
Sr/r!rs  r+r@z2TestTimeDelta.test_subclass_date.<locals>.<lambda>rr-rW)rrr.r)r)	r*rd1rVtestsrBfuncexpectedacts	         r+test_subclass_datez TestTimeDelta.test_subclass_dates	4	$1
%
A
&T1a(@A
'dAq)AB
&T1a(@A
%*	9 D$d#
92rl  h/%%c<8
9
9	9
9
9s).B""B+	c
hGddt}|ddddd}tdd}d	d
|ddddfd
d|ddddfdd|ddddfg}|D]M\}}}|j|5|||}|j|||j	||dddOy#1swYZxYw)NceZdZy)>TestTimeDelta.test_subclass_datetime.<locals>.DateTimeSubclassNrr!r-r+DateTimeSubclassr	rr-r
rrrRr)rOrfrc||zSr/r!rs  r+r@z6TestTimeDelta.test_subclass_datetime.<locals>.<lambda>rr-rY
rc||zSr/r!rs  r+r@z6TestTimeDelta.test_subclass_datetime.<locals>.<lambda>rr-rc||z
Sr/r!rs  r+r@z6TestTimeDelta.test_subclass_datetime.<locals>.<lambda>rr-rW)rrr.r)r)	r*r
rrVrrBrrrs	         r+test_subclass_datetimez$TestTimeDelta.test_subclass_datetimes	x	dAq"b
1
Ar
*&(8q!R(HI
')9$1b)IJ
&(8q!R(HI
%*	= D$d#
=2rl  h/%%c+;<
=
=	=
=
=s/.B((B1	ctddd}td}|j||zd|j||zdtdd	
}td}|j||zd|j||zdtd
}|jtt|||jtt
||y)Nrr+r%rgó@irUrrfrreg@r)rr)rrr
r)r*rsecondminutezerotds     r+
test_divisionzTestTimeDelta.test_divisionsAr261%VV,fd+a,1%VS)fa(1+Wa@+Xq&Ar-cZtdd}td}||z}|j|tdtdd}||z}|j|tdtd}|jtt|||jt
t|d	y
NrUrrrrerrSrr)rr)rrrr)r*rrrrs     r+test_remainderzTestTimeDelta.test_remaindersa,1%
JIb12b"-
KIb121+S!V<)S!R0r-ctdd}td}t||\}}|j|d|j|tdtdd}t||\}}|j|d|j|tdtd}|jtt|||jt
t|d	yr)rdivmodr)rrr)r*rrqrrs      r+test_divmodzTestTimeDelta.test_divmodsa,1%a 1AIb12b"-a 1BIb121+VQ?)VQ3r-cd}|jt5t|ddzzddd|jt5t|ddzzddddD]d}|jt5t||zddd|jt5t||zdddfy#1swYxYw#1swYxYw#1swYUxYw#1swYxYw)Nc4Gfddt}|S)NceZdZfdZy)FTestTimeDelta.test_issue31293.<locals>.get_bad_float.<locals>.BadFloatcSr/r!)r*	bad_ratios r+as_integer_ratiozWTestTimeDelta.test_issue31293.<locals>.get_bad_float.<locals>.BadFloat.as_integer_ratios	$$r-N)rGr_r`r&)r%sr+BadFloatr#s%r-r')float)r%r's` r+
get_bad_floatz4TestTimeDelta.test_issue31293.<locals>.get_bad_floats
%5
%:r-rrT)r!r|rrUrQ)rrrr)r*r)r%s   r+test_issue31293zTestTimeDelta.test_issue31293s	

y
)	3K-T	22	3


y
)	3K-T	22	31	7I"":.
7mI66
7"":.
7mI66
7
7	7	3	3	3	3
7
7
7
7s/C
C"C.7C:C"C+.C7	:D	cGfddt}GfddGfddtdD]|j5	t|d	
	t|d		t|d		td	|d	z	|d	td	z	td	|d	zdddy#t$rY{wxYw#t$rYwwxYw#ttf$rYywxYw#ttf$rYywxYw#t$rYswxYw#t$rYmwxYw#1swY	xYw)
Nc6eZdZfdZfdZfdZfdZy)-TestTimeDelta.test_issue31752.<locals>.BadIntcSr/r!r*otherProds  r+rz5TestTimeDelta.test_issue31752.<locals>.BadInt.__mul__
v
r-cSr/r!r0s  r+__rmul__z6TestTimeDelta.test_issue31752.<locals>.BadInt.__rmul__r3r-cSr/r!r0s  r+__floordiv__z:TestTimeDelta.test_issue31752.<locals>.BadInt.__floordiv__r3r-cSr/r!r0s  r+
__rfloordiv__z;TestTimeDelta.test_issue31752.<locals>.BadInt.__rfloordiv__r3r-N)rGr_r`rr5r7r9)r2sr+BadIntr.s



r-r:c"eZdZfdZfdZy)+TestTimeDelta.test_issue31752.<locals>.ProdcSr/r!r*r1Sums  r+rz3TestTimeDelta.test_issue31752.<locals>.Prod.__add__
ur-cSr/r!r>s  r+__radd__z4TestTimeDelta.test_issue31752.<locals>.Prod.__radd__r@r-N)rGr_r`rrB)r?sr+r2r<s


r-r2ceZdZfdZy)*TestTimeDelta.test_issue31752.<locals>.SumcSr/r!)r*r1divmodresults  r+
__divmod__z5TestTimeDelta.test_issue31752.<locals>.Sum.__divmod__
s	##r-N)rGr_r`rGrFsr+r?rD	s
$r-r?)Nr!)rrrU)rr
rHrrrrR)rhr.rrr)r*r:r2r?rFs  @@@r+test_issue31752zTestTimeDelta.test_issue31752sM	S				$#	$;	L<8
6!95F1I.F1I.aL6!9,1I	!,aLF1I-/

	
!!":.":.!!1

s	D3C
C1C+DD.D$
	CD3CD3	C(%D3'C((D3+C=:D3<C==D3DD3DD3	D!D3 D!!D3$	D0-D3/D00D33D=	N)"rGr_r`rr8rrnrr
requires_IEEE_754rrrrrrrrrrrrrrrrrrrrrrr+rIr!r-r+rLrLsH72Qf5&
::
.
L!#(,&?P.*C&&$CA,
<<
RB2
',>9&=&
B&
14"7(1r-rLceZdZdZy)TestDateOnlyc<tddd}tddddd}t|j}|j|td||z}|j|||z||z}|j|||z||z
}|j|||z
|}t|j}|j|td||z}|j|||z||z}|j|||z||z
}|j|||z
y)	NrrUrQrWrRrrS)rrrOr))r*rur*rOdt2s     r+test_delta_non_days_ignoredz(TestDateOnly.test_delta_non_days_ignored1s
$1
q1a'(*$y|,5jb4i(bjb4i(5jb4i($y}-5jb4i(bjb4i(5jb4i(r-N)rGr_r`rPr!r-r+rLrL-s)r-rLceZdZdZy)SubclassDaterNrGr_r`sub_varr!r-r+rRrRNGr-rRceZdZeZdZdZdZdZdZ	dZ
dZdZd	Z
d
ZdZdZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#d Z$d!Z%d"Z&d#Z'd$Z(d%Z)d&Z*d'Z+d(Z,d)Z-d*Z.d+Z/y,)-TestDatec|jddd}|j|jd|j|jd|j|jdy)NrQr)r8r)yearmonthrrts  r+rzTestDate.test_basic_attributesWsP
]]4A
&$'1%#r-c|jddd|jjfD]}t|}|j|j	d|dd}t|}|j
|||j|j|j|j}|j
||y)NrrUrQrr)
r8todayrrr?rr)rZr[rr*rurrOs    r+rzTestDate.test_roundtrip]s==Aq)==&&(*	&BRAOOALL56!"Aq'CR%--266:CR%	&r-c	.dD]\}}}}|j|||}|j||j|jj|}|j||t	|dsu|j|j
d|j|jd|j|jd|j|jdtttdzdD]}|j|dd}|j}|jj|}|j|||dkDsY|jj|dz
}|j|dz
dd}|j|||j|j|dz
gd}d	D]\}}	|j|ddj}ttdd
|D]\}
}|
dk(r|	r|dz
}td|dzD]e}|j||
|}|j|j||j||jj||dz
}gy)N))rrrr)rrrr)rUrrn)irri
hourrrrTrr)rrrrrrrrrrr))rNT)rYFr
rU)
r8r)	toordinalfromordinalrrarrmicrosecondrgrrzip)
r*ymrnfromordrZd2dimisleapr[maxdayrs
             r+test_ordinal_conversionsz!TestDate.test_ordinal_conversionsksV3	9JAq!Q


aA&AQ
.mm//2GQ(w'  q1  3  3  !4!4a8	9&'719a0	6D

dAq)A
A**1-BQ#axMM--ac2]]462r2  B'  15	6?7		LD&

dAq)335A!$U1b\3!7

vA:&aKF F1H-C

dE37A$$Q[[]A6$$Q

(A(A!(DEFA	
		r-c|jj|jjjjjj
}|j||jtfdtdz}|j|jdz|j||jj
dz|jj|jjjjjj
}|j||jtfdtdz
}|j|jdz
|j||jj
dz
y)Nc,jdz
Srrdriaordsr+r@z0TestDate.test_extreme_ordinals.<locals>.<lambda>ammD1H.Er-rrQc,jdzSrrrrssr+r@z0TestDate.test_extreme_ordinals.<locals>.<lambda>rur-)r8rrZr[rrcrdr)rrrr)r*rjrirts  @@r+test_extreme_ordinalszTestDate.test_extreme_ordinalssiMMMM!&&!''1551{{}
MM$A*&EF
	q!!q1DMM55dQh?@MMMM!&&!''1551{{}
MM$A*&EF
	q!!q1DMM55dQh?@r-c|jtdd|jtdd|jt|jtdz
dd|jt|jtdzdd|jddd|jddd|jt|jddd|jt|jddd|jddd|jddd|jd	dd|jt|jddd
|jt|jddd|jt|jddd|jt|jd
dd|jt|jddd|jt|jdddy)NrrNrrr
rU`	r4lr)r8rrrrr2s r+test_bad_constructor_argumentsz'TestDate.test_bad_constructor_argumentss~

gq!$

gq!$*dmmWQY1E*dmmWQY1E

dAq!

dB"*dmmT1a@*dmmT2qA

dAr"

dAr"

dAr"*dmmT1bA*dmmT1bA*dmmT1bA*dmmT1bA*dmmT1a@*dmmT1bAr-c|jddd}|jddd}|j|||jt|t||di}d||<|jt|d|j||d|j||d|jddd}|jddd}|j|||jt|t||di}d||<|jt|d|j||d|j||dy)NrNrrrrUr|r8r)rrr*redics    r+rzTestDate.test_hash_equalitys6MM$B'MM$B'Aa$q'*!fAS1%Q#Q#MM$Q'MM$Q'Aa$q'*!fAS1%Q#Q#r-cL|jddd|jddd}|jddd}|z
}|j|jdtt	dddz|j|j
d	|j|jd	tdtd
}|jddd|jz|jddd|jz|jddd|jz
|jddd|jz|jddd|j|z|jddd|j|z
|jddd
|jd|zz|jddd|jd|zz
|jddd|j|zz
||jzz
|j|z
z
||jz
z
|j|zz
||jzz
|j|z
z
||jz
z
|j||z
z
dD]j|jtfd|jtfd|jtfd|jtfdl|jtfd|jtfd|jtfd|jtfd|jtfd|jtfd|jtfd|jtfdy)NrYrrr|rUArWrrTrQrr4rpczSr/r!rssr+r@z,TestDate.test_computations.<locals>.<lambda>rtr-cz
Sr/r!rssr+r@z,TestDate.test_computations.<locals>.<lambda>rtr-czSr/r!rssr+r@z,TestDate.test_computations.<locals>.<lambda>rtr-cz
Sr/r!rssr+r@z,TestDate.test_computations.<locals>.<lambda>rtr-cz
Sr/r!rirsr+r@z,TestDate.test_computations.<locals>.<lambda>	S1Wr-czSr/r!rsr+r@z,TestDate.test_computations.<locals>.<lambda>rr-czSr/r!rsr+r@z,TestDate.test_computations.<locals>.<lambda>QWr-czSr/r!rsr+r@z,TestDate.test_computations.<locals>.<lambda>
SAXr-czSr/r!rsr+r@z,TestDate.test_computations.<locals>.<lambda>Q#Xr-czSr/r!rsr+r@z,TestDate.test_computations.<locals>.<lambda>QUr-czSr/r!rsr+r@z,TestDate.test_computations.<locals>.<lambda>Q!Vr-czSr/r!rsr+r@z,TestDate.test_computations.<locals>.<lambda>rr-
r8r)rOrrgrrrrr)r*rjrkdiffweekrirrms     @@@r+rnzTestDate.test_computationss~MM$2&MM$2&MM$q#sFStT11E-F$FGq)**A.l|MM$1%S$--a";<q$--a";<S$--a";<#4==q!#<=T4==q!#<=T4==q"#=>RWdmmD!Q&?@RWdmmD!Q&?@!d(a.!c'Q,!d(a$/!c'Q-a$h$/a#g-a$h.a#g,a#g,	6Ai5i5i5i5		6	
)_5)_5)_5)%56)%56)]3)^4)]3r-c|jj}|tdtdfD]}|jj|z}||z}|j	t
|j||j	t
|j||jj|z
}||z
}|j	t
|j||j	t
|j|y)NrrU)	r8rrrrrrrr)r*rr*rus    r+rzTestDate.test_overflows}}''IaL)A,7		AE""U*B%KBmRZZ?mRZZ%@""U*B%KBmRZZ?mRZZ%@		Ar-c,ddl}d\}}}|j|||ddddddf	}|jj|}|j	|j
||j	|j||j	|j|y)Nr)irrr
)rmktimer8
fromtimestampr)rZr[r)r*rrZr[rtsrs       r+test_fromtimestampzTestDate.test_fromtimestamp"s'eS
T[[$sAq!Q2>
?MM''+&%($r-chdD]-}|jt|jj|/yN)gZbtgZbtirrr8rr*insanes  r+test_insane_fromtimestampz"TestDate.test_insane_fromtimestamp-2
$	&FmT]]-H-H$
&	&r-c2ddl}tdD]a}|jj}|j}|jj	|}||k(rn|j
dck7r|j
||tdyy)NrrQg?r^r)r*)rrgr8r]rsleepassertAlmostEqualr)r*rrr]r
todayagains      r+
test_todayzTestDate.test_today6s1X	EMM'')EB44R8J
"
DJJsO!	(J"":u)23)?
#
Ar-c	tdD]}|j|jddd|zj||j|jddd|zj	|dz|j|jddd|zj||j|jddd|zj	|dzy)NrTrYrQrWrrrU)rgr)r8weekday
isoweekday)r*rms  r+test_weekdayzTestDate.test_weekdaySsq	LAT]]4AaC8@@BAFT]]4AaC8CCEqsKT]]4AaC8@@BAFT]]4AaC8CCEqsK
	Lr-c<gd}g}|D]T\}}|j|}tdD]2}|t|z}|dd|d|zfz}|j||f4V|D]\}	}
|j	|	d5|j|	j
|
ddd|j	|	d5|	j
}|j|j|j|jf|
dddy#1swYkxYw#1swYxYw)N)))rr)rrr))rrryrzrr))rzrrR)rzrUr))rr)rrr))rrrb)r5r))rrrW)rrrrTrrUtuple)r
comparisonfields)
r8rgrappendr.r)isocalendarrZrr)r*week_mondays
test_casescal_dateiso_date	base_datermnew_datenew_isorexp_isors            r+test_isocalendarzTestDate.test_isocalendar\s4

".	7Hh%

x0I1X
7$y|3"1Q-8A;?*<<!!8W"56
7	7%	GJAwg6
;  ':
;h7
GMMO  !&&!&&!))!<gF
G
G	G
;
;
G
Gs;!D7ADD	D	c	|jddd}tj|j}tj|}|jt
|t|j|dy)Nr)rrrU)r8picklerrrr)rr)r*rpress    r+test_isocalendar_picklingz"TestDate.test_isocalendar_picklingzs`	
MM$1%LL)ll1ocE*l+r-cd}ttt|j}g}t	dD]}|jd|zdd}|jd|zdd}|j
|jdd|jdd|jddk(sz|j||j
||y)	NaK
              4   32   60   88
              9   37   65   93
             15   43   71   99
             20   48   76
             26   54   82

            105  133  161  189
            111  139  167  195
            116  144  172
            122  150  178
            128  156  184

            201  229  257  285
            207  235  263  291
            212  240  268  296
            218  246  274
            224  252  280

            303  331  359  387
            308  336  364  392
            314  342  370  398
            320  348  376
            325  353  381
        rNrri@rr)	sortedmaprhsplitrgr8r)rr)r*ISO_LONG_YEARS_TABLEiso_long_yearsLrmrrs       r+test_iso_long_yearszTestDate.test_iso_long_yearss 2 C)=)C)C)E FGs	A

d1fb"-AtAvr2.BQ]]_QR0"..2B122FG}}q!R'		
N+r-cj|jddd}|j|jdy)NrUrQz
0002-03-02)r8r)	isoformatr*rs  r+test_isoformatzTestDate.test_isoformats*MM!Q"5r-cj|jddd}|j|jdy)NrYrQrUzSat Mar  2 00:00:00 2002)r8r)ctimers  r+
test_ctimezTestDate.test_ctimes+MM$1%$>?r-c|jddd}|j|jdd|j|jdd|j|jdd|jt|j|jt|jdd	|jt|jd
|j|jdd|j|jd
ddD]}	|j|	|jd|jd|jdy#t
$rYXwxYw#t$rY>wxYw)NrQrUm:%m d:%d y:%yzm:03 d:02 y:05rxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxonetwor}%m03'%z' '%:z' '%Z''' '' '')z%e%z%#u%y%m%fformat)r8r)strftimerrrUnicodeEncodeError)r*rfs   r+
test_strftimezTestDate.test_strftimesPMM$1%$457GHB,H-x8)QZZ0)QZZ>)QZZ4	
D)40	
$56
C#	A


1
		
JJ|$
	


4	


$


"		s$"E+6E:+	E76E7:	FFc|jddd}	tjd|j|jdtjd|j
|j|jdtjd|j
y#t$r|j	dYwxYw)NrrQrUrz'time module does not support trailing %zm:%m d:%d y:%y %zm:03 d:02 y:05 %)r8_timerrrHr)	timetuplers  r+test_strftime_trailing_percentz'TestDate.test_strftime_trailing_percents

MM$1%	ENN3	
C%..akkm*LM
JJ)*NN-q{{}=	
	EMMCD	EsB11C
Cc|jddd}|j|jdt||j	t
d5|jddddGdd|j}|ddd}|j|jddGd	d
|j}|ddd}|j|jdt|dD]}|j|j||j
||j|j||j
||j|j|d
y#1swYxYw)Nrrrmust be str, not int{ceZdZdZy)TestDate.test_format.<locals>.AcyNAr!r2s r+__str__z'TestDate.test_format.<locals>.A.__str__r-NrGr_r`rr!r-r+rr
r-rceZdZdZy)TestDate.test_format.<locals>.BcyNBr!r*format_specs  r+rz(TestDate.test_format.<locals>.B.strftimerr-NrGr_r`rr!r-r+rrrr-rrzm:%m d:%d y:%y H:%H M:%M S:%Sz	%z %:z %Zr8r)
__format__rassertRaisesRegexrrr*rurrirrjfmts       r+test_formatzTestDate.test_formatsG
]]4B
'r*CG4

#
#I/E
F	MM#		

	
dArNb)3/	

	
dArNb)3r73	5C
R]]3/S1ABQ\\#.C0@AQ\\#.4
	5#		sFF
ct|jtrt}nt}|j	|jj
||j	|jj||j	|jjt|j|jj|jj
kDyr/)
rr8rrrrrrrr)r*expected_classs  r+rzTestDate.test_resolution_info
sdmmX.%N!Ndmm//@dmm//@dmm66	B

))DMM,=,==>r-c|jj|jjz
}|jdzdz|jzdz|j
z}t
dd|}|j|||j|jj|z|jj|j|jj|z
|jjy)Nr+@Br)r8rrrOrrrr))r*bigri	justasbigs    r+test_extreme_timedeltazTestDate.test_extreme_timedeltasmm$--"3"33
XXb[

+W4s7G7GGaA&	i(**S0$--2C2CD**S0$--2C2CDr-c
tdD]}|jddd|z}|j}|j|ddd|zddd|d|zdf	|jddd|z}|j}|j|ddd|zdddd|zdzd|zdf	|jddd|z}|j}|j|ddd|zdddd|zdzd	|zdf	|j|jd|j|j
d|j|jd|z|j|jd|j|jd|j|jd|j|jd|zdz|j|jd	|z|j|jdy)
NrTrrrUrr
rrQ=)
rgr8rr)tm_yeartm_montm_mdaytm_hourtm_mintm_sectm_wdaytm_ydaytm_isdst)r*rmrrs    r+test_timetuplezTestDate.test_timetuplesq	-A

dAqs+A
AQq!A#q!Q1Q3 CD

dAqs+A
AQq!A#q!Q1aAr JK

dAqs+A
AQq!A#q!Q1aAr JKQYY-QXXq)QYY!,QYY*QXXq)QXXq)QYY1a0QYY1-QZZ,-	-r-cd}|j|}tD];\}}}|j||}|j|}|j	||=|j	|j|j
dy)NrYrTrrUr8rrrr)
__reduce__
__reduce_ex__rs        r+rzTestDate.test_pickling8st}}d#)7	,%GYMM$.Eooe,GT7+	,	
*D,>,>q,ABr-cgd}d}|j|}|D])}tD]}||d}|j|| +y)N)s'cdatetime
date
(S'\x07\xdf\x0b\x1b'
tR.scdatetime
date
(UtR.scdatetime
date
UR.)rlatin1encodingr8pickle_loadsr)r*rrrdatarrs       r+test_compat_unpicklezTestDate.test_compat_unpickleAsZ

 4==$'	4D%
4x8  (3
4	4r-c~|jddd|jddd}|j||j|k|j|k\|j|k7|j|k|j|kDdD]}|j|}|j|k|j|kD|j|k|j|k\|j|k7|j|k7|j|k(|j|k(|j|kD|j|k|j|k\|j|ktD]
|jk(d|jk7d|jk(d|jk7d|jtfd|jtfd|jtfd	|jtfd
|jtfd|jtfd|jtfd
y)NrUrQrWrFTckSr/r!rsr+r@z'TestDate.test_compare.<locals>.<lambda>mrr-ckDSr/r!rsr+r@z'TestDate.test_compare.<locals>.<lambda>nrr-ck\Sr/r!rsr+r@z'TestDate.test_compare.<locals>.<lambda>orr-ckSr/r!rsr+r@z'TestDate.test_compare.<locals>.<lambda>prr-ckSr/r!rsr+r@z'TestDate.test_compare.<locals>.<lambda>qrr-ckDSr/r!rsr+r@z'TestDate.test_compare.<locals>.<lambda>rrr-ck\Sr/r!rsr+r@z'TestDate.test_compare.<locals>.<lambda>srr-)r8r)rrrrrrs   @@r+rzTestDate.test_compareNsP
]]1a
#
]]1a
#R b!b!r"b!b!3
	'D%BOOBG$OOBG$OOB"H%OOB"H%OOB"H%OOB"H%R2X&R2X&R"W%R"W%R2X&R2X&
	'!	?FR6\51R6\40Vr\51Vr\40i)<=i)<=i)=>i)=>i)<=i)<=i)=>	?r-cl|jddd|jdk(d|jdk(d|jdk7d|jdk7d|jtfd|jtfdGd	d
}||jk(d|jk(d|jk7d|jk7d|jtfd|jtfdy)
NrNrWrRrFTcdkSrr!oursr+r@z-TestDate.test_mixed_compare.<locals>.<lambda>rr-cdkSrr!r?sr+r@z-TestDate.test_mixed_compare.<locals>.<lambda>rr-ceZdZy).TestDate.test_mixed_compare.<locals>.SomeClassNrr!r-r+	SomeClassrCrr-rDckSr/r!r@theirsr+r@z-TestDate.test_mixed_compare.<locals>.<lambda>sS5[r-ckSr/r!rFsr+r@z-TestDate.test_mixed_compare.<locals>.<lambda>sUS[r-)r8r)rr)r*rDr@rGs  @@r+test_mixed_comparezTestDate.test_mixed_compareusmmD!Q'	
5)c5)4(c4(	
)_5)_5		u-#u-t,#t,)%89)%89r-c|j|jj|j|jjyr/)rr8rrr2s r+rzTestDate.test_bools.

))*

))*r-cdD]}|j|dd}|jdd|zk7s.|j|jdd|ztjsc|j|jdd|zy)N)rrr[crirTrrz%Yz%04d%dz%4Y)r8rr)r
has_strftime_extensions)r*rgrs   r+test_strftime_y2kzTestDate.test_strftime_y2ks6	DA

aA&A
zz$6A:-  D!14!8<22$$QZZ%6
C	Dr-cR|j}gd}||}|j||jd}dD]?\}}|dd}|||<||}|jd
i||i}	|j||	|dz
}A|ddd}|jt|jd	y)Nr*r)rZrUr[rQrrWrrNrUryr|rZr!r8r)rrr
r*clsrbasermrBnewvalnewargsrgots
          r+test_replacezTestDate.test_replacesmmDzt||~.
)	LD&1gGGAJG}H$,,0$0CXs+
FA	4B*dll>r-cGdd|j}|ddd}|jt|jd|y)NceZdZy)4TestDate.test_subclass_replace.<locals>.DateSubclassNrr!r-r+rr_rr-rrirTr8r0rr)r*rrus   r+test_subclass_replacezTestDate.test_subclass_replaces@	4==	$1
%

d2::4:01<@r-cGfddj}d}j|}||iddi}j|j|j|jdj|jdj|j|jj|j
d|j|jzdz
y)Nc"eZdZdZfdZdZy)&TestDate.test_subclass_date.<locals>.Cr}c|j}|jd}jj|g|i|}||_|SNrrpopr8rrrWrkwstemprresultr*s      r+rz.TestDate.test_subclass_date.<locals>.C.__new__Hxxz)...sBTBTB$
r-c:||jz|jzSr/)rZr[r*starts  r+newmethz.TestDate.test_subclass_date.<locals>.C.newmethstyy(4::55r-NrGr_r`	theAnswerrrrr2sr+CresI

6r-rurrWr_rrTr}rV)	r8r)rFrtrrcrrrZr[r*rurrrOs`    r+rzTestDate.test_subclass_dates	6

	6dmmT"&'1&*+A&#--/:R#((SYY*>*BCr-cFGfddj}d}d}d}||}j||j|jdt	j
|t
dj}d|ffd	|ffd
|ffg}|D]\}}	||fD]x}
jt|
|5t|
|}||	}j||j||j|jddddzy#1swYxYw)NceZdZfdZy)CTestDate.test_subclass_alternate_constructors.<locals>.DateSubclasscVjj|g|i|}d|_|SNrTr8rrrWrkwargsrmr*s    r+rzKTestDate.test_subclass_alternate_constructors.<locals>.DateSubclass.__new__/...sDTDVD 
r-NrGr_r`rr2sr+rrz
r-rrvi(z
2003-04-14rTrrdr
fromisoformat
base_obj_typeconstr_name)r8rr)rrcombiner	timestampr.rgetattr)
r*rrd_ordd_isoformatbase_drrrconstr_argsbase_objconstrrus
`            r+$test_subclass_alternate_constructorsz-TestDate.test_subclass_alternate_constructorssH	4==	"t$fl3q)

fd1g
.
8
8
:UH%
re$
{n-

)3	2$K)62
2\\X.9";
2$X{;F-B))"l;$$R0$$RXXq1
2
2
2	2
2
2s
8ADD cd}t|}tD]Z\}}}|j||}|j|}|j	|||jt
|t\y)Nr&)rRrrrr)rrgrs        r+test_pickling_subclass_datez$TestDate.test_pickling_subclass_dateshT")7	?%GYMM$.Eooe,GT7+OOJw=>		?r-c	d}t|jts|dd}dD]/}|jt|j|dd|z|ddz1t|jtrG|jtd5|jt
dgt|zddddtdd	D])}|j|ddt
|gz|ddz+y#1swYBxYw)
Ns
1995-03-25rW)9
rUrQ^bad tzinfo state arg$rrr
)	rr8rrrr
bytesrrg)r*rX
month_byteord_bytes    r+test_backdoor_resistancez!TestDate.test_backdoor_resistances$--28D5	KJi)-bqJ)>ab)I
K	KdmmX.''	3KL
=

eQC#d)O4e<
=a	CH
MM$r(UH:%66abAB		C
=
=s)C00C9cgd}|D]w}|j|}|j}|j|5|jj|j}|j	||dddyy#1swYxYw)N)rrr)rTrUr_r~rr)rNrUryrzrr)rzrWrQirRr)dt_strr8rr.rr))r*
base_datesdt_tuplerurdt_rts      r+test_fromisoformatzTestDate.test_fromisoformat(s

#	,H)B\\^FV,
,

33BLLNC  U+
,
,	,
,
,s<BB	cd|jdddfd|jdddfd|jdddfd|jd	d
dfd|jdddfd
|jdddfd|jdddfd|jd	d
dfd|jdd
dfd|jdd
dfd|jdddfd|jdddfd|jdd
dfd|jdd
dfd|jdd
dfd|jdd
dfd|jdd
dfd|jdd
dfd|jd ddfd!|jd ddfd"|jd#d
dfd$|jd#d
dfd%|jd&ddfd'|jd(d
d)fd*|jd(d
d)fd+|jd,ddfg}|D]M\}}|j|-5|jj|}|j||dddOy#1swYZxYw).N00010101r20000101rN20250102rU99991231r'rrz
0001-01-01z
2000-01-01
2025-01-02z
9999-12-312025W01rz2025-W012025W014z
2025-W01-42026W01ryz2026-W012026W013z
2026-W01-32022W52rz2022-W522022W527z
2022-W52-72015W534r+z
2015-W53-4z
2015-W53-52020W531rbz
2020-W53-1z
2020-W53-6	input_str)r8r.rr)r*examplesrractuals     r+ test_fromisoformat_date_examplesz)TestDate.test_fromisoformat_date_examples<s
q!Q/0
tQ23
tQ23
tR45
4==Aq12
4==q!45
4==q!45
4==r267


dB34
tR45
tQ23
4==q!45


dB34
tR45
tR45
4==r267


dB34
tR45
tQ23
4==q!45
tR45
4==r267
4==q!45
tR45
4==r267
4==q!455
:$,	3Ix	2
344Y?  2
3
3	3
3
3s%.II'	cGdd|j}|ddd}|j|j}|j||y)NceZdZy):TestDate.test_fromisoformat_subclass.<locals>.DateSubclassNrr!r-r+rr`rr-rrrr_)r8rrr)r*rrurs    r+test_fromisoformat_subclassz$TestDate.test_fromisoformat_subclass_sH	4==	$B
'**2<<>:e\2r-cgd}|D];}|jt5|jj|ddd=y#1swYHxYw)N)rrz	009-03-04	123456789z
200a-12-04z
2009-1a-04z
2009-12-0az
2009-01-32z
2009-02-29z
2019-W53-1z
2020-W54-1u20090228)rrr8rr*bad_strsbad_strs   r+test_fromisoformat_failsz!TestDate.test_fromisoformat_failsisT

 	5G"":.
5

++G4
5
5	5
5
5sAA	cddtjdg}|D];}|jt5|jj|ddd=y#1swYHxYw)Ns
2009-03-01z
2009-03-01ioStringIOrrr8rr*	bad_typesbad_types   r+"test_fromisoformat_fails_typeerrorz+TestDate.test_fromisoformat_fails_typeerror~s`"D"++l*CD	!	6H""9-
6

++H5
6
6	6
6
6AA#	c2ddddddddd	d
ddd
tddftddfg}|D]g}|j|5|j|}|j	}|jj
|}|j
||dddiy#1swYtxYw)N)rrWrQ)rrrU)irr)rrrU)rrrr)r~rr)rNrr)rNrrr)rzrrr)r'rrrrr)	datecomps)rrr.r8rfromisocalendarr))r*datesrdobjisocald_roundtrips      r+test_fromisocalendarzTestDate.test_fromisocalendars

aO
b"
$	4I	2
4$t}}i0))+;dmm;;VD  {3

4
4	4
4
4sAB

B	cgd}|D]T}|j|5|jt5|jj|ddddddVy#1swYxYw#1swYmxYw)N)
)rrr)rr
r)r6r)rrr)rrr
)rr)rrr)r\rr)rrr)irr)rr)rrr)rrrr)r.rrr8r)r*isocalsrs   r+!test_fromisocalendar_value_errorsz*TestDate.test_fromisocalendar_value_errorssy
 	;FV,
;&&z2;1DMM116:;
;
;	;;;
;
;s"A+AA+A($A++A4	cttdg}g}d}tdD]<}|D]5}t|}|||||<|j	t|7>|D]T}|j
|5|jt5|jj|ddddddVy#1swYxYw#1swYmxYw)Ncyr/r!)xs r+r@z;TestDate.test_fromisocalendar_type_errors.<locals>.<lambda>r-)rrrrQr)rr(rglistrrr.rrr8r)r*
err_txformersrrXrmtxformererr_valrs        r+ test_fromisocalendar_type_errorsz)TestDate.test_fromisocalendar_type_errorss

q	/A)
/t*%gaj1
uW~.
/	/	;FV,
;&&y1;1DMM116:;
;
;	;;;
;
;s$4C
B7$C7C<CC	N)0rGr_r`rr8rrrorwrrrnrrrrrrrrrrrrrrrr$rr4rrIrrOr\rbrrrrrrrrrrrrr!r-r+rWrWQsH$&-^A2B,$204dA	%&A:LG<	,$,L6@( T
 5:	?E-2C4%?N:4+
D?*AD4*2X?C4,(!3F35*64<;,;r-rWceZdZdZy)SubclassDatetimerNrSr!r-r+rrrUr-rcXeZdZeZdZdZdZdZdZ	dZ
dZdZd	Z
d
ZdZdZd
ZdZdZdZdZdZdZdZdZej6ddZdZej6ddZdZdZ dZ!dZ"dZ#e$jJe&jNd k(d!d"Z(e$jJe&jNd k(d!d#Z)d$Z*d%Z+d&Z,d'Z-d(Z.d)Z/d*Z0d+Z1ej6d,d-Z2d.Z3d/Z4d0Z5d1Z6d2Z7d3Z8d4Z9d5Z:d6Z;d7Z<d8Z=d9Z>d:Z?y;)<TestDateTimec|jddddd}|j|jd|j|jd|j|jd|j|j
d|j|jd|j|jd|j|jdy)NrYrQrrr	r8r)rZr[rrarrrerts  r+rz"TestDateTime.test_basic_attributess
]]4Ar1
-$'1%#"%A&A&+r-c	|jddddddd}|j|jd|j|jd|j|jd|j|j
d|j|jd|j|jd|j|jdy)NrYrQrrr@rrts  r+test_basic_attributes_nonzeroz*TestDateTime.test_basic_attributes_nonzeros]]4Ar2r4
8$'1%#"%B'B'.r-c
|jddddddd|jjfD]}t|}|j|j	d|d	d}t|}|j
|||j|j|j|j|j|j|j|j}|j
||y)
NrrUrQrWrRrYrTrr)r8rrrr?rr)rZr[rrarrrer^s    r+rzTestDateTime.test_roundtrips==Aq!Q15==$$&(
	&BRAOOALL56!"Aq'CR%--266 "BII "0C
R%
	&r-c
|jddddddd}|j|jd|j|jdd|j|jd	d
|j|jdd|j|jd
d|j|jdd|j|jdd|j|jdd|j|jdd|j|jdd|j|jdd|j|jd	dd|jt|jd|jt|jd
|jt|d
|jdddddddtj}|j|jdd|jddddddd}|j|jdd |jdddddd}|j|jdd|j|jdd|j|jdd!|jddd}|j|jd"|j|jdd"|j|jd	d#|jt|d#ttd$%d&}|jddd|}|j|jd'y)(NrrUrQrWrRrz0001-02-03T04:05:01.000123r z0001-02-03 04:05:01.000123z0001-02-0304:05:01.000123ru0001-02-0304:05:01.000123rtimespecz
0001-02-03T04rfz0001-02-03T04:05rz0001-02-03T04:05:01rPz0001-02-03T04:05:01.000rauto)seprz0001-02-03 04:05fooL@rz0001-02-03T04:05:01.999+00:00z0001-02-03T04:05:01.999z0001-02-03T04:05:01.000000z0002-03-02T00:00:00z0002-03-02 00:00:00rXXXz0002-03-02T00:00:00+00:00:16)
r8r)rrrrrr1rbrrs   r+rzTestDateTime.test_isoformats9MM!Q1aC0+GHS)+GHS)+GHV,.MNX.:	<g6Hi8:LMi8:OPn=?XYn=?[\f57STyACUV*akkEB*akkHEQ!=>MM!Q1aF8<<MHn=?^_MM!Q1aF3n=?XYMM!Q1a+f57LMn=?XYn=?[\MM!Q"+@AS)+@AS)+@AQ!67
2.
6MM!Q"M-(FGr-c
&dtdfdtdfdtdd	fd
tddd
fdtddddfg}ddtjfdttdfg}||Dcgc]"\}}dD]\}}||zt||zf$c}}}}z
}|jdddddd}d}|D]7\}	}
|j	|
}||	z}|j|
5ddd9ycc}}}}w#1swYLxYw)N05:00rRr02:00rU06:27rYr,r12:32:30rrrr%02:04:09.123456rWrrbr'rN+00:00r)-r
)+rrr%z2016-04-01T12:37:09rtzirrr1r8rr.)
r*	tzoffsetstzinfosrrVprefixsigndt_baseexp_baseexp_tzrruexps
             r+test_isoformat_timezonez$TestDateTime.test_isoformat_timezone-sK
ia()
ia()
ia45
RDE
	1aV\ ]^
	

x||$
x	!-.
	 )

" 5
h
 34
4
	
--aBA6("	-KFC,BV#C#&
-
-	-

-
-s;'C?3DD	c	2|jddddddd}|j|jdt||j	t
d	5|jddddGd
d|j}|ddddddd}|j|jddGdd
|j}|ddddddd}|j|jdt|dD]}|j|j||j
||j|j||j
||j|j|d
y#1swY$xYw)NrrrrWrRrrrrceZdZdZy)#TestDateTime.test_format.<locals>.Acyrr!r2s r+rz+TestDateTime.test_format.<locals>.A.__str__Trr-Nrr!r-r+rrSrr-rceZdZdZy)#TestDateTime.test_format.<locals>.Bcyrr!rs  r+rz,TestDateTime.test_format.<locals>.B.strftime[rr-Nr	r!r-r+rr Zrr-rr
rrs       r+rzTestDateTime.test_formatKsa
]]4B1a
5r*CG4

#
#I/E
F	MM#		

	
dAr1aC(b)3/	

	
dAr1aC(b)3r73	5C
R]]3/S1ABQ\\#.C0@AQ\\#.4
	5#		sFFc	Dddl}|jddddddd}|j|jd|jddd	dddd}|j|j|j|j|jy)
NrrYrQrUrRrzSat Mar  2 18:03:05 2002r)rr8r)rrr)r*rrs   r+test_more_ctimezTestDateTime.test_more_ctimehsMM$1b!Q4$>?
MM$2r1a5JDJJ{t{{1;;=/I$JKr-c	~|jdddddd}|jdddddd}|jdddddd}|j|||j||kD|jtddd	d
d
d}t	d}||z}|j||z
||j||ky)
NrYrQrrrrrrrrrdr)r8r)rrr)r*rrOdt3rls     r+test_tz_independent_comparingz*TestDateTime.test_tz_independent_comparingxsmmD!Q1a0mmD!QAq1mmD!Q1a0c"c	"mmGRRR@
A
&BhsB'c	"r-c
Gddt}|jddddddd|dd}|jt|jdy)	NceZdZdZy)DTestDateTime.test_strftime_with_bad_tzname_replace.<locals>.MyTzInfoc0Gddt}|dS)NceZdZdZy)ZTestDateTime.test_strftime_with_bad_tzname_replace.<locals>.MyTzInfo.tzname.<locals>.MyStrcyr/r!)r*rs  r+rzbTestDateTime.test_strftime_with_bad_tzname_replace.<locals>.MyTzInfo.tzname.<locals>.MyStr.replaces#r-N)rGr_r`rr!r-r+MyStrr-s$r-r/rB)r)r*rur/s   r+ryzKTestDateTime.test_strftime_with_bad_tzname_replace.<locals>.MyTzInfo.tznames$C$V}$r-N)rGr_r`ryr!r-r+MyTzInfor*s
%r-r0rrQrUrrB%Z)rbr8rrr)r*r0rs   r+%test_strftime_with_bad_tzname_replacez2TestDateTime.test_strftime_with_bad_tzname_replacesI	%{	%
MM$1aAq(1f2EF)QZZ6r-c
|jtdd|jtdd|jt|jtdz
dd|jt|jtdzdd|jddd|jddd|jt|jddd|jt|jddd|jddd|jddd|jd	dd|jt|jddd
|jt|jddd|jt|jddd|jt|jd
dd|jt|jddd|jt|jddd|jdddd|jdddd|jt|jdddd|jt|jdddd|jddddd|jddddd|jt|jddddd|jt|jddddd|jdddddd|jdddddd|jt|jdddddd|jt|jdddddd|jddddddd|jddddddd|jt|jddddddd	|jt|jddddddd	|jt|jdddd|jt|jdddd|jt
|jdddddddddy)NrrNrrr
rUryrzr{rr|r}r~rrrr
r+rrSr&rfold)r8rrrrrr2s r+rz+TestDateTime.test_bad_constructor_argumentss

gq!$

gq!$*dmmWQY1E*dmmWQY1E

dAq!

dB"*dmmT1a@*dmmT2qA

dAr"

dAr"

dAr"*dmmT1bA*dmmT1bA*dmmT1bA*dmmT1bA*dmmT1a@*dmmT1bA

dAr1%

dAr2&*dmmT1b"E*dmmT1b"E

dAr2q)

dAr2r**dmmT1b"bI*dmmT1b"bI

dAr2r1-

dAr2r2.*dmmT1b"b"M*dmmT1b"b"M

dAr2r2q1

dAr2r2v6*dmm2r2r2	7*dmm2r2r!	#	
*dmm2B		0*dmm2A		/	
)T]]2r2r1dA	?r-c|jdddddd}|jdddddd}|j|||jt|t||di}d||<|jt|d|j||d|j||d|jd	ddd
dd}|jd	ddd
dd}|j|||jt|t||di}d||<|jt|d|j||d|j||dy)NrNrrrrrrUr|rrRrrs    r+rzTestDateTime.test_hash_equalitysNMM$BB3MM$BB3Aa$q'*!fAS1%Q#Q#MM$QQ3MM$QQ3Aa$q'*!fAS1%Q#Q#r-c|jddd|jddd}|z
}|j|jdtt	dddz|j|j
d|j|jd|jddd	d
dtddd}tdd
}tdtd}|j|z|jddd	dd|j|z|jddd	dd|jd|zz|jddddd|j|z
|jddd	dd|j|z|jddd	dd|j|z
|z|jd|zz
|jddddd|jz|jdddd
d|jz
|jdddd
d|j|z|jdddd
d|j|z
|jdd	dd
d|jd|zz|jdddd
d|jd|zz
|jdddd
d|j|zz
||jzz
|j|zz
||j|zz
||j|z
z
||jz
z
|j|z
z
||j|z
z
||j|zz
||jzz
|j|zz
||j|zz
||j|z
z
||jz
z
|j|z
z
||j|z
z
||j|z|z|zz|jddddddd|j|z|z|zz|zz|z|z|j|z|z|zz
|jdd	ddddd|j|z|z|zz
|z
z
|z
|z
dD]j|jtfd|jtfd|jtfd |jtfd!l|jtfd"|jtfd#|jtfd$|jtfd%|jtfd&|jtfd'|jtfd(|jtfd)y)*NrYrrrrrWrrQrUr7rYrTrrTr#rrr7rrrrrr|rrRrrYrpczSr/r!rssr+r@z0TestDateTime.test_computations.<locals>.<lambda>	rtr-cz
Sr/r!rssr+r@z0TestDateTime.test_computations.<locals>.<lambda>	rtr-czSr/r!rssr+r@z0TestDateTime.test_computations.<locals>.<lambda>	rtr-cz
Sr/r!rssr+r@z0TestDateTime.test_computations.<locals>.<lambda>	rtr-cz
Sr/r!rsr+r@z0TestDateTime.test_computations.<locals>.<lambda>	rr-czSr/r!rsr+r@z0TestDateTime.test_computations.<locals>.<lambda>	rr-czSr/r!rsr+r@z0TestDateTime.test_computations.<locals>.<lambda>	rr-czSr/r!rsr+r@z0TestDateTime.test_computations.<locals>.<lambda>	rr-czSr/r!rsr+r@z0TestDateTime.test_computations.<locals>.<lambda>	rr-czSr/r!rsr+r@z0TestDateTime.test_computations.<locals>.<lambda> 	rr-czSr/r!rsr+r@z0TestDateTime.test_computations.<locals>.<lambda>!	rr-czSr/r!rsr+r@z0TestDateTime.test_computations.<locals>.<lambda>#	rr-r)	r*rjrmillisecrarrirrms	      @@@r+rnzTestDateTime.test_computationssMM$2&MM$2&sFStT11E-F$FGq)**A.MM$1b!,Q4(D!l|T4==q!R#CD4==q!R#CDRWdmmD!Q1&EFT4==q!R#CD$DMM$1b!$DET1u9-RWdmmD!QA&FGS$--aB"BCS$--aB"BCT4==q!R#CDT4==q"b!#DERWdmmD!QA&FGRWdmmD!QA&FG!d(a.!c'Q,!d(a.!h,!+X6!d(a$/!c'Q-!d(a$/!h,!+hY7a$h$/a#g-a$h$/a(l+hY7a$h.a#g,a$h.a(l+X6dSj4/(:;tQB1dC	EdSj4/(:;H+t3x?	AdSj4/(:;tQB2vF	HdSj4/(:;H+t3x?	A	6Ai5i5i5i5		6	
)_5)_5)_5)%56)%56)]3)^4)]3r-cd}|j|}tD];\}}}|j||}|j|}|j	||=|j	|j|j
dy)NrYrTrr7rrrUr'rs        r+rzTestDateTime.test_pickling%	s)t}}d#)7	,%GYMM$.Eooe,GT7+	,	
*D,>,>q,ABr-c	r|jddddddd}ttjdzD]}tj||}tj
|}|j
|jd|j
|jd|j
|jdy)	NrrUrTr0rir)
r8rgrHIGHEST_PROTOCOLrrr)rZr[r)r*rirrrjs     r+test_more_picklingzTestDateTime.test_more_pickling.	sMM$1b"b&9622Q67	'EQ&AQAQVVT*QWWa(QUUA&	'r-cd}t|}tD]Z\}}}|j||}|j|}|j	|||jt
|t\y)NrG)rrrrr)rrgrs        r+test_pickling_subclass_datetimez,TestDateTime.test_pickling_subclass_datetime7	sk)&)7	C%GYMM$.Eooe,GT7+OOJw0@AB		Cr-cgd}d}|j|}|D])}tD]}||d}|j|| +y)N)s@cdatetime
datetime
(S'\x07\xdf\x0b\x1b\x14;\x01\x00\x10\x00'
tR.s#cdatetime
datetime
(U
;tR.s$cdatetime
datetime
U
;R.)r+rr,r7rrrHr-r.r0r2s       r+r4z!TestDateTime.test_compat_unpickle@	sZ	
. 4==$'	4D%
4x8  (3
4	4r-cgd}|j|}|j|}|j|||j||k|j||k\|j||k7|j||k|j||kDt	t|D]}|dd}||dz||<|j|}|j||k|j||kD|j||k|j||k\|j||k7|j||k7|j||k(|j||k(|j||kD|j||k|j||k\|j||ky)N)rNrryr7rrrdr)r8r)rrrgr)r*rrrrmrZs      r+test_more_comparezTestDateTime.test_more_compareR	s2
T]]D
!
T]]D
!R b!b!r"b!b!s4y!	'A1gGa1GAJ(BOOBG$OOBG$OOB"H%OOB"H%OOB"H%OOB"H%R2X&R2X&R"W%R"W%R2X&R2X&	'r-c|j|j|j|j|j|j|j|j
|j|j|j|j|j|j|j|j|j|jyr/)
r)rrZrr[rrrrarrr r)r*rr[s   r+verify_field_equalityz"TestDateTime.verify_field_equalitys	s))3884#))4))3773))3884#**5#**5r-cddl}|j}|j|}|jj|}|j	||yNr)r	localtimer8rrSr*rrrr[s     r+rzTestDateTime.test_fromtimestamp{	sF
TYY[!4>>"%mm))"-""8S1r-cbddl}|jj|jy)Nr)r)rr8r)r*rs  r+test_fromtimestamp_keyword_argz+TestDateTime.test_fromtimestamp_keyword_arg	s$	


##idiik#:r-cddl}|j}|j|}|jt5|jj|}ddd|j
|y#1swYxYwrU)rgmtimeassertWarnsDeprecationWarningr8utcfromtimestamprSrWs     r+test_utcfromtimestampz"TestDateTime.test_utcfromtimestamp	si
TYY[4;;r?


0
1	5--004C	5""8S1	5	5sA44A=EST+05EDT,M3.2.0,M11.1.0c	|jddd}|j|jd|jddddddd}|j|jd|jddd	dd
}|jd}|j|jj	|j|tdz
|j|jj	|j|tdz|jdd	ddd
}|j|jj	|j||jddd|jd
ddfD]>}	|j}|j|jj	||@y#t$rYMwxYw)Nrrg@rUrQrW6@r`rrr4ri'r)r8r)rrrrr)r*rt0rrs     r+test_timestamp_naivez!TestDateTime.test_timestamp_naive	sMM$1%0MM$1aAq1;	=]]4B2
.
ZZQZ
44R\\^Dia00	244R\\^Dia00	2
MM$Aq"-44Q[[]CQG--!A&

d2b(AB	DA
DKKM  !<!<Q!?C
	D!

sG	G G c|jdddtj}|j|j	d|jdddddddtj}|j|j	d|jdddddddttd	
d}|j|j	dy)
Nrrrr~rUrQrWg7@r	rrrb)r8rr1r)rrrs  r+test_timestamp_awarez!TestDateTime.test_timestamp_aware	sMM$1X\\M:,MM$1aAqMF1	3MM$1aAq!))"*=u!E

G9	;r-zMSK-03cfd}jj|fD]}|d}j|jdj|jd|d}	|d}j|jdj|jd|d}j|||d}j|||d	}j|||d
}j|jdj|jd|d}j|||d
}j|||d}j|jdj|jd|d}j|jdj|jd|d}j|jdj|jdy#t
$rYwxYw)Ncjt5jj|i|cdddS#1swYyxYwr/)r\r]r8r^)rrr*s  r+r^z@TestDateTime.test_microsecond_rounding.<locals>.utcfromtimestamp	sD!!"45
G5t}}55tFvF
G
G
Gs	=Argư>gưrr&g:0yEg1E2gHzri#gHz>g1E2>g<"2?gP?rrr)r8rr)rreOSError)r*r^ftsrzr	minus_oners`      r+rz&TestDateTime.test_microsecond_rounding	s	GMM//$&%	2Cq6DT[[!,T--q1d)C
8J	
  !1!126  !6!6?J  D)J  I.J  D)L  2.  7D	AQ%D	AQ$JAQXXq)Q]]F3IAQXXq)Q]]A.FAQXXq)Q]]D1K%	2

s,H22	H?>H?c|jd5|jjjtj
}|j
}|j|dddd|jd5|jjjtj
d}|j
}|j|ddddy#1swY{xYw#1swYyxYw)Nzminimum UTCrlw#o9zmaximum UTCrrreg MB)	r.r8rrrr1rr)r)r*min_dtmin_tsmax_dtmax_tss     r+test_timestamp_limitsz"TestDateTime.test_timestamp_limits	s
\\-
(	3]]&&..hll.CF%%'F
V\2
	3\\-
(	5]]&&..hll;</>F%%'F
V^4	5	5	3	3	5	5sAC#AC/#C,/C8c	|jjd|jj
t
dz}|j}|jjjd}|jjt
dz
jt
d	d
d
jz}d||fd
||ffD]P\}}}|j|||5|jj|}|j||dddRd|t
ddjz
fd|t
djz
fd|t
djzfd|t
djzfg}	|	D]`\}}|j||5|jttf5|jj|ddddddby#ttf$r|j	dYwxYw#1swYexYw#1swYHxYw#1swYxYw)NTest not valid on this platformrrQrrerrrrr%minimummaximumrrToo small by a littlerrToo small by a lotrToo big by a littleToo big by a lotr)r8rrirrHrrrrrrr.r)rr)
r*rnrorprq	test_namerrrrs
          r+test_fromtimestamp_limitsz&TestDateTime.test_fromtimestamp_limits	s1	=MM''
3""YA%66!!#""**q*9==$$yr'::EEG"b"=KKMNFF+FF+*
	3%YHiBB
344R8  2
3
3		3%fyar/J/X/X/Z&Z[
!6I3,?,M,M,O#OP
"FYA->-L-L-N$NO
)*=*K*K*M!MN	

(	4MIriB/
4&&
M'BC4MM//34
4
4	4;'	=MM;<	= 
3
344
4
4sAH).H)7IH6/I H&%H&)H3	6H?;II	c	|jt5	|jjdddd|jjjtj}|j}|jjjdtj}|j}d||jdfd||jdffD]o\}}}|j|||5|jt5	|jj|}ddd|j|dddqd	|d
z
fd|t!d
j#z
fd|d
zfd|t!d
j#zfg}
|
D]~\}}|j||5|j%t&t
f5|jt5|jj|dddddddddy#tt
f$r|j
dYwxYw#1swY$xYw#tt
f$r%}	|j
t|	Yd}	~	Ud}	~	wwxYw#1swY_xYw#1swYxYw#1swYxYw#1swYxYw#1swY)xYw)Nrtrurrrerrwrxryrzrr{rrQr|r}r~)r\r]r8r^rirrHrrrr1rrr.rr)rrrr)r*rnrorprqrrrrexcrs           r+test_utcfromtimestamp_limitsz)TestDateTime.test_utcfromtimestamp_limits"
s


0
1	A
A

..z:	A""**(,,*?!!#""**q*N!!#FFNN$N$?@FFNN$N$?@*
	3%YHiBB
3%%&8900!%!?!?!C0  2
3
3		3%fqj1
!6I3,?,M,M,O#OP
"FQJ/
)*=*K*K*M!MN	

(	;MIriB/
;&&
M'BC;))*<=;

66r:;;
;
;	;=]+
A

?@
A	A	A($]30

c#h//000
3
3(;;;;
;
;sIH.	J&J!I"<J&K!J?7J3	J?K. IIIII"J	1J	JJ	JJ#J&&J0	3J<
8J??KKK	chdD]-}|jt|jj|/yrrrs  r+rz&TestDateTime.test_insane_fromtimestampL
rr-cdD]K}|jt5|jt|jj
|dddMy#1swYXxYwr)r\r]rrr8r^rs  r+test_insane_utcfromtimestampz)TestDateTime.test_insane_utcfromtimestampU
s[
$	*F!!"45
*!!-1O1O"(*
*
*	*
*
*s,AA	win32z*Windows doesn't accept negative timestampsc:|jjdy)N)r8rr2s r+!test_negative_float_fromtimestampz.TestDateTime.test_negative_float_fromtimestamp_
s	


##E*r-c|jt5|jjd}ddd|j	|jdddddddy#1swY1xYw)	Nrirrrrri~)r\r]r8r^r))r*rs  r+$test_negative_float_utcfromtimestampz1TestDateTime.test_negative_float_utcfromtimestampe
s_


0
1	6

..u5A	6DMM$BBFKL	6	6sA""A+cddl}td}tdD]}|jt5|j
j
}ddd|jt5|j
j|j}dddtz
|ksn|jtz
|y#1swYxYw#1swYIxYw)NrrrrQ)
rrrgr\r]r8utcnowr^rfassertLessEqual)r*r	tolerancerfrom_nowfrom_timestamps      r+test_utcnowzTestDateTime.test_utcnowk
sa(	1X	E!!"45
2==//1
2!!"45
M!%!?!?			!L
M>H,-:		
S(!:;YG
2
2
M
MsC,+CC	C(	c|d}d}tj|j||}|jj||}|j	|||jt
||j|jt
||jgd}|D]p\}}|j||5tj|j||}|jj||}|j	||dddr|jj}|j	|ddjdtz|j	|ddjd	tz|j	|d
djtddd
ddtjtjdffD]\}}|dkrd}	|}
nd}	|}
t|
dzd\}}dj|	|||}
||
d}|j	|jt||j	|j|d\}
}||
|}|j	|jdt zdtzz|j	|jd|j	|j#||
|j	|ddj$d|j't(5|ddddd|j't(5|ddddd|j't(5|dddddy#1swYxYw#1swYexYw#1swYJxYw#1swYyxYw)Nz2004-12-01 13:02:47.197z%Y-%m-%d %H:%M:%S.%f))u2004-12-0113:02:47.197u%Y-%m-%d%H:%M:%S.%f)u200412-01 13:02:47.197u%Y%m-%d %H:%M:%S.%f)u2004-12-01 13:0247.197u%Y-%m-%d %H:%M%S.%f)stringrz+0002%zrUz-0002rSz-00:02:01.000003rrQ)rfrr)rr)rGMTrrr
rSz{}{:02d}{:02d} {}%z %Zr)z	+1234 UTCrrrrr1z-2400z-000z)	_strptime_strptime_datetimer8strptimer)r0rr.rvMINUTErrrryrrrrrrr)r*rrrr[inputsr	tzsecondsryrrrrfdtstrrurs                r+
test_strptimezTestDateTime.test_strptime|
s<*'//

vvNmm$$VV43'

d8ndmm4

d3i/

%	0NFFVF;
0$77

v8>@mm,,VV<  3/	
0
0	0==))'40::<a&jI'40::<b6kJ'.88:
q!!
<<	

#-j#(>>/5<<?!C"E	2Iv1}$*##GRK4NE7'..tUGVLE%)BR\\^Yy-IJRYY[&1	2*
s
eS
!dR&[)@Ae,S)51	
%.55t<


z
*CHWd,CC


z
*BHVT,BB


z
*?HS$,???S
0
0N	DCBB??s1=AN
,
N
N&:
N2
N	N#&N/2N;c
^|jj}|jt5|dd}ddd|jdddddd}|jdddddd}|jdddd	d	d	}|jddd
d	d	d	}ddd|fd
dd|fddd|fddd|fddd|fddd|fddd|fddd|fddd|fd dd!|fg
}|D]G\}}	}
}d"|z}|j	||	|
|#5||	|
}|j|||$dddIy#1swYxYw#1swY`xYw)%Nz01/02/3 04:05:06z%d/%m/%y %H:%M:%SrrUrrWrRrYrrMz
1/02/03 4:5:6rz
01/2/03 4:5:6z%Hz01/02/03 4:05:06z%Mz01/02/03 04:5:06z%Sz01/02/03 04:05:6z%jz2/03 04am:05:06z%j/%y %I%p:%M:%Sz%Iz02/03 4am:05:06z%wz6/04/03z%w/%U/%yz%Wz6/4/2003z%u/%W/%Yz%Vz%u/%V/%Gztest single digit )reasonrrtarget)msg)r8rrrr.r))r*rnewdaterrOr&dt4rrrrrs            r+test_strptime_single_digitz'TestDateTime.test_strptime_single_digit
s==))


z
*	H13FGG	HmmD!Q1a0mmD!Q1a0mmD!Q1a0mmD!RAq1
?$7=
?$7=
%':C@
%':C@
%':C@
$&8=
$&8=
9j#.
:z3/
:z3/
/5	>*FFFF)F2FV%+%+%+-
>#662  &f =
>
>	>)	H	H,
>
>s
D.D#D #D,	c|jdddddd}|j|jd|j|j|j|j|j
|j|j|j|j|jt|jddjz
dzd	f	|j}|j|j|j|j|j|j|j|j|j
|j|j|j|j|j |j|j|j"|j|j|j$|j|j|j&|jt|jddjz
dz|j|j(d	y)
NrzrrrYr!)	rzrrrYrrrWr`r
rr
)r8r)rrZr[rrarrrrcrrrrrrr r!r"r#)r*rtts   r+test_more_timetuplez TestDateTime.test_more_timetuple
sMM$B2r2(MN&&!''155&&!((AHH))+++-$qvvq!*<*F*F*HH1L		[[]QVV,AGG,QUU+QVV,AHH-AHH-QYY[1Q[[]%)!&&!Q%7%A%A%C&DFG&H	Ib)r-c	|jddddddd}|j|jdd	d
D]z\\}}}tt	d||}|j|
}|j|jdd|z|j|jdd|z|	|jdy#t$rYywxYw)NrzrrrYrr/z%m %d %y %f %S %M %H %jz12 31 04 000047 33 22 06 366)))rrz	33.000123))rr33rU)rrrrrz-0200z%:zz-02:00:u%y%m %H%M)r8r)rrrrr)r*rrrlrrs      r+test_more_strftimezTestDateTime.test_more_strftime
sMM$B2r26$=>$B	DF	?JGQQ91abIIJB			$AQZZ-w{;QZZ.	A
>		?	
JJ./!		s9C	CCc	|jddddddd}|j|jtddd|j|jtddddy)NrYrQrWr#-)r8r)rrrts  r+test_extractzTestDateTime.test_extracts\
]]4Ar2q$
7Dq!$45DRD$9:r-c	tddd}tdddd}|jddddddd}|jj}|||}|j	|||||}|j	|||j	||j|j	||j|j	|||j|j|jt||jt|||jt||||jt|||d|jt|||dd	|jt|d
d|jt||d|jt|d
||||tj}|j|jtj|||tj}|j|jtjt}|||}|j	|j||j	|j|y)
NrYrQrWr#rr)rrrrUrrr)rrr8rr)rrrr1r0r)r*rrrrrus      r+test_combinezTestDateTime.test_combinesq!RD!==q!RQ=--''
Q]X&
!!
$X&BGGI&BGGI&WRWWY	:;)W-)Wa0)Wa3)WaA6)WaAq9)Wff=)Wa8)Wfa8Q8<<
(

bii.
Q(,,
/

bii.F
R^A&A&r-cR|j}gd}||}|j||jd}dD]?\}}|dd}|||<||}|jd
i||i}	|j||	|dz
}A|ddd}|jt|jd	y)N)rrUrQrWrRrYrTr)rQrRrSrarRrrYrrTrerrrNrUryr|rTr!rUrVs
          r+r\zTestDateTime.test_replace'smm$Dzt||~.
1	LD&1gGGAJG}H$,,0$0CXs+
FA	4B*dll>r-EDT4c*|jj}tdd}|jt	tdd}|j
|j||jt|j|||jt|j||j|tddz}|j
|j|||j
|j|	|Gd
dt}|}|jt|j||j
|j|j||Gdd
t}|}|jt|j|Gddt}	|	}
|j|
}|jt5|jdddy#1swYyxYw)N,0044rXrEDTrrWrrceZdZdZdZy)+TestDateTime.test_astimezone.<locals>.Boguscyr/r!rts  r+rvz5TestDateTime.test_astimezone.<locals>.Bogus.utcoffsetMDr-ctdSrUrrts  r+r{z/TestDateTime.test_astimezone.<locals>.Bogus.dstNsil2r-NrGr_r`rvr{r!r-r+BogusrLs02r-rceZdZdZdZy)/TestDateTime.test_astimezone.<locals>.AlsoBogusctdSrUrrts  r+rvz9TestDateTime.test_astimezone.<locals>.AlsoBogus.utcoffsetTsIaL%8r-cyr/r!rts  r+r{z3TestDateTime.test_astimezone.<locals>.AlsoBogus.dstUdr-Nrr!r-r+	AlsoBogusrSs8*r-rceZdZdZdZy),TestDateTime.test_astimezone.<locals>.Brokencyrr!rts  r+rvz6TestDateTime.test_astimezone.<locals>.Broken.utcoffsetZsAr-cyrr!rts  r+r{z0TestDateTime.test_astimezone.<locals>.Broken.dst[ar-Nrr!r-r+BrokenrYs-'r-r)r8rrbrrrr)
astimezonerrrr)r*rurdt_utcdt_frbogralsobogrbroken	dt_brokens            r+test_astimezonezTestDateTime.test_astimezone@s
]]


 F#8IB,?#GH&1)R]]Aq9)R]]B7zzz#ia&DDq)40!,d3	3F	3g*bmmS93/::1=tD	+	++*bmmW=	(V	(JJfJ-	


y
)	#  "	#	#	#s/H		HcGfddj}d}j|}||iddi}j|j|j|jdj|jdj|j|jj|j
d|j|jz|jzdz
y)Nc"eZdZdZfdZdZy).TestDateTime.test_subclass_datetime.<locals>.Cr}c|j}|jd}jj|g|i|}||_|Srgrhrjs      r+rz6TestDateTime.test_subclass_datetime.<locals>.C.__new__frnr-cT||jz|jz|jzSr/)rZr[rrps  r+rrz6TestDateTime.test_subclass_datetime.<locals>.C.newmethms#tyy(4::5CCr-Nrsr2sr+rurcsI

Dr-ru)rrWr_rr
)rrTr}rV)
r8r)rFrtrrcrrrZr[rrws`    r+rz#TestDateTime.test_subclass_datetimeas	D

	D'dmmT"&'1&*+A&#--/:R#((SYY*>*-**+578+9	:r-cGfddj}d}d}d}||}j||j|jd|j	}d|f|fd|t
jf|jt
jfd|f|fd	|f|fd
|df|fdt|d
dt|ddf|fg}|D]\}}	}
||fD]}jt||5t||}|dk(r$jt5||	}
dddn||	}
j
|j|
|
j|
jddddy#1swYVxYw#1swYxYw)NceZdZfdZy)TTestDateTime.test_subclass_alternate_constructors_datetime.<locals>.DateTimeSubclasscVjj|g|i|}d|_|Sr|r}r~s    r+rz\TestDateTime.test_subclass_alternate_constructors_datetime.<locals>.DateTimeSubclass.__new__rr-Nrr2sr+r
r~rr-r
)rrWr_rrrbz2003-04-14T12:30:15.123456gh͏TMArTrr^rrz%Y-%m-%dT%H:%M:%S.%frrrQr)r8rr)rrrr1rrrr.rrr\r])r*r
rrutc_tsrrrrrrrconstructorrus`             r+-test_subclass_alternate_constructors_datetimez:TestDateTime.test_subclass_alternate_constructors_datetime|s	t}}	12"!4(f&67q)


reV,
r8<<0%00>
@
&F3
{nf5
+'=>G
tAay)4ab?;VD	

3=	2.Kh-v6
2\\X.9";2")(K"@K"&88!--.@A;!,k!:B;;)+6))".>?$$R2$$RXXq1#22
2	2;;22s%.'FE6	AF6E?
;FFcGfddj}ddifddifdddtjifdddttd	d
ifg}|D]\}}}j	|5t||}|dk(r'j
t5|di|}dddn|di|}j|j|jddddy#1swYBxYw#1swYxYw)
NceZdZfdZy)8TestDateTime.test_subclass_now.<locals>.DateTimeSubclasscVjj|g|i|}d|_|Sr|r}r~s    r+rz@TestDateTime.test_subclass_now.<locals>.DateTimeSubclass.__new__rr-Nrr2sr+r
rrr-r
rrnow_utcr	now_fixedr	rrrTr!)r8rr1rr.rr\r]rr)r)r*r
rrB	meth_namerrrus`       r+test_subclass_nowzTestDateTime.test_subclass_nows	t}}	E2
x$
hll34
%$1De(L!MN	

(2
	.#D)Vd#	
. !19=())*<=.#-f-.. )&)B%%b*:;  1-	
.	
.
	...	
.	
.s$+'C1	C%?C1%C.*C11C:	cgd}gd}ddg}dtjttdttdg}|Dcgc]'}|D] }|D]}|jg||d|i")}}}}|D]c}	|D]\}
|	j	|
	}|j|
5|jj
|}|j|	|ddd^eycc}}}w#1swYrxYw)N)rrrr)rrrr)rrrih)rrrG)rrrrrrr	rrUrrr)rr1rr8rr.rr))
r*r
base_times
separatorsr
date_tuple
time_tuplerdtsrurrrs
             r+test_fromisoformat_datetimez(TestDateTime.test_fromisoformat_datetimes*



3Z
IB/0IA./1
",##!+#!#t}}BjB:BcB#B#B##
	0B!
0-\\\.0 MM77>E$$R/00
0	0#00s
,C&+.C--C6c
J|jddddddd}tdtdtd	d
tddd
tddddg}||Dcgc]}d|z	c}z
}dtjttdg}||Dcgc]
}t|c}z
}|D]Z}|j	|}|j}|j
|5|jj|}ddd\ycc}wcc}w#1swYqxYw)NrrrrpQrRrrUrYr,rrr%rWrrbr'r
rrtstrr8rrr1rrr.r)	r*base_dtrrVrrrurrs	         r+test_fromisoformat_timezonez(TestDateTime.test_fromisoformat_timezones--b"b"b&A
A	 2Ar*BB7Aq!&I	
			2"b2g22	IA./1	95RHRL55	*C,BLLNE5)
*

33E:
*
*		*3
6
*
*sDD(DD"	c
gd}|D]s}|jddddddd}|j|	}|j|
5|jj|}|j	||ddduy#1swYxYw)N)	rr€uʁuᛇu時u🐍rrrrrrriurrrr*rrrurrs      r+test_fromisoformat_separatorsz*TestDateTime.test_fromisoformat_separators	s

	,CtQBB?BLLSL)EE*
,

33E:  U+
,
,		,
,
,s.A>>B	cddg}|D]q}|jddddd}|j|}|j|	5|jj|}|j	||dddsy#1swY~xYw)
Nr
rrrrrrrrrr
s      r+test_fromisoformat_ambiguousz)TestDateTime.test_fromisoformat_ambiguouss3Z
	,CtQB3BLLSL)EE*
,

33E:  U+
,
,		,
,
,s.A<<B	c
"ddg}dtjttdttdttddg}gd	}t|D]\}}|D]}|D]}|d
k(rd|ddzz}|dd|fz}|j|dd
|zd|i}	|	j|}
|j
|
5|jj|
}|j|	|dddy#1swYxYw)N)rrrWrr7rrb)rrrWrr7rrr	rrUrYr,rrrfrrPrrPrTrrWrrr	rr1r	enumerater8rr.rr))r*datetime_basesr	timespecsiprrrnew_microsecondsrurrs            r+test_fromisoformat_timespecsz)TestDateTime.test_fromisoformat_timespecs%s5,')IB/0IA./IAr:;=
5	 	*	4FB

4 .	4H^++/8A;$3F+G(#+Aa=4D3F#F&!QV)=KsKBLL"L5EE24 $

 ; ;E B((U344	4

4	444.D	D
ctj}ttdd}ttdd}ttdd}gd|jd	dd
ddfd|jd	dd
d
dfd|jd	dd
d
dfd|jd	dd
d
dfd|jd	dd
d
ddfd|jd	dd
d
ddfd|jd	dd
d
dddfd|jd	dd
d
dddfd|jd	dd
d
dddfd|jd	dd
d
dddfd|jd	dd
d
dddfd|jd	dd
d
dddfd|jd	dd
d
dddfd|jd	dd
d
dddfd|jd dd!d
d"d#d$fd%|jd dd!d
d"d#d&fd'|jd	dd
d
dddfd(|jd	dd
ddfd)|jd	dd
d
dfd*|jd	dd
d
dfd+|jd	dd
d
ddfd,|jd	dd
d
ddfd-|jd	dd
d
dddfd.|jd	dd
d
dddfd/|jd	dd
d
dddfd0|jd	dd
d
dddfd1|jd	dd
d
dddfd2|jd	dd
d
dddfd3|jd	dd
d
dddfd4|jd	dd
d
dddfd5|jd6dd
fd7|jd6d8d9d:dfd;|jd<ddd:dfd=|jd	d8d>d?dfd@|jd	d8dAd?dfdB|jdCd8dDd
dfdE|jd	dd
d
dfdF|jdCd8dDd8dfdG|jd	dd
d8dfdH|jd	dd
d8dIdAfdJ|jd	d8dAd?dKfdL|jd	d8dAd?dKfdM|jd<ddd:dKdNfdO|jd<ddd:dKdNfdP|jd	dd
d8dIdAfdQ|jd	dd
d
ddfdR|jd	dd
d
ddfdS|jdTdd
d
ddfdU|jdTdd
d
ddfdV|jd	dd
d
ddfdW|jd	dd
d
dddfdX|jd	dd
d8dIdAfdY|jd	dd
d8dIdAdZfd[|jd	d8dAd?dKfd\|jd	d8dAd?dKfd]|jd<ddd:dKdNfd^|jd<ddd:dKdNd_fd`|jdCd8dDd
d|afdb|jd	dd
d
dd|afdc|jd	dd
d
dd|afdd|jd	dd
d
ddd|afde|jdfddddttdKafdg|jd	dd
d
ddhttd
afdi|jd	dd
d
ddhttdjafdk|jd	dd
d
dd|afdl|jd	dd
d
ddhttd
afdm|jd	dd
d
ddhttdjafdn|jdoddd
ddpdq|afdr|jdoddd
ddpdq|afds|jdodhddddhdt|afdu|jdodhddddhdt|afdv|jdTdwdAddD|afdx|jdTdwdAddD|afdy|jd	dd
d
ddd|afdz|jd	dd
d
dddttdw{af}|D]M\}}|j	||5|jj|}|j
||dddOy#1swYZxYw)}NrrBSTr	rrXrrrrUrz
2025-01-02T03rQz2025-01-02T03:04rWz2025-01-02T0304z2025-01-02T03:04:05rRz2025-01-02T030405z2025-01-02T03:04:05.6i'	z2025-01-02T03:04:05,6z2025-01-02T03:04:05.678ipX
z2025-01-02T03:04:05.678901[
z2025-01-02T03:04:05,678901z2025-01-02T030405.678901z2025-01-02T030405,678901z2025-01-02T03:04:05.6789010z2009-04-19T03:15:45.2345rrrriz2009-04-19T03:15:45.1234567rbz2025-01-02T03:04:05,678r20250102T03z20250102T03:04z20250102T03:04:0520250102T030405z20250102T03:04:05.6z20250102T03:04:05,6z20250102T03:04:05.678z20250102T03:04:05,678z20250102T03:04:05.678901z20250102T030405.678901z20250102T030405,678901z20250102T030405.67890102022W01r
2022W52520rrr72022W527520r
2026W01516ryr2026W013516r
2025W01503rr2025W014503
2025W015122025W0145122025W014T121431r_2026W013T162100rz2026W013 1621002022W527T202159rz2022W527 202159z2025W014 1214312025W014T030405z2025W014 030405z2020-W53-6T03:04:05rz2020W537 03:04:05z2025-W01-4T03:04:05z2025-W01-4T03:04:05.678901z2025-W01-4T12:14:31z2025-W01-4T12:14:31.012345i90z2026-W01-3T16:21:00z2026-W01-3T16:21:00.000000z2022-W52-7T20:21:59z2022-W52-7T20:21:59.999999r&z2025-W01003+00rz2025-01-02T03:04:05+00z2025-01-02T03:04:05Zz!2025-01-02003:04:05,6+00:00:00.00z2000-01-01T00+21rNz2025-01-02T03:05:06+0300rYz2025-01-02T03:05:06-0300rPz2025-01-02T03:04:05+0000z2025-01-02T03:05:06+03z2025-01-02T03:05:06-03z 2020-01-01T03:05:07.123457-05:00rrTiAz2020-01-01T03:05:07.123457-0500z 2020-06-01T04:05:06.111111-04:00iz2020-06-01T04:05:06.111111-0400z 2021-10-31T01:30:00.000000+01:00rz2021-10-31T01:30:00.000000+0100z2025-01-02T03:04:05,6+000000.00z 2025-01-02T03:04:05,678+00:00:10rr)rr1rr8r.rr))	r*rrrrrrrrs	         r+$test_fromisoformat_datetime_examplesz1TestDateTime.test_fromisoformat_datetime_examples?sllyq)51yr*E2yr*E2z

4==q!Q:;z

dmmD!Q1=>z
 tQ1a!@Az


dAq!Q ?@	z

#DMM$1aA$FGz
!$--aAq!"DE
z
%
]]4Aq!Q
7
9z
%
]]4Aq!Q
7
9z
'
]]4Aq!Q
7
9z
*
]]4Aq!Q
7
9z
*
]]4Aq!Q
7
9z
"(
]]4Aq!Q
7
9#z
&(
]]4Aq!Q
7
9'z
*+
]]4Aq!Q
7
9+z
.(
]]4B2r6
:
</z
2+
]]4B2r6
:
<3z
6'
]]4Aq!Q
7
97z
:tQ1a89;z
<DMM$1a;<=z
>t}}T1aA>??z
@!$--aAq!"DEAz
B

dAq!Q BCCz
D#
]]4Aq!Q
7
9Ez
H#
]]4Aq!Q
7
9Iz
L%
]]4Aq!Q
7
9Mz
P%
]]4Aq!Q
7
9Qz
T(
]]4Aq!Q
7
9Uz
X&
]]4Aq!Q
7
9Yz
\&
]]4Aq!Q
7
9]z
`'
]]4Aq!Q
7
9az
d

dAq12ez
f4==r2r1=>gz
hDMM$1b!<=iz
j4==r2r1=>kz
lDMM$BA>?mz
n4==r2q!<=oz
pDMM$1a;<qz
r4==r2r1=>sz
tDMM$1b!<=uz
v

dAq"b" EFwz
x

dBB CDyz
z

dBB CD{z
|

dAq"b" EF}z
~

dAq"b" EFz
@

dAq"b" EFAz
B

dAq!Q BCCz
D

dAq!Q BCEz
F#DMM$1aA$FGGz
H!$--aAq!"DEIz
J#DMM$1aA$FGKz
L*
]]4Aq!Q
7
9Mz
P#DMM$1b"b$IJQz
R*
]]4Ar2r5
9
;Sz
V#DMM$BB$GHWz
X*4==r2r2+NOYz
Z#
]]4Ar2r
2
4[z
^*
]]4Ar2r6
:
<_z
b
]]4RAc]
:
<cz
f&
]]4Aq!Qs]
;
=gz
j$
]]4Aq!Qs]
;
=kz
n1
]]4Aq!Qs]
C
Eoz
r 
]]4Aq!HYR=P4Q]
R
Tsz
v(
]]4Aq!Q"*91+=">@
Awz
|(
]]4Aq!Q"*92+>"?A
B}z
B(
]]4Aq!Qs]
;
=Cz
F&
]]4Aq!Q"*91+=">@
AGz
L&
]]4Aq!Q"*92+>"?A
BMz
R0
]]4Aq!Qs]
C
ESz
V/
]]4Aq!Qs]
C
EWz
Z0
]]4Aq!Qs]
C
E[z
^/
]]4Aq!Qs]
C
E_z
b0
]]4RBs]
;
=cz
f/
]]4RBs]
;
=gz
j/
]]4Aq!Qs]
C
Ekz
n0
]]4Aq!Q"*9R+@"AC
Doz
x$,	3Ix	2
344Y?  2
3
3	3
3
3s.a		a	cgd}|D]V}|j|5|jt5|jj	|ddddddXy#1swYxYw#1swYoxYw)N)rrz
2009.04-19T03z
2009-04.19T03z
2009-04-19T0az2009-04-19T03:1a:45z2009-04-19T03:15:4az2009-04-19T03;15:45z2009-04-19T03:15;45z2009-04-19T03:15:4500:00z 2009-04-19T03:15:45.123456+24:30z 2009-04-19T03:15:45.123456-24:30u2009-04-10ᛇᛇᛇᛇᛇ12:15u2009-0410T12:15u2009-04-10T1215z2009-04-19T1z2009-04-19T12:3z2009-04-19T12:30:4z2009-04-19T12:z2009-04-19T12:30:z2009-04-19T12:30:45.z2009-04-19T12:30:45.123456+z2009-04-19T12:30:45.123456-z!2009-04-19T12:30:45.123456-05:00az2009-04-19T12:30:45.123-05:00az2009-04-19T12:30:45-05:00arr.rrr8rrs   r+!test_fromisoformat_fails_datetimez.TestDateTime.test_fromisoformat_fails_datetimesw
: 	9Gg.
9&&z29MM//89
9
9	999
9
9"A-A!A-!A*&A--A6	cd}|jttjt	|5|j
j
|dddy#1swYyxYw)Nu2018-01-0301:0113)r
rreescaperr8r)r*rs  r+"test_fromisoformat_fails_surrogatez/TestDateTime.test_fromisoformat_fails_surrogatesM*

#
#J		$u+0F
G	/MM''.	/	/	/sAA#cd}|jj|}|j|jtj
y)Nz2014-04-19T13:21:13+00:00)r8rr0rrr1)r*rrus   r+test_fromisoformat_utcz#TestDateTime.test_fromisoformat_utcs1,
]]
(
(
0

bii.r-cGdd|j}|ddddddd	ttd
d}|j|j	}|j|||j
||y)
NceZdZy)BTestDateTime.test_fromisoformat_subclass.<locals>.DateTimeSubclassNrr!r-r+r
r8rr-r
rrr_rrrirrr)r8rrrrr)r)r*r
rurs    r+rz(TestDateTime.test_fromisoformat_subclasssu	t}}	dBAr2v%-ib".M%NP!..r||~>U#e%56r-N)@rGr_r`rr8rrrrrrr$r'r2rrrnrrLrNr4rQrSrrYr_r
run_with_tzrdrfrrrrrrrunittestskipIfrEplatformrrrrrrrrrr\rrrrrrrr
rr*r.r3r5rr!r-r+rrsH,
/& *HX-<5:L #$	73?j$.B4HC'C4$'B62;2W34D5D6	;W"*2#*2X5&%4N(;T&*X__S\\W,.Z[+\+
X__S\\W,.Z[M\M
H"9@v >D*,";
 'D?2W #!#@:632j.8!0F*2,"	,44D3L"9H//
7r-rc@eZdZeZejddZy)TestSubclassDateTimeznot appropriate for subclassescyr/r!r2s r+rz#TestSubclassDateTime.test_roundtrip
sr-N)rGr_r`rr8r:skiprr!r-r+r>r>
s%HX]]34
5
r-r>ceZdZdZy)SubclassTimerNrSr!r-r+rBrB
rUr-rBceZdZeZdZdZdZdZdZ	dZ
dZdZd	Z
d
ZdZdZd
ZdZdZdZdZdZdZdZdZdZy)TestTimec|jdd}|j|jd|j|jd|j|jd|j|j
dy)Nrrr8r)rarrrers  r+rzTestTime.test_basic_attributes
sbMM"a $1%1%*r-c|jdddd}|j|jd|j|jd|j|jd|j|j
dy)NrrrrFrs  r+rz&TestTime.test_basic_attributes_nonzero
sh
MM"b"d+$2&2&-r-cb|jdddd}t|}|j|jd|dd}t	|}|j|||j|j|j|j|j}|j||y)NrrUrQrWrr)
r8rrr?rr)rarrre)r*rrrs    r+rzTestTime.test_roundtrip"
sMM!Q1%
G[12
abE
!WB]]166188QXX==*Br-cgd}|j||j|}|j||j|k|j|k\|j|k7|j|k|j|kDt	t|D]}|dd}||dz||<|j|}|j|k|j|kD|j|k|j|k\|j|k7|j|k7|j|k(|j|k(|j|kD|j|k|j|k\|j|ktD]'|jk(d|jk7d|jk(d|jk7d|jtfd|jtfd|jtfd|jtfd|jtfd	|jtfd
|jtfd|jtfd*y)
NrrUrQrWrFTckSr/r!rsr+r@z)TestTime.test_comparing.<locals>.<lambda>S
rr-ckSr/r!rsr+r@z)TestTime.test_comparing.<locals>.<lambda>T
rr-ckDSr/r!rsr+r@z)TestTime.test_comparing.<locals>.<lambda>U
rr-ck\Sr/r!rsr+r@z)TestTime.test_comparing.<locals>.<lambda>V
rr-ckSr/r!rsr+r@z)TestTime.test_comparing.<locals>.<lambda>W
rr-ckSr/r!rsr+r@z)TestTime.test_comparing.<locals>.<lambda>X
rr-ckDSr/r!rsr+r@z)TestTime.test_comparing.<locals>.<lambda>Y
rr-ck\Sr/r!rsr+r@z)TestTime.test_comparing.<locals>.<lambda>Z
rr-)	r8r)rrrgrrrr)r*rrrmrZrrs     @@r+test_comparingzTestTime.test_comparing1
s
T]]D
!
T]]D
!R b!b!r"b!b!s4y!	'A1gGa1GAJ(BOOBG$OOBG$OOB"H%OOB"H%OOB"H%OOB"H%R2X&R2X&R"W%R"W%R2X&R2X&	'"!
	?FR6\51R6\40Vr\51Vr\40i)=>i)<=i)<=i)=>i)=>i)<=i)<=i)=>
	?r-c\|jdd|jdd|jt|jdd|jt|jdd|jdd|jdd|jt|jdd|jt|jdd|jddd|jddd|jt|jddd|jt|jddd|jdddd|jdddd|jt|jdddd|jt|jddddy)	Nrrr
r+rrSr&r)r8rrr2s r+rz'TestTime.test_bad_constructor_arguments\
sJ

a

b!*dmmR;*dmmR;

b!

b"*dmmR<*dmmR<

b"a 

b"b!*dmmRR@*dmmRR@

b"b!$

b"b&)*dmmRRD*dmmRRIr-c|jddd}|jddd}|j|||jt|t||di}d||<|jt|d|j||d|j||d|jddd}|jddd}|j|||jt|t||di}d||<|jt|d|j||d|j||dy)Nrrr7rrUrrRrrs    r+rzTestTime.test_hash_equalityr
s6MM"b"%MM"b"%Aa$q'*!fAS1%Q#Q#MM!a$MM!a$Aa$q'*!fAS1%Q#Q#r-cb	|jdddd}|j|jd|j|jt||j}|j|jd|j|jt||jd}|j|jd|j|jt||jd	}|j|jd
|j|jt||jd}|j|jd|j|jt||jd
}|j|jd|j|jt||jd}|j|jd|j|jt||jd}|j|jd|j|jt||jdddd}|j|jdd|j|jdd|j|jdd|j|jdd |j|jd!d"|j|jd#d"|j	t
|jd$|j	t
|jd%|jdddd&}|j|jdd'|jdddd(}|j|jdd)|j|jd!d*|j|jd#dy)+NrWrRrrz04:05:01.00012300:00:00rvz00:00:00.000001rz00:00:00.000010rz00:00:00.000100rTz00:00:00.001000r\z00:00:00.010000順z00:00:00.100000rrrrb)rarrrerr12rfz12:34rz12:34:56rPz12:34:56.123rz12:34:56.123456rmonkeyrrz12:34:56.999rz12:34:56.000z12:34:56.000000)r8r)rrrrrs  r+rzTestTime.test_isoformat
sMM!Q3'(9:A/MMO
3A/MMaM((9:A/MMbM)(9:A/MMcM*(9:A/MMdM+(9:A/MMeM,(9:A/MMfM-(9:A/MMr"RVMLg6=i8'Bi8*En=~Nn=?PQf57HI*akkHE*akkHEMMr"RVMLn=~NMMr"RQMGn=~Nn=?PQf5zBr-c
 dtdfdtdfdtdd	fd
tddd
fdtddddfg}ddtjfdttdfg}||Dcgc]"\}}dD]\}}||zt||zf$c}}}}z
}|jddd}d}|D]7\}	}
|j	|
}||	z}|j|
5ddd9ycc}}}}w#1swYLxYw)NrrRrrrUrrYr,rrrrrr%rrWrrbr'r	r
rrrz12:37:09rrr)
r*rrrrVrrt_baserrrrrs
             r+rz TestTime.test_isoformat_timezone
sE
ia()
ia()
ia45
RDE
	1aV\ ]^
	

x||$
x	!-.
	 )

" 5
h
 34
4
	
r2q)"	,KFCc*AV#C#&
,
,	,

,
,s;'C<0DD
	cl|jd}|jt|jdy)NrrrQ)r)r8rrrrs  r+test_1653736zTestTime.test_1653736
s+MMM#)Q[[a8r-c|jdddd}|j|jdd|j|jdd	|jd	|jd
y#t$rYwxYw)NrrUrQrWz%H %M %S %fz01 02 03 000004rru%H%Mrr)r8r)rrrs  r+rzTestTime.test_strftime
sMM!Q1%M24EF$56
C	
JJ|$
	


$
	"		sA<<	BBc |jdddd}|j|jdt||j	t
d5|jddddGdd	|j}|dddd}|j|jdd	Gd
d|j}|dddd}|j|jdt|dD]}|j|j||j
||j|j||j
||j|j|dy#1swYxYw)
NrrUrQrWrrrceZdZdZy)TestTime.test_format.<locals>.Acyrr!r2s r+rz'TestTime.test_format.<locals>.A.__str__
rr-Nrr!r-r+rrc
rr-rceZdZdZy)TestTime.test_format.<locals>.Bcyrr!rs  r+rz(TestTime.test_format.<locals>.B.strftime
rr-Nr	r!r-r+rrf
rr-r)z%H %M %Sr)r*rrrirrjrs       r+rzTestTime.test_format
sIMM!Q1%b)3q62

#
#I/E
F	
LL		

	
aAqMb)3/	

	
aAqMb)3q62	5CQ\\#.

3@Q\\#.

3@Q\\#.4		5#		sFF
c
|jt|jddddd|jt|jddddd|jt|jd	ddd
d|jt|jdddd	d
|jt|jddd	d	dy)NrrUrQrWz01:02:03.000004rr
z10:02:03.004000rrz00:02:03.400000rz12:02:03rrz23:15:00)r)rr8r2s r+rzTestTime.test_str
sT]]1aA679JKT]]2q!T:;=NOT]]1aF;<>OPT]]2q!Q78*ET]]2r1a89:Fr-c
d|jjz}|jt|jddddd|z|jt|jddddd	|z|jt|jd
dddd|z|jt|jd
ddd
d|z|jt|jddd
d
d|zy)NrrrUrQrWz%s(1, 2, 3, 4)rr
z%s(10, 2, 3, 4000)rrz%s(0, 2, 3, 400000)rz%s(12, 2, 3)rrz
%s(23, 15)rrs  r+rzTestTime.test_reprsT]]333dmmAq!Q78)D0	2dmmB1d;<-4	6dmmAq!V<=.5	7dmmB1a89'$.	0dmmBAq9:%,	.r-c|j|jj|j|j|jj|j|j|jjt
|j
|jj|jjkDyr/)rr8rrrrrr2s r+rzTestTime.test_resolution_infos}dmm//?dmm//?dmm66	B

))DMM,=,==>r-cd}|j|}tD];\}}}|j||}|j|}|j	||=|j	|j|j
dy)Nr7rrrHrUr'rs        r+rzTestTime.test_pickling$s t}}d#)7	,%GYMM$.Eooe,GT7+	,	
*D,>,>q,ABr-cd}t|}tD]Z\}}}|j||}|j|}|j	|||jt
|t\y)Nrl)rBrrrr)rrgrs        r+test_pickling_subclass_timez$TestTime.test_pickling_subclass_time-sh T")7	?%GYMM$.Eooe,GT7+OOJw=>		?r-cgd}t|D]Z\}\}}|j|5|j|}tD]}||d}|j	|| 	ddd\y#1swYgxYw)N))s,cdatetime
time
(S'\x14;\x10\x00\x10\x00'
tR.rl)scdatetime
time
(U;tR.rl)scdatetime
time
U;R.rl)s,cdatetime
time
(S'\x14;\x19\x00\x10\x00'
tR.r7rrrH)scdatetime
time
(U;tR.rp)scdatetime
time
U;R.rp)rmr-r.)rr.r8r1r))r*rrmr3rrrrs        r+r4zTestTime.test_compat_unpickle6s

 )/	8OA|d"
8(4==$/)8E#D8<G$$Wh78
8
8	8
8
8s7A..A7	c:|j}|j|d|j|dd|j|ddd|j|dddd|j|d|j|y)Nrr)r8r)r*rWs  r+rzTestTime.test_boolLsummAAq	"Aq!%Aq!Q(Ar-c|j}gd}||}|j||jd}dD]?\}}|dd}|||<||}|jd
i||i}	|j||	|dz
}A|d}|jt|jd|jt|jd|jt|jd	
|jt|jdy)NrJr)rrrrrr+rar
rrr^rrvr!rUrVs
          r+r\zTestTime.test_replaceVsmmDzt||~.
1		LD&1gGGAJG}H$,,0$0CXs+
FA		1v*dll<*dll2>*dll3?*dllHr-cGdd|j}|dd}|jt|jd|y)NceZdZy)4TestTime.test_subclass_replace.<locals>.TimeSubclassNrr!r-r+TimeSubclassrwprr-rxrrrrsra)r*rxrs   r+rbzTestTime.test_subclass_replaceos>	4==	R$

d5==b=12LAr-cGfddj}d}j|}||iddi}j|j|j|jdj|jdj|j|jj|j
d|j|jzdz
y)Nc"eZdZdZfdZdZy)&TestTime.test_subclass_time.<locals>.Cr}c|j}|jd}jj|g|i|}||_|Srgrhrjs      r+rz.TestTime.test_subclass_time.<locals>.C.__new__{rnr-c:||jz|jzSr/rarrps  r+rrz.TestTime.test_subclass_time.<locals>.C.newmethtyy(4;;66r-Nrsr2sr+rur{xI

7r-ru)rWrRrYrrTr}rV)	r8r)rFrtrrrrrarrws`    r+test_subclass_timezTestTime.test_subclass_timevs	7

	7dmmT"&'1&*+A&#--/:R#((SZZ*?!*CDr-c	$d}ddtddfD])}|jt|j||ddz+|j	td5|jtdgt
|zddddy#1swYyxYw)	Nz2:59.0r9r+ÿrrr)chrrrr8r
rr)r*rX	hour_bytes   r+rz!TestTime.test_backdoor_resistancesc3r7F2	?Ii)2T!"X)=
?	?
#
#I/G
H	9MM%c$i0%8	9	9	9s)BBN)rGr_r`rr8rrrrSrrrrr_rrrrrrrnr4rr\rbrrr!r-r+rDrD
s~H+.
 )?VJ,$.2Ch,<9

 56G.?C?8,I2BE49r-rDc*eZdZdZdZdZdZdZy)
TZInfoBasecp|j}Gddt}|ddd|}|tuxrdxsd}|j|j	|t|tuxrd	xsd
}|j|j
||j|j|y)NceZdZdZdZeZy)7TZInfoBase.test_argument_passing.<locals>.introspectivec|xrdxsdS)Nrealnoner!rts  r+ryz>TZInfoBase.test_argument_passing.<locals>.introspective.tznamesBM6,CV%Cr-c*t|xrdxsdS)Nr}rerrts  r+rvzATZInfoBase.test_argument_passing.<locals>.introspective.utcoffsets 29"+;<<r-N)rGr_r`ryrvr{r!r-r+
introspectiversC
=Cr-rrrUrQrrrrr}re)r8rrr)ryrrvr{)r*rWrobjrs     r+test_argument_passingz TZInfoBase.test_argument_passingsmm	F	!Q-/2$;)63Vx0cTk&9c&?RA(3H-r-c"|j}|jt|ddddGddt}|jt|ddd|Gddt}|}|ddd|}|j|j|y)NrrrceZdZdZdZy)3TZInfoBase.test_bad_tzinfo_classes.<locals>.NiceTrycyr/r!r2s r+roz<TZInfoBase.test_bad_tzinfo_classes.<locals>.NiceTry.__init__rr-cyr/r!rts  r+rvz=TZInfoBase.test_bad_tzinfo_classes.<locals>.NiceTry.utcoffsetrr-NrGr_r`rorvr!r-r+NiceTryr$)r-rceZdZdZdZy)5TZInfoBase.test_bad_tzinfo_classes.<locals>.BetterTrycyr/r!r2s r+roz>TZInfoBase.test_bad_tzinfo_classes.<locals>.BetterTry.__init__rr-cyr/r!rts  r+rvz?TZInfoBase.test_bad_tzinfo_classes.<locals>.BetterTry.utcoffsetrr-Nrr!r-r+	BetterTryrrr-r)r8rrobjectrr0)r*rWrrrjrs      r+test_bad_tzinfo_classesz"TZInfoBase.test_bad_tzinfo_classessmm)S!Q"=	*f	*	
)S!Q'B	*	*
K1a"

ahh"r-cGddt}|j}dD]\}}|tur|ddd||}n|tur|dddddd||}|rlt	|}t|d	\}}d
|dkxrdxsd
||fz}	t
tr|j}|jt|d|	z|jtty)NceZdZdZdZy)6TZInfoBase.test_utc_offset_out_of_bounds.<locals>.Edgyc&t||_yrdrrm)r*rms  r+roz?TZInfoBase.test_utc_offset_out_of_bounds.<locals>.Edgy.__init__s'7r-c|jSr/)rmrts  r+rvz@TZInfoBase.test_utc_offset_out_of_bounds.<locals>.Edgy.utcoffsets{{"r-Nrr!r-r+Edgyrs
8
#r-r))`F)aT)T)r]FrrUrQrrYrSz%c%02d:%02drrr
z01:02:03)rr8rrrfrrgtimetzr)rrr)
r*rrWrmlegitraofsrrhtags
          r+test_utc_offset_out_of_boundsz(TZInfoBase.test_utc_offset_out_of_boundss	#6	#mm-	6MFEd{1aV51aAqf>6{dB'1#vz'9c'@S!Q&GGa*
A  Qc)9:!!*c15%	6r-c	|j}Gddt}|ddd|dddd|ddd|fD]_}|j|j|j|j	|j|jaGddt}|ddd|}|j
|jtd|j
|j	td	|j
|jd
Gddt}|ddd|}|jt|j|jt|j|jt|j
Gd
dt}|ddd|}|jt|j|jt|jGddt}|ddd|}|j
|jtd|j
|j	tdy)NceZdZdZdZdZy)*TZInfoBase.test_tzinfo_classes.<locals>.C1cyr/r!rts  r+rvz4TZInfoBase.test_tzinfo_classes.<locals>.C1.utcoffsetrr-cyr/r!rts  r+r{z.TZInfoBase.test_tzinfo_classes.<locals>.C1.dstrr-cyr/r!rts  r+ryz1TZInfoBase.test_tzinfo_classes.<locals>.C1.tznamesr-Nrr!r-r+C1rs0*-r-rrrceZdZdZdZdZy)*TZInfoBase.test_tzinfo_classes.<locals>.C3ctdS)Nrrerrts  r+rvz4TZInfoBase.test_tzinfo_classes.<locals>.C3.utcoffsetsIe,D%Dr-ctdS)Nrrerrts  r+r{z.TZInfoBase.test_tzinfo_classes.<locals>.C3.dstsi&==r-cyNanamer!rts  r+ryz1TZInfoBase.test_tzinfo_classes.<locals>.C3.tznamesr-Nrr!r-r+C3rsD=0r-rrrerrceZdZdZdZdZy)*TZInfoBase.test_tzinfo_classes.<locals>.C4cyrr!rts  r+rvz4TZInfoBase.test_tzinfo_classes.<locals>.C4.utcoffsetsGr-cyr|r!rts  r+r{z.TZInfoBase.test_tzinfo_classes.<locals>.C4.dstrr-cyrUr!rts  r+ryz1TZInfoBase.test_tzinfo_classes.<locals>.C4.tznamesr-Nrr!r-r+C4rs3'*r-rceZdZdZdZy)*TZInfoBase.test_tzinfo_classes.<locals>.C6ctdS)Nirrrts  r+rvz4TZInfoBase.test_tzinfo_classes.<locals>.C6.utcoffsetsIC,@%@r-ctdS)Nr+rrrts  r+r{z.TZInfoBase.test_tzinfo_classes.<locals>.C6.dstsib&99r-Nrr!r-r+C6rs@9r-rceZdZdZdZy)*TZInfoBase.test_tzinfo_classes.<locals>.C7ctdS)Nrrrrts  r+rvz4TZInfoBase.test_tzinfo_classes.<locals>.C7.utcoffsetsI2,F%Fr-ctdS)Nrrrts  r+r{z.TZInfoBase.test_tzinfo_classes.<locals>.C7.dstsiS&AAr-Nrr!r-r+C7rsFAr-rrrr)r8rrrvr{ryr)rrrr)r*rWrrrrrrs        r+test_tzinfo_classeszTZInfoBase.test_tzinfo_classessmm	.	.aA,aAd+aAbd+-	*A
akkm,aeeg&ahhj)	*	1	1
1a%	%(@A)D"9:W-	+	+
1a%)Q[[1)QUU+)QXX.	:	:
1a%*akk2*aee,	B	B
1a%	r(BC)"=>r-c|j}Gddt}|ddd|}|jd}|jd}|jd	}|||fD]i}|||fD]_}ttt
tttfD]:}	|	||}
|	|j|j}|j|
|<ak|tur|jd|
}|jd|
}|jd	|
}|||fD]T}|||fD]J}||kD||kz
}
||us||ur||us||urd}n||cxur|urnnd}n	||urd}nd
}|j|
|LVyy)NceZdZdZy)=TZInfoBase.test_aware_compare.<locals>.OperandDependentOffsetcd|jdkrt|jStdSNrrerrrrs  r+rvzGTZInfoBase.test_aware_compare.<locals>.OperandDependentOffset.utcoffset)88b=$QXX66%R00r-Nrr!r-r+OperandDependentOffsetr
1r-rrrrrrQrtrrrrr
r)r8rrrrrrrr	rr)r)r*rWrrXd0rrkrrgopr[rs            r+test_aware_comparezTZInfoBase.test_aware_compare
smm	1V	11a$:$<=
\\\
#
\\\
#
\\\
$R	4ARZ
4b"b"b04BQ(C!!((AHH5H$$S(34
4	4d?Q/E/GHBQ/E/GHBR0F0HIBRZ
4R4Aq5QU+CR17bAG#$a2#$b#%$%$$S(34
4	r-N)rGr_r`rrrrrr!r-r+rrs.$# 68.?`-4r-rcveZdZeZdZdZdZdZdZ	dZ
dZdZd	Z
d
ZdZdZd
ZdZdZdZdZy)
TestTimeTZc:|j}|j|jd|j|jd|j|jd|j|j
d|j
|jyrU)r8r)rarrrerrrs  r+
test_emptyzTestTimeTZ.test_emptyAsoMMO#1%1%*!((#r-ctddd}tddd}tddd	}td
d|}td
d|}tdd|}tdtd||j|j||j|j||j|j||j	j|jj||j|jt
d|j|jt
d|j|jt
d|j	j|jt|j
d|j|jd|j|jd|j|jd|j	j|jt|jd|j|jt
d|j|jt
d|j|jt
d	|j	j|jt|jd|jt|t||jt|t||jt|t||j|||j|||j|||j|jtfd|jtfd|jt|d|jt|d|jt|d|jtd|jtd|j|jd|j|jd|j|jd|jjd|jjdd}|jt||dz|jt||dz|jt||dz|jt|dz|jt|d z|j|j!d!d"|j|j!d#d$|j|j!d#d%td&d'}td(d)|}|j|j!d*d+Gd,d-t}	td.d	d/|	}
|j|
j!d0d1|jt|
j d2d3|j"j$vr)d4|	_|jt(|
j d2yy)5NrrrrrrSrSMETrQrTrrrr
(rvrrezno argsckSr/r!rt5sr+r@z'TestTimeTZ.test_zones.<locals>.<lambda>srAr-ckSr/r!rsr+r@z'TestTimeTZ.test_zones.<locals>.<lambda>trAr-z07:47:00-05:00z12:47:00+00:00z13:47:00+01:00z00:00:00.000040z00:00:00.000040+00:00z
datetime.timez(7, 47, tzinfo=est)z(12, 47, tzinfo=utc)z(13, 47, tzinfo=met)z
(0, 0, 0, 40)z(0, 0, 0, 40, tzinfo=utc)z%H:%M:%S %%Z=%Z %%z=%z %%:z=%:zz#07:47:00 %Z=EST %z=-0500 %:z=-05:00z%H:%M:%S %Z %z %:zz12:47:00 UTC +0000 +00:00z13:47:00 MET +0100 +01:00rz%z %Z %%z%%Zrrz%H:%M %%Z='%Z' %%z='%z'z"23:59 %Z='%z %Z %%z%%Z' %z='-2359'ceZdZdZdZy)(TestTimeTZ.test_zones.<locals>.Badtznamer}c|jSr/rrts  r+ryz/TestTimeTZ.test_zones.<locals>.Badtzname.tznames
.r-N)rGr_r`rryr!r-r+	Badtznamers
B0r-rrUrWz%H:%M:%Sz02:03:04r1rNr)rbrr)rrrvrrrryr{rrrrrrrFrGrr)
r*estr1metrrrryuckrrrrs
           @@r+
test_zoneszTestTimeTZ.test_zonesIsL$q)!UB'"eQ'
1b
%
"b
%
"b
%
b
!
b
-C(C(C("))$C(4)@A1)=>2)>?",,.))R\\9=e,e,e,"))+&)RYY	:9Q#789R#899Q#78"&&(#)RVVY7b48,b48,b48,R R R B#)_5)_5R"23R"23R"23R"34R"9:)9:)9:)9:):;)@Ab1'<#<=b1'=#=>b1'=#=>b1#67b1'B#BC%FG%J	L%9:<WX%9:<WX5.1
"b
&%>?%I	K	1	1
Aq-J/<)QZZ6dnn---#ILj!**d;.r-c
|jddddtdd}|jddddtdd}|jt|t||jd	d
ddtd
d}|jd	dddtdd}|jt|t|y)NrrrUrQrrrirrrYrirJi)r8rbr)rrs   r+test_hash_edge_caseszTestTimeTZ.test_hash_edge_casess
]]1aAk$.C]
D
]]1aAk$.C]
Db48,
]]2r1c+eR2H]
I
]]2r1c+eR2H]
Ib48,r-cd}|j|}tD];\}}}|j||}|j|}|j	||=|j	|j|j
dtdd}|jddd|}tD]\}}}|j||}|j|}|j	|||j|jt|j	|jtd	|j	|jd|j	|j|j
dy)
NrlrUrrrRrYrTrre)
r8rrrr)r(r)rrrrvrry	r*rrrrrrrtinfos	         r+rzTestTimeTZ.test_picklingsU t}}d#)7	,%GYMM$.Eooe,GT7+	,	
*D,>,>q,AB%T84}}Q1U}3)7	9%GYMM$.Eooe,GT7+!!'..2FGW..0)D2IJW^^-x8
	9	
*D,>,>q,ABr-c	gd}tdd}|jdddd|}|D]}tD]}||d	
}|j||t	||j|jt|j|jtd|j|jdy)N)scdatetime
time
(S'\x05\x06\x07\x01\xe2@'
ctest.datetimetester
PicklableFixedOffset
(tR(dS'_FixedOffset__offset'
cdatetime
timedelta
(I-1
I68400
I0
tRsS'_FixedOffset__dstoffset'
NsS'_FixedOffset__name'
S'cookie'
sbtR.scdatetime
time
(U@ctest.datetimetester
PicklableFixedOffset
)R}(U_FixedOffset__offsetcdatetime
timedelta
(JJ0KtRU_FixedOffset__dstoffsetNU_FixedOffset__nameUcookieubtR.scdatetime
time
U@ctest.datetimetester
PicklableFixedOffset
)R}(U_FixedOffset__offsetcdatetime
timedelta
JJ0KRU_FixedOffset__dstoffsetNU_FixedOffset__nameUcookieubR.rrrRrYrTrbrr-r.re)
rr8r1r)rrrrvrry)r*rrrr3rrs       r+r4zTestTimeTZ.test_compat_unpickles
.%T84==Aq&=?	=D%
=x8  (DJ?%%gnn6JK  !2!2!4i6MN  !18<
=	=r-cF|j}|dtdd}|j||dtdd}|j||dtdd}|j||ddtd	d}|j|y)
NrrrrrRi,rrr)r8rbr)r*rWrs   r+test_more_boolzTestTimeTZ.test_more_boolsmm+dB/0+dB/0+c2./B{:r:;r-c|j}tdd}ttdd}dddd	|g}||}|j||j	d
}ddd
dd|ffD]?\}}|dd}	||	|<||	}
|jdi||i}|j|
||dz
}A|j|jd|j	d}|j
|j|j
|j|j	|}
|j||
|j|j|
j|d}|jt|jd|jt|jd|jt|jd|jt|jdy)Nr+1008re-200rrUrQrWrrrrrrrr+rsr
rtr^rrvr!r8rbrr)rryrrr0rrr*rWz100zm200rrXrmrBrYrZrr[base2base3s              r+r\zTestTimeTZ.test_replacesmm3'Id3V<1aD!Dzt||~.
(**/&.	0
	LD&
1gGGAJG}H$,,0$0CXs+
FA
		
/D)%,,'%,,.)

T
*u%

dkk5<<01v*dll<*dll2>*dll3?*dllHr-c
|jddd}|jddd}|j|||jd}|j|||jtdd}|j|||jtdd}|j	||Gddt
}|}|j|}|j|}|j|j
td	
|j|j
td
|j|||j|}|j||ky)NrrUrQrrrceZdZdZdZy)-TestTimeTZ.test_mixed_compare.<locals>.Variesc&td|_yNrrerr2s r+roz6TestTimeTZ.test_mixed_compare.<locals>.Varies.__init__&'3r-cX|xjtdz
c_|jSNrrermrrs  r+rvz7TestTimeTZ.test_mixed_compare.<locals>.Varies.utcoffset(y33{{"r-Nrr!r-r+Variesr%
4
#r-rrrer+)	r8r)rrbrrrvrrr*rrrvs     r+rIzTestTimeTZ.test_mixed_comparesC
]]1a
#
]]1a
#R 
ZZtZ
$R 
ZZ{44Z
5R 
ZZ{1b1Z
2B#	#V	#
H
ZZqZ
!
ZZqZ
!2)>?2)>?R ZZvxZ
(R r-c	ddg}d}d}d}d}|ttj||||z
}dtjttdttd	d
g}|D]s}|D]l}|j|d|i}	|	j}
|j|

5|jj|
}|j|	|dddnuy#1swY{xYw)Nr)rrrr&)rrr7)rRr)rWr)rirrUrrYr,rrr)r	itertoolsproductrr1rr8rr.rr))r*
time_exampleshhmmssusecrttuprrrt_rts            r+rzTestTimeTZ.test_fromisoformat7s 



"i//BDABB
IA./IAr:;="	.D
.!DMM444{{}\\t\,.==66t<D$$Q-..	
.	.
..s*.C%%C.c
D|jdddd}tdtdtdd	
tdddtdd
ddg}||Dcgc]}d|z	c}z
}dtjttdg}||Dcgc]
}t|c}z
}|D]Z}|j	|}|j}|j
|5|jj|}ddd\ycc}wcc}w#1swYqxYw)NrrrrrRrrUrYr,rrr%rWrrbr'r
rrrr)	r*	base_timerrVrrrrrs	         r+rz&TestTimeTZ.test_fromisoformat_timezoneQsMM"b"f5	
A	 2Ar*BB7Aq!&I	
			2"b2g22	IA./1	95RHRL55	'C!!!-A;;=D4(
'}}2248
'
'		'3
6
'
'sDD%DD	c
"ddg}dtjttdttdttddg}gd	}t|D]\}}|D]}|D]}|d
k(rd|ddzz}|d
d|fz}|j|d
d|zd|i}	|	j|}
|j
|
5|jj|
}|j|	|dddy#1swYxYw)N)rr7rrb)rr7rrr	rrUrYr,rrrPrTr
rrrrrr)r*
time_basesrrrrrt_tuplerrrrs            r+rz'TestTimeTZ.test_fromisoformat_timespecsjs5


IB/0IA./IAr:;=
5	 	*	2FB

2)	2G^++/72;$3F+G(")!B-3C2E"E%

1r6(;ISIA;;;3D402#}}::4@((D122	2

2	222rcgd}|D]A\}}|j|}|jj|}|j||Cy)N))z
12:30:45.1)rrrrX)z12:30:45.12)rrri)z12:30:45.123)rrrix)z
12:30:45.1234)rrri)z12:30:45.12345)rrri:)z12:30:45.123456rrrrb)z12:30:45.1234567r#)z12:30:45.12345678r#)r8rr))r*strstime_str
time_compsrrs      r+test_fromisoformat_fractionsz'TestTimeTZ.test_fromisoformat_fractionssS	
%)	/ Hj$t}}j1H]]00:FVX.		/r-cgd|jddfd|jddfd|jddfd|jddfd|jddfd|jddfd|jddfd	|jddfd
|jddfd|jddfd|jd
dfd|jd
dfd|jd
dfd|jd
dfd|jd
dfd|jd
dfd|jd
dfd|jd
dfd|jd
dfd|jd
dfd|jddfd|jddfd|jdddfd|jdddfd|jddddfd|jddddfd |jdddd!fd"|jdddd!fd#|jdddd$fd%|jdddd$fd&|jddtj'fd(|jd
dtj'fd)|jd
dtj'fd*|jddttd+,'fd-|jddttd+d./'fd0|jd
dttd1,'fd2|jd
dttd1,'fd3|jddttdddd$4'f}|D]M\}}|j	|55|jj|}|j
||dddOy#1swYZxYw)6N0000rz00:00000000rWz000000.0z
00:00:00.0z
000000.000z00:00:00.000z
000000.000000z00:00:00.0000001200rz12:00120000z12:00:00z120000.0z
12:00:00.0z
120000.000z12:00:00.000z
120000.000000z12:00:00.0000002359rrz23:59235959z23:59:59z235959.9i
z
23:59:59.9z
235959.999rYz23:59:59.999z
235959.999999r&z23:59:59.999999z	00:00:00Zrz
12:00:00+0000z12:00:00+00:00z00:00:00+05rRrz00:00:00+05:30rrz12:00:00-05:00r	z
12:00:00-0500z00:00:00,000-23:59:59.999999r'r)r8rr1rr.rr)rs     r+ test_fromisoformat_time_examplesz+TestTimeTZ.test_fromisoformat_time_exampless,

T]]1a(),

dmmAq)*,
t}}Q*+,
q!,-	,

q!,-,
4==A./
,
4==A./,
T]]1a01,
dmmAq12,


a 34,
T]]2q)*,
dmmB*+,
t}}R+,,
r1-.,
r1-.,
 4==Q/0!,
"4==Q/0#,
$T]]2q12%,
&dmmB23',
(

b! 45),
*T]]2r*++,
,dmmB+,-,
.t}}RR01/,
0r2r231,
2r2r6:;3,
44==RV<=5,
64==RV<=7,
8T]]2r2v>?9,
:dmmBB?@;,
<

b"b& AB=,
>$--1X\\-BC?,
@dmmB(,,mGHA,
Bt}}R8<<}HIC,
D
]]1a1C(D]
E
GE,
H
]]1aB1O(P]
Q
SI,
L
]]2q)"2E)F]
G
IM,
P
]]2q)"2E)F]
G
IQ,
T,
]]1a)"bZ\kq2r1r(s]
t
vU,
\$,	3Ix	2
344Y?  2
3
3	3
3
3s.O::P	cgd}|D]V}|j|5|jt5|jj	|ddddddXy#1swYxYw#1swYoxYw)N)ru1200z12:z12:30:z	12:30:15.1z12:3z12:30:1z1a:30:45.334034z12:a0:45.334034z12:30:a5.334034z12:30:45.123456+24:30z12:30:45.123456-24:30u12:30:4512:30:45.123456az12:30:45.123456789au12:30:45․123456z	12:30:45az
12:30:45.123ar2z12:30:45.123456-z12:30:45.123456+z12:30:45.123456+12:00:30ar,r-rs   r+rz#TestTimeTZ.test_fromisoformat_failssw
4 	9Gg.
9&&z29MM//89
9
9	999
9
9r/cddtjdg}|D];}|jt5|jj|ddd=y#1swYHxYw)Ns12:30:45z12:30:45rrs   r+rz-TestTimeTZ.test_fromisoformat_fails_typeerrors` $J(?@	!	6H""9-
6

++H5
6
6	6
6
6rcGdd|j}|ddddtj}|j|j	}|j|||j
||y)NceZdZy)<TestTimeTZ.test_fromisoformat_subclass.<locals>.TimeSubclassNrr!r-r+rxr6rr-rxrr_rir)r8rr1rrr)r)r*rxtsctsc_rts    r+rz&TestTimeTZ.test_fromisoformat_subclasss`	4==	2r2vhllC++CMMO<f%fl3r-c	Gfddj}ddddtddd	f}j|}||id
di}j|j|j|jdj|j
dj|j
|j
j|jd
|j|jzdz
y)Nc"eZdZdZfdZdZy)*TestTimeTZ.test_subclass_timetz.<locals>.Cr}c|j}|jd}jj|g|i|}||_|Srgrhrjs      r+rz2TestTimeTZ.test_subclass_timetz.<locals>.C.__new__rnr-c:||jz|jzSr/r~rps  r+rrz2TestTimeTZ.test_subclass_timetz.<locals>.C.newmeth	rr-Nrsr2sr+rur;rr-rurWrRrYrrrrrTr}rV)
r8rbr)rFrtrrvrrrarrws`    r+test_subclass_timetzzTestTimeTZ.test_subclass_timetzs	7

	7!Q[ua88dmmT"&'1&*+A&#--/:R#((SZZ*?!*CDr-N)rGr_r`rr8rrrrr4rr\rIrrrr'r/rrrr?r!r-r+rr>seH$U<n-C, =D %IN!<.4'226/$23h9@64Er-rceZdZeZdZdZdZdZdZ	dZ
dZdZd	Z
d
ZdZdZd
ZdZdZdZdZdZej0ddZej0ddZej0ddZdZdZdZy)TestDateTimeTZc	|jddddddd}|j|jd|j|jd|j|jd|j|j
d|j|jd|j|jd|j|jd|j|jdy)NrrUrQrWrRrYrT)
r8r)rZr[rrarrrerrts  r+test_trivialzTestDateTimeTZ.test_trivials
]]1aAq!Q
/!$1%#!$A&A&+D)r-c
"|jdddtdd|jtdddddd	td
d|jk|jk7|jkD|j	|j	|jdddddtdd|jddddd
tdd|j	|jdddddtdd|jkD|jdddddtdd|jk|jdddddtddd|jkD|jdddddtddd|jkD|jj
|j
|j	|jt5kDdddGddt}|jddd||j
|j	|jddd|j	Gddt}|jddd||jdddtdd|jtfdy#1swYxYw)Nrrrrrrrrr&rrUrQr
r)rrrmceZdZdZy)4TestDateTimeTZ.test_even_more_compare.<locals>.Naivecyr/r!rts  r+rvz>TestDateTimeTZ.test_even_more_compare.<locals>.Naive.utcoffset[rr-Nrr!r-r+NaiverGZs0r-rIrRrYrTceZdZdZy)4TestDateTimeTZ.test_even_more_compare.<locals>.BogusctdS)Nr]rerrts  r+rvz>TestDateTimeTZ.test_even_more_compare.<locals>.Bogus.utcoffsetgs
 ..r-Nrr!r-r+rrKfs
/r-rck(Sr/r!)rrsr+r@z7TestDateTimeTZ.test_even_more_compare.<locals>.<lambda>ksbBhr-)r8rbrrr)rrrrrr)r*rIrrrs   @@r+test_even_more_comparez%TestDateTimeTZ.test_even_more_compare(s
]]1a;tR+@]
A
]]7BBB"-eR"8:	
R b!R R R ]]1b"b"[B5G]
H
]]1aAr+i2L]
MR ]]1b"b"[B5G]
HR ]]1b"b"[B5G]
HR ]]1b"b"[B5G"#%R ]]1b"b"[B5G'(*R ]]

B#R 


y
)	G		1F	1
]]1a57]
3B#R ]]1a
#R 	/F	/]]1a57]
3
]]1a;q"+=]
>*&67+		s"LLc
Fd}|j|}tD];\}}}|j||}|j|}|j	||=|j	|j|j
dtdd}|j|id|i}|jdddtddd	}tD]\}}}|j||}|j|}|j	|||j|jt|j	|jtd
|j	|jd|j	|j|j
dy)NrGrUrrrrrrrre)r8rrrr)r(r)rrbrrrvrryrs	         r+rzTestDateTimeTZ.test_picklingmsx)t}}d#)7	,%GYMM$.Eooe,GT7+	,	
*D,>,>q,AB%T84t}}d8x&78--1aAr10E-F)7	9%GYMM$.Eooe,GT7+!!'..2FGW..0)D2IJW^^-x8
	9	
*D,>,>q,ABr-cgd}d}tdd}|j|id|i}|D]}tD]}||d}|j|||j	|j
t|j|j
td|j|jdy)	N)scdatetime
datetime
(S'\x07\xdf\x0b\x1b\x14;\x01\x01\xe2@'
ctest.datetimetester
PicklableFixedOffset
(tR(dS'_FixedOffset__offset'
cdatetime
timedelta
(I-1
I68400
I0
tRsS'_FixedOffset__dstoffset'
NsS'_FixedOffset__name'
S'cookie'
sbtR.scdatetime
datetime
(U
;@ctest.datetimetester
PicklableFixedOffset
)R}(U_FixedOffset__offsetcdatetime
timedelta
(JJ0KtRU_FixedOffset__dstoffsetNU_FixedOffset__nameUcookieubtR.scdatetime
datetime
U
;@ctest.datetimetester
PicklableFixedOffset
)R}(U_FixedOffset__offsetcdatetime
timedelta
JJ0KRU_FixedOffset__dstoffsetNU_FixedOffset__nameUcookieubR.)r+rr,r7rrrbrrrr-r.re)	rr8r1r)rrrvrry)r*rrrrr3rrs        r+r4z#TestDateTimeTZ.test_compat_unpickles
2/$T84 4==$<8U*;<	=D%
=x8  (3%%gnn6JK  !2!2!4i6MN  !18<
=	=r-c
0|jdddtdd}t||jtdddddd	td
d}t||jdddtdd}|j	t
t|y)
Nrrrrrrrrr&rrRr)r8rbrrrrrs  r+test_extreme_hashesz"TestDateTimeTZ.test_extreme_hashess
MM!Q+dB*?M@QMM'2r2r2v!,UB!7

9Q
MM!Q+eR*@MA*dA.r-ctdd}tdd}tdd}tddd	d
d|}tddd	d
d|}tddd	dd|}|j|j||j|j||j|j||j|j	td|j|j	td|j|j	td|j|j
d|j|j
d|j|j
d|jt|t||jt|t||jt|t||j|||j|||j|||jt|d|jt|d|jt|dd}|jt||dz|jt||dz|jt||dzy)NrrrrrSrrYrQrrTrrrr
rez2002-03-19 07:47:00-05:00z2002-03-19 12:47:00+00:00z2002-03-19 13:47:00+01:00zdatetime.datetime(2002, 3, 19, z7, 47, tzinfo=est)z12, 47, tzinfo=utc)z13, 47, tzinfo=met))
rbrr)rrvrryrrr)r*rr1rrrrrs        r+rzTestDateTimeTZ.test_zoness;$&!U#"e$
dArAr#
6
dAr2r#
6
dAr2r#
6C(C(C(4)@A1)=>2)>?e,e,e,b48,b48,b48,R R R R"=>R"=>R"=>-b1';#;<b1'<#<=b1'<#<=r-c
tdd}tddd}tdddd|	}tj||}|j|tddddddd|	y
NrSrrYrQrWr#rrr)rbrrrrr))r*rrrrus     r+rzTestDateTimeTZ.test_combinesh"e$q!
"b!T#
.


a
$XdAq"b!T/24	5r-c
Xtdd}|jddddddd|	}|j|jtddd|j|j	t	dddd|j|jt	dddd|	yrU)rbr8r)rrr)r*rrus   r+rzTestDateTimeTZ.test_extracts"e$
]]4Ar2q$s]
CDq!$45DRD$9:d2r1d3&GHr-c

|jjtdd}jj	|}|jjj
||jj||jj||jtfd|jtfd|jtfd|jtfd|jtfd|jz
td	|jz
td	td
dd


z|jj|
z}|j|j||j|
z
}|j|j||j||jt
fd|jz

ttjddd}j	||jj|z
}j!j!z

z
}|j|||jd
d
d
tdd}|jt"ddddddtdd}	|	|z
}
|j|
|jj$|jj&z
tdzt)t*d}t)t*d}|j	||	j	|z

|j
|jj&|jj$z
y)Niz	west 5:30rcz
Sr/r!rnowawaresr+r@z9TestDateTimeTZ.test_tz_aware_arithmetic.<locals>.<lambda>S8^r-cz
Sr/r!rYsr+r@z9TestDateTimeTZ.test_tz_aware_arithmetic.<locals>.<lambda>X^r-czSr/r!rYsr+r@z9TestDateTimeTZ.test_tz_aware_arithmetic.<locals>.<lambda>r[r-czSr/r!rYsr+r@z9TestDateTimeTZ.test_tz_aware_arithmetic.<locals>.<lambda>r]r-czSr/r!)rZsr+r@z9TestDateTimeTZ.test_tz_aware_arithmetic.<locals>.<lambda>sX-@r-rrri.)rNrfrcz
Sr/r!)r*nowawareplussr+r@z9TestDateTimeTZ.test_tz_aware_arithmetic.<locals>.<lambda>sU\-Ar-rr]randomtimezonerrrrrr&ri>rerr)r8rrbrrrrr0rr)rrrrr	randrangervrrrrr)r*tz55	timeaware
nowawareplus2rtzrr[rrrmaxdifftzatzbr*rrZrbs             @@@@r+test_tz_aware_arithmeticz'TestDateTimeTZ.test_tz_aware_arithmetics'mm!4-HHJ&&d&3	==((Y?

hoot,*I6	
)%;<)%;<	
)%;<)%;<)%@A	
sIaL1H,il;2DA%'

hoot,(


m**D1}5e#

dkk4(4()%AB0%8&**5$79IJ#++3+7

l))3/% ))+h.@.@.BBUJh'mmAq!Ke,DmEmmGRRR#.ue#<>)$--"3"3dmm6G6G"G"+F";#<	=tS!tS!3'#++S+*AA

 1 1DMM4E4E EFr-c|jj}|}tdd}||}||}|j|j|j|j|j
td|jt|d|jt|d|jt|||jt|||tdd	d}ttd
dd
dttd
dd
fD]}tdD]}tj|}	|j|	j||jt5tjj!|}
ddd
j#|}t%|	|z
tdks|j'dy#1swYMxYw)Nr}42rrerrrrr1rrrweirdtzrQrrz0utcnow(), now(tz), or astimezone() may be broken)r8rrbr0rr)rvrrrrrgrr\r]rrrrffail)r*methrXoff42anotheragainr1rprrrnow2s            r+test_tzinfo_nowzTestDateTimeTZ.test_tzinfo_now%s}}  vB%u+

gnnell3**,i.CD)T2.)T"5)T7)T5%8
!UA&#IB$CYPQR R!@)LO	NGq
Nll7+

cjj'2%%&89C%__.66c6BFC((1sTz?Yr%::
N		LM	N
CCs=%G..G7cjddl}|jj}|j}||}tdd}|||}|||}|j	|j
|j
|j
|jtd|jt||d|jt||d|jt||||jt|||||jt|d	}|jt5tj|}	dddtd
d}
t|
d
d}	|
z}tj||}
|j
||
jdy#1swYaxYw)Nrr}rnrrerrrori'rr)rr8rrbr0rr)rvrrrr\r]rr^r)r*rrrrrXrsrtrurutcdatetimervrrr[s              r+test_tzinfo_fromtimestampz(TestDateTimeTZ.test_tzinfo_fromtimestampKsw}}**
TYY[BxB%r5/RE"

gnnell3**,i.CD)T2r2)T2b9)T2U;)T2ue<)T*	


0
1	?"33I>K	?C4	
D!
,*$$Y33;;d;#;<	?	?s3F))F2c|jj}|jt5|}dddt	dd}|jt|||jt||y#1swYExYw)Nr}rnr)r8rr\r]rbrr)r*rrrXrss    r+test_tzinfo_utcnowz!TestDateTimeTZ.test_tzinfo_utcnowosq}}##


0
1	6D	B%)T51)T%8
		sA88Bcddl}|jj}|j}|jt5||}dddtdd}t
jt5t
jdt|jt||||jt|||dddy#1swYxYw#1swYyxYw)Nrr}rn)categoryignorer)rr8r^r\r]rbwarningscatch_warningssimplefilterrr)r*rrrrrXrss      r+test_tzinfo_utcfromtimestampz+TestDateTimeTZ.test_tzinfo_utcfromtimestampzs}}--
TYY[


0
1	8D	B%

$
$.@
A	A!!(5GHir59ir%@	A	A		
	A	As	C8A
CCC#c
Gddt}|j}dD](\}}|ddddddd||	}|j}|jd|j|jd|j
|jd|j|jd|j|jd|j|jd|j|jd
|j|jd|j|j||j+|jt|ddd|d	j|j|ddd|d	jjd|j|ddd|d
	jjd|jt|ddd|d	j|jt|ddd|d	jy)NceZdZdZdZy)1TestDateTimeTZ.test_tzinfo_timetuple.<locals>.DSTcJt|trt|}||_yrdrgrhrdstvaluer*rs  r+roz:TestDateTimeTZ.test_tzinfo_timetuple.<locals>.DST.__init__h,(:H (
r-c|jSr/rrts  r+r{z5TestDateTimeTZ.test_tzinfo_timetuple.<locals>.DST.dst}}$r-NrGr_r`ror{r!r-r+DSTrs
)
%r-r))r)rr)rr)Nr
rrr7rrrrrrrr]r)rr8rr)rrrrrr r!r"r#rrr)r*rrWrflagrrs       r+test_tzinfo_timetuplez$TestDateTimeTZ.test_tzinfo_timetuples	%&	%mmC	/NHdAq!RRCMBA
AQ		*Q)Q		*R+R*R*Q		*Q		*T1::.	/	
)SAqS%B%L%LM	
Qq3t95??AJJANQq3u:6@@BKKQO	
*c!AaD	&B&L&LM*c!AaE
&C&M&MNr-cN	Gddt|j}|jt|ddddjGfdd}dD]}|dd	d
ddd
d|d|}|j}|j
|j|j|j
|j|j|j
|j|j|j
d|j|j
d|j|j
|j|j |j
|j#|j$|j
|j't)dddj'z
dz|j*|j
d|j,|dd	d
ddd
d}|j}|j
|dd|j/dd|j
d|j,Gdd}|dd	d
ddd
d|}|j}|j
|dd|j/dd|j
d|j,Gdd}|dd	d
ddd
d|}|jt0|j
|ddddddd}t2j4t2j6t2j8fD]e}|j;|}	|j
|	jdd|	j=t2j6j/ddg|t>ddddd|d}
|jt@|
j
|tBddd d!dd"|d#}|jt@|j
|j4j;t3tD}
|jt@|
j
|j8j;t3tD}|jt@|j
y)$NceZdZddZdZy)-TestDateTimeTZ.test_utctimetuple.<locals>.DSTcJt|trt|}||_yrdrrs  r+roz6TestDateTimeTZ.test_utctimetuple.<locals>.DST.__init__rr-c|jSr/rrts  r+r{z1TestDateTimeTZ.test_utctimetuple.<locals>.DST.dstrr-N)rrr!r-r+rrs
)
%r-rrrrc eZdZdfd	ZdZy).TestDateTimeTZ.test_utctimetuple.<locals>.UOFSNcLj||t||_yrd)roruofs)r*rdofsrs   r+roz7TestDateTimeTZ.test_utctimetuple.<locals>.UOFS.__init__sT4(%d3	r-c|jSr/)rrts  r+rvz8TestDateTimeTZ.test_utctimetuple.<locals>.UOFS.utcoffsetsyy r-r/r)rsr+UOFSrs

4
!r-r)rrrNrUrQrr7rrirr
r
ceZdZdZy).TestDateTimeTZ.test_utctimetuple.<locals>.NOFScyr/r!rts  r+rvz8TestDateTimeTZ.test_utctimetuple.<locals>.NOFS.utcoffsetsr-Nrr!r-r+NOFSrs
r-rceZdZdZy).TestDateTimeTZ.test_utctimetuple.<locals>.BOFScy)Nrr!rts  r+rvz8TestDateTimeTZ.test_utctimetuple.<locals>.BOFS.utcoffsetsr-Nrr!r-r+BOFSrs
r-rrr_rri+rrrrrrr&r)#rr8rrrvutctimetupler)rZrr[rrrrrrr rr!rcrr"r#rrrrr1rrrrrrr)
r*rWrrrrrrrdtzrhugers
            @r+test_utctimetuplez TestDateTimeTZ.test_utctimetuples	%&	%mm-aAc!f5??	A	!3	!)	,HAq!RRDh4GHA AQVVQYY/QWWahh/QUUAII.R+R*QXXqxx0QYY[!))4Q[[]T!Q]-D-D-FFJYY
(
Q

+	,"
1aRR(
NN3Bs!34AJJ'	3	
1aRR7
NN3Bs!34AJJ'	3	
1aRR7)Q^^4
b"b"b&1<<x||<	LB))2)&CS--/4 ^^HLL9CCEcrJ
L	L7Aq!Q4:>-):):;7BBBtE{K-):):;wwhv&67-):):;wwhw&78-):):;r-ctdd}tdd}tdd}tdd}|j}d}d||||fD]}d	D]}|d
ddd
dd||}	d|xrdxsdz}
|duxr|	jxsd}|
|z}|	j}
|j	|
|dz|z|j	|
|	jd|j	|	jd|dz|z|j	|	jd|dz|z|j	t|	|dz|zy)Nrr
z+03:40iz-03:51rz
0001-02-03)riyrrUrQrWrRrrz04:05:59z.987001rkuሴr)rbr8ryrr)r)r*rzplusminusunknownrWdatestrofsrlrtimestrofsstrtailstrisos              r+test_tzinfo_isoformatz$TestDateTimeTZ.test_tzinfo_isoformats[1h'3)D(+dB'mmtUG3	BC

B1aAr2c:$(8y(>B?D7QXXZ=2!F*kkm  gmg&=>  akk#&67  S!17S=73JK  X!6(8JW8TU  Q3)@A

B	Br-c	"|j}tdd}ttdd}dddd	d
dd|g}||}|j||j	d
}dddddddd|ffD]?\}}|dd}	||	|<||	}
|jdi||i}|j|
||dz
}A|j|jd|j	d}|j
|j|j
|j|j	|}
|j||
|j|j|
j|ddd}|jt|jdy)NrrrrerrrUrQrWrRrYrTrrQrRrSrrrrrrrNryr|rTr!rrs              r+r\zTestDateTimeTZ.test_replacesmm3'Id3V<1aAq!T*Dzt||~.
()'(**/&.0
	LD&1gGGAJG}H$,,0$0CXs+
FA
	 	
/D)%,,'%,,.)

T
*u%

dkk5<<04B*dll>r-ctdd}tdd}ttdd}|jj|}|j	|j
||j
t|j||j|j
}|j	|j
||j|j|j|j|j|j|j|}|j	|j
||j|jtd||jz
}||j|z
}|j|	}|j|j|j|j|j|j|j|j|j|j	|j
|j
|j||y)
NNoner44rRrm300rr	r)rbrr8rr0rrrrr)rrrvrr)r*fnonef44mfm5hrurr[rs        r+test_more_astimezonez#TestDateTimeTZ.test_more_astimezone9sD&)2t$IA..7
]]

$

'

bii&*bmmU;MM"))$

ahh%2779-2779-mmD!

cjj$')"*=>&DNN2&&##4#0X]]_5X]]_5x'89

cjj(//2h'r-rc|jjtj}|j	|jd||j	|j|yr/)r8rrr1r)rrts  r+test_astimezone_default_utcz*TestDateTimeTZ.test_astimezone_default_utcVsI
]]

x||
,t,b1"-r-r`c|jdddddtj}|j}|j	|||j	|jdd|jdddd	dtj}|j}|j	|||j	|jdd
y)Nr`rrWrYrrrz	-0500 ESTrRz	-0400 EDT)r8rr1rr)r)r*rurs   r+test_astimezone_default_easternz.TestDateTimeTZ.test_astimezone_default_eastern^s
]]4Q2hll]
C

U#0+>
]]4Q2hll]
C

U#0+>r-ctddddtj}|j}|j}|j	|j
|j
y)Nr+rrrRr)rrr1rr)r)r*rrrs    r+!test_astimezone_default_near_foldz0TestDateTimeTZ.test_astimezone_default_near_foldisH
T2q!HLL9
LLN
LLN188,r-c|j}Gddt}|ddddddd	|
}|jd}|jd}|jd}|||fD]F}|||fD]<}||z
}	t|j|jz

}
|j|	|
>H|ddddddd	}|jd|}|jd|}|jd|}|||fD]t}|||fD]j}||z
}	||us||ur||us||urtd}
n5||cxur|urnntd}
n||ur
td
}
ntd
}
|j|	|
lvy)NceZdZdZy)BTestDateTimeTZ.test_aware_subtract.<locals>.OperandDependentOffsetcd|jdkrt|jStdSrrrs  r+rvzLTestDateTimeTZ.test_aware_subtract.<locals>.OperandDependentOffset.utcoffsetwrr-Nrr!r-r+rrvrr-rrrrrrr
r_rrQrtrerrirJ)r8rrrrr))r*rWrrXrrrkrrgr[rs           r+test_aware_subtractz"TestDateTimeTZ.test_aware_subtractqsmm	1V	11aRR4J4LM
\\\
#
\\\
#
\\\
$R	0ARZ
0!e$QXX-@A  h/
0	01aRR,
\\+A+C\
D
\\+A+C\
D
\\,B,D\
ER	0ARZ
0!eGqBwQ"WR(|H!\r\(|H"W(;H );H  h/
0	0r-c	tddddddd}tddddddd}|j|||jd}|j|||jtdd	}|j|||jtd
d	}|j	||Gddt
}|}|j|}|j|}|j|j
td
|j|j
td|j|||j|}|j||ky)NrrUrQrWrRrYrTrrrceZdZdZdZy)1TestDateTimeTZ.test_mixed_compare.<locals>.Variesc&td|_yr	rr2s r+roz:TestDateTimeTZ.test_mixed_compare.<locals>.Varies.__init__r
r-cX|xjtdz
c_|jSrr
rs  r+rvz;TestDateTimeTZ.test_mixed_compare.<locals>.Varies.utcoffsetrr-Nrr!r-r+rrrr-rrrer+)	rr)rrbrrrvrrrs     r+rIz!TestDateTimeTZ.test_mixed_comparesK
aAq!Q
*
aAq!Q
*R 
ZZtZ
$R 
ZZ{44Z
5R 
ZZ{1b1Z
2B#	#V	#
H
ZZqZ
!
ZZqZ
!2)>?2)>?R ZZvxZ
(R r-c
Gfddj}ddddddd	td
ddf}j|}||id
di}j|j|j|jdj|j
dj|j
|j
j|jd|j|jzdz
y)Nc"eZdZdZfdZdZy)2TestDateTimeTZ.test_subclass_datetimetz.<locals>.Cr}c|j}|jd}jj|g|i|}||_|Srgrhrjs      r+rz:TestDateTimeTZ.test_subclass_datetimetz.<locals>.C.__new__rnr-c:||jz|jzSr/)rarZrps  r+rrz:TestDateTimeTZ.test_subclass_datetimetz.<locals>.C.newmethstyy(49944r-Nrsr2sr+rursI

5r-rurYrrrWrRrYr>rrrrrTr}rV)
r8rbr)rFrtrrvrrrarZrws`    r+test_subclass_datetimetzz'TestDateTimeTZ.test_subclass_datetimetzs	5

	5RQ1c;tUA+FFdmmT"&'1&*+A&#--/:R#((SXX*=*ABr-N)rGr_r`rr8rCrNrr4rRrrrrlrwr{r}rrrrr\rr
r9rrrrrIrr!r-r+rArAsH	*C8JC.#=J/><5I?GB$NL"=H	9
A"OHN<`B*%?N(:W. .W34?5?W34-5-*0X!<Cr-rAcLd|jz
}|r|t|z
}|S)NrY)rr)ru
days_to_gos  r+first_sunday_on_or_afterrs)RZZ\!J
i
##
Ir-rerrQrWrUrc*eZdZdZdZdZdZdZy)
USTimeZonecPt||_||_||_||_yNrr	stdoffsetreprnamestdnamedstnamer*rrrrs     r+rozUSTimeZone.__init__#"/ 
r-c|jSr/rr2s r+rrzUSTimeZone.__repr__rwr-cT|j|r|jS|jSr/r{rrrts  r+ryzUSTimeZone.tzname!88B<<<<<r-c>|j|j|zSr/rr{rts  r+rvzUSTimeZone.utcoffset~~,,r-c*||jtSttj	|j
}ttj	|j
}||j	dcxkr
|kr
tStStSNrTr)rrrDSTSTARTrrZDSTENDrr*rurqends    r+r{zUSTimeZone.dsts
:*K))9)9rww)9)GH'v~~277~'CD
BJJdJ+1c1K2K4Kr-NrGr_r`rorrryrvr{r!r-r+rrs -r-rr	rrrrZCentralCSTCDTrVMountainMSTMDTiPacificPSTPDTri0UTCfakecfeZdZeddddZeddddZeZdZd	Zd
Z	dZ
dZd
ZdZ
y)TestTimezoneConversionsrYrWrTrUrr,rc|j|jt|j|j|||j|}|j|}|j	|j	k(r}|j
dk(rn|j|tz||j|jt|j|j||j|n|j|||tz}|j|}	|j	|j	k(rn|j
dk(r_|j|	|jd|tz
}|j|}	|j|	|jdy|j|	|z
ty)NrUrrrs)r)r{rrrrarr)
r*rurr1dstondstoffasutcthere_and_backnexthour_utcnexthour_tzs
          r+checkinsidez#TestTimezoneConversions.checkinside$s|4(	
r*B/

c"))"-779

$A
^d2B7
^//148^66s;]]3/
1
R0t|"--b1
779
%"''Q,
["**!**<=D L&11"5K["**!**<=[2-t4r-c|j|jt|j|j|||j|}|j|}|j||yr/)r)r{rr)r*rurr1rrs      r+checkoutsidez$TestTimezoneConversions.checkoutsideXsc4(	
r*B/

c"))"-^,r-c	|jj|}|jj|}tdtt
tdtdfD]p}|j
|||||||z||z
fD]}|j
||||||j|||||z
||zfD]}|j|||ry)Nrr
rRrrer)rrrrDAYrr	r)r*rr1rrr*duringoutsides        r+convert_between_tz_and_utcz2TestTimezoneConversions.convert_between_tz_and_utccs

""""-$$B$/b)*Q/	1	4E
UBUF;%-%7
A  S%@
A
fb#. 5=&5.8
4!!'2s3
4	4r-c<|jtt|jtt|jtt|jtt|jtt|jttyr/)rrutc_realrutc_faker2s r+	test_easyz!TestTimezoneConversions.test_easyysd'':'':'':'':	
''9''9r-c	|jtdz
}tddd}|j|}|jjd}|j	t
jd}|j
|||jjd	t
}|jjd}|j	t
jd}|j
||ttfD]}t
tfD]}|jtdz
}||jdz}||jdz}	|	j|}
d
D]}|jj|}dD]Y}
|j|
}|
j|
}	|	j	|}|j
|jd|[|
tz
}
y)NrWriz-0900rrrQrsrYrarrrU)rrrrUrrrrt)
rrrbrrrr)rrrrrvr)r*fourbackninewestrr[sixutcr1rfirst_std_hourr	asutcbasetzhourexpectedbaserastzs               r+test_trickyz#TestTimezoneConversions.test_trickys::	 22ugq1##8#4::%%1%-!!'*22$2?3'##8#<::%%1%-(000=3'X%	&Cw&
&!%yq/A!A",,t"44&t)<<"MMM5	*&F#';;#6#6F#6#CL"+N#/#7#7v#7#F ) 1 1 1 @$//3((T)BHM	N
%I&
&	&r-cGddt}|jjjt}|j|Gdd|}|j
t|j
|Gdd|}|jdd	d	jt}|j
t|j
|y)
NceZdZdZdZy)2TestTimezoneConversions.test_bogus_dst.<locals>.okctSr/rrts  r+rvz<TestTimezoneConversions.test_bogus_dst.<locals>.ok.utcoffsetsD[r-ctSr/r%rts  r+r{z6TestTimezoneConversions.test_bogus_dst.<locals>.ok.dstsd{r-Nrr!r-r+okr#s0*r-r'rceZdZdZy)5TestTimezoneConversions.test_bogus_dst.<locals>.notokcyr/r!rts  r+r{z9TestTimezoneConversions.test_bogus_dst.<locals>.notok.dstrr-NrGr_r`r{r!r-r+notokr)s*r-r,ceZdZdZy)<TestTimezoneConversions.test_bogus_dst.<locals>.tricky_notokc4|jdk(rydtzS)NrNr)rZrrts  r+r{z@TestTimezoneConversions.test_bogus_dst.<locals>.tricky_notok.dsts77d?d7Nr-Nr+r!r-r+tricky_notokr.s
#r-r0r|r)rr8rrrrrr)r*r'rr,r0rus      r+test_bogus_dstz&TestTimezoneConversions.test_bogus_dsts	+	+mm!))):rt	+B	+*cnneg>	#2	#]]4A
&
.
.h
.
?*bmm\^Dr-c.|jttjt	j
t}|jttj||jt}tj|}|j|jt|jttj|||jttjtjGddt}|dddd}|jjd	t
}|j|}dD]}|j|}|d
k(r|tdz}tj|}	|j||	||j z}|j|}	|j||	|jtj#|}	|j||	|t$z
}|t$z
}|j&jd	t
}|j|}dD]}|j|}tj|}	|j||	||j z}|j|}	|j||	|jtj#|}	|j||	|t$z
}|t$z
}y)NrrceZdZdZy)<TestTimezoneConversions.test_fromutc.<locals>.FauxUSTimeZonec ||jzSr/)rrts  r+rzDTestTimezoneConversions.test_fromutc.<locals>.FauxUSTimeZone.fromutcsDNN**r-NrGr_r`rr!r-r+FauxUSTimeZoner4s
+r-r7r	FEasternFESTFEDTrWr)rrrrQrWrRrsrrrQ)rrrrUrQrW)rrrrrrrrrr)rrr]rrrrrrr)
r*renowr7r8rqfstartwallrr[s
          r+rz$TestTimezoneConversions.test_fromutcs)W__5llh'*goos;kkk)s#g.)W__c3?)W__djjlC	+Z	+#2zFFC

""'":h/%	D}}$}/HrzI1--//%(CXs+ 2 22H""6*CXs+...1<<XFCXs+TMEdNF!	&##7#;h/$	D}}$}/H//%(CXs+ 2 22H""6*CXs+...1<<XFCXs+TMEdNF	r-N)rGr_r`rrrr8r	rrrr r1rr!r-r+rrsMT1a#E
dBA
&FH15h	-4,
:00&fE6:r-rceZdZdZdZdZy)Oddballsctjtjt	|jk7|jk7|j
k(|j
k(|jtfd|jtfd|jtfd|jtfd|jtfd|jtfd|jtfd|jtfd|jjd	jd
zdzd
z}j|}|jj|d
tjjj}|j||j|t!jjjddd}|j||j|y)NckSr/r!as_dateas_datetimesr+r@z+Oddballs.test_bug_1028306.<locals>.<lambda>*W{-Br-ckSr/r!rBsr+r@z+Oddballs.test_bug_1028306.<locals>.<lambda>+[7-Br-ckSr/r!rBsr+r@z+Oddballs.test_bug_1028306.<locals>.<lambda>,W-Cr-ckSr/r!rBsr+r@z+Oddballs.test_bug_1028306.<locals>.<lambda>-[G-Cr-ckDSr/r!rBsr+r@z+Oddballs.test_bug_1028306.<locals>.<lambda>.rEr-ckDSr/r!rBsr+r@z+Oddballs.test_bug_1028306.<locals>.<lambda>/rGr-ck\Sr/r!rBsr+r@z+Oddballs.test_bug_1028306.<locals>.<lambda>0rIr-ck\Sr/r!rBsr+r@z+Oddballs.test_bug_1028306.<locals>.<lambda>1rKr-Trr7)rFr)rr]rrrrrrrr)__eq__rrrRrZr[r)r*
different_dayas_differentdate_scdatetime_scrCrDs     @@r+test_bug_1028306zOddballs.test_bug_1028306!s**,&&w7;./w./K/0/0)%BC)%BC)%CD)%CD)%BC)%BC)%CD)%CD	
4d; qB.2
"**
*>5u=w||W]]GKKH'*'*'{'7'79J9J'.{{Aq!=k2k2r-c	r|jt5tj}dddt	j
t
ttttfD]'}|jt5d|_ddd)y#1swYwxYw#1swY@xYwr)
r\r]rrrr]rrrrrAttributeErrorr )r*rrs   r+test_extra_attributeszOddballs.test_extra_attributesFs


0
1	'__&F	'**,&+(9;')	A"">2



		'	'

sB!B-!B*-B6	cGdd}Gddt}d|dtjdtjd|d|dd	fD]}|jtt
|dddddd	|jtt
d|ddddd	|jtt
dd|dddd	|jtt
ddd|ddd	|jtt
dddd|dd	|jtt
ddddd|d	|jtt
dddddd|	y)
NceZdZdZdZy)-Oddballs.test_check_arg_types.<locals>.Numberc||_yr/value)r*r^s  r+roz6Oddballs.test_check_arg_types.<locals>.Number.__init__Ts	"
r-c|jSr/r]r2s r+__int__z5Oddballs.test_check_arg_types.<locals>.Number.__int__Vszz!r-N)rGr_r`ror`r!r-r+Numberr[Ss
#
"r-raceZdZy),Oddballs.test_check_arg_types.<locals>.FloatNrr!r-r+FloatrcYrr-rdg$@g%@rz10.910)r(decimalDecimalrrr)r*rardxxs    r+test_check_arg_typeszOddballs.test_check_arg_typesRs1	"	"	E	t??2&(?":vd|
	OB
i2r2r2r2Ni2r2r2r2Ni2r2r2r2Ni2r2r2r2Ni2r2r2r2Ni2r2r2r2Ni2r2r2r2N
	Or-N)rGr_r`rUrXrir!r-r+r?r?s#3J
Or-r?ceZdZdZy)tzinfo2c	t|tstd|j|urt	d|jdj
}|jdj
}|||jt||k(r||z}|j
}||k(r|S||fD]G}||z}|j
|k(r|cS|jd}|j
|k(sE|cSt	d)N&fromutc() requires a datetime argumentdt.tzinfo is not selfrr4rzNo suitable local time found)rgrrrrrrvr{)r*ruoff0off1ldtoffs      r+rztzinfo2.fromutcps
4"h'DEE
99D 455zzqz!++-zzqz!++-<4<2668+;4<t)C==?Dt|
$<	Cs(C}}#%
++1+%C}}#%

	788r-Nr6r!r-r+rkrkns9r-rkc*eZdZdZdZdZdZdZy)USTimeZone2cPt||_||_||_||_yrrrs     r+rozUSTimeZone2.__init__rr-c|jSr/rr2s r+rrzUSTimeZone2.__repr__rwr-cT|j|r|jS|jSr/rrts  r+ryzUSTimeZone2.tznamerr-c>|j|j|zSr/rrts  r+rvzUSTimeZone2.utcoffsetrr-c||jtSttj	|j
}ttj	|j
}|j	d}|tz|cxkr
|krtS||cxkr|tzkrnn|jrtStS||cxkr|tzkr ntS|jrtStStSr)	rrrrrrZrrr5rs    r+r{zUSTimeZone2.dsts
:*K))9)9rww)9)GH'v~~277~'CD
ZZtZ
$4<2##K$B
#t
#774,,
b
'54<
'
K774,,Kr-Nrr!r-r+rtrts -r-rtEastern2Central2	Mountain2Pacific2c0eZdZdZdZdZdZdZdZy)Europe_Vilnius_1941cBtdddd|tdddd|gS)NrYrrrrrr2s r+	_utc_foldzEurope_Vilnius_1941._utc_folds,q"b6q"b68	8r-cBtdddd|tdddd|gS)NrrYrrr+rrr2s r+	_loc_foldzEurope_Vilnius_1941._loc_folds,q"b6q"a57	7r-c|j\}}||kr	dtzS||kr|jr	dtzSdtzSdtzS)NrQrUrrr5r*ru
fold_start	fold_stops    r+rvzEurope_Vilnius_1941.utcoffsetN $ 0
I
?t8O
	>A4//a4//4xr-c|j\}}||kr	dtzS||kr|jr	dtzSdtzSdtzS)Nrrrrs    r+r{zEurope_Vilnius_1941.dstrr-c^|j\}}||kry||krd|jSy)NMSK)rCESTr)rr5rs    r+ryzEurope_Vilnius_1941.tznames6 $ 0
I
?
	>"277++r-c|jdk7rt|j\}}||kr|dtzzS||kr|dtzzj	dS|dtzzS)NrrQrUrr4)rZrrrrrs    r+rzEurope_Vilnius_1941.fromutcsl77d?%% $ 0
I
?D= 
	>TM***22AH}r-N)	rGr_r`rrrvr{ryrr!r-r+rrs 87r-rcbeZdZdZdZdZdZdZdZdZ	e
jdd	Ze
jd
dZ
dZe
jdd
Ze
jd
dZe
jddZdZdZdZdZdZdZdZdZdZy)TestLocalTimeDisambiguationc	^t}tddddddtj}|j	|}|j|j
dd|j|jd	|j|jtdddd
tj}|j	|}|j|j
dd|j|jd|j|jtdddd
tj}|j	|}|j|j
dd|j|jd	|j|jy)NrrYrr7rrz%c %Z%zz!Mon Jun 23 23:59:59 1941 MSK+0300rrz"Mon Jun 23 23:00:00 1941 CEST+0200rrz"Tue Jun 24 00:00:00 1941 CEST+0200)rrrr1rr)rr5rr{r)r*Vilniusgdtrqs    r+test_vilnius_1941_fromutcz5TestLocalTimeDisambiguation.test_vilnius_1941_fromutcsB%'tQBBx||DnnW%i0<	>1%#tQBx||<nnW%i0=	?1%	"tQBx||<nnW%i0=	?1%	"r-c
t}tdddddd|}|jtj}|j|j
ddtdddddd|}|jtj}|j|j
dd	tdddddd|d
}|jtj}|j|j
ddtddd
d|}|jtj}|j|j
ddy)NrrYrrrrz%c %ZzMon Jun 23 19:59:59 1941 UTCzMon Jun 23 20:59:59 1941 UTCr)rr5zMon Jun 23 21:59:59 1941 UTCr+rzMon Jun 23 22:00:00 1941 UTC)rrrrr1r)r)r*rrqrs    r+test_vilnius_1941_toutcz3TestLocalTimeDisambiguation.test_vilnius_1941_toutc s%'tQBBw?nnX\\*g.7	9tQBBw?nnX\\*g.7	9tQBBwQGnnX\\*g.7	9tQAg6nnX\\*g.7	9r-c	 tdd}tdddd}|j|jd|j|jd|j	t
5tdddddddddy#1swYyxYwNrrr4)rrr)r5rrr*rrus   r+test_constructorsz-TestLocalTimeDisambiguation.test_constructors7szO
aAA
&#!$


y
)	&Aq!T1%	&	&	&s*BB
ctdddd}|j}|j|jd|j	}|j|jdy)Nrr4)rrr)r5r)r*rurs   r+test_memberz'TestLocalTimeDisambiguation.test_member?sP
aAA
&GGI#IIK#r-ctd}tddd}|j|jdjd|j|jdjd|j|jdjd|j|jdjd|jdt
}|jdt
}|j|jdjd|j|jdjd|j
t5|jdddd|j
t5|jdddd|j
t5|jdddddddd|j
t5|jddddddddd	dddy#1swYxYw#1swYxYw#1swYYxYw#1swYyxYw)Nrrr4)r5rrrU)	rrr)rr5rrrrrs   r+r\z(TestLocalTimeDisambiguation.test_replaceFsG
aA
*//3+00!4*//3+00!4
II1WI-
ZZQwZ
/$/44a84055q9


z
*	
II1I	


z
*	JJAJ	

y
)	(
IIaAtQ'	(


y
)	5JJq!Q1aD!4	5	5					(	(	5	5s0$HH&H27H>H#&H/2H;>Ictd}tddd}|j||jd|j||jdyr)rrr)rrs   r+rz+TestLocalTimeDisambiguation.test_comparison]sOG
aA
AII1I-.RZZQZ/0r-ctd}tddd}|jt|t|j	d|jt|t|j	dyr)rrr)rrrs   r+	test_hashz%TestLocalTimeDisambiguation.test_hashcsaG
aA
a$qyyay'8"9:b4


(:#;<r-r`cd}tj|}tj|dz}|j|jd|j|jdy)NiXUTrrr)rrr)r5)r*rdt0rs    r+rz.TestLocalTimeDisambiguation.test_fromtimestampisS$$Q'$$QX.1%1%r-zAustralia/Lord_Howecttjd}tjd|dk7r|jdd}t	j
|}t	j
|dz}|j
|||j
|jd|j
|jdy)	NA%Z%z	LHST+1030>Australia/Lord_Howe timezone is not supported on this platformiUrr)rrVrrHrrr)r5)r*tmrrcrs     r+test_fromtimestamp_lord_howez8TestLocalTimeDisambiguation.test_fromtimestamp_lord_howeqs
__U
#>>&"%4MMZ[



#
#A
&

#
#AH
-R !$!$r-cb|jtjdjdyrU)r)rrr5r2s r+%test_fromtimestamp_low_fold_detectionzATestLocalTimeDisambiguation.test_fromtimestamp_low_fold_detections%	
//277;r-ctddddd}|jd}|j|jdz|jy)NrrrUrrr4r)rrr)r)r*rrs   r+test_timestampz*TestLocalTimeDisambiguation.test_timestampsHtRAr*kkqk!4/	*r-cJtjd}tjd|dk7r|jdt	ddddd	}|jd
j
}|jdj
}|j|dz|y)
Nrrrrr+rWrRrrrr4r)rrVrrHrrrr))r*rrs0s1s     r+test_timestamp_lord_howez4TestLocalTimeDisambiguation.test_timestamp_lord_howes
__U
#>>&"%4MMZ[T1aB'
YYAY

(
(
*
YYAY

(
(
*dB'r-ctddddd}|jd}|j}|j}|j|j	d|j|j	d|j|t
z||j|jd	|j|jd	y)
NrrrUrrr4rrr)rrrr)ryrr5)r*rradt0adt1s     r+rz+TestLocalTimeDisambiguation.test_astimezonestRAr*kkqk!~~~~..d+A&A&r-c.td}tdddd}tD]q\}}}||fD]d}|j||}|j	|}|j|||j|dkrdn|j|jfsy)Nrr4rWr)rrrrrr)r5)	r*rrurrrrrrgs	         r+test_pickle_foldz,TestLocalTimeDisambiguation.test_pickle_foldsaL
aAA
&)7	G%GYW
GMM!U+OOA&  A&  uqy!affqvvF	
G	Gr-ctd}tdddd}|jt|d|jt|dy)Nrr4zdatetime.time(0, 0, fold=1)z(datetime.datetime(1, 1, 1, 0, 0, fold=1))rrr)rrs   r+rz%TestLocalTimeDisambiguation.test_reprsHaL
aAA
&a"?@bC	Er-c	tddddttjz
}tddddt}|j	|jt|j	|jt|j	|jdjt|j	|jdjtdD]o}tdddd|t}|j	|jt|j	|jdjtqdD]o}tdd	d
d|t}|j	|jt|j	|jdjtqy)NrYrr,rrrUr4rrWrT)	rrzrrr)r{rrr)r*	dt_summer	dt_winterrrus     r+rz$TestLocalTimeDisambiguation.test_dstsiT2r1X>AUAUU	T2r1X>	$/$/***2668$?***2668$?"	=F$B6(CBRVVXt,RZZQZ/335t<	="	=F$1aABRVVXt,RZZQZ/335t<	=r-ctddddttjz
}tddddt}|j	|jdtz|j	|jdtz|j	|jd	jdtz|j	|jd	jdtzy)
NrYrr,rrrUrXr	r4)rrzrrr)rvrr)r*rrs   r+rz*TestLocalTimeDisambiguation.test_utcoffsetsT2r1X>AUAUU	T2r1X>	,,.T	:,,.T	:***2<<>T	J***2<<>T	Jr-ctddddttjz
}tddddt}tj	|}tj	|}|j||dtzz
|j||dtzz
|j|jd	|j|jd	tddddd
t}tj	|}|tz
}tj	|}|j|||j|jd	|j|jdtddddd
t}tj	|}|j|j|jfdtddddd
t}tj	|}|j|j|jfd
tddddd	t}tj	|}|j|j|jfdy)NrYrr,rYrrTrWrRrrr)rr)r,rrU)rYr)
rrzrrrr)rr5rra)	r*u_summeru_wintert_summert_winterrrcrrs	         r+rz(TestLocalTimeDisambiguation.test_fromutcsD"b!H=	@T@TTD"b!H=##H-##H-8a$h#678a$h#67**
T2r1b:


a
 	T	


a
 R !$!$T2r1b:Q!%%(3T2r1b:Q!%%'2
T1aAh7Q!%%'2r-ctdddt}|j||jtj
tdddt}|j||jtj
y)NrNrrrY)rrzr)rrr1rs  r+test_mixed_compare_regularz6TestLocalTimeDisambiguation.test_mixed_compare_regulars\T1a1ALL67T1a1ALL67r-ctdddddt}|jtj}|j|||j||y)NrYrr,rrrrrzrrr1r)r*t_fold
t_fold_utcs   r+test_mixed_compare_foldz3TestLocalTimeDisambiguation.test_mixed_compare_foldsJ$B2h?&&x||4
FJ/J/r-ctdddddt}|jtj}|j|||j||y)NrYrWrTrUrrr)r*t_gap	t_gap_utcs   r+test_mixed_compare_gapz2TestLocalTimeDisambiguation.test_mixed_compare_gap	sJq!Q8<$$X\\2	E9-Iu-r-ctdddt}|jt|t|j	dtdddddt}tdd	d
ddt}|jt|t|j	d|jt|t|j	dy)NrNrrr4rYrr,rrWrTrU)rrzr)rr)r*rrrs    r+test_hash_awarez+TestLocalTimeDisambiguation.test_hash_awaresT1a1a$qyyay'8"9:$B2h?q!Q8<ftFNNN,B'CDed5==a=+@&ABr-N)rGr_r`rrrrr\rrr
r9rrrrrrrrrrrrrrrr!r-r+rrs#09.&$5.1=W34&5&W./
%0
%<
W34*5*W./(0(W34'5'GE=6K3B80.Cr-rcbtj|\}}t|dt||Sr/)rteenextrf)iterablerirjs   r+pairsrs)=="DAqDMq!9r-ceZdZdZdZedZedZedZ	e
dddjZdZ
d	Zd
ZdZdZeddZeddZdZdZeddZdZdZdZy
)ZoneInfoz/usr/share/zoneinfocP	||_||_|j|||_yr/)uttiinvertr)r*rrs   r+rozZoneInfo.__init__ s)	++b"%r-cFtd|td|f}|r|ddtz}|ddxx|z
cc<|ddxx|z
cc<tdt|D]?}|d|xx||dz
dtzz
cc<|d|xx||dtzz
cc<A|S)Nrrr)rSECrgr)rrrrmrms     r+rzZoneInfo.invert-sCneCn
-
U1X_FqE!HHqE!HH1c"g&
,1aBqsGAJ#--1aBqE!HO+
,	r-c	|jdjdk7rtd|jdt	d}|j|dtjdk7r|jt	d}|j||dtjdk7r|jt	d	}|j||dg}t|d
D]6}|jtjd|jd8|j|d
}t|D]>\}\}}	}
||
|jd|
j}td||	|f||<@dgt!|z}t|D]
\}}
||
||<|||}|S)NrWTZifznot a zoneinfo filerrmrQrrrrz>lbbrYrU)readdecoderseekrfromfilerE	byteorderbyteswaprgrstructunpackrfindrr)rWfileobjcountsrtype_indicesttisrmabbrsgmtoffisdstabbrindabbrridxr*s               r+rzZoneInfo.fromfile9s<<?!!#v-233Rs#==E!OO
3Z
GVAY'==E!KKMSzgvay1vay!	@AKK

fgll1o>?	@VAY',5T?	:'A'wAw!78??AD F+UD9DG	:Vc"g
-	FAsIBqE	2r{r-ctjj|j|}t	|d5}|j|cdddS#1swYyxYw)Nrb)ospathjoinzonerootopenr)rWrBrrs    r+fromnamezZoneInfo.fromname^sFww||CLL$/
$
	#<<?	#	#	#sAArrcN	t|tstd|j|urt	d|j|jz
dz|jdzz|jdzz|jz}||jdkr|jd}d}nbtj|j|}|j|dz
|\}}|d|dz
}|td||j|dz
z
kD}||dz
}|r|jd	S|S)
NrmrnrZrrSrrrUr4)rgrrrrrcEPOCHORDINALrarrrrbisectbisect_rightrr)r*rurttir5rtti_prevshifts        r+rzZoneInfo.fromutcfs*8"h'DEE
99D 455llnt'8'88EAww~&yy2~&yy!	
twwqz!''!*CD%%dggy9C!GGCE#.MHcQK#a&(EIaTWWSU^)CDDD
c!f::1:%%Ir-c8|j|jz
dz|jdzz|jdzz|jz}|j
|j}tj||}|jtd|dz
|S)NrZrrSrr)rcrrarrrr5rrrr)r*rurmrrrs      r+_find_tizZoneInfo._find_tisllnt'8'88EAww~yy2~yy	WWRWW
!!"i0wws1cAg'**r-c&|j|dSrUrrts  r+rvzZoneInfo.utcoffset}}R##r-cB|j|d}|rtStSr)rrr)r*rurs   r+r{zZoneInfo.dsts!

b!$
t&$&r-c&|j|dS)NrUrrts  r+ryzZoneInfo.tznamerr-Nc#PK||j}tjj|d}	t	|}|5|D]<}|j
}|s|jdr(|jd>	dddy#t
$rYywxYw#1swYyxYww)Nzzone.tab#rU)	rrrrrristripr?r)rWzonedirzone_tabrlines     r+	zonenameszZoneInfo.zonenamess?llG77<<4	XA	*
*zz| 4**,q/)
*	*	*			*	*sJ/B&BB&BB*B	B&	BB&BB&B#B&cdx}x}x}}tjx}}tx}}	tjx}
}dx}}
tjx}}dx}}t|dd}|jD]}|dz
}|j
|}|jD]\}}||kr|tkDrG|dz
}||f||fkDr|}|}
|}|tj|z
f|tj|
z
fksU|}|}|}
\|tkrJ|dz
}|}||f|	|fkDr|}	|}|}|tj|z
f|tj|z
fks|}|}|}|dz
}|||f}td|ztdt|f|zztd|dd|
d|td	|dd|d|
td
|dd|d|td|	dd|d|y)NrrzNumber of zones:       %5dz@Number of transitions: %5d = %d (gaps) + %d (folds) + %d (zeros)zMin gap:         z>16z at z in zMax gap:         zMin fold:        zMax fold:        )
rrrrrrrtransitionsprintr)rW
start_yearcount	gap_count
fold_countzeros_countmin_gapmin_foldmax_gapmax_foldmin_gap_datetimemax_gap_datetimemin_gap_zonemax_gap_zonemin_fold_datetimemax_fold_datetime
min_fold_zone
max_fold_zonestats_sincezonenamerrurtrans_countss                        r+statszZoneInfo.statss 7888	8J&]]*(!!(.6ll:+&**|08<-(,,

z1a0

	%HQJEh'B^^-
%	E#4<NIr{g/?%@@"''/+-(x||b01WhllM]>]4^^"''/+-(T\!OJ"FEr{h0A%BB#((0
,.)x||b01Xx||N_?_4``#((0
,.)1$K3
%	%:":{;
*U23
PL!#l24	5
W>NP\]^
W>NP\]^
X?PR_`a
X?PR_`ar-c#Ktt|j|jD]-\\}}\}}|d|dz
}tt|z|f/yw)Nrr)rrfrrEPOCH_NAIVErr*_prev_tirrrs      r+rzZoneInfo.transitionss]%*3tww+@%A	>!LQ'1bqEGAJ&E1!55==	>sAAc#K	tt|j|jD]I\\}}\}}|d|dz
}|tks!|d|dk(s-tt|||d|dfKyw)NrrrU)rrfrrr_utcfromtimestamprr*s      r+nondst_foldszZoneInfo.nondst_foldssZ%*3tww+@%A	Q!LQ'1bqEGAJ&Et|1 3'!5vwqz2a5PP	QsAA:A: A:cd}|jD]]}|j|}|jD]7\}}}}	|j|ks|r||	k7r|dz
}t	d||||||	fz9_y)Nrrz%3d) %-30s %s %10s %5s -> %s)rrr/rZr)
rW	same_abbrrrr%rrur	prev_abbrrs
          r+print_all_nondst_foldszZoneInfo.print_all_nondst_foldss

	EHh'B.0oo.?
E*E9d77Z'9d9J
4hE9dCDE	
E	Er-c#^K|jD]\}}|tks||fywr/rrr*rrs   r+foldszZoneInfo.foldss4((*	 HAut|%i	 s -
-c#\K|jD]\}}|tkDs||fywr/r5r6s   r+gapsz
ZoneInfo.gapss2((*	HAut|h	s ,	,c#JK|jD]\}}|r	|ywr/)rr6s   r+zeroszZoneInfo.zeross*((*	HAu	s##r/)r)Fr)rGr_r`rrorrclassmethodrrrrcrrrrvr{ryrr'rr/r3r7r9r;r!r-r+rrs$H&		""H##
a#--/L<+$'$**-b-b`>
Q	E	E 

r-rcheZdZdZdZdZdZdZeje
edddZy	)
ZoneInfoTestzAmerica/New_YorkcLtjdk(r|jdtjdk(r|jd	tj	|j
|_y#t$r+}|jd|j
d|Yd}~yd}~wwxYw)Nvxworksz"Skipping zoneinfo tests on VxWorksrz"Skipping zoneinfo tests on Windowsz	Skipping z: )rEr<rHrrr%rFileNotFoundError)r*errs  r+rzZoneInfoTest.setUpsz<<9$MM>?<<7"MM>?	D''

6DG 	DMMt}}cBCC	Ds
$A//	B#8!BB#c|j|jd|jt|jf|jd|jt|jfy)Nr)r)rr5idr)r*rirjs   r+assertEquivDatetimesz!ZoneInfoTest.assertEquivDatetimessR!))4)0!&&"QXX,G))4)0!&&"QXX,G	Ir-cX|j}|jD]\}}d|zd|z|tjz
fD]}||z}|j	|j|}|j
|jd|jtjj|}|j|||j}|j
|jd||z|j|jtj|jtjtj|fD]F}||z}|j|}|j	|}|j
|jdHy)Nrr^rr)
rr7rrrrr)r5rr1rrErv	r*rrurrudtrqadtrvs	         r+
test_foldszZoneInfoTest.test_foldssg
WW	.IB%iuei6J6J.JK

L1fjjB!78  1-kkk6AA"E))#s3MMO	  D!93?K))#..*F*-++X\\+*JL

L!+++U3
.1fkkk,jjo  1-	
.	.r-c|j}|jD]\}}d|zd|z|tjz
fD]F}||z}|j	|}|j|}|j
|jd|j	tjj|}|j|||j}|j
|j	d|j	d|z|j|j	||z
|z}|j|j	dj|j	djd|zItj|fD]D}||z}|j|j	|}|j
|jdFy)Nrr^rrr4zAt %s.)rr9rrrrr)r5rr1rrErv
assertLessrGs	         r+	test_gapszZoneInfoTest.test_gaps+s
WW	.IB%iuei6J6J.JK

01fkkk,jjo  1-kkk6AA"E))#s3MMO	  D!93;;d;;SV_;_`jj2!67%?!C 3 = = ? # 3 = = ? (30

0!+++U3
.1fjjB!78  1-
.!	.r-tzsetz"time module has no attribute tzsetc	d|jvs|jjdr|jd|jz|j}tj
j
d}|jtj
d<	tj|jD]\}}|jdk\rn|tdddz
tz}|tz}dd	d
d|dz
|dz|d
zfD]v}||z}tj|}	tj||jd}
|j|	|
|	j!}|j#||x|dkDstj||dzz
}|j!}
|jdj!}|j#|
||dzz|j#|||dzz
|j%t&j(}|jdj%t&j(}|j#||t+d|z|tj
d=n|tj
d<tjy#|tj
d=n|tj
d<tjwxYw)NRiyadh8zright/zSkipping %sTZirriir
ri@i2rrUr4)r%r?rHrrenvirongetrrNrrZrrrrrErr)rrr1r)r*rrQrHrrrrrsdttzdtrruts0ts1utc0utc1s                 r+test_system_transitionsz$ZoneInfoTest.test_system_transitionsBsm
&

((2MM-$--78
WW
ZZ^^D
!==

4!	KKM nn.
D
U88t#HT1a00S8c\$hAq&"y."y.B,AQA"003C#11!R8@@@MD--c48B$$Q+,6!//3eai?B,,.C**!*,668C$$S"rAv+6$$S"rAv+6==6D::1:-88FD$$T4)Ar2B+BC3
D6zJJt$#%

4 KKM	zJJt$#%

4 KKMsC-J&?C+J&&=K#N)
rGr_r`r%rrErJrMr:
skipUnlessrrrZr!r-r+r>r>sK!HDI.,..Xw!E..r-r>ceZdZfdZxZS)ZoneInfoCompleteTestcg}tdrntjD]W}td|ztfi}||_t
|D]+}|jds|j||-Yt|)|y)NtzdatazZoneInfoTest[%s]test_)rrrrr>r%r5r?rsuperro)r*rrBTestmethodrFs     r+rozZoneInfoCompleteTest.__init__wsx( **,
3.5K $
!$i3F((1T&\23
3	r-)rGr_r`ro
__classcell__)rFs@r+r]r]vs
	 	 r-r]ceZdZdZy)IranTestzAsia/TehranN)rGr_r`r%r!r-r+rfrfsHr-rfzneed _testcapi moduleceZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZy)CapiTestc|jjjdr|jdt	j
y)NPurezNot relevant in pure Python)rFrGr@rH	_testcapitest_datetime_capir2s r+rzCapiTest.setUps5>>""++F3MM78	$$&r-cdD]R}tj|}|j|5|j|tj
dddTy#1swY_xYw)NTF)	use_macro)rkget_timezone_utc_capir.r0rr1)r*rocapi_utcs   r+
test_utc_capizCapiTest.test_utc_capis[&	6I 66yAH	2
6

h5
6
6	6
6
6s!AA"	c	tj\}}}ttdd}ttd}d||fd||fd||fg}|D]\}}}	|j	|5|j||	t
dd	d
|}
t
dd	d
|	}|j|
||j|
j|jt
dd	d
dtj}|j|
jtj|dddy#1swYxYw)
Nr	rrest_capi	est_macroest_macro_nn)rBrNrUrWrrR)
rkmake_timezones_capirrr.r)rryr1r)
r*rtrurv	exp_namedexp_unnamedcasesrBtz_acttz_exprrOrs
             r+test_timezones_capizCapiTest.test_timezones_capis4,5,I,I,K))\YR0%8	yr239-
)Y/
\;7
%*	G D&&4(
G  0tQ&9tQ&9  c*  szz|<!$1aE  !=vF
G
G	G
G
Gs
-B>D66D?	c~Gddt}t|fD]}dD]}||}|j||5tj|\}}}|j	||j
|j	||j|j	||jdddy#1swYxYw)NceZdZy)=CapiTest.test_PyDateTime_DELTA_GET.<locals>.TimeDeltaSubclassNrr!r-r+TimeDeltaSubclassrrr-r)r7韆rrWr)rr.rkPyDateTime_DELTA_GETr)rOrr)r*rklassrrrOrrs        r+test_PyDateTime_DELTA_GETz"CapiTest.test_PyDateTime_DELTA_GETs			 !23	CE:
C4L\\e$\7C2;2P2PQR2S/D'<$$T1662$$Waii8$$\1>>BCC
C	CCCA.B33B<c~Gddt}t|fD]}dD]}||}|j||5tj|\}}}|j	||j
|j	||j|j	||jdddy#1swYxYw)NceZdZy)2CapiTest.test_PyDateTime_GET.<locals>.DateSubclassNrr!r-r+rrrr-r))rNrrU)r`rUryr)rr.rkPyDateTime_GETr)rZr[r)r*rrrrrZr[rs        r+test_PyDateTime_GETzCapiTest.test_PyDateTime_GETs	4	L)	1E5
14L\\e$\71'0'?'?'B$D%$$T1662$$UAGG4$$S!%%011
1	111rc
"Gddt}t|fD]}ddddddd	d
tjffD]}||}|j||5t	j
|\}}}}}	|j
||j|j
||j|j
||j|j
||j|j|	|jdddy#1swYxYw)NceZdZy);CapiTest.test_PyDateTime_DATE_GET.<locals>.DateTimeSubclassNrr!r-r+r
rrr-r
)rrrrrrrrrrrrrr)
rrr1r.rkPyDateTime_DATE_GETr)rarrrer0r)
r*r
rrrrarrrers
          r+test_PyDateTime_DATE_GETz!CapiTest.test_PyDateTime_DATE_GETs
	x	 01
	4E92r2r5",,()
44L\\e$\74,5,I,I!,L>D&&+v$$T1662$$VQXX6$$VQXX6$$[!--@MM&!((344	
4
	4
44s
B(DDcGddt}t|fD]}dddddtjffD]}||}|j||5t	j
|\}}}}}	|j
||j|j
||j|j
||j|j
||j|j|	|jdddy#1swYxYw)	NceZdZy)7CapiTest.test_PyDateTime_TIME_GET.<locals>.TimeSubclassNrr!r-r+rxrrr-rx)rrr7rrrr7rr)
rrr1r.rkPyDateTime_TIME_GETr)rarrrer0r)
r*rxrrrrarrrers
          r+test_PyDateTime_TIME_GETz!CapiTest.test_PyDateTime_TIME_GETs	4	L)	4E)b"b(,,79
44L\\e$\74.7.K.KA.N>D&&+v$$T1662$$VQXX6$$VQXX6$$[!--@MM&!((344
4	444s

B(DDctj\}}}|jd5|j|tj
ddd|jd5|j|tj
ddd|jd5|j
|tj
t	tdd}|j||tdd	d
|}tdd	d
|}|j|||j|j|jdddy#1swYxYw#1swYxYw#1swYyxYw)NrX)testnamerYnon_utcrrrrNrUrWr)rkget_timezones_offset_zeror.r0rr1rrr)rry)r*rXrYrnon_utc_exprrOs       r+test_timezones_offset_zeroz#CapiTest.test_timezones_offset_zeros.'AACdG
\\6\
*	.MM$-	.\\6\
*	.MM$-	.\\9\
-	9Whll3"91#5r:KWk24Ag6C4Ak:CS#&SZZ\3::<8	9	9
	.	.	.	.	9	9s$!E&!E!B'E*EE'*E3c
Gddt}tddd}|ddd}tddd}tj}|j	|||j	|||j	|||j	||d|j||d|j||dt
tddtdtjtddg}|D]=}d	D]6}|j||
5|j|||ddd8?y#1swYExYw)NceZdZy).CapiTest.test_check_date.<locals>.DateSubclassNrr!r-r+rrrr-rrT
2011-01-01rrrnargexact)
rrrkdatetime_check_daterrrrrrr1rr.)	r*rrdsruis_daterrrs	         r+test_check_datezCapiTest.test_check_date
s>	4	
q!
$1
%
dAq
!//	

#$$4()	
T*+T*+L!hllDRL:	:C&
:\\c\7:$$WS%%89::
:	:::s(EEc:Gddt}tdd}|dd}tj}|j|||j|||j||d|j	||dtt
ddtdtjtdddg}|D]=}d	D]6}|j||
5|j	|||ddd8?y#1swYExYw)NceZdZy).CapiTest.test_check_time.<locals>.TimeSubclassNrr!r-r+rxr'rr-rxrrTrrrrnr)rrkdatetime_check_timerrrrrrr1rr.)r*rxrris_timerrrs        r+test_check_timezCapiTest.test_check_time&s	4	
RL
"b
!//	

#$4()	
T*+L!hllDq!,<>	:C&
:\\c\7:$$WS%%89::
:	:::+DDcFGddt}tddddd}|ddddd}tj}|j|||j|||j||d|j	||dtt
ddtdtjtdddg}|D]=}d	D]6}|j||
5|j	|||ddd8?y#1swYExYw)NceZdZy)6CapiTest.test_check_datetime.<locals>.DateTimeSubclassNrr!r-r+r
rArr-r
rrrrTrrnr)rrkdatetime_check_datetimerrrrrrr1rr.)r*r
ruris_datetimerrrs        r+test_check_datetimezCapiTest.test_check_datetime@s	x	dAq"b
)tQ2r277	
B(C()B-.	
S$/0L!hllDq!,<>	>C&
>\\c\7>$$[e%<=>>
>	>>>s1DD c:Gddt}td}|d}tj}|j|||j|||j||d|j	||dtt
ddtjtdddtdddg}|D]=}dD]6}|j||5|j	|||ddd8?y#1swYExYw)	NceZdZy)4CapiTest.test_check_delta.<locals>.TimeDeltaSubclassNrr!r-r+rr[rr-rrTrrrnr)rrkdatetime_check_deltarrrrrr1rrr.)r*rrVtdsis_timedeltarrrs        r+test_check_deltazCapiTest.test_check_deltaZs			q\" 55	
R()S)*R./	
c401Ld4A.q!0DF	?C&
?\\c\7?$$\#u%=>??
?	???rc
Gddt}t}|}ttd}tj}|j|||j|||j|||j||d|j
||d|j
||dttddtdddtdddg}|D]=}d	D]6}|j||
5|j
|||ddd8?y#1swYExYw)NceZdZy)2CapiTest.test_check_tzinfo.<locals>.TZInfoSubclassNrr!r-r+TZInfoSubclassrurr-rr	rTrrrrnr)rrrrkdatetime_check_tzinforrrrrrr.)	r*rrtzisr	is_tzinforrrs	         r+test_check_tzinfozCapiTest.test_check_tzinfots6	V	h
ib)
*33		
	#'	"
&	$(	#t,-	
2t,-4./LT1a (4A"68	<C&
<\\c\7<$$YsE%:;<<
<	<<<sEE
c
tddd}dD]e}|j|5tj||j|j
|j}|j||dddgy#1swYrxYw)NrrrFTmacro)rr.rkget_date_fromdaterZr[rr)r*exp_dater
c_api_dates    r+test_date_from_datezCapiTest.test_date_from_datesa$ 	7EE*
7&88MMNNLL	"
  X6
7
7	7
7
7A	A99B	cjtddddddd}dD]}|j|	5tj||j|j
|j|j|j|j|j}|j||dddy#1swYxYw)
Nrrrrrrrrr)rr.rkget_datetime_fromdateandtimerZr[rrarrrer)rs    r+test_datetime_from_dateandtimez'CapiTest.test_datetime_from_dateandtimesD!RRU; 	7EE*
7&CCMMNNLLMMOOOO((*
  X6
7
7	7
7
7sA5B))B2	ctddddddd}dD]}d	D]}|j||
5tj||j|j
|j|j|j|j|j|j	}|j|||j|j|jdddy#1swYxYw)Nrrrrrrrrrrrr5)
rr.rk#get_datetime_fromdateandtimeandfoldrZr[rrarrrer5r))r*rr5rrs     r+%test_datetime_from_dateandtimeandfoldz.CapiTest.test_datetime_from_dateandtimeandfoldsD!RRU;	ED$
E\\D\9
E!*!N!N 

   

   ,, 

	"'J$$Z:$$Z__hmmD
E
E
E	E
E
EsB&C""C+c	"tdddd}dD]p}|j|5tj||j|j
|j|j}|j||dddry#1swY}xYw)Nrrrrrr)	rr.rkget_time_fromtimerarrrer))r*exp_timer
c_api_times    r+test_time_from_timezCapiTest.test_time_from_timesBE* 		7EE*
7&88MMOOOO((*
  X6
7
7		7
7
7sABB	ctdddd}dD]}dD]}|j||5tj||j|j
|j|j|j}|j|||j|j|jdddy#1swYxYw)Nrrrrrrr)
rr.rkget_time_fromtimeandfoldrarrrer5r))r*rr5rrs     r+test_time_from_timeandfoldz#CapiTest.test_time_from_timeandfoldsBE*	ED$
E\\D\9
E!*!C!C 

   ,, 


"'J$$Z:$$Z__hmmD
E
E
E	E
E
EsBB>>Cc
tddd}dD]e}|j|5tj||j|j
|j}|j||dddgy#1swYrxYw)Nrrrrr)rr.rkget_delta_fromdsurOrrr))r*	exp_deltarc_api_deltas    r+test_delta_from_dsuzCapiTest.test_delta_from_dsusb"e,	 	9EE*
9'99NN%%**	,  i8
9
9	9
9
9rc
tdddj}dD]Y}|j|5tjt||}|j
|tdddddd[y#1swYfxYw)NrWrrr)rrr.rkget_date_fromtimestamprhr)r)r*rrrs    r+test_date_from_timestampz!CapiTest.test_date_from_timestamps
dAr
"
,
,
. 	7EE*
744SWeD  Dq"$56
7
7	7
7
7s=A;;B	cdddttddfddd	ttddfg}tj}|D]l}d
D]e}|j	||5|\}}}t|d|i}t
|j}	||	|||}
|j||
dddgny#1swYtxYw)
N)rrWrNF)rNTrrrT)rrWrr_rNF)rNTrr)caserr)	rrrkget_datetime_fromtimestampr.rrhrr))r*rzrrrdtuprusetzdt_origrrs           r+test_datetime_from_timestampz%CapiTest.test_datetime_from_timestamps('
HYQ%78$?0/
"HYQ-?$@$G

#==		5D$
5\\t5\95*.'D&%&<V<GW..01B*2vueDE$$We455
5		555s
"AB77CN)rGr_r`rrrr}rrrrrrrrrrrrrrrrrrr!r-r+rhrhso'6G4C14&4$9,:8:4>4?4<:77"E(7E"975r-rhc8|jt|Sr/)addTestr])loaderstandard_testspatterns   r+
load_testsrs/12r-__main__)rrrrfrrrrrr1rrEr:rroperatorrrrrrr	r
rrtestr
test.supportrrrrrr(rrrrrrrrrrkImportErrorrr[r_loadsr1rgrKrr)rr(rrTestCaser%rbrrrrrr5rLrLrRrWrrr>rBrDrrrArrrrr
rrrrrrrrrrr?rkrtrzr{r|r}rrrrrr>	TestSuiter]rfr;rhrrGmain)rs0r+<module>r	s		

	

CCCJJ"%#
	
fmm, %V%<%<q%@AC65)CtQ1a($r2r
*
ElEl5)""5)v & &<;<
E$8Ef^/""^/B{D8$${DB.7.7fs+X->->sr)8$$)B4}
;&(9(9}
;Fxj78j7Z)
<
4J9&(9(9J9^]4]4BWE:x'8'8WExy
C\:x/@/@y
Cz|	1	qQAq!Q

!RQ	((Tb)eU3b)eU3b*eU3b)eU3q%#vy!,}h//}FGOx  GO^9f9D1'1f
J6J6K6	J6/&/dOC("3"3OCb1o
cvcLo8$$od
 8--
 |d"$;<D5x  D5=D5N
zHMMO]OI		Cs*O,$O:P,O76O7:PP