mņ %U²Ic@sŪdZdkZdkZdkZdkZdklZdklZl Z dkl Z dkl Z dkl Z dkl Z lZgZeefD]<ZeefD])ZedƒD]Zeeeefqµq„q•[Zeeƒd d djpt‚d d d d hgffZdeifd„ƒYZde fd„ƒYZdefd„ƒYZdeifd„ƒYZdeifd„ƒYZdefd„ƒYZdeifd„ƒYZde fd„ƒYZdefd„ƒYZ d efd!„ƒYZ!d"e fd#„ƒYZ"d$e fd%„ƒYZ#d&efd'„ƒYZ$d(eifd)„ƒYZ%d*e$e%fd+„ƒYZ&d,e"e%fd-„ƒYZ'd.„Z(e d/ƒZ)e d0d1ƒZ*e d2d1ƒZ+ed1d3d1d ƒZ,ed1d d4d1ƒZ-d5e fd6„ƒYZ.e.d7d8d9d:ƒZ/e.d;d<d=d>ƒZ0e.d?d@dAdBƒZ1e.dCdDdEdFƒZ2ed/dGd/ƒZ3edHdIdJd/ƒZ4dKeifdL„ƒYZ5dMeifdN„ƒYZ6dO„Z7dP„Z8e9dQjo e8ƒndS(RsTTest date/time type. See http://www.zope.org/Members/fdrake/DateTimeWiki/TestCases N(s test_support(sMINYEARsMAXYEAR(s timedelta(stzinfo(stime(sdatesdatetimeiii l f34.5tabct TestModulecBstZd„ZRS(NcCs3dk}|i|idƒ|i|idƒdS(Nii'(tdatetimetselft assertEqualtMINYEARtMAXYEAR(RR((t//data/zmath/lib/python2.4/test/test_datetime.pyttest_constants#s (t__name__t __module__R(((RR!st FixedOffsetcBs8tZdd„Zd„Zd„Zd„Zd„ZRS(Ni*cCset|tƒotd|ƒ}nt|tƒotd|ƒ}n||_||_||_ dS(Ntminutes( t isinstancetoffsettintt timedeltat dstoffsetRt_FixedOffset__offsettnamet_FixedOffset__namet_FixedOffset__dstoffset(RRRR((Rt__init__,s  cCs |iiƒS(N(RRtlower(R((Rt__repr__4scCs|iS(N(RR(Rtdt((Rt utcoffset6scCs|iS(N(RR(RR((Rttzname8scCs|iS(N(RR(RR((Rtdst:s(R R RRRRR(((RR +s     tPicklableFixedOffsetcBstZdddd„ZRS(NcCsti||||ƒdS(N(R RRRRR(RRRR((RR>s(R R tNoneR(((RR=st TestTZInfocBs5tZd„Zd„Zd„Zd„Zd„ZRS(NcCsXtƒ}ti}|it|i|ƒ|it|i |ƒ|it|i |ƒdS(N( ttzinfotuselessRtmaxRRt assertRaisestNotImplementedErrorRRR(RR!R((Rttest_non_abstractnessCs   cCs£dtfd„ƒY}|it|tƒƒ|ddƒ}|it|tƒƒtiƒ}|i t |i |ƒ|i t |i |ƒ|i t |i|ƒdS(Nt NotEnoughcBstZd„ZRS(NcCs||_||_dS(N(RRt_NotEnough__offsetRt_NotEnough__name(RRR((RROs (R R R(((RR&NsitNotByALongShot(R R&Rt failUnlesst issubclasstneR RtnowRR#R$RRR(RR,R&R((Rttest_subclass_must_overrideMs cCs£tddƒ}|it|tƒƒxwtiƒdfD]c}|i |i |ƒt ddƒƒ|i |i |ƒdƒ|i |i|ƒt ddƒƒq8WdS(NitThreeR i*(R tfoRR*R R RR-RRRRRRR(RRR0((Rt test_normal[s"cCs€titƒ}|it|ƒtjƒxQtD]I\}}}|i ||ƒ}|i |ƒ}|it|ƒtjƒq/WdS(N(R t__new__torigRR*ttypetpickle_choicestpicklert unpicklertprototdumpstgreentloadstderived(RR8R<R:R6R7R3((Rttest_pickling_basecscCstddƒ}t|dƒ}|it|tƒƒ|it|ƒtjƒ|i |i dƒ|ƒ|i |i dƒdƒx™t D]‘\}}}|i||ƒ}|i|ƒ}|it|tƒƒ|it|ƒtjƒ|i |i dƒ|ƒ|i |i dƒdƒq†WdS(NR iŌž’’tcookie(RRRR3RR*R R R4RRRRR5R6R7R8R9R:R;R<(RR6R8R<R:RR7R3((Rttest_pickling_subclassns(R R R%R.R1R=R?(((RRAs    tHarmlessMixedComparisoncBstZd„Zd„ZRS(NcCsį|idddƒ}|i|fjƒ|i|fjƒ|if|jƒ|if|jƒ|i|ddg|gjƒ|i|ddg|gjƒ|ig|ddggjƒ|ig|ddggjƒdS(Nil(RttheclasstmetfailIfR*(RRB((Rttest_harmless_mixed_comparisonˆscsõ|idddƒ‰|it‡d†ƒ|it‡d†ƒ|it‡d†ƒ|it‡d†ƒ|it‡d†ƒ|it‡d†ƒ|it‡d†ƒ|it‡d †ƒ|ittfˆƒ|ittˆfƒdS( Nics ˆfjS(N(RB((RB(Rt™scs ˆfjS(N(RB((RB(RREšscs ˆfjS(N(RB((RB(RRE›scs ˆfjS(N(RB((RB(RREœscs fˆjS(N(RB((RB(RREžscs fˆjS(N(RB((RB(RREŸscs fˆjS(N(RB((RB(RRE scs fˆjS(N(RB((RB(RRE”s(RRARBR#t TypeErrortcmp(RRB((RBRttest_harmful_mixed_comparison–s(R R RDRH(((RR@‚s t TestTimeDeltacBsžtZeZd„Zd„Zd„Zd„Zd„Zd„Z d„Z d„Z d „Z d „Z d „Zd „Zd „Zd„Zd„Zd„ZRS(NcCs1|i}t}||ƒ|ddddddddddddddƒƒ||d ƒ|dd ƒƒ||dd ƒ|dd ƒƒ||ddd ƒ|dd ƒƒ||dd ƒ|dd ƒƒ||dd ƒ|dd ƒƒ||dd ƒ|dd ƒƒ||dd ƒ|dd ƒƒ||dd ƒ|dd ƒƒ||dd ƒ|dd ƒƒ||ddd ƒ|dd ƒƒ||ddd ƒ|dd ƒƒ||ddd ƒ|dd ƒƒ||ddd ƒ|dd ƒƒ||ddƒ|dd ƒƒ||ddƒ|dd ƒƒdS(NtweeksitdaysthoursR tsecondst millisecondst microsecondsiiii<ičf1.0f0.001(RRteqRttd(RRPRQ((Rttest_constructor­s& *"####cCsr|i}t}|dƒ}|ddƒ}|dddƒ}|||||dddƒƒ||||ddddƒƒ|| |dƒƒ|| |dƒƒ|| |d dddƒƒ|| |d ddd d ƒƒ|t|ƒ|ƒ|t| ƒ|ƒ||dddƒ|ƒ||dddd ƒ|ƒ||d |dƒƒ||d d |ƒ||dd |ƒ||d |ddƒƒ|d ||ddƒƒ||d|ddƒƒ||d |dddƒƒ|d ||dddƒƒ||d|dddƒƒ||d | ƒ||d| |ƒ||d| | ƒ||dd|ddƒ||ddd|dƒ||d|dd ƒƒ|d||dd ƒƒ||d|d ƒƒ||d |ddƒƒ||d|ddd ƒƒ||d |ddddƒƒ||d|dddddƒƒdS(Niii<ičiiiił’’’i’’’’iiX>i@Bi iFl iXi'iž’’’ihi€ī6( RRRPRRQtatbtctabs(RRSRURTRQRP((Rttest_computationsĘsH  !"""csdtdƒ‰xrdD]j‰|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d†ƒqWd ‰|it‡‡d †ƒ|it‡‡d †ƒ|it‡‡d †ƒ|it‡‡d †ƒ|it‡‡d†ƒ|it‡‡d†ƒx@dD]8‰|it‡‡d†ƒ|it‡‡d†ƒq$WdS(Ni*ilf1.0csˆˆS(N(RSti((RSRX(RREņscsˆˆS(N(RSRX((RSRX(RREóscsˆˆS(N(RXRS((RXRS(RREōscsˆˆS(N(RXRS((RXRS(RREõsf2.2999999999999998csˆˆS(N(RStx((RSRY(RREłscsˆˆS(N(RYRS((RSRY(RREśscsˆˆS(N(RSRY((RSRY(RREūscsˆˆS(N(RYRS((RSRY(RREüscsˆˆS(N(RSRY((RSRY(RREżscsˆˆS(N(RYRS((RSRY(RREžsilcsˆˆS(N(tzeroRS((RSRZ(RREscsˆˆS(N(RSRZ((RSRZ(RREs(ilf1.0(il( RRSRXRR#RFRYRZtZeroDivisionError(RRSRXRZRY((RSRXRZRYRttest_disallowed_computationsķs$ cCs^d\}}}t|||ƒ}|i|i|ƒ|i|i|ƒ|i|i|ƒdS(Niii(iii(RKRMtusRRQRRRO(RRMRKR]RQ((Rttest_basic_attributess cCshtdddddddddd d d d d dd ddƒ}td dƒ}|i||ƒdS(NRKidRJił’’’RLič’’’i1R iż’’’RMi ROii<f 1000000.0i(Rtt1tt2RR(RR`R_((Rt test_carries s cCstdddddddddd d d d d dd dƒ}tƒ}|it|ƒt|ƒƒ|tddƒ7}|tdddƒ7}|i||ƒ|it|ƒt|ƒƒh|d<}d||<|it|ƒdƒ|i||dƒdS(NRKidRJił’’’RLič’’’i1R iż’’’RMi ROii<i@Biii(RR_R`RRthashtdtlen(RRcR`R_((Rttest_hash_equalitys    cCsad}t|Œ}xHtD]@\}}}|i||ƒ}|i |ƒ}|i ||ƒqWdS(Ni i"i8(i i"i8( targsRR3R5R6R7R8R9R:R;R<RR(RR8RfR<R:R6R7R3((Rt test_pickling+s csBtdddƒ‰tdddƒ}|iˆ|jƒ|iˆ|jƒ|iˆ|jƒ|iˆ|j ƒ|iˆ|j ƒ|iˆ|j ƒ|itˆ|ƒdƒ|it|ˆƒdƒx?dddfD].}t|Œ}|iˆ|jƒ|i|ˆjƒ|iˆ|jƒ|i|ˆjƒ|iˆ|jƒ|i|ˆjƒ|iˆ|j ƒ|i|ˆj ƒ|iˆ|j ƒ|i|ˆj ƒ|iˆ|j ƒ|i|ˆj ƒ|itˆ|ƒdƒ|it|ˆƒdƒqŪWx.tD]&‰|iˆˆjt ƒ|iˆˆjt ƒ|iˆˆjt ƒ|iˆˆjt ƒ|i t ‡‡d†ƒ|i t ‡‡d †ƒ|i t ‡‡d †ƒ|i t ‡‡d †ƒ|i t ‡‡d †ƒ|i t ‡‡d †ƒ|i t ‡‡d†ƒ|i t ‡‡d†ƒqWdS(Niiiiii’’’’ics ˆˆjS(N(R_tbadarg((RhR_(RREVscs ˆˆjS(N(R_Rh((RhR_(RREWscs ˆˆjS(N(R_Rh((RhR_(RREXscs ˆˆjS(N(R_Rh((RhR_(RREYscs ˆˆjS(N(RhR_((RhR_(RREZscs ˆˆjS(N(RhR_((RhR_(RRE[scs ˆˆjS(N(RhR_((RhR_(RRE\scs ˆˆjS(N(RhR_((RhR_(RRE]s(iii(iii(iii(RR_R`RR*RRGRft OTHERSTUFFRhtFalsetTrueR#RF(RRfR`RhR_((RhR_Rt test_compare3sR c Csat}|i}|t|dƒƒdƒ|t|dƒƒdƒ|t|dƒƒdƒ|t|dƒƒdƒ|t|d d d d d dƒƒdƒ|t|d dd dd dƒƒdƒ|t|ddd dd d d dƒƒdƒ|t|ddƒƒdƒ|t|ddƒƒdƒ|t|ddd dd dd dddƒƒdƒdS( Nis1 day, 0:00:00i’’’’s-1 day, 0:00:00is2 days, 0:00:00iž’’’s-2 days, 0:00:00RLi R i:RMi;s12:58:59iis2:03:04RJiā’’’ii"s-210 days, 23:12:34RNs0:00:00.001000ROs0:00:00.000003RKi’ɚ;i?Bs999999999 days, 23:59:59.999999(RRQRRRPtstr(RRPRQ((Rttest_str_s (('! c CsŠxÉtdddddddddd ƒtdd ƒtdd dd dd ƒfD]y}t|ƒ}|i|idƒƒ|d}t|ƒ}|i ||ƒt|i |i |i ƒ}|i ||ƒqOWdS(NRKi’ɚ;RLiR i;RMROi?Bi6eÄiiis datetime.i ( RRQtreprtsRR*t startswithtevalttd2RRKRMRO(RRpRsRQ((Rttest_roundtripts7   cCsĖ|ittitƒƒ|ittitƒƒ|ittitƒƒ|ititijƒ|ititdƒƒ|ititddddddƒƒ|ititdddƒƒdS(Ni6eÄi’ɚ;iiif 1000000.0i(Rtassert_R RtminR"t resolutionR(R((Rttest_resolution_info…s+cCsØti}ti|}||8}|it|i|ƒ|it|i | ƒti |}||7}|it|i |ƒ|it|i| ƒ|itd„ƒdS(NcCsti S(N(RR"(((RRE›s( RRwttinyRvRQRR#t OverflowErrort__sub__t__add__R"(RRQRy((Rt test_overflowŽs     cCs…t}|i}||dddƒ|dƒƒ||dd dƒ|dƒƒ||dddƒ|ddƒƒ||dd dƒ|ddƒƒd }|d }||d d|ƒ|dƒƒ||d d |ƒ|dƒƒ||d d|d d |ƒ|ddƒƒ||d d|ƒ|dƒƒ||d d|ƒ|dƒƒ||d d|d d|ƒ|ddƒƒdS(NRNf0.40000000000000002ičif0.59999999999999998ROii’’’’f 3600000000.0iRKRLf0.20000000000000001f-0.40000000000000002f-0.20000000000000001(RRQRRRPt us_per_hourt us_per_day(RRR~RQRP((Rttest_microsecond_roundings  !#$   -  cCsFtddƒ}|i|i|i|ifdddddfƒdS(NROi’’’’iiii?B(RRQRRRKRMRO(RRQ((Rttest_massive_normalization²scCsp|itdƒƒ|itddƒƒ|itdddƒƒ|itddƒƒ|itdƒ ƒdS(NiiRO(RR*R(R((Rt test_bool·s cs^dtf‡d†ƒY‰ˆddƒ}|it|ƒˆjƒ|i|iƒdƒˆddddƒ}|it|ƒˆjƒ|i|iƒd ƒ||}|it|ƒtjƒˆi |ƒ}|it|ƒˆjƒ|i|i |i ƒ|i|i |i ƒ|i|i|iƒ|it|ƒt|ƒƒ|i|iƒdƒdS( NtTcs)tZ‡d†ZeeƒZd„ZRS(Ncsˆ|i|i|iƒS(N(RƒRQRKRMRO(RQ(Rƒ(Rtfrom_tdĮscCs-|id|id|id}t|ƒS(Nif3600.0f 3600000000.0(RRKRMROtsumtround(RR…((Rtas_hoursÅs#(R R R„t staticmethodR‡((Rƒ(RRƒĄs  RKiii’’’’RMišń’’iē’’’(RRƒR_RRuR4RR‡R`tt3R„tt4RKRMRORm(RR`R‰R_RƒRŠ((RƒRttest_subclass_timedelta¾s   (R R RRARRRWR\R^RaReRgRlRnRtRxR}R€RR‚R‹(((RRI©s"  '     ,      t TestDateOnlycBstZd„ZRS(Nc CsBtdddƒ}tdddddddd d d ƒ}t|iƒ}|i|tdƒƒ||}|i|||ƒ||}|i|||ƒ||}|i|||ƒ| }t|iƒ}|i|td ƒƒ||}|i|||ƒ||}|i|||ƒ||}|i|||ƒdS( NiŠiiRKRLR iRMiROiiž’’’(tdateRRtdeltaRKRRtdt2(RRKRŽRR((Rttest_delta_non_days_ignoredäs(       (R R R(((RRŒąst SubclassDatecBstZdZRS(Ni(R R tsub_var(((RR‘stTestDatecBstZeZd„Zd„Zd„Zd„Zd„Zd„Z d„Z d„Z d „Z d „Z d „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z RS(NcCsR|idddƒ}|i|idƒ|i|idƒ|i|idƒdS(NiŅii(RRARRtyeartmonthtday(RR((RR^ scCs©x¢|idddƒ|iiƒfD]|}t|ƒ}|i|idƒƒ|d}t|ƒ}|i ||ƒ|i|i |i |i ƒ}|i ||ƒq%WdS(Niiis datetime.i (RRAttodayRRoRpR*RqRrRRR”R•R–(RRpRR((RRts%   c CsŠxÓddddgD]æ\}}}}|i|||ƒ}|i||iƒƒ|ii|ƒ} |i|| ƒt | d ƒoP|i| i d ƒ|i| i d ƒ|i| i d ƒ|i| id ƒqqWxĖtttdd ƒD]³}|i|ddƒ}|iƒ}|ii|ƒ} |i|| ƒ|djo]|ii|dƒ}|i|dddƒ} |i|| ƒ|i| iƒ|dƒqķqķWdd ddddddddddg }xūdtfdtffD]į\}}|i|ddƒiƒ}x·ttddƒ|ƒD]\} }| djo|o|d7}nxltd|dƒD]W} |i|| | ƒ}|i|iƒ|ƒ|i||ii|ƒƒ|d7}qiWq'WqēWdS(Nii iimiini™i iĖÖ thouriiiiiŠiŅi (iiii(ii iim(iiiin(i™i i iĖÖ (tytmRctnRRARt toordinalt fromordinaltfromordthasattrR˜tminutetsecondt microsecondtxrangeRRR”td2tdimRkRjtisleaptziptrangeR•tmaxdayR–( RR„RcR¦RšR›R©R”R™R•R¤R–Rž((Rttest_ordinal_conversionssH  "*  csz|ii‰|iˆiˆiˆiƒ‰ˆiƒ‰ˆi ˆƒ}|i ˆ|ƒ|i t ‡‡d†ƒˆtddƒ}|i |iƒˆdƒ|i ||ii ˆdƒƒ|ii‰|iˆiˆiˆiƒ‰ˆiƒ‰ˆi ˆƒ}|i ˆ|ƒ|i t ‡‡d†ƒˆtddƒ}|i |iƒˆdƒ|i ||ii ˆdƒƒdS(NcsˆiˆdƒS(Ni(RSRtaord((RSR«(RRETsRKicsˆiˆdƒS(Ni(RSRR«((RSR«(RRE`s(RRARvRSR”R•R–RœR«RRTRR#t ValueErrorRR"(RRSR«RT((RSR«Rttest_extreme_ordinalsMs$     cCs©|itddƒ|itddƒ|it|itdddƒ|it|itdddƒ|idddƒ|idddƒ|it|idddƒ|it|idddƒ|idddƒ|idddƒ|id ddƒ|it|iddd ƒ|it|id ddƒ|it|id ddƒ|it|id ddƒ|it|idddƒ|it|idddƒdS(NiiŠi ii iiiŌi` iiŃi4ili (RRARRR#R¬(R((Rttest_bad_constructor_argumentsfs"  cCs^|idddƒ}|idddƒ}|i||ƒ|it|ƒt|ƒƒh|d<}d||<|it|ƒdƒ|i||dƒ|i||dƒ|idddƒ}|idddƒ}|i||ƒ|it|ƒt|ƒƒh|d<}d||<|it|ƒdƒ|i||dƒ|i||dƒdS(NiŠi iiiiŃ(RRARcteRRbtdicRd(RRcR°RÆ((RRe|s$  csŃ|idddƒ‰|idddƒ}ˆ|}|i|iddttdddƒƒƒ|i|i dƒ|i|i dƒt dƒ‰t d ƒ}|idd d ƒ‰|iˆˆ|idd d ƒƒ|iˆˆ|idd d ƒƒ|iˆˆ|idd dƒƒ|iˆ ˆ|idd dƒƒ|iˆ||idd d ƒƒ|iˆ||idd d ƒƒ|iˆd||idd dƒƒ|iˆd||idd d ƒƒ|iˆ|ˆ|ƒ|iˆˆˆˆƒ|iˆ|ˆ| ƒ|iˆˆˆˆ ƒ|iˆˆ|| ƒ|iˆˆˆˆ ƒ|iˆˆ||ƒ|iˆˆˆˆƒxrdD]j‰|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d†ƒq W|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d†ƒ|it‡d†ƒ|it‡d†ƒ|it‡d†ƒdS( NiŅiii¤i.imiiiiii ii4iÓiŃlf1.0csˆˆS(N(RSRX((RSRX(RRE“scsˆˆS(N(RSRX((RSRX(RREµscsˆˆS(N(RXRS((RXRS(RRE¶scsˆˆS(N(RXRS((RXRS(RRE·scsˆˆS(N(R–RS((RSR–(RREŗscsˆˆS(N(R–RS((RSR–(RRE¼scsˆˆS(N(RSR–((RSR–(RRE½scsˆˆS(N(R–RS((RSR–(RRE¾scsˆˆS(N(RSR–((RSR–(RREæscsˆˆS(N(RS((RS(RREĄscsˆˆS(N(RS((RS(RREĮscsˆˆS(N(RS((RS(RREĆs(ilf1.0(RRARSRTtdiffRRKRdRØRMRORR–tweekRXR#RF(RRSR²RTRXR±R–((RSRXR–RRW•sN -  ###$##''cCsž|ii}|ii|}||8}|it|i|ƒ|it|i | ƒ|ii |}||7}|it|i |ƒ|it|i| ƒdS(N( RRARwRyRvRR#RzR{R|R"(RRRy((RR}Ås   c Cs‘dk}d\}}}|i|||ddddddf ƒ}|ii|ƒ}|i |i|ƒ|i |i|ƒ|i |i|ƒdS(NiĻi iii’’’’(iĻi i( ttimeR”R•R–tmktimettsRRAt fromtimestampRcR(RRcR³RµR•R”R–((Rttest_fromtimestampŅs *cCs.x'dD]}|it|ii|ƒqWdS(Nf-9.9999999999999997e+199f9.9999999999999997e+199(f-9.9999999999999997e+199f9.9999999999999997e+199(tinsaneRR#R¬RAR¶(RRø((Rttest_insane_fromtimestampŻscCs£dk}x`tdƒD]R}|iiƒ}|iƒ}|ii|ƒ}||joPn|i dƒqW|i ||jpt ||ƒt ddƒjƒdS(Nif0.10000000000000001RMf0.5( R³RØtdummyRRAR—RµR¶t todayagaintsleepR*RVR(RRŗR»RµR³R—((Rt test_todayęs     cCsĒxĄtdƒD]²}|i|iddd|ƒiƒ|ƒ|i|iddd|ƒiƒ|dƒ|i|iddd|ƒiƒ|ƒ|i|iddd|ƒiƒ|dƒq WdS(NiiŅiiii¤i(RØRXRRRAtweekdayt isoweekday(RRX((Rt test_weekdays  )-)cCsxˆtdƒD]z}|iddd|ƒ}|i|iƒdd|dfƒ|idddƒt|ƒ}|i|iƒdd|dfƒ|iddd |ƒ}|i|iƒdd |dfƒ|id dd |ƒ}|i|iƒd d|dfƒ|id dd ƒt|ƒ}|i|iƒd d|dfƒ|iddd|ƒ}|i|iƒdd|dfƒq WdS(NiiÓi ii4iiiŌiiiŁiii5iŚi(RØRXRRARcRt isocalendarR(RRXRc((Rttest_isocalendar s #####cCsŌd}tt|iƒƒ}|iƒg}x’tdƒD]„}|i d|ddƒ}|i d|ddƒ}|i |iƒd|iƒdƒ|iƒddjo|i|ƒq8q8W|i ||ƒdS( NsK 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 iiŠi ii@ii5(tISO_LONG_YEARS_TABLEtmapRtsplittiso_long_yearstsorttLRØRXRRARctd1RRĮtappend(RRXRČRĘRĆRÉRc((Rttest_iso_long_yearss  $cCs/|idddƒ}|i|iƒdƒdS(Niis 0002-03-02(RRAttRt isoformat(RRĢ((Rttest_isoformatCscCs/|idddƒ}|i|iƒdƒdS(NiŅiisSat Mar 2 00:00:00 2002(RRARĢRtctime(RRĢ((Rt test_ctimeGscCsĒ|idddƒ}|i|idƒdƒ|i|idƒdƒ|i|iddƒddƒ|it|iƒ|it|id d ƒ|it|id ƒ|i|id ƒd ƒdS(NiÕiism:%m d:%d y:%ysm:03 d:02 y:05tRYičtonettwoi*s '%z' '%Z's'' ''(RRARĢRtstrftimeR#RF(RRĢ((Rt test_strftimeKs!cCs}|it|ii|iƒƒ|it|ii|iƒƒ|it|iitƒƒ|i|ii|iijƒdS(N(RRuR RARvR"RwR(R((RRxXscCsŸ|ii|ii}|idd|id|i}t dd|ƒ}|i ||ƒ|i |ii||iiƒ|i |ii||iiƒdS(Niii@Bi( RRAR"RvtbigRKRMROR›Rt justasbigR(RRÖR×R›((Rttest_extreme_timedelta^s # c CsīxētdƒD]Ł}|iddd|ƒ}|iƒ}|i|ddd|ddd|d|df ƒ|iddd|ƒ}|iƒ}|i|ddd|dddd|dd|df ƒ|iddd|ƒ}|iƒ}|i|ddd|dddd|dd |df ƒ|i|idƒ|i|i dƒ|i|i d|ƒ|i|i dƒ|i|i dƒ|i|i dƒ|i|id|dƒ|i|id |ƒ|i|idƒq WdS( Nii¤iiii’’’’i ii=(RØRXRRARct timetupleRĢRttm_yearttm_monttm_mdayttm_hourttm_minttm_secttm_wdayttm_ydayttm_isdst(RRXRĢRc((Rttest_timetuplehs(  3 ; ;cCsdd}|i|Œ}xHtD]@\}}}|i||ƒ}|i |ƒ}|i ||ƒqWdS(Niii(iii( RfRRAR3R5R6R7R8R9R:R;R<R(RR8RfR<R:R6R7R3((RRgscs2|idddƒ‰|idddƒ}|iˆ|jƒ|iˆ|jƒ|iˆ|jƒ|iˆ|j ƒ|iˆ|j ƒ|iˆ|j ƒ|itˆ|ƒdƒ|it|ˆƒdƒxBdddfD]1}|i|Œ}|iˆ|jƒ|i|ˆjƒ|iˆ|jƒ|i|ˆjƒ|iˆ|jƒ|i|ˆjƒ|iˆ|j ƒ|i|ˆj ƒ|iˆ|j ƒ|i|ˆj ƒ|iˆ|j ƒ|i|ˆj ƒ|itˆ|ƒdƒ|it|ˆƒdƒqįWxtD] ‰|iˆˆjt ƒ|iˆˆjt ƒ|iˆˆjt ƒ|iˆˆjt ƒ|i t ‡‡d†ƒ|i t ‡‡d †ƒ|i t ‡‡d †ƒ|i t ‡‡d †ƒ|i t ‡‡d †ƒ|i t ‡‡d †ƒ|i t ‡‡d†ƒqWdS(Niiiiii’’’’ics ˆˆjS(N(R_Rh((RhR_(RRE¬scs ˆˆjS(N(R_Rh((RhR_(RRE­scs ˆˆjS(N(R_Rh((RhR_(RRE®scs ˆˆjS(N(RhR_((RhR_(RREÆscs ˆˆjS(N(RhR_((RhR_(RRE°scs ˆˆjS(N(RhR_((RhR_(RRE±scs ˆˆjS(N(RhR_((RhR_(RRE²s(iii(iii(iii(RRAR_R`R*RRGRfRiRhRjRkR#RF(RRfR`RhR_((RhR_RRl‰sPcCsń|idddƒ}|itt|dƒ|ittd|ƒdtfd„ƒY}|ƒ}|itt||ƒd|fd„ƒY}|ƒ}|i t||ƒd ƒ|i t||ƒd ƒ|i ||jƒ|i ||jƒdS( NiŠiiitAnotherDateTimeClasscBstZd„ZRS(NcCsdS(Ni((Rtother((Rt__cmp__ŗs(R R Rę(((RRä¹st ComparablecBstZd„ZRS(NcCsfS(N((R((RRŁŃs(R R RŁ(((RRēŠsi( RRAtourR#RFRGtobjectRättheirRēRR*(RRēRźRäRč((Rttest_mixed_compare“s   cCs*|i|iiƒ|i|iiƒdS(N(RR*RARvR"(R((RR‚ŚscCse|i}|i|dddƒidƒdƒx0d D](}|it||ddƒidƒq5WdS( Nilis%Yt1900i1i3icidičik(ii1i3icidičik(RRAtclsRRŌR™R#R¬(RR™Rķ((Rttest_srftime_out_of_rangeßs  %c CsŽ|i} dddg}| |Œ}|i||iƒƒd}xld d dfD][\}}|}|||<| |Œ}|ih||<}|i||ƒ|d7}qPW| d dd ƒ}|i t|idd ƒdS(NiiiiR”R•R–iiŠiiŃ(syeari(smonthi(sdayi(RRARķRftbaseRtreplaceRXRtnewvaltnewargstexpectedtgotR#R¬( RRRXRfRńRļRóRōRņRķ((Rt test_replaceęs     csÉdˆif‡d†ƒY}d }ˆi|Œ}||hdd<Ž}ˆi|i|ƒˆi|idƒˆi|i dƒˆi|i ƒ|i ƒƒˆi|i d ƒ|i |i dƒdS( NtCcs#tZdZ‡d†Zd„ZRS(Ni*cs@|iƒ}|idƒ}ˆii|||Ž}||_|S(Ntextra( tkwstcopyttemptpopR÷RRAR2RķRftresult(RķRfRųRśR÷Rü(R(RR2s   cCs||i|iS(N(tstartRR”R•(RRż((Rtnewmeths(R R t theAnswerR2Rž((R(RRöżs iÓiiR÷ii*ił’’’(iÓii(RRARöRftdt1RRt __class__R’R÷RœRžR”R•(RRRfRRö((RRttest_subclass_dateūs cCsad}t|Œ}xHtD]@\}}}|i||ƒ}|i |ƒ}|i ||ƒqWdS(Niii(iii( RfR‘R3R5R6R7R8R9R:R;R<RR(RR8RfR<R:R6R7R3((Rttest_pickling_subclass_dates cCs·d}t|itƒp|d }nxLdtdƒtdƒdfD],}|it|i|d ||dƒqFWx:t d dƒD])}|i|d t|ƒ|dƒq†WdS( Ns 1995-03-25it9ii s’iii( RļR+RRARtchrt month_byteR#RFRØtord_byte(RRRļR((Rttest_backdoor_resistances (!R R RRAR^RtRŖR­R®ReRWR}R·R¹R½RĄRĀRĖRĪRŠRÕRxRŲRćRgRlRėR‚RīRõRRR(((RR“s<   /    0   '      + &     tSubclassDatetimecBstZdZRS(Ni(R R R’(((RR 6st TestDateTimecBs tZeZd„Zd„Zd„Zd„Zd„Zd„Z d„Z d„Z d „Z d „Z d „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(NcCs¤|idddddƒ}|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|i dƒ|i|i dƒdS(NiŅiii i( RRARRR”R•R–R˜R R”R¢(RR((RR^=scCsŖ|idddddddƒ}|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|i dƒ|i|i dƒdS(NiŅiii i;i@( RRARRR”R•R–R˜R R”R¢(RR((Rttest_basic_attributes_nonzeroGs!c CsĶxĘ|idddddddƒ|iiƒfD]”}t|ƒ}|i|idƒƒ|d }t|ƒ}|i ||ƒ|i|i |i |i |i|i|i|iƒ}|i ||ƒq1WdS( Niiiiiiis datetime.i (RRAR-RRoRpR*RqRrRRR”R•R–R˜R R”R¢(RRpRR((RRtSs1    cCsö|idddddddƒ}|i|iƒdƒ|i|idƒdƒ|i|id ƒd ƒ|it|ƒd ƒ|idddƒ}|i|iƒd ƒ|i|idƒd ƒ|i|id ƒd ƒ|it|ƒd ƒdS( Niiiiii{s0002-03-02T04:05:01.000123Rƒt s0002-03-02 04:05:01.000123s0002-03-02T00:00:00s0002-03-02 00:00:00(RRARĢRRĶRm(RRĢ((RRĪcs!cCs“dk}|idddddddƒ}|i|iƒdƒ|idddddddƒ}|i|iƒ|i|i|iƒƒƒƒdS( NiŅiiiii{sSat Mar 2 18:03:05 2002i(R³RRARĢRRĻR“RŁ(RRĢR³((Rttest_more_ctimers  !!cCsā|iddddddƒ}|iddddddƒ}|iddddddƒ}|i||ƒ|i||jƒ|itddd d d d ƒ}td dƒ}||}|i|||ƒ|i||jƒdS( NiŅiii ii i iii;i>BRO( RRARRtdt3RRuRRR](RR]RRR((Rttest_tz_independent_comparing‚s! c Cs]dtfd„ƒY}|iddddddd|ddƒƒ}|it|idƒdS( NtMyTzInfocBstZd„ZRS(NcCs dtfd„ƒY}|dƒS(NtMyStrcBstZd„ZRS(NcGsdS(N(R(RRf((RRš™s(R R Rš(((RR˜sR(RmR(RRR((RR—s(R R R(((RR–siÕiiiRs%Z(R RRRARĢR#RFRŌ(RRRĢ((Rt%test_strftime_with_bad_tzname_replace”s-c Cs™|itddƒ|itddƒ|it|itdddƒ|it|itdddƒ|idddƒ|idddƒ|it|idddƒ|it|idddƒ|idddƒ|idddƒ|id ddƒ|it|iddd ƒ|it|id ddƒ|it|id ddƒ|it|id ddƒ|it|idddƒ|it|idddƒ|iddddƒ|iddddƒ|it|iddddƒ|it|iddddƒ|idddddƒ|idddddƒ|it|idddddƒ|it|idddddƒ|iddddddƒ|iddddddƒ|it|iddddddƒ|it|iddddddƒ|idddddddƒ|idddddddƒ|it|idddddddƒ |it|idddddddƒ dS(NiiŠi ii iiiŌi` iiŃi4ili iii’’’’ii;i<i?Bi@B(RRARRR#R¬(R((RR®ŸsH  ""%%cCs‚|iddddddƒ}|iddddddƒ}|i||ƒ|it|ƒt|ƒƒh|d<}d||<|it|ƒdƒ|i||dƒ|i||dƒ|id ddd d dƒ}|id ddd d dƒ}|i||ƒ|it|ƒt|ƒƒh|d<}d||<|it|ƒdƒ|i||dƒ|i||dƒdS( NiŠi iiiiiiiŃii(RRARcRÆRRbR°Rd(RRcR°RÆ((RReĢs$  c s‡|idddƒ‰|idddƒ}ˆ|}|i|iddttdddƒƒƒ|i|i dƒ|i|i dƒ|idd d d d ƒ‰t ddd ƒ}t ddƒ}t dƒ‰t dƒ}|iˆ||idd d dd ƒƒ|i|ˆ|idd d dd ƒƒ|iˆd||idd d d d ƒƒ|iˆ||idd d dd ƒƒ|i| ˆ|idd d dd ƒƒ|iˆ|ˆ| ƒ|iˆd||idd ddd ƒƒ|iˆˆ|idd d d d ƒƒ|iˆˆ|idd dd d ƒƒ|iˆ||idd dd d ƒƒ|iˆ||idd dd d ƒƒ|iˆd||idd dd d ƒƒ|iˆd||idd d d d ƒƒ|iˆ|ˆ|ƒ|iˆˆˆˆƒ|iˆ|ˆ|ƒ|iˆ|ˆ|ƒ|iˆ|ˆ| ƒ|iˆˆˆˆ ƒ|iˆ|ˆ| ƒ|iˆ|ˆ| ƒ|iˆˆ|| ƒ|iˆˆˆˆ ƒ|iˆˆ|| ƒ|iˆˆ|| ƒ|iˆˆ||ƒ|iˆˆˆˆƒ|iˆˆ||ƒ|iˆˆ||ƒ|iˆ|ˆ|||idd ddd dd ƒƒ|iˆ|ˆ||ˆ|ˆ||ƒ|iˆ|ˆ|||idd dddddƒƒ|iˆ|ˆ||ˆ|ˆ||ƒxrd,D]j‰|it‡‡d †ƒ|it‡‡d!†ƒ|it‡‡d"†ƒ|it‡‡d#†ƒqVW|it‡‡d$†ƒ|it‡‡d%†ƒ|it‡‡d&†ƒ|it‡‡d'†ƒ|it‡‡d(†ƒ|it‡d)†ƒ|it‡d*†ƒ|it‡d+†ƒdS(-NiŅiii¤i.imiiiiiiičiiii iiii ii4iÓiŃiii;iX>lf1.0csˆˆS(N(RSRX((RSRX(RREscsˆˆS(N(RSRX((RSRX(RREscsˆˆS(N(RXRS((RXRS(RREscsˆˆS(N(RXRS((RXRS(RREscsˆˆS(N(R–RS((RSR–(RREscsˆˆS(N(R–RS((RSR–(RREscsˆˆS(N(RSR–((RSR–(RREscsˆˆS(N(R–RS((RSR–(RRE scsˆˆS(N(RSR–((RSR–(RRE!scsˆˆS(N(RS((RS(RRE"scsˆˆS(N(RS((RS(RRE#scsˆˆS(N(RS((RS(RRE%s(ilf1.0(RRARSRTR±RRKRdRØRMRORtmillisecR˜R–R²RXR#RF( RRSR²RTR˜RXR±RR–((RSRXR–RRWćs| -  ))-)*-))))--""cCs}ddddddddf}|i|Œ}xHtD]@\}}}|i||ƒ}|i |ƒ}|i ||ƒq5WdS( Niiiii;ii@i( RfRRAR3R5R6R7R8R9R:R;R<R(RR8RfR<R:R6R7R3((RRg'scCs||idddddddƒ}ti|ƒ}ti|ƒ}|i|i dƒ|i|i dƒ|i|i dƒdS(NiÓiiii0i%iŌĘ( RRARStpickleR9RpR;RTRR”R•R–(RRSRTRp((Rttest_more_pickling/s !cCszddddddddf}t|Œ}xHtD]@\}}}|i||ƒ}|i |ƒ}|i ||ƒq2WdS( Niiiii;ii@i( RfR R3R5R6R7R8R9R:R;R<RR(RR8R7RfR<R:R6R3((Rttest_pickling_subclass_datetime7s cCsEdddddddg}|i|Œ}|i|Œ}|i||jƒ|i||jƒ|i||jƒ|i||j ƒ|i||j ƒ|i||j ƒ|it||ƒdƒ|it||ƒdƒx^tt |ƒƒD]J}|}||d ||<|i|Œ}|i||jƒ|i||jƒ|i||jƒ|i||jƒ|i||jƒ|i||jƒ|i||j ƒ|i||j ƒ|i||j ƒ|i||j ƒ|i||j ƒ|i||j ƒ|it||ƒd ƒ|it||ƒd ƒqóWdS( NiŠi iii:ii>Biii’’’’( RfRRAR_R`R*RRGRØRdRXRņ(RRXRfR`R_Rņ((Rttest_more_compare?s<cCsˆ|i|i|iƒ|i|i|iƒ|i|i|i ƒ|i|i |i ƒ|i|i |i ƒ|i|i|iƒdS(N(RRRóRŚRōR”RŪR•RÜR–RŻR˜RŽR RßR”(RRóRō((Rtverify_field_equalityds cCsJdk}|iƒ}|i|ƒ}|ii|ƒ}|i||ƒdS(N( R³Rµt localtimeRóRRAR¶RōR(RRóRōRµR³((RR·ls   cCsJdk}|iƒ}|i|ƒ}|ii|ƒ}|i||ƒdS(N( R³RµtgmtimeRóRRAtutcfromtimestampRōR(RRóRōRµR³((Rttest_utcfromtimestampts   cCs,|i|iidƒ|iidƒƒdS(Nf0.99999990000000005i(Rt assertEqualsRAR¶(R((RR€|scCs.x'dD]}|it|ii|ƒqWdS(Nf-9.9999999999999997e+199f9.9999999999999997e+199(f-9.9999999999999997e+199f9.9999999999999997e+199(RøRR#R¬RAR¶(RRø((RR¹‚scCs.x'dD]}|it|ii|ƒqWdS(Nf-9.9999999999999997e+199f9.9999999999999997e+199(f-9.9999999999999997e+199f9.9999999999999997e+199(RøRR#R¬RAR(RRø((Rttest_insane_utcfromtimestamp‹scCs“dk}tddƒ}xWtdƒD]I}|iiƒ}|ii |iƒƒ}t ||ƒ|joPq%q%W|i t ||ƒ|jƒdS(NRMii( R³Rt toleranceRØRŗRRAtutcnowtfrom_nowRtfrom_timestampRVR*(RRŗR"R³RR!((Rt test_utcnow”s   cCs–|iddddddƒ}|i|iƒd ƒ|i|iƒ|i|i|i|i|i |i |i ƒ|i ƒt |id d ƒi ƒd d f ƒ|iƒ}|i|i|iƒ|i|i|iƒ|i|i|iƒ|i|i|iƒ|i|i|i ƒ|i|i|i ƒ|i|i|i ƒƒ|i|i|i ƒt |id d ƒi ƒd ƒ|i|id ƒdS( NiŌi iiii!iini’’’’i( iŌi iiii!iini’’’’(RRARĢRRŁR”R•R–R˜R R”R¾RœRtttRŚRŪRÜRŻRŽRßRąRįRā(RR$RĢ((Rttest_more_timetuple¢s] 6cCs;|iddddddƒ}|i|idƒdƒdS( NiŌi iiii!s%m %d %y %S %M %H %js12 31 04 33 22 06 366(RRARĢRRŌ(RRĢ((Rttest_more_strftimeøscCsl|idddddddƒ}|i|iƒtdddƒƒ|i|iƒtddddƒƒdS(NiŅiiii-iŅ(RRARRRR³(RR((Rt test_extract¾s!"cCsUtdddƒ}tddddƒ}|idddddddƒ}|ii}|||ƒ}|i ||ƒ|d|d|ƒ}|i ||ƒ|i ||iƒƒ|i ||iƒƒ|i |||iƒ|iƒƒƒ|i t |ƒ|i t ||ƒ|i t |||ƒ|i t |||d ƒ|i t |ddƒdS( NiŅiiii-iŅR³Ri( RRcR³RĢRRARótcombineRRR#RF(RRcRóR(RĢR((Rt test_combineĆs ! %c Csö|i} dddddddg}| |Œ}|i||iƒƒd}xxdddddddfD][\}}|}|||<| |Œ}|ih||<}|i||ƒ|d7}qhW| dddƒ}|i t|id dƒdS(NiiiiiiiiR”R•R–R˜R R”R¢iiŠiiŃ(syeari(smonthi(sdayi(shouri(sminutei(ssecondi(s microsecondi(RRARķRfRļRRšRXRRńRņRóRōR#R¬( RRRXRfRńRļRóRōRņRķ((RRõŲs     cCsż|iiƒ}tddƒ}|it|iƒ|it|i||ƒ|it|i|ƒ|it |i|ƒ|it |id|ƒdt fd„ƒY}|ƒ}|it |i|ƒdt fd„ƒY}|ƒ}|it |i|ƒdS(Ni,RŃttztBoguscBstZd„Zd„ZRS(NcCsdS(N(R(RR((RRżscCs tdƒS(Ni(R(RR((RRžs(R R RR(((RR+üs t AlsoBoguscBstZd„Zd„ZRS(NcCs tdƒS(Ni(R(RR((RRscCsdS(N(R(RR((RRs(R R RR(((RR,s (RRAR-RR tfR#RFt astimezoneR¬R R+tbogR,talsobog(RR-R0R,R+RR/((Rttest_astimezoneńs  csŠdˆif‡d†ƒY}d }ˆi|Œ}||hd d <Ž}ˆi|i|ƒˆi|id ƒˆi|i d ƒˆi|i ƒ|i ƒƒˆi|i d ƒ|i |i |id ƒdS(NRöcs#tZdZ‡d†Zd„ZRS(Ni*cs@|iƒ}|idƒ}ˆii|||Ž}||_|S(NR÷( RųRłRśRūR÷RRAR2RķRfRü(RķRfRųRśR÷Rü(R(RR2 s   cCs||i|i|iS(N(RżRR”R•R”(RRż((RRžs(R R R’R2Rž((R(RRö s iÓiii i i)R÷ii*ił’’’(iÓiii i i)(RRARöRfRRRRR’R÷RœRžR”R•R”(RRRfRRö((RRttest_subclass_datetimes ( R R RRAR^R RtRĪR RRR®ReRWRgRRRRR·RR€R¹RR#R%R&R'R)RõR1R2(((RR 9s:     -  D    %           t SubclassTimecBstZdZRS(Ni(R R R’(((RR3#stTestTimecBsžtZeZd„Zd„Zd„Zd„Zd„Zd„Z d„Z d„Z d „Z d „Z d „Zd „Zd „Zd„Zd„Zd„ZRS(NcCsb|iddƒ}|i|idƒ|i|idƒ|i|idƒ|i|idƒdS(Ni i(RRARĢRR˜R R”R¢(RRĢ((RR^*s cCsh|iddddƒ}|i|idƒ|i|idƒ|i|idƒ|i|idƒdS(Ni i;i@(RRARĢRR˜R R”R¢(RRĢ((RR 1s cCs˜|iddddƒ}t|ƒ}|i|idƒƒ|d}t|ƒ}|i ||ƒ|i|i |i |i |i ƒ}|i ||ƒdS(Niiiis datetime.i (RRARĢRoRpR*RqRrR`RR˜R R”R¢(RR`RpRĢ((RRt:s    csmddddg}|i|Œ‰|i|Œ}|iˆ|jƒ|iˆ|jƒ|iˆ|jƒ|iˆ|j ƒ|iˆ|j ƒ|iˆ|j ƒ|itˆ|ƒdƒ|it|ˆƒdƒx^tt |ƒƒD]J}|}||d||<|i|Œ}|iˆ|jƒ|i|ˆjƒ|iˆ|jƒ|i|ˆjƒ|iˆ|jƒ|i|ˆjƒ|iˆ|j ƒ|i|ˆj ƒ|iˆ|j ƒ|i|ˆj ƒ|iˆ|j ƒ|i|ˆj ƒ|itˆ|ƒdƒ|it|ˆƒdƒqźWx.t D]&‰|iˆˆjtƒ|iˆˆjtƒ|iˆˆjtƒ|iˆˆjtƒ|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d †ƒ|it‡‡d †ƒ|it‡‡d †ƒ|it‡‡d †ƒ|it‡‡d †ƒ|it‡‡d†ƒq?WdS(Niiiiii’’’’cs ˆˆjS(N(R_Rh((RhR_(RREoscs ˆˆjS(N(R_Rh((RhR_(RREpscs ˆˆjS(N(R_Rh((RhR_(RREqscs ˆˆjS(N(R_Rh((RhR_(RRErscs ˆˆjS(N(RhR_((RhR_(RREsscs ˆˆjS(N(RhR_((RhR_(RREtscs ˆˆjS(N(RhR_((RhR_(RREuscs ˆˆjS(N(RhR_((RhR_(RREvs(RfRRAR_R`R*RRGRØRdRXRņRiRhRjRkR#RF(RRXRfR`RhR_Rņ((RhR_Rttest_comparingIsXcCsp|iddƒ|iddƒ|it|iddƒ|it|iddƒ|iddƒ|iddƒ|it|iddƒ|it|iddƒ|idddƒ|idddƒ|it|idddƒ|it|idddƒ|iddddƒ|iddddƒ|it|iddddƒ|it|iddddƒdS( Niii’’’’ii;i<i?Bi@B(RRAR#R¬(R((RR®xs cCs^|idddƒ}|idddƒ}|i||ƒ|it|ƒt|ƒƒh|d<}d||<|it|ƒdƒ|i||dƒ|i||dƒ|idddƒ}|idddƒ}|i||ƒ|it|ƒt|ƒƒh|d<}d||<|it|ƒdƒ|i||dƒ|i||dƒdS(Niiiiiii(RRARcRÆRRbR°Rd(RRcR°RÆ((RReŽs$  cCs$|iddddƒ}|i|iƒdƒ|i|iƒt|ƒƒ|iƒ}|i|iƒdƒ|i|iƒt|ƒƒ|iddƒ}|i|iƒdƒ|i|iƒt|ƒƒ|idd ƒ}|i|iƒd ƒ|i|iƒt|ƒƒ|idd ƒ}|i|iƒd ƒ|i|iƒt|ƒƒ|idd ƒ}|i|iƒdƒ|i|iƒt|ƒƒ|iddƒ}|i|iƒdƒ|i|iƒt|ƒƒ|iddƒ}|i|iƒdƒ|i|iƒt|ƒƒdS(Niiii{s04:05:01.000123s00:00:00R¢s00:00:00.000001i s00:00:00.000010ids00:00:00.000100ičs00:00:00.001000i's00:00:00.010000i †s00:00:00.100000(RRARĢRRĶRm(RRĢ((RRĪ„s0 cCsN|iddddƒ}|i|idƒdƒ|i|idƒdƒdS( Niiiis%H %M %Ss01 02 03s '%z' '%Z's'' ''(RRARĢRRŌ(RRĢ((RRÕĘscCsĢ|it|iddddƒƒdƒ|it|iddddƒƒdƒ|it|id ddd ƒƒd ƒ|it|id ddd ƒƒd ƒ|it|iddd d ƒƒdƒdS(Niiiis01:02:03.000004i i s10:02:03.004000ii€s00:02:03.400000i s12:02:03iis23:15:00(RRRmRA(R((RRnĢs ((((cCsšd|ii}|it|iddddƒƒd|ƒ|it|iddddƒƒd |ƒ|it|id ddd ƒƒd |ƒ|it|id ddd ƒƒd|ƒ|it|iddd d ƒƒd|ƒdS(Ns datetime.iiiis%s(1, 2, 3, 4)i i s%s(10, 2, 3, 4000)ii€s%s(0, 2, 3, 400000)i s %s(12, 2, 3)iis %s(23, 15)(RRAR RRRo(RR((Rt test_reprÓs! ! ! ! !cCs}|it|ii|iƒƒ|it|ii|iƒƒ|it|iitƒƒ|i|ii|iijƒdS(N(RRuR RARvR"RwR(R((RRxąscCstdddddf}|i|Œ}xHtD]@\}}}|i||ƒ}|i |ƒ}|i ||ƒq,WdS(Nii;ii@i( RfRRAR3R5R6R7R8R9R:R;R<R(RR8RfR<R:R6R7R3((RRgęscCsqdddddf}t|Œ}xHtD]@\}}}|i||ƒ}|i |ƒ}|i ||ƒq)WdS(Nii;ii@i( RfR3R3R5R6R7R8R9R:R;R<RR(RR8R7RfR<R:R6R3((Rttest_pickling_subclass_timeīs cCs|i}|i|dƒƒ|i|ddƒƒ|i|dddƒƒ|i|ddddƒƒ|i|dƒ ƒ|i|ƒ ƒdS(Nii(RRARķR*(RRķ((RR‚ös c Cs)|i} ddddg}| |Œ}|i||iƒƒd}xoddddfD][\}}|}|||<| |Œ}|ih||<}|i||ƒ|d7}qVW| dƒ}|i t|iddƒ|i t|iddƒ|i t|id dƒ|i t|id dƒdS(NiiiiiR˜iR iR”iR¢iii’’’’idi@B(shouri(sminutei(ssecondi(s microsecondi(RRARķRfRļRRšRXRRńRņRóRōR#R¬( RRRXRfRńRļRóRōRņRķ((RRõ’s$      csÉdˆif‡d†ƒY}d }ˆi|Œ}||hdd<Ž}ˆi|i|ƒˆi|idƒˆi|i dƒˆi|i ƒ|i ƒƒˆi|i d ƒ|i |i dƒdS( NRöcs#tZdZ‡d†Zd„ZRS(Ni*cs@|iƒ}|idƒ}ˆii|||Ž}||_|S(NR÷( RųRłRśRūR÷RRAR2RķRfRü(RķRfRųRśR÷Rü(R(RR2s   cCs||i|iS(N(RżRR˜R”(RRż((RRž$s(R R R’R2Rž((R(RRös iiiR÷ii*ił’’’(iii(RRARöRfRRRRR’R÷RĶRžR˜R”(RRRfRRö((RRttest_subclass_times (R R R³RAR^R RtR5R®ReRĪRÕRnR6RxRgR7R‚RõR8(((RR4&s"   /   !      t TZInfoBasecBs5tZd„Zd„Zd„Zd„Zd„ZRS(NcCs½|i}dtfd„ƒY}|dddd|ƒƒ}|tjodpd}|i|i ƒ|ƒt d |tjod pd ƒ}|i|i ƒ|ƒ|i|i ƒ|ƒdS( Nt introspectivecBs tZd„Zd„ZeZRS(NcCs|odpdS(Ntrealtnone(R(RR((RR;scCstd|odpdƒS(NR i*iÖ’’’(RR(RR((RR<s(R R RRR(((RR::s  iiiR R<R;R iÖ’’’i*( RRARķR R:tobjR³RóRRRRR(RR=R:RóRķ((Rttest_argument_passing7s #cCs®|i}|it|dddddƒdtfd„ƒY}|it|dddd|ƒdtfd„ƒY}|ƒ}|dddd|ƒ}|i |i|jƒdS(NiR i tNiceTrycBstZd„Zd„ZRS(NcCsdS(N((R((RRNscCsdS(N((RR((RROs(R R RR(((RR?Ms t BetterTrycBstZd„Zd„ZRS(NcCsdS(N((R((RRSscCsdS(N((RR((RRTs(R R RR(((RR@Rs ( RRARķR#RFRéR?R R@RTRĢR*(RR@R?RTRĢRķ((Rttest_bad_tzinfo_classesIs  c Csvdtfd„ƒY}|i} xPdtfdtfdtfdtffD]$\}}| t jo"| ddd d ||ƒƒ}nJ| t jo+| d d d ddd d ||ƒƒ}nd p t d ‚|o†t |ƒ}t|dƒ\}}d|d jodpd||f}t|t ƒo|iƒ}n|it|ƒd|ƒqJ|itt|ƒqJWdS(NtEdgycBstZd„Zd„ZRS(NcCstd|ƒ|_dS(NR (RRR(RR((RR[scCs|iS(N(RR(RR((RR]s(R R RR(((RRBZs i`ś’’iaś’’iŸi iiiR iit impossiblei<s %c%02d:%02dt-t+s01:02:03(R RBRRARķRjRkRtlegitR³RĢRtAssertionErrorRVtaofstdivmodthRšttagR ttimetzRRmR#R¬( RRJRšRBRHRĢRRKRFRķ((Rttest_utc_offset_out_of_boundsYs" +  " + 'cCsX|i}dtfd„ƒY}x•|dddƒ|dddddƒ|dddd|ƒƒfD]Q}|i|iƒdjƒ|i|i ƒdjƒ|i|i ƒdjƒqbWdtfd„ƒY}|dddd|ƒƒ}|i |iƒt ddƒƒ|i |i ƒt dd ƒƒ|i |i ƒd ƒd tfd „ƒY}|dddd|ƒƒ}|it|iƒ|it|i ƒ|it|i ƒd tfd„ƒY}|dddd|ƒƒ}|it|iƒ|it|i ƒdtfd„ƒY}|dddd|ƒƒ}|it|iƒ|it|i ƒdS(NtC1cBs#tZd„Zd„Zd„ZRS(NcCsdS(N(R(RR((RRxscCsdS(N(R(RR((RRyscCsdS(N(R(RR((RRzs(R R RRR(((RRNws  iR tC3cBs#tZd„Zd„Zd„ZRS(NcCs tddƒS(NR iaś’’(R(RR((RRƒscCs tddƒS(NR iŸ(R(RR((RR„scCsdS(Ntaname((RR((RR…s(R R RRR(((RRO‚s  R iaś’’iŸRPtC4cBs#tZd„Zd„Zd„ZRS(NcCsdS(NRP((RR((RRscCsdS(Ni((RR((RRŽscCsdS(Ni((RR((RRs(R R RRR(((RRQŒs  tC6cBstZd„Zd„ZRS(NcCs tddƒS(NRLič’’’(R(RR((RR—scCs tddƒS(NRLi(R(RR((RR˜s(R R RR(((RRR–s tC7cBstZd„Zd„ZRS(NcCs tddƒS(NRMi=(R(RR((RRŸscCs tddƒS(NROiÆ’’’(R(RR((RR s(R R RR(((RRSžs (RRARķR RNRRĢR*RRRRORRRQR#RFRRR¬RS(RRORĢRNRQRSRRRķ((Rttest_tzinfo_classesus2 Cc Cs(|i}dtfd„ƒY} |dddd| ƒƒ}|iddƒ} |iddƒ}|idd ƒ}xe| ||fD]T}xK| ||fD]:}t ||ƒ}t |i|iƒ}|i||ƒq–Wq€W|tj o?|iddd| ƒƒ} |iddd| ƒƒ}|idd d| ƒƒ}xė| ||fD]Ö}xĶ| ||fD]¼}t ||ƒ}|| jp ||jo$|| jp ||jo d }nZ||jo |jno d }n2||jo d }n||jpt‚d }|i||ƒq\WqFWndS( NtOperandDependentOffsetcBstZd„ZRS(NcCs5|idjotd|iƒSntddƒSdS(Ni R i;(RĢR R(RRĢ((RR«s(R R R(((RRUŖsii i R R ii ii’’’’i(RRARķR RURļRštd0RÉR¤RYR™RGRōR RóRR³RG( RRÉR™RļRóRōRYRķR¤RVRU((Rttest_aware_compare„s>   4    (R R R>RARMRTRW(((RR95s     0t TestTimeTZcBsVtZeZd„Zd„Zd„Zd„Zd„Zd„Z d„Z d„Z RS( NcCsr|iƒ}|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|i djƒdS(Ni( RRARĢRR˜R R”R¢R*R R(RRĢ((Rt test_emptyŲs  c s£tdddƒ}tdddƒ}tddd ƒ}td d d |ƒ} td d d |ƒ}tdd d |ƒ} tddƒ‰tddd |ƒ‰|i | i |ƒ|i |i |ƒ|i | i |ƒ|i ˆi djƒ|i ˆi |ƒ|i | iƒtddƒƒ|i |iƒtddƒƒ|i | iƒtddƒƒ|i ˆiƒdjƒ|it| idƒ|i | iƒdƒ|i |iƒdƒ|i | iƒdƒ|i ˆiƒdjƒ|it| idƒ|i | iƒtddƒƒ|i |iƒtddƒƒ|i | iƒtdd ƒƒ|i ˆiƒdjƒ|it| idƒ|i t| ƒt|ƒƒ|i t| ƒt| ƒƒ|i t|ƒt| ƒƒ|i | |ƒ|i | | ƒ|i || ƒ|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d†ƒ|i t| ƒdƒ|i t|ƒdƒ|i t| ƒdƒ|i tˆƒdƒ|i tˆƒdƒ|i | iƒdƒ|i |iƒdƒ|i | iƒdƒ|i ˆiƒdƒ|i ˆiƒdƒd}|i t| ƒ|dƒ|i t|ƒ|dƒ|i t| ƒ|dƒ|i tˆƒ|dƒ|i tˆƒ|d ƒ|i | id!ƒd"ƒ|i |id#ƒd$ƒ|i | id#ƒd%ƒtd&d'ƒ}td(d)d |ƒ} |i | id*ƒd+ƒd,t fd-„ƒY} td.d d/d | ƒƒ} |i | id0ƒd1ƒ|it| id2ƒdS(3NiŌž’’tESTiitUTCiž’’’i<tMETiii/R i i R¢i(R sno argscs ˆˆjS(N(RŠtt5((RŠR](RRE scs ˆˆjS(N(RŠR]((RŠR](RRE scs ˆˆjS(N(R]RŠ((RŠR](RRE ss07:47:00-05:00s12:47:00+00:00s13:47:00+01:00s00:00:00.000040s00:00:00.000040+00:00s datetime.times(7, 47, tzinfo=est)s(12, 47, tzinfo=utc)s(13, 47, tzinfo=met)s (0, 0, 0, 40)s(0, 0, 0, 40, tzinfo=utc)s%H:%M:%S %%Z=%Z %%z=%zs07:47:00 %Z=EST %z=-0500s%H:%M:%S %Z %zs12:47:00 UTC +0000s13:47:00 MET +0100iaś’’s %z %Z %%z%%Zii;s%H:%M %%Z='%Z' %%z='%z's"23:59 %Z='%z %Z %%z%%Z' %z='-2359't BadtznamecBstZd„ZRS(NcCsdS(Ni*((RR((RR,s(R R R(((RR^+siis%H:%M:%Ss02:03:04s%Z(R testtutctmetR³R_R`R‰RŠR]RRR R*RRRR#RFRRRbRmRĶRcRoRŌtyuckR^RĢ( RRbR_RaR`RcRŠR]R`R‰R_R^RĢ((RŠR]Rt test_zonesąs‚c CsŲ|idddddtddƒƒ}|idddddtddƒƒ}|it|ƒt|ƒƒ|id d d d dtd dƒƒ}|id dd d dtddƒƒ}|it|ƒt|ƒƒdS(NiiiiR iŸRŃižii:iidiü’’i0iü’’(RRAR R_R`RRb(RR`R_((Rttest_hash_edge_cases1s ''''c Cs7dddddf}|i|Œ}xHtD]@\}}}|i||ƒ}|i |ƒ}|i ||ƒq,Wt ddƒ}|idd d d |ƒ}x–tD]Ž\}}}|i||ƒ}|i |ƒ}|i ||ƒ|it|it ƒƒ|i |iƒtd dƒƒ|i |iƒdƒq”WdS( Nii;ii@iiŌž’’R>iiiR R (RfRRAR3R5R6R7R8R9R:R;R<RRttinfoR*R R RRR( RR8RfR<R:ReR6R7R3((RRg;s"csT|i}|ddtddƒƒ‰|iˆƒ|ddtddƒƒ‰|iˆƒ|ddtddƒƒ‰|iˆ ƒ|dddtdd ddƒƒ‰|iˆ ƒ|ddtdd ddƒƒ‰|iˆƒ|ddtd d dƒƒ‰|it‡d †ƒ|ddtd d dƒƒ‰|it‡d †ƒdS(NiR iŌž’’RŃii,ii;i<ics tˆƒS(N(tboolRĢ((RĢ(RREesič’’’cs tˆƒS(N(RfRĢ((RĢ(RREis(RRARķR RĢR*R#R¬(RRĢRķ((RĢRttest_more_boolOs   &# cCsī|i} tddƒ}ttddƒdƒ}dddd |g}| |Œ} |i | | i ƒƒd }xxddddd|ffD][\}}|} || |<| | Œ} | i h||<} |i | | ƒ|d7}q‰W|i | iƒdƒ| i ddƒ}|i|idjƒ|i|iƒdjƒ|i d|ƒ}|i | |ƒ|i| i|ijƒ| dƒ} |it| i d dƒ|it| i d dƒ|it| i ddƒ|it| i ddƒdS(Nids+100R i8’’’s-200iiiiiR˜iR iR”iR¢iR ii’’’’i@B(shouri(sminutei(ssecondi(s microsecondi(RRARķR tz100Rtzm200RfRļRRšRXRRńRņRóRōRRtbase2R*R tbase3R#R¬(RRkRRXRfRńRjRhRiRóRōRņRļRķ((RRõks6      csrtdddƒ‰tdddƒ‰|iˆˆƒˆiddƒ‰|iˆˆƒˆidtddƒƒ‰|iˆˆƒˆidtddƒƒ‰|it ‡‡d†ƒdt fd „ƒY}|ƒ}ˆid|ƒ‰ˆid|ƒ‰|iˆi ƒtd d ƒƒ|iˆi ƒtd d ƒƒ|iˆˆƒˆid|ƒƒ‰|iˆˆjƒdS( NiiiR RŃics ˆˆjS(N(R_R`((R`R_(RRE›stVariescBstZd„Zd„ZRS(NcCstddƒ|_dS(NR i(RRR(R((RRŸscCs|itddƒ7_|iS(NR i(RRR(RRĢ((RR”s(R R RR(((RRlžs R ii(R³R_R`RRRšRR R#RFR RltvRRR*(RRmR`R_Rl((R`R_RRė’s$ csädˆif‡d†ƒY}ddddtddd ƒf}ˆi|Œ}||hd d <Ž}ˆi|i|ƒˆi|i d ƒˆi|i d ƒˆi|i ƒ|i ƒƒˆi|i d ƒ|i |id ƒdS(NRöcs#tZdZ‡d†Zd„ZRS(Ni*cs@|iƒ}|idƒ}ˆii|||Ž}||_|S(NR÷( RųRłRśRūR÷RRAR2RķRfRü(RķRfRųRśR÷Rü(R(RR2µs   cCs||i|iS(N(RżRR˜R”(RRż((RRž¼s(R R R’R2Rž((R(RRö²s iiiiōiŌž’’RZiR÷ii*ił’’’(RRARöR RfRRRRR’R÷RRžR˜R”(RRöRfRR((RRttest_subclass_timetz°s !( R R R³RARYRcRdRgRgRõRėRn(((RRXÕs  Q   ' tTestDateTimeTZcBsĀtZeZd„Zd„Zd„Zd„Zd„Zd„Z d„Z d„Z d „Z d „Z d „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(NcCs½|idddddddƒ}|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|i dƒ|i|i dƒ|i|i dƒdS(Niiiiiii( RRARRR”R•R–R˜R R”R¢R R(RR((Rt test_trivialŠs!c sO|iddddtddƒƒ‰|itdddddd dtd dƒƒ‰|iˆˆjƒ|iˆˆjƒ|iˆˆjƒ|iˆˆjƒ|iˆˆjƒ|iddddddtddƒƒ‰|id ddd d dtd dd d dƒƒ‰|iˆˆƒ|iddddddtddƒƒ‰|iˆˆjƒ|iddddddtd dƒƒ‰|iˆˆjƒ|iddddddtddƒddƒ‰|iˆˆjƒ|iddddddtddƒddƒ‰|iˆˆjƒ|ii‰|i t ‡‡d†ƒ|iˆˆƒdt fd„ƒY}|idddd|ƒƒ‰|i t ‡‡d†ƒ|iˆˆƒ|idddƒ‰|iˆˆƒdt fd„ƒY}|id d d d|ƒƒ‰|id d d dtddƒƒ‰|i t‡‡d†ƒdS(NiR iŸRŃi iii;i?Biaś’’iii i<iR”R¢cs ˆˆjS(N(R_R`((R`R_(RRE stNaivecBstZd„ZRS(NcCsdS(N(R(RR((RR s(R R R(((RRq siiics ˆˆjS(N(R_R`((R`R_(RRE sR+cBstZd„ZRS(NcCs tddƒS(NR i (R(RR((RR s(R R R(((RR+ scs ˆˆjS(N(R_R`((R`R_(RRE s(RRAR R_RR`R*RRvR#RFR RqR+R¬(RR`R_R+Rq((R`R_Rttest_even_more_compareŪsD$*6**$ $  $c Csgddddddddf}|i|Œ}xHtD]@\}}}|i||ƒ}|i |ƒ}|i ||ƒq5Wt d d ƒ}|i|hd |<Ž}|idddd td d d ƒƒ}x–tD]Ž\}}}|i||ƒ}|i |ƒ}|i ||ƒ|it|it ƒƒ|i |iƒtdd ƒƒ|i |iƒd ƒqŃWdS(Niiiii;ii@iiŌž’’R>R iRŃR (RfRRAR3R5R6R7R8R9R:R;R<RRReR R*R R RRR( RR8RfR<R:ReR6R7R3((RRg s&' c Cs£|iddddtddƒƒ}t|ƒ|itdddddd dtd dƒƒ}t|ƒ|id d d dtd dƒƒ}|itt|ƒdS( NiR iŸRŃi iii;i?Biaś’’ii`ś’’(RRAR RĢRbRR#R¬(RRĢ((Rttest_extreme_hashes3 s$  $cCs}tddƒ}tddƒ}tddƒ}tddd d d d |ƒ}tddd d d d |ƒ}tddd dd d |ƒ}|i |i |ƒ|i |i |ƒ|i |i |ƒ|i |i ƒt ddƒƒ|i |i ƒt ddƒƒ|i |i ƒt ddƒƒ|i |i ƒdƒ|i |i ƒdƒ|i |i ƒdƒ|i t|ƒt|ƒƒ|i t|ƒt|ƒƒ|i t|ƒt|ƒƒ|i ||ƒ|i ||ƒ|i ||ƒ|i t|ƒdƒ|i t|ƒdƒ|i t|ƒdƒd}|i t|ƒ|dƒ|i t|ƒ|dƒ|i t|ƒ|dƒdS(NiŌž’’RZiR[i<R\iŅiiii/R i i R s2002-03-19 07:47:00-05:00s2002-03-19 12:47:00+00:00s2002-03-19 13:47:00+01:00sdatetime.datetime(2002, 3, 19, s7, 47, tzinfo=est)s12, 47, tzinfo=utc)s13, 47, tzinfo=met)(R R_R`RaRR_R`R‰RRR RRRRbRmRcRo(RR`R_RcR`R‰R_Ra((RRcA s8c Cs€tddƒ}tdddƒ}tddddd |ƒ}ti||ƒ}|i |tdddddddd |ƒƒdS( Ni<R\iŅiiii-iŅR ( R RaRRcR³R*RR(RRR(RR*RcRaR((RR)_ s !c Cs¬tddƒ}|idddddddd |ƒ}|i|iƒtdddƒƒ|i|iƒtddddƒƒ|i|iƒtddddd |ƒƒdS( Ni<R\iŅiiii-iŅR ( R RaRRARRRR³RL(RRaR((RR'g s '"%c sdk}|iiƒ‰tddƒ}ˆiƒid|ƒ}|ii ˆi ƒ|ƒ‰|i ˆi |jƒ|iˆiƒ|ƒ|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d†ƒ|it‡d†ƒ|iˆˆtd ƒƒ|iˆˆtd ƒƒtd d d d ddƒ‰ˆˆ‰|i ˆi |jƒˆˆ}|i |i |jƒ|iˆ|ƒˆˆ} |i | i |jƒ|iˆ| ƒ|it‡‡d†ƒ|iˆˆˆƒt|iddƒdƒ} ˆid| ƒ‰|i ˆi | jƒˆˆ}ˆiƒˆiƒˆ} |i|| ƒ|id d d dtddƒƒ}|itd ddddddtddƒƒ}||}|i||ii|iitd ddƒƒdS(Ni¶ž’’s west 5:30R csˆˆS(N(R-tnowaware((RtR-(RREy scsˆˆS(N(RtR-((RtR-(RREz scsˆˆS(N(R-Rt((RtR-(RRE} scsˆˆS(N(RtR-((RtR-(RRE~ scsˆˆS(N(Rt((Rt(RRE siRJiR i ROi.csˆˆS(N(RŽt nowawareplus((RuRŽ(RRE’ siaś’’i trandomtimezoneiŸRviii;i?BR"i( trandomRRAR-R ttz55R³Ršt timeawareR(RRtR*R RRLR#RFRRŽRut nowawareplus2R±t randrangettzrRōRRóRvRR"tmaxdiff(RR"RxRzRvRōRwR}RuR|RŽRóR±RtR-Ry((RuRŽRtR-Rttest_tz_aware_arithmeticn sH     $ c Cs˜|ii} | ƒ}tddƒ}| |ƒ}| d|ƒ}|i |i |i jƒ|i |i ƒt ddƒƒ|it| dƒ|it| ddƒ|it| d|ƒ|it| ||ƒtt dd dd ƒd d ƒ}td d d ƒ}x’tdƒD]w}ti|ƒ} |i | i |jƒtiƒid|ƒ}|i|ƒ} t| | ƒt ddƒjoPq q W|idƒdS(Ni*t42R*R iR ReRLii:tweirdtziR`iRMis0utcnow(), now(tz), or astimezone() may be broken(RRAR-tmethRļR toff42tanothertagainR*R RRRR#RFR€R`RØRŗRR RšR.tnow2RVtfail( RR„R€R`R RŗRļRƒR‚RR-R…((Rttest_tzinfo_now¬ s,   !   cCs~dk} |ii} | iƒ}| |ƒ}tddƒ}| ||ƒ} | |d|ƒ}|i | i |i jƒ|i | iƒtddƒƒ|it| |dƒ|it| |ddƒ|it| |d|ƒ|it| |||ƒ|it| ƒd}ti|ƒ} td d dd ƒ}t|dd ƒ}| |} ti||ƒ}|i | |iddƒƒdS( Ni*RR*R iR Reiʚ;RLiń’’’i'i(R³RRAR¶RRµRļR R‚RƒR„R*R RRRR#RFt timestampRRt utcdatetimeR*RóRōRšR(RR„R*RˆRµRōRRļR‚RƒR³RóRR‰((Rttest_tzinfo_fromtimestampŠ s*     cCsQ|ii}|ƒ}tddƒ}|it||ƒ|it|d|ƒdS(Ni*RR ( RRAR RRļR R‚R#RF(RRļR‚R((Rttest_tzinfo_utcnowó s   cCsodk}|ii}|iƒ}||ƒ}tddƒ}|i t |||ƒ|i t ||d|ƒdS(Ni*RR ( R³RRARRRµRļR R‚R#RF(RRµRļR‚R³R((Rttest_tzinfo_utcfromtimestampż s    c Cs dtfd„ƒY}|i}xddddfD]ķ\}}|ddddd d d d ||ƒƒ}|i ƒ}|i d|i ƒ|i d|i ƒ|i d|iƒ|i d|iƒ|i d |iƒ|i d |iƒ|i d|iƒ|i d|iƒ|i ||iƒq2W|it|dddd |d ƒƒi ƒ|i |dddd |dƒƒi ƒidƒ|i |dddd |dƒƒi ƒidƒ|it|dddd |dƒƒi ƒ|it|dddd |dƒƒi ƒdS(NtDSTcBstZd„Zd„ZRS(NcCs0t|tƒotd|ƒ}n||_dS(NR (R tdstvalueRRR(RRŽ((RR scCs|iS(N(RRŽ(RR((RR s(R R RR(((RR s iß’’’ii!ii’’’’i iii(R RYiŸiaś’’i i`ś’’(iß’’’i(i!i(ii(Ni’’’’(R RRRARķRRŽtflagRcRŁRĢRRŚRŪRÜRŻRŽRßRąRįRāR#RFR¬(RRŽRcRRĢRRķ((Rttest_tzinfo_timetuple s(  * +11+c s/dtfd„ƒY‰|i}|it|ddddˆdƒƒiƒdˆf‡d†ƒY}x$dD]}|dd d d d ddd|d|ƒƒ}|i ƒ}|i|i|iƒ|i|i|iƒ|i|i|iƒ|id|iƒ|id|iƒ|i|i|iƒ|i|iƒ|iƒ|i|iƒtdddƒiƒd|iƒ|id|iƒqjW|tdddddd|dƒƒ}|i ƒ}|i|itdƒ|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|idƒ|t!ddddddd|dƒƒ}|i ƒ}|i|it!dƒ|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|idƒdS(NRcBstZd„Zd„ZRS(NcCs0t|tƒotd|ƒ}n||_dS(NR (R RŽRRR(RRŽ((RR/ scCs|iS(N(RRŽ(RR((RR3 s(R R RR(((RR. s iR itUOFScs tZd‡d†Zd„ZRS(Ncs&ˆi||ƒtd|ƒ|_dS(NR (RRRtdofsRtuofs(RR“R’(R(RR< scCs|iS(N(RR“(RR((RR? s(R R RRR((R(RR‘; siß’’’i!iii iii(iĖ’’’i i i%iŸi iinii;i?Biaś’’i:(iß’’’i!iN(#R RRRARķR#R$RR‘RRŽRct utctimetupleRĢRR”RŚR•RŪR–RÜRŻRŽR”RßR¾RąRœRRįRāRRyRthuge( RRŽR•RcRyRĢR‘RRķ((RRttest_utctimetuple- sN  " - ) ' * c Csbtddƒ}tddƒ} tddƒ} tddƒ}|i} d} xd|| | |fD]ł}xšdD]č}| d d d d dd|d|ƒ}d|odpd}|dj o |iƒpd}||}|iƒ} |i| | d|ƒ|i| |idƒƒ|i|idƒ| d|ƒ|it|ƒ| d|ƒqnWqaWdS(Nis+00:00iÜs+03:40i’’’s-03:51RŃs 0001-02-03iyiiiiii;R s04:05:59s.987001RƒtkR (iiy(R RZtplustminusRtunknownRRARķtdatestrtofsR]RcttimestrRtofsstrttailstrRĶtisoRRm(RRŸRcRšRRžR]RœRZR˜R R›R™Rķ((Rttest_tzinfo_isoformatm s& $   !c Cs»|i} tddƒ}ttddƒdƒ}dddd d d d |g}| |Œ} |i | | i ƒƒd }xddddddd d|ffD][\}}|} || |<| | Œ} | i h||<} |i | | ƒ|d7}q›W|i | iƒdƒ| i ddƒ}|i|idjƒ|i|iƒdjƒ|i d|ƒ}|i | |ƒ|i| i|ijƒ| dddƒ} |it| i ddƒdS(!Nids+100R i8’’’s-200iiiiiiiiR”R•R–R˜R R”R¢iR iŠiiŃ(syeari(smonthi(sdayi(shouri(sminutei(ssecondi(s microsecondi(RRARķR RhRRiRfRļRRšRXRRńRņRóRōRRRjR*R RkR#R¬(RRkRRXRfRńRjRhRiRóRōRņRļRķ((RRõ s0  %   cCsčtddƒ}tddƒ}ttddƒ dƒ}|iid|ƒ}|i |i |jƒ|i t |i|ƒ|i t|idƒ|i|i ƒ}|i |i |jƒ|i|iƒ|iƒƒ|i|iƒ|iƒƒ|i|ƒ}|i |i |jƒ|i|iƒtddƒƒ||iƒ}||i|ƒ7}|id |ƒ}|i|iƒ|iƒƒ|i|iƒ|iƒƒ|i|iƒ|iƒƒ|i |i |i jƒ|i||ƒdS( NRi,t44RLitm300R*iū’’’R (R Rtfnonetf44mRtfm5hRRAR-RR*R R#R¬R.RFRYRRR³RōRRóRšRL(RRōR¦RYRóRR„R¤((Rttest_more_astimezoneØ s,c Csi|i}dtfd„ƒY} |ddddddd d | ƒƒ}|id d ƒ} |id dƒ}|id dƒ}xd| ||fD]S}xJ| ||fD]9}||}t d |i|iƒ}|i||ƒq¢WqŒW|ddddddd ƒ}|id d d | ƒƒ} |id dd | ƒƒ}|id dd | ƒƒ}x| ||fD]’}xö| ||fD]å}||}|| jp ||jo*|| jp ||jot dƒ}n‚||jo |jnot dƒ}nT||jot d dddƒ}n,||jpt‚t d dddƒ}|i||ƒqxWqbWdS(NRUcBstZd„ZRS(NcCs5|idjotd|iƒSntddƒSdS(Ni R i;(RĢR R(RRĢ((RRĶ s(R R R(((RRUĢ sii i i i i iR R iR ii;(RRARķR RURļRšRVRÉR¤RYR™RōRR RóRRG( RRÉR™RļRóRōRYRķR¤RVRU((Rttest_aware_subtractĒ s>  '  4 csŠtdddddddƒ‰tdddddddƒ‰|iˆˆƒˆiddƒ‰|iˆˆƒˆidtdd ƒƒ‰|iˆˆƒˆidtd d ƒƒ‰|it ‡‡d †ƒd t fd „ƒY}|ƒ}ˆid|ƒ‰ˆid|ƒ‰|iˆi ƒtddƒƒ|iˆi ƒtddƒƒ|iˆˆƒˆid|ƒƒ‰|iˆˆjƒdS(NiiiiiiiR RŃics ˆˆjS(N(R_R`((R`R_(RREü sRlcBstZd„Zd„ZRS(NcCstddƒ|_dS(NR i(RRR(R((RR scCs|itddƒ7_|iS(NR i(RRR(RRĢ((RR s(R R RR(((RRl’ s R ii(RR_R`RRRšRR R#RFR RlRmRRR*(RR`RlRmR_((R`R_RRėó s$ c sķdˆif‡d†ƒY}ddddddd td d d ƒf}ˆi|Œ}||hd d<Ž}ˆi|i|ƒˆi|i dƒˆi|i dƒˆi|i ƒ|i ƒƒˆi|i dƒ|i |idƒdS(NRöcs#tZdZ‡d†Zd„ZRS(Ni*cs@|iƒ}|idƒ}ˆii|||Ž}||_|S(NR÷( RųRłRśRūR÷RRAR2RķRfRü(RķRfRųRśR÷Rü(R(RR2 s   cCs||i|iS(N(RżRR˜R”(RRż((RRž s(R R R’R2Rž((R(RRö s iŅi iiiiiōiŌž’’RZiR÷ii*ił’’’(RRARöR RfRRRRR’R÷RRžR˜R”(RRöRfRR((RRttest_subclass_datetimetz s *(R R RRARpRrRgRsRcR)R'R~R‡RŠR‹RŒRR–R”RõR§RØRėR©(((RRoĶs* B      > $ # $ @  '  , cCs/d|iƒ}|o|t|ƒ7}n|S(Ni(RR¾t days_to_goR(RRŖ((Rtfirst_sunday_on_or_after- siRLiRKiit USTimeZonecBs5tZd„Zd„Zd„Zd„Zd„ZRS(NcCs1td|ƒ|_||_||_||_dS(NRL(RRLRt stdoffsettreprnametstdnametdstname(RRLR®RÆR°((RR@ s  cCs|iS(N(RR®(R((RRF scCs&|i|ƒo |iSn|iSdS(N(RRRR°RÆ(RR((RRI s cCs|i|i|ƒS(N(RR­RR(RR((RRO scCs |djp|idjotSn|i|jpt‚ttid|i ƒƒ}|i ƒdjo |i djo|i djpt‚ttid|i ƒƒ}|i ƒdjo |i djo|i djpt‚||iddƒjo |jnotSntSdS(NR”iiii iR (RRR tZERORRGR«tDSTSTARTRšR”RżR¾R•R–tDSTENDtendtHOUR(RRR“Rż((RRR s::*(R R RRRRR(((RR¬> s     iū’’’tEasternRZtEDTiś’’’tCentraltCSTtCDTił’’’tMountaintMSTtMDTių’’’tPacifictPSTtPDTR[iō’’’i<tUTCfaketTestTimezoneConversionscBswtZeddddƒZeddddƒZeZd„Zd „Zd „Zd „Z d „Z d „Z d„Z RS(NiŅiiii iic Cs…|i|iƒtƒ|i|i|ƒ|ƒ|i|ƒ}|i|ƒ}|i ƒ|i ƒjo`|i djoP|i|t|ƒ|i|iƒt ƒ|i|i|ƒ|i|ƒƒn|i||ƒ|t}|i|ƒ} |i ƒ|i ƒjoe|i djoU|i| |iddƒƒ|t7}|i|ƒ} |i| |iddƒƒn|i| |tƒdS(NiiR˜i(RRRRRµR.R*R`tasutctthere_and_backRtdstonR˜R±t nexthour_utct nexthour_tztdstoffRš( RRR*R`RÅRČRĆRĘRÄRĒ((Rt checkinsidey s$ ) )  cCsa|i|iƒtƒ|i|i|ƒ|ƒ|i|ƒ}|i|ƒ}|i||ƒdS(N( RRRRR±R.R*R`RĆRÄ(RRR*R`RĆRÄ((Rt checkoutside­ s cCs’|iid|ƒ}|iid|ƒ}xĪtddƒtttddƒtddƒfD]œ}|i |||||ƒx5||||fD]}|i |||||ƒqW|i |||ƒx/||||fD]}|i |||ƒqŚWq[WdS(NR RJi R iRO(RRÅRšR*RČRtDAYRµRŽRÉR`tduringRŹtoutside(RR*R`RÅRČRĶRŽRĢ((Rtconvert_between_tz_and_utcø s1cCsd|ittƒ|ittƒ|ittƒ|ittƒ|ittƒ|ittƒdS(N(RRĪR¶tutc_realR¾tutc_fake(R((Rt test_easyĪ s cCsé|itddƒ}tddddƒ}|id|ƒ}|iidd ƒ} |it ƒiddƒ} |i | | ƒ|iidd dt ƒ}|iidd ƒ} |it ƒiddƒ} |i | | ƒx t tfD]ū} xņt tfD]ä}|itdd ƒ}||idƒ8}|| idƒ} | id| ƒ}xdD]…}|iid|ƒ}x]dD]U} |id| ƒ} |id| ƒ} | i|ƒ}|i |iddƒ| ƒqvW|t7}qTWqłWqęWdS(NRLii÷’’’i<s-0900iR R˜iiiiii;R (iiii(iii;(RRÅRtfourbackR tninewestRšRóR.R¶RRōRRĻtsixutcRŠR`R¾R*RČtfirst_std_hourRRĆt asutcbasettzhourt expectedbaseR tastzRµ(RRÖRŅRÕRŌR*RŲRŁRÓRóRōRĆR R`R×((Rt test_trickyę s8   cCstdtfd„ƒY}|iiƒidtƒ}|i|ƒƒd|fd„ƒY}|i t |i|ƒƒdS(NtokcBstZd„Zd„ZRS(NcCstS(N(Rµ(RR((RR scCstS(N(Rµ(RR((RR s(R R RR(((RRŪ s R tnotokcBstZd„ZRS(NcCsdS(N(R(RR((RR$ s(R R R(((RRÜ# s( R RŪRRAR-RšRĻR.RÜR#R¬(RRŪRÜR-((Rttest_bogus_dst s c Cs±|ittiƒtiƒidtƒ}|it ti|ƒ|idtƒ}ti|ƒ}|i |i tƒ|itti||ƒ|ittitiƒƒdtfd„ƒY}|ddddƒ}|iidd dtƒ}|id|ƒ}xĪdD]Ę}|id|ƒ} |d jo| tdd ƒ8} nti|ƒ}|i | |ƒ||i} |i|ƒ}|i | |ƒ|idtƒi|ƒ}|i | |ƒ|t7}|t7}q W|iidd dtƒ}|id|ƒ}xŖdD]¢}|id|ƒ} ti|ƒ}|i | |ƒ||i} |i|ƒ}|i | |ƒ|idtƒi|ƒ}|i | |ƒ|t7}|t7}qWdS(NR tFauxUSTimeZonecBstZd„ZRS(NcCs ||iS(N(RRR­(RR((Rtfromutc3 s(R R Rß(((RRŽ2 siū’’’tFEasterntFESTtFEDTR˜iiiiiiRKi(iiiiii(iiiiii(RR#RFR¶RßRR RšRĻR-R¬tenowRR RR—R¬RŽRąRÅRżtfstarttwallRóRRōR­R.RµRČ( RRŽRäRżRåRćRōR-RąRó((Rt test_fromutc' sP     ( R R RRÅRČRARÉRŹRĪRŃRŚRŻRę(((RRĀq s 4   3 tOddballscBstZd„ZRS(Ncstiƒ‰tiˆtƒƒ‰|iˆˆjƒ|iˆˆjƒ|iˆˆj ƒ|iˆˆj ƒ|i t ‡‡d†ƒ|i t ‡‡d†ƒ|i t ‡‡d†ƒ|i t ‡‡d†ƒ|i t ‡‡d†ƒ|i t ‡‡d†ƒ|i t ‡‡d†ƒ|i t ‡‡d†ƒ|iˆi ˆƒƒˆi d d d }|iˆi ˆid |ƒƒ ƒtˆiˆiˆi ƒ}|iˆ|ƒ|i|ˆƒtˆiˆiˆi d d d ƒ}|iˆ|ƒ|i|ˆƒdS( Ncs ˆˆjS(N(tas_datet as_datetime((RéRč(RREr scs ˆˆjS(N(RéRč((RéRč(RREs scs ˆˆjS(N(RčRé((RéRč(RREt scs ˆˆjS(N(RéRč((RéRč(RREu scs ˆˆjS(N(RčRé((RéRč(RREv scs ˆˆjS(N(RéRč((RéRč(RREw scs ˆˆjS(N(RčRé((RéRč(RREx scs ˆˆjS(N(RéRč((RéRč(RREy siiR–i(RR—RčRR(R³RéRRuR#RFt__eq__R–t different_dayRšR‘R”R•tdate_scRR t datetime_sc(RRéRėRčRģRķ((RéRčRttest_bug_1028306i s0 #(R R Rī(((RRēg sc Cs[g}ttttttttt t t f D]}|t i|dƒq,~}t i|ƒS(Nttest(t_[1]RRRIRŒR“R R4RXRoRĀRētklasstunittestt makeSuitet allsuitest TestSuite(RšRńRō((Rt test_suiteŽ sNcCsŻdk}dk}tƒ}d}xµto­ti|ƒPn|i ƒ|i ot d|i ƒ‚nt |dƒo\|i ƒ}|iddIdI|I|o|idI||IJn|iJ|}q$q$WdS(Nis'gc.garbage not empty after test run: %rtgettotalrefcountt*i s total refs:sdelta:(tgctsysRötthesuiteRtlastrcRkt test_supportt run_suitetcollecttgarbaget SystemErrorRŸR÷tthisrctstderr(RūRRśRüRł((Rt test_mainŸ s&       t__main__(:t__doc__RśRtcPickleRņRļRżRRRRR R³RRšR6R7RØR8R5RdRGRitTestCaseRR RRR@RIRŒR‘R“R R R3R4R9RXRoR«R±RµRĖR²R³R¬R¶RøR»R¾RĻRŠRĀRēRöRR (3RżR»RŠR¬RņRRR«RR6R5RRoRµR8RĖR7R²RR4RXRR³R R3RiRRøRR9RśR±RĀR R@RēRRĻRRŒR¶R¾R RšRöR RIR³R“RR‘((Rt?sn        V" A'’8!’’4’ė’ ų’’b  *ö'