python (3.11.7)

(root)/
lib/
python3.11/
test/
__pycache__/
test_itertools.cpython-311.opt-2.pyc

eddlZddlZddlmZddlmZddlTddlZddlm	Z	ddl
mZddlZddl
Z
ddlZddlZddlmZddlZddlZddlZddlZejZedz
Zd	Zd
ZdZdZd
ZdZdZdZ GddZ!dZ"dZ#dZ$dZ%dZ&dZ'de(ej)dzDZ*Gddej+Z,Gddej+Z-Gddej+Z.Gd d!ej+Z/d"Z0Gd#d$Z1Gd%d&Z2Gd'd(Z3Gd)d*Z4Gd+d,Z5Gd-d.Z6Gd/d0Z7d1Z8Gd2d3ej+Z9Gd4d5ej+Z:Gd6d7ej+Z;Gd8d9ej+Z<ej=Gd:d;ej+Z>d<Z?e@d=krejAdSdS)>N)support)threading_helper)*)Decimal)Fraction)reducec.tt|SN)listzipargss G/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_itertools.pylziprsT
c	d|zSNxs roneargrs#Q3Jrc	tr)
ValueErrorrs rerrfuncrs(
rc#K	dD]}|VdS)Nrr	rr)is rgen3r !s-%
rc	|dzdkS)Nrrrrs risEvenr"&Q36Mrc	|dzdkS)Nrr	rrs risOddr%*r#rc|Srrrs rtupleizer'.sKrc#6Kt|D]}|VdSrrange)nrs  riranger,1s0
1XXrceZdZ	dZdZdS)StopNowc|Srrselfs r__iter__zStopNow.__iter__7rctr
StopIterationr0s r__next__zStopNow.__next__9rN__name__
__module____qualname__r2r7rrrr.r.5s5(rr.c>	tt||Srrislice)r+seqs  rtakerA<sNsArc8ttj|dSNr	)roperatormuliterables rprodrH@s(,!,,,rcD	ttd|dzSrC)rHr*)r+s rfactrJCsa1

rc|dSNrrrs rtestRrOHQ4Krc|dSrrrMs rtestR2rRKrPrc|dkS)N
rrs rundertenrUNsR4Krcg|]}|fdS)cPtjtj||Sr)pickleloadsdumps)sprotos  r<lambda>z<listcomp>.<lambda>QsV\!U5K5K(L(Lrr).0r\s  r
<listcomp>r_Qs7BBB"'LLLBBBrceZdZd?dZdZdZdZdZd	Zd
Z	e
jdZe
j
dd
ZdZe
jdZe
j
ddZdZe
jdZe
j
ddZdZdZdZdZdZdZdZdZdZdZdZdZ e
j
dd Z!d!Z"e
j
dd"Z#d#Z$d$Z%d%Z&d&Z'd'Z(d(Z)d)Z*e
jd*Z+e
j
dd+Z,d,Z-d-Z.d.Z/d/Z0d0Z1d1Z2d2Z3d3Z4d4Z5d5Z6d6Z7d7Z8e9j:d8Z;d9Z<e
j=d:Z>e
j=d;Z?e
j=d<Z@e
j=d=ZAe
j=d>ZBdS)@TestBasicOpsr	Nc
	dfd	tj||}tj|}|t	|t	|||}	}|||	|r!|}
|||
tj|}d}	t|D]}
t
||dz
}n#t$rYnwxYwtj||}tj|}||}	}|||	|r+||d}
|||
dSdS)Nrcdkrtdt|tr|S	tt	|}n#t
$r|cYSwxYwfd|DS)NrTzinfinite recursion encounteredc.g|]}|dzS)r	r)r^eexpandrs  rr_z;TestBasicOps.pickletest.<locals>.expand.<locals>.<listcomp>bs'...qFF1acNN...r)RuntimeError
isinstancestrrr?	TypeError)itrlrgstops ` rrgz'TestBasicOps.pickletest.<locals>.expandXs2vv"#CDDD"c""
	
D))**


			
.....A....sAAAr	r)rXrZrYassertEqualtyper*nextr6)r1protocolrlrnrAcomparedumpi2abci3tookri4rgs   `           @r
pickletestzTestBasicOps.pickletestVsW
	/
	/
	/
	/
	/
	/
	/|B))
\$

b488,,,vbzz66"::1A	#wAQ"""\$

	4[[

R	
			D	|B))
\$

vbzz66"::1A	$wtuu~&&AQ"""""	$	$s
&C11
C>=C>c
	|tttdgd|tttdgdtt
ttfD]j}|ttt|tdtt|gdk|ttdgd|ttgg|ttdgdg|	tttddd|	tt|	tttd	|	tttd
gggd}|tt|tgd|tt|tgd
|tt|tjgd|	t5tt|tdddn#1swxYwYtt jd
zD]d}||ttd||ttdde|ttgddgd|ttgddgd|ttgddg|	t5ttddgdddddS#1swxYwYdS)NrT)
rr	rT$-rFabc)rwabrrrr	)
r	rrrrrbr	r)
rrrrrrrrrr)
rrrrrrrrrr)
riirrrrr)initial)rTrr	)rTrrd)rnst)rpr
accumulater*intcomplexrrmapassertRaisesrkminmaxrDrEchrrXHIGHEST_PROTOCOLr})r1typr[r\s    rtest_accumulatezTestBasicOps.test_accumulatesjr3344>>>	@	@	@j%))<<<==>>>	@	@	@(2	F	FCZCr 3 34455SBBBCCDD
F
F
F
F	
j//002D2D2DEEEjnn--r222j!oo..444)ZrAqAAA)Z000)Z599===)T:q"g+>+>???***jC0011777	9	9	9jC0011777	9	9	9jHL99::???	A	A	A


y
)
)	%	%As##$$$	%	%	%	%	%	%	%	%	%	%	%	%	%	%	%62Q677	E	EEOOE:eBii#8#8999OOE:eBii#C#C#CDDDDjTBBBCC\\\RRRjSAAABBDXDXDXYYYjS999::SEBBB


y
)
)	,	,RHc**+++	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,s$#MM	M R44R8;R8c
2d}t|fD]}|t|ddtd|t|dtd|t|dg|td|ddtd|t
t|dd	
dS)
Nc7(K	|D]}|D]}|VdSrr)	iterablesrlelements   rchain2z'TestBasicOps.test_chain.<locals>.chain2sA-
"
"!""G!MMMM"
"
"rrdefabcdefrbabcdrr)chainrprrArrk)r1rrys   r
test_chainzTestBasicOps.test_chains	"	"	"	7	7AT!!E5//22DNNCCCT!!E((^^T%[[999T!!B%%[["---T!QQue__55tF||DDDiaa1gg6666	7	7rc	|ttddgtd|ttdgtd|ttdgg|t	dtddgtd|tttddgdS)	Nrrrrrbrrr)rprr
from_iterablerArrkr0s rtest_chain_from_iterablez%TestBasicOps.test_chain_from_iterablese115%.AABBDNNSSSe115'::;;T%[[IIIe112$7788"===a!4!4eU^!D!DEEtF||TTT)T5+>+>1v+F+FGGGGGrctjgtzD]a}tdd}|t||td|t
|d|t||td|t|tdg|td|tddtd|tt
|td	d
cttjdzD]5}|
|tddtd6dS)
Nrrrrwbcdefrrbrrrr	rt)copydeepcopy
picklecopiersrrprrrrArrkr*rXrr})r1operrlr\s    rtest_chain_reduciblez!TestBasicOps.test_chain_reducibles]Om3	B	BDue$$BT$$r((^^T(^^<<<T"XXs+++T$$r((^^T']];;;T$$uRyy//22B777T!TT%u*=*=%>%>??fNNNittE!QKK/@/@AAAA62Q677	P	PEOOE5#6#6XOOOOO	P	Prcf|ttjd|ttjg|ttjd|ttjgf|ttjt	ggft}|t	ddgf|t
|gdt}|t	ddgt	dgf|t
|gddS)Nrrrr)rwrxrydrffghi)rrwrxryrrfr)rrkr__setstate__iterrprr1rls  rtest_chain_setstatez TestBasicOps.test_chain_setstatesS)UWW%92>>>)UWW%92>>>)UWW%91===)UWW%9B5AAA)UWW%9DHHb>JJJ
WW
uen--/000b#A#A#ABBB
WW
uen--tUG}}=>>>b#H#H#HIIIIIrc	
|ttd|ttddd|ttd|ttdddgtzD]i}|t
|tddg|t
|tddgdtdd}t||t
||gd	|t
|ttd
dgdttd
d}t||t
||gd
kd}d}d}tdD]}dt|Dt|dzD]}t
t|}|t|||krdn1t|t|zt||z
z|t|tt|||t||D]
|t
||tt
||t

t
|
tfd
D|t


fdD||t
||||t
||||t
||ttjdzD]&}	||	t|'dS)Nrrr	c|Srrrws rr]z0TestBasicOps.test_combinations.<locals>.<lambda>Ar ABCDABrCrDrrrrrr)rrrrrrbrrrr	rrrrr	rr)rrrc3K	t|t}||krdStt|}tfd|DV	t	t|D]}||||z|z
krndS||xxdz
cc<t|dz|D]}||dz
dz||<tfd|DV)Nc3(K|]}|V
dSrrr^rpools  r	<genexpr>zHTestBasicOps.test_combinations.<locals>.combinations1.<locals>.<genexpr>'11AQ111111rr	c3(K|]}|V
dSrrrs  rrzHTestBasicOps.test_combinations.<locals>.combinations1.<locals>.<genexpr>'55DG555555rtuplelenrr*reversed)rGrNr+indicesrjrs      @r
combinations1z5TestBasicOps.test_combinations.<locals>.combinations1s(3??DD		A1uu588nnG111111111111	
6!%((++AqzQUQY../F


a


qsA22A!(1!1GAJJ5555W55555555	
6rc3K	t|t}tt||D]?}t	|t|krtfd|DV@dS)Nc3(K|]}|V
dSrrrs  rrzHTestBasicOps.test_combinations.<locals>.combinations2.<locals>.<genexpr>'99AQ999999r)rrpermutationsr*sortedrrGrNr+rrs    @r
combinations2z5TestBasicOps.test_combinations.<locals>.combinations2s3??DD		A'a!44
:
:'??d7mm33999999999999
:
:rc3K	t|t}tt||D]?}tt	||krtfd|DV@dS)Nc3(K|]}|V
dSrrrs  rrzHTestBasicOps.test_combinations.<locals>.combinations3.<locals>.<genexpr>rr)rrcombinations_with_replacementr*setrs    @r
combinations3z5TestBasicOps.test_combinations.<locals>.combinations3s,??DD		A8q1EE
:
:s7||$$))999999999999
:
:rrcg|]
}d|zdz
Srrr^rs  rr_z2TestBasicOps.test_combinations.<locals>.<listcomp> ///ac"f///rrc3 K|]}|vV	dSrrr^rfvaluess  rrz1TestBasicOps.test_combinations.<locals>.<genexpr>''?'?V'?'?'?'?'?'?rcg|]}|v|	Srrr^rfrys  rr_z2TestBasicOps.test_combinations.<locals>.<listcomp>%B%B%BA166a666r)rrkcombinationsrrrprrrr*rrJrr
assertTrueallrXrr})r1optestIntermediaterrrr+rNresultr\ryrs          @@rtest_combinationszTestBasicOps.test_combinationss)\5999)\5!Q???)\4888*lE2>>>:,.	:	:BT""\%%<%<"="=>>CCCT""\&!%<%<"="=>>___
a
a
a+FA66!"""T""%5"6"677TTT
V
V
V
T""\%((A%>%>"?"?@@AAA
C
C
C+E!HHa88!"""T""%5"6"677888
:
:
:
:	6	6	6&	:	:	:	:	:	:q	D	DA//eAhh///F1Q3ZZ
D
Dl615566  V1Q33aaDGGd1gg<MPTUVWXUXPYPY<YZZZ  Vc#f++.>.>???  888DDA$$SVVQ///$$SQ[[!444$$T!WWfQii888OOC'?'?'?'?Q'?'?'?$?$?@@@$$T!WW%B%B%B%B%B%B%BDDDD  mmFA.F.F)G)GHHH  mmFA.F.F)G)GHHH  mmFA.F.F)G)GHHH"6#:Q#>??DDEOOE<+B+BCCCCD!
D	D	Drc|ttf5tddddddS#1swxYwYdS)NAAi )r
OverflowErrorMemoryErrorrr0s rtest_combinations_overflowz'TestBasicOps.test_combinations_overflow"s



{;
<
<	&	&u%%%	&	&	&	&	&	&	&	&	&	&	&	&	&	&	&	&	&	&AAAz"tuple reuse is specific to CPythoncd|tttttddd|ttttttddddSNabcderr	)rprrridrassertNotEqualrr0s rtest_combinations_tuple_reusez*TestBasicOps.test_combinations_tuple_reuse(SRgq)A)A!B!BCCDDaHHHCCDgq1I1I,J,J$K$K L LMMqQQQQQrc
t}|t|d|t|ddd|t|d|t|dddgtzD]}|t
||ddgd|dd}t||t
||gdd	}d
}d}tdD]}d
t|Dt|dzD]}t
||}	|t|	||||t|	tt|	||	t|	t
t|}
|dks|dkr||	|
n3|
t|	t|
k|	D]
|t
|dt
D}|t|tt||t

t
|
tfd
D||
fdD||	t
||||	t
||tt jdzD]"}||||#dS)Nrrr	rc|Srrrs rr]zATestBasicOps.test_combinations_with_replacement.<locals>.<lambda>4rrABC)rrrrrrrrr)rrrrrc3hK	t|t}|s|rdSdg|z}tfd|DV	tt|D]}|||dz
krndS||dzg||z
z||d<tfd|DVg)Nrc3(K|]}|V
dSrrrs  rrzPTestBasicOps.test_combinations_with_replacement.<locals>.cwr1.<locals>.<genexpr>Errr	c3(K|]}|V
dSrrrs  rrzPTestBasicOps.test_combinations_with_replacement.<locals>.cwr1.<locals>.<genexpr>Mrr)rrrr*)rGrNr+rrrs     @rcwr1z=TestBasicOps.test_combinations_with_replacement.<locals>.cwr1=s3??DD		A

cAgG111111111111
6!%((++AqzQU**+F&qzA~.!a%85555W55555555
6rc3K	t|t}tt||D]?}t	|t|krtfd|DV@dS)Nrepeatc3(K|]}|V
dSrrrs  rrzPTestBasicOps.test_combinations_with_replacement.<locals>.cwr2.<locals>.<genexpr>Urr)rrproductr*rrrs    @rcwr2z=TestBasicOps.test_combinations_with_replacement.<locals>.cwr2Os3??DD		A"588A666
:
:'??d7mm33999999999999
:
:rc|s|rdndSt||zdz
t|zt|dz
zSNrr	)rJ)r+rNs  rnumcombszATestBasicOps.test_combinations_with_replacement.<locals>.numcombsWsF
%}qq1$!A;;a($qs))33rrcg|]
}d|zdz
Srrrs  rr_zCTestBasicOps.test_combinations_with_replacement.<locals>.<listcomp>]rrrcg|]\}}|Srr)r^kvs   rr_zCTestBasicOps.test_combinations_with_replacement.<locals>.<listcomp>ms666CAaa666rc3 K|]}|vV	dSrrrs  rrzBTestBasicOps.test_combinations_with_replacement.<locals>.<genexpr>prrcg|]}|v|	Srrrs  rr_zCTestBasicOps.test_combinations_with_replacement.<locals>.<listcomp>rrr)rrrkrrrprrrr*rrrrrgroupbyrrXrr})r1cwrrrrrr r+rNr
regular_combsnorunsr\ryrs             @@r"test_combinations_with_replacementz/TestBasicOps.test_combinations_with_replacement-s'+)S%000)S%A666)S$///*c5"555:,.	V	VBT""SS]]"3"344___
a
a
a"s5!}}!"""T""%5"6"677TTT
V
V
V
V	6	6	6$	:	:	:	4	4	4
q	:	:A//eAhh///F1Q3ZZ
:
:cc&!nn--  Vhhq!nn===  Vc#f++.>.>???  888 $\&!%<%< = =
66Q!VV$$V];;;;OOCKK3}3E3E$EFFFDDA$$SVVQ///6671::666F$$S[[#c&kk2B2BCCC$$T!WWfQii888OOC'?'?'?'?Q'?'?'?$?$?@@@$$V%B%B%B%B%B%B%BDDDD  dd61oo)>)>???  dd61oo)>)>???"6#:Q#>??::EOOE33va==9999:1
:	:	:rc|ttf5tddddddS#1swxYwYdS)Nr@)rrrrr0s r+test_combinations_with_replacement_overflowz8TestBasicOps.test_combinations_with_replacement_overflowys



{;
<
<	7	7)$666	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7rcbt}|ttt	t
|ddd|ttt	t
t|ddddSr)rrprrrr
rr)r1r(s  r.test_combinations_with_replacement_tuple_reusez;TestBasicOps.test_combinations_with_replacement_tuple_reuses+SRWa!9!9::;;Q???CCDWa,A,A$B$B C CDDaHHHHHrcv|tt|ttddd|ttd|ttdd|ttddg|ttdd|ttt
ddgddd	}dd
}t
dD]}dt
|Dt
|dzD]U}tt|}|t|||krd
n!t|t||z
z|t|tt|||t||D]}|t|||tt|||tfd|D||t||||t||||kra||ttd||ttt
tjdzD]&}||t|'WdS)Nrrr	rrr[r)rr	rrr	rr	r)rr)rr	c3K	t|t}||n|}||krdStt|}tt||z
dz|dzddd}tfd|d|DV|rt	t|D]}||xxdzcc<||dkr)||dzd|||dzz||d<||z
||<G||}||||c||<||<tfd|d|DVndS|dSdS)Nr	c3(K|]}|V
dSrrrs  rrzHTestBasicOps.test_permutations.<locals>.permutations1.<locals>.<genexpr>s'55AQ555555rrc3(K|]}|V
dSrrrs  rrzHTestBasicOps.test_permutations.<locals>.permutations1.<locals>.<genexpr>s'#A#ADG#A#A#A#A#A#Arr)rGrNr+rcyclesrrrs       @r
permutations1z5TestBasicOps.test_permutations.<locals>.permutations1s3??DD		AYAA1uu588nnG%!Aqs++,,TTrT2F5555!55555555
!%((++A1IIINIIIayA~~&-acddmga!en&D$%Eq		"1I291"+wqz/
GQBK##A#A#A#AWRaR[#A#A#AAAAAAF




rc3K	t|t}||n|}tt||D]?}tt	||krtfd|DV@dS)Nrc3(K|]}|V
dSrrrs  rrzHTestBasicOps.test_permutations.<locals>.permutations2.<locals>.<genexpr>rr)rrrr*rrs    @r
permutations2z5TestBasicOps.test_permutations.<locals>.permutations2s3??DD		AYAA"588A666
:
:s7||$$))999999999999
:
:rrcg|]
}d|zdz
Srrrs  rr_z2TestBasicOps.test_permutations.<locals>.<listcomp>rrrc3 K|]}|vV	dSrrrs  rrz1TestBasicOps.test_permutations.<locals>.<genexpr>rrr)rrkrrrprr*rrJrrrrrXrr})	r1r;r>r+rNrpr\rs	        @rtest_permutationszTestBasicOps.test_permutationss|)\222)\5!Q???)\4888*lE2>>>l5"5566;;;)\5#>>>l588Q7788+U+U+U	W	W	W				0	:	:	:	:q	D	DA//eAhh///F1Q3ZZ
D
Dl615566  V1Q33aaDGGd1Q3ii<OPPP  Vc#f++.>.>???  888AAA$$SVVQ///$$SQ[[!444OOC'?'?'?'?Q'?'?'?$?$?@@@@  mmFA.F.F)G)GHHH  mmFA.F.F)G)GHHH66$$VT,vt2L2L-M-MNNN$$VT,v2F2F-G-GHHH"6#:Q#>??DDEOOE<+B+BCCCCD
D	D	Drc|ttf5tddddddS#1swxYwYdS)Nrr-)rrrrr0s rtest_permutations_overflowz'TestBasicOps.test_permutations_overflows



{;
<
<	%	%e$$$	%	%	%	%	%	%	%	%	%	%	%	%	%	%	%	%	%	%rcd|tttttddd|ttttttddddSr)rprrrr
rrrr0s rtest_permutations_tuple_reusez*TestBasicOps.test_permutations_tuple_reuser
rctdD]}dd|}tdD]tt|}tt|}tt	|}tt|}|t||z|t||r8t|zdz
tzt|dz
zn|t||krdn!t|t|z
z|t||krdn1t|tzt|z
z||tt|||tt|||tt|||tt|||d|D||fd|D||d	|D||fd
|D||ttt|j|||ttt|j|||tt|t|zdS)NrABCDEFGrrr	rcRg|]$}t|t|k"|%Srrrr^ts  rr_z3TestBasicOps.test_combinatorics.<locals>.<listcomp>s.&M&M&MQ&))T!WW:L:Lq:L:L:LrcTg|]$}tt|k"|%Srrrr^rLrNs  rr_z3TestBasicOps.test_combinatorics.<locals>.<listcomp>s*'J'J'Ja3s1vv;;>>>>>rcRg|]$}t|t|k"|%SrrJrKs  rr_z3TestBasicOps.test_combinatorics.<locals>.<listcomp>s.'N'N'Na6!99d1gg;M;M;M;M;MrcTg|]$}tt|k"|%SrrNrOs  rr_z3TestBasicOps.test_combinatorics.<locals>.<listcomp>s*'I'I'Ia#c!ff++q.....r)
r*rrrrrrprrJrrfilter__contains__)r1r+r[rHr(permcombrNs       @rtest_combinatoricszTestBasicOps.test_combinatoricsswq	E	EA"1"
A1XX
E
EGAa000118A>>??LA..//LA..//  TAqD111  SQR+_D1QKK$q'',A4!99,L,L]^Y^```  T1AA$q''D1II:MNNN  T1AA$q''DGG:KdSTUVSVii:WXXX  vc$ii'8'8999  fSXX&6&6777  vc$ii'8'8999  vc$ii'8'8999  &M&M$&M&M&MNNN  'J'J'J'J4'J'J'JKKK  'N'N4'N'N'NOOO  'I'I'I'I3'I'I'IJJJ  tF3s883H$,O,O'P'PQQQ  tF3t993I3,O,O'P'PQQQ  vc#hhT.B'C'CDDDD3
E	E	Erc|ttdgdtd|ttdgdtd|ttdgdtd|ttdgdtd|ttdgdtd	|ttd
gdtdd
}ttt
d|}ttd}|tt||gd|z|ttdt
d|ttt
dd|ttt
d|ttt
ddddgtzD]}dgdddfdgdddfdgdddfdgdd	dfd
gdddffD]\}}}}|t|t||t||t|t||t|t||}|rHt||t||t|dS)NABCDEFr	rr	rr	r	)data	selectorsACEF)rrrrrrr)r	r	r	r	r	r	r	rr	ACr)rr	r	r	r	r	BC'rr2r	rrc*tj|Sr)rrs rr]z,TestBasicOps.test_compress.<locals>.<lambda>sDIaLLrc*tj|Sr)rrrs rr]z,TestBasicOps.test_compress.<locals>.<lambda>s4=3C3CrCEFBCDEFr)rprcompressrrrr*rrkrrr)r1r+rZr[rresult1result2rs        r
test_compresszTestBasicOps.test_compressshH


NNNOOQUV\Q]Q]^^^hx??@@$v,,OOOhx??@@$r((KKKhx??@@$x..QQQhx99::DJJGGGhummm<<==tDzzJJJ""6%((A#6#677''v77	htY7788'''A+FFF)XtU1XX>>>)XuQxx>>>)XuQxx888)XuQxx>>>)(*C*CD}T	P	PB===&%8==="b1===(G<777D#.


tS16

P

P1i'  bbty)Q)Q)Q&R&R!S!SUYZaUbUbccc  bb$	)B)B&C&C!D!Dd7mmTTT#+D)#<#< P)***$$T""-=*>*>%?%?gOOO

P	P	PrcL
|tdtgd|tdtdgd|tdtdtdddg|tdt	dtdd	d
g|tdt	dtddd
g|ttddd|ttd|tdttdz
tttdz
tdz|tdttdz
tttdz
tdz|tdtdgd|tdtdgd|tdttdtdtdtdg|tdttddtddtddtddgddz}|tdt|||dz|dzgtd}|t|dt||t|dtd}|t|dt||t|d |ttd!d"|ttd#d$|tttd#tt jdz
t jdzd%dd&dt jdz
t jdzfD]I}tt|}d'|}|||Jddtdz
tdzfD]}t|}|tt%j|||tt%j||tt(jdzD]%}||t|&tdtdzt!jdS)(Nrrwrrxr	ryrr)rwrrxrb)ryrrrorpr7)rwr7)rxr)rwrq)rxrrbrwrTr
@)rrg@g@
@)rsy@@1.1z2.1z3.1rr	zcount(3)zcount(4)z	count(-9)ig$@zcount(10.25)g$@zcount(10.0)r	count(%r))rprcountrAr
rrkmaxsizerr*rrreprrrrqfloatsys__mod__rrrXrr}exc_info)r1BIGINTryrr1r2valuer\s        r
test_countzTestBasicOps.test_counts|eEGG,,.L.L.LMMMeE!HH--/M/M/MNNNaeE!HH!5!56688LMMMaU599!5!566H8MNNNaU599!5!566I8NOOO)UAq!444)UC000b%	"2"233eGAIwqy99::	<	<	<b%
"3"344eWHQJ
;;<<	>	>	>at--/A/A/ABBBaw002M2M2MNNNawu~~!6!677!%..'%..'%..I	K	K	Kax1~~!6!677"1a..(1a..(1a..I	K	K	KDav//&&(F1H1MNNN!HHa*---Qa*---"IIa+...Qa"%%%eEll++^<<<eDkk**M:::d5;;//00%888;,q.3;,q.#r1b#+a-QTQ\]^Q^_	%	%AeAhhB$$Q''BR$$$$GAIwqy0	5	5EeAT$)A,,//777T$-"2"233U;;;v6:;;
5
5uU||4444
5	aS\^^^^^rcB|tdtddgd|tdtddgd|tdtdgd|ttd	d
|tdtddgd|tdtdd
gd|tdtddgd|tdttdz
dtdttdz
tdzd|tdttdz
dtdttdz
tdzd|tdtdtdzttdddtdzzztdz|tdtddgd|tdtddgd|tdttdtdtdtdtdg|tdttddtd
dtddtddtddgd
dz}|tdt|d|d|zg|ttdtdd tgd!tdd}|t|d"t||t|d#td$d}|t|d%t||t|d%td$d&}|t|d't||t|d(|t|d(|ttd)dd*|ttd)d
d+|ttd)d,d-|ttdd,d.tdd,}|tt|t|tt|tt jdz
t jdzd/dddt jdz
t jdzfD]}t jdz
t jdzd/ddd
dt jdz
t jdzf	D]}tt||}|d
krd0|z}n	d1|d2|d3}|||tt"jd
zD]&}||t||'dS)4Nrrr)rwr)rxr)ryr)startstepr7)r)rl)rxr7)ryrrwrxr)r)rxrrnr	)r)rxr)ryrbrrrrTrg?)rrrg@rs)rrty!@ ruz.1z1.2z1.3rrrvg@)rTg)@g.@zcount(3, 5)zcount(8, 5)rwzcount(-9, 0)rqz
count(-9, -3)zcount(-12, -3)g%@zcount(10.5, 1.25)zcount(10.5)g?zcount(10.5, 1.0)zcount(10, 1.0)rxryzcount(z, ))rprrzrrkrAr{r*rrrr|rrrqrr}r~rXrr})r1rryrrrrr\s        rtest_count_with_stridez#TestBasicOps.test_count_with_strideAseE!AJJ//1O1O1OPPPeEq$9$9$9::777	9	9	9eErNNN33999	;	;	;)UC555eE!AJJ//1O1O1OPPPeE!AJJ//1O1O1OPPPeE!AJJ//1O1O1OPPPb%
A"6"677b%PR
T[\_T_abBcBc9d9deeeb%Q"7"788$r5'RTV]U]^aUacdCeCe:f:fgggar719!5!566eB1gai=(8'!)DDEE	G	G	Gaq$00...AAAaq'!2!2335I5I5IJJJawu~~wt}}!E!EFF!%..'%..'%..I	K	K	Kax!}}hqmm!D!DEE"1Q--"R(2b//J	L	L	LDaF!3!3!344q&!F(6KLLLd1eBnn5566=M=M=M8N8NOOO!QKKa-000Qa-000"aLLa.111Qa.111"bMMa/222Qa"2333a"2333eD$//002EFFFeD!nn--}===eD$//002DEEEeBoo..0@AAA"cNNd1gg,,,d1gg...;,q.3;,q.#r1b#+a-QTQ\]^Q^_
	8
	8A|A~|A~sB1b#+VW-Y\YdefYfg	
8	
8%1++&&66%/BB./QQ2B  R((("6#:Q#>??88EOOE5A;;77778	
8
	8
	8rc
|tdtdtd|ttdg|t
t|t
td|tt
ttdgddS)NrTr
abcabcabcarr)
rr	rrr	rrr	rr)rprAcyclerrrkr?r r0s r
test_cyclezTestBasicOps.test_cyclexsb%,,//l1C1CDDDeBii"---)U+++)UA...fU466]]266779N9N9NOOOOOrctd|td|tdt	jt
dttj	dzD]}|tdtj
tj|t
dt|tdtj
tj|t
dttttj	dzD]%}||td&ttj	dzD])}td}t|fdtd	D}tj|}tj
|}|td
|t
dtd}t|fdtd
D}tj|}tj
|}|td
|t
d+dS)NrrwrT
bcabcabcabr	
cabcabcabcr	c.g|]}tSrrrr^rrys  rr_z7TestBasicOps.test_cycle_copy_pickle.<locals>.<listcomp>+++Qa+++rrrcdeabcdeabcdeabcdeabc.g|]}tSrrrs  rr_z7TestBasicOps.test_cycle_copy_pickle.<locals>.<listcomp>rrr)rrprrrArrrr*rXrrYrZr}r)r1r\rl_rArrys      @rtest_cycle_copy_picklez#TestBasicOps.test_cycle_copy_pickles%LLa#&&&	
b$-"2"233T,5G5GHHH62Q677		ET"fl6<53I3I&J&JKK!,//
1
1
1GGGT"fl6<53I3I&J&JKK!,//
1
1
1GGGGGGG62Q677	1	1EOOE5<<000062Q677	H	HEgBb		A++++%((+++AQ&&AQAT"a[[$/E*F*FGGGgBb		A++++%((+++AQ&&AQAT"a[[$/E*F*FGGGG	H	Hrcgd}|D]<}tj|}|td|gd=dS)N)sHcitertools
cycle
(c__builtin__
iter
((lI1
aI2
aI3
atRI1
btR((lI1
aI0
tb.s?citertools
cycle
(c__builtin__
iter
(](KKKetRKbtR(]KaKtb.s>citertools
cycle
c__builtin__
iter
](KKKeRKbR]KaKb.s;citertools
cycle
cbuiltins
iter
](KKKeRKbR]KaKb.sH=	itertoolscyclebuiltinsiter](KKKeRKbR]KaKb.sHcitertools
cycle
(c__builtin__
iter
((lp0
I1
aI2
aI3
atRI1
btR(g0
I1
tb.s?citertools
cycle
(c__builtin__
iter
(]q(KKKetRKbtR(hKtb.s>citertools
cycle
c__builtin__
iter
]q(KKKeRKbRhKb.s;citertools
cycle
cbuiltins
iter
]q(KKKeRKbRhKb.sG<	itertoolscyclebuiltinsiter](KKKeRKbRhKb.sIcitertools
cycle
(c__builtin__
iter
((lI1
aI2
aI3
atRI1
btR((lI1
aI00
tb.sAcitertools
cycle
(c__builtin__
iter
(](KKKetRKbtR(]KaI00
tb.s=citertools
cycle
c__builtin__
iter
](KKKeRKbR]Kab.s:citertools
cycle
cbuiltins
iter
](KKKeRKbR]Kab.sG<	itertoolscyclebuiltinsiter](KKKeRKbR]Kab.sIcitertools
cycle
(c__builtin__
iter
((lp0
I1
aI2
aI3
atRI1
btR(g0
I01
tb.sAcitertools
cycle
(c__builtin__
iter
(]q(KKKetRKbtR(hI01
tb.s=citertools
cycle
c__builtin__
iter
]q(KKKeRKbRhb.s:citertools
cycle
cbuiltins
iter
]q(KKKeRKbRhb.sF;	itertoolscyclebuiltinsiter](KKKeRKbRhb.rT)
rrr	rrr	rrr	r)rXrYrprA)r1	testcasesrLrls    rtest_cycle_unpickle_compatz'TestBasicOps.test_cycle_unpickle_compatsg


	4	K	KAaBT"b\\+I+I+IJJJJ	K	Krctd}|tddf|t	d|tdtd}|tddf|t	d|td|t5tdtddgdddn#1swxYwY|t5td}|tddfdddn#1swxYwYt	d||t5tdtddfdddn#1swxYwY|ttd	jd
|ttd	jgfdS)Ndefgrrrdefgabcdefgabcdefgababcdefgr	rrr)rrrrprArrkr)r1rys  rtest_cycle_setstatez TestBasicOps.test_cycle_setstates
&MM	UQ'(((b!d+A&B&BCCC
&MM	Y+,,,b!d+A&B&BCCC

y
)
)	=	=&MM&&Y';<<<	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=

y
)
)	/	/f

A
NNE&MM1-...	/	/	/	/	/	/	/	/	/	/	/	/	/	/	/	
R

y
)
)	?	?&MM&&Y'=>>>	?	?	?	?	?	?	?	?	?	?	?	?	?	?	?	
)U2YY%;R@@@)U2YY%;bUCCCCCs6#2D!!D%(D%4FF

F
;2G99G=G=c|gttg|gttgt|t
ttdg|t
td|t
tdddgd}g}t|dD];\}}|D]3}|||d||4<|||ttj	dzD]}g}tj
tjt|t|D];\}}|D]3}|||d||4<|||g}t|tD]r\}}t|tD]W\}}|D]O}|||d|||d	||PXs|||ttj	dzD]}g}tj
tjt|t|D]\}}tj
tjt|t|D]W\}}|D]O}|||d|||d	||PX|||d
t|tD}	td|D}
|t|	|
|t|	t|
tt!dtd
}t|t}t#|\}}
t#|\}}t#|\}}|t|
g|t|g|t#|dt||t|gttj	dzD]}t|t}t#|\}}t#|t#||ttj
tj||gd}dtt%|D}||gddtt%|D}||gddtt%|D}||gdt%dtt%|Dddd}||gdGddt&d#fd	}dtfd}|||d|||dGfdd }||dg}|||t!|||fd"d_||dgd_||ddgdS)$Nkeyrc|Srrrs rr]z+TestBasicOps.test_groupby.<locals>.<lambda>arrT))rrTr)rr)rrr)r	
r)r	)rrr)rr)rrrc|dSrLrrMs rr]z+TestBasicOps.test_groupby.<locals>.<lambda>s
!rrr	rcg|]\}}|Srrr^r#gs   rr_z-TestBasicOps.test_groupby.<locals>.<listcomp>s000da000rcg|]
}|dSror)r^rNs  rr_z-TestBasicOps.test_groupby.<locals>.<listcomp>s,,,QAaD,,,r	AABBBAAAAr)rrabracadabracg|]\}}|Srrrs   rr_z-TestBasicOps.test_groupby.<locals>.<listcomp>4s...41aQ...r)rwrxryrrNc	Tg|]%\}}tt|dd#|&Sr5r>rs   rr_z-TestBasicOps.test_groupby.<locals>.<listcomp>7s3EEE41afQqmm1D1DEQEEEr)rwrxrNcPg|]#\}}tt||f$Srrrrs   rr_z-TestBasicOps.test_groupby.<locals>.<listcomp>:s->>>41ac$q''llA
>>>r)rrwrrx)r	ry)r	rrrNcPg|]#\}}tt||f$Srrrs   rr_z-TestBasicOps.test_groupby.<locals>.<listcomp>=s-FFF41aSa\\A&FFFrT)reverser)rrrceZdZdS)0TestBasicOps.test_groupby.<locals>.ExpectedErrorNr:r;r<rrr
ExpectedErrorrAsDrrc38Kt|D]}dV)Nyor))r+rrs  r
delayed_raisez0TestBasicOps.test_groupby.<locals>.delayed_raiseCs-1XX





rc<fdt||DS)Nc,g|]\}}|Srr)r^r#rfuncs   rr_z;TestBasicOps.test_groupby.<locals>.gulp.<locals>.<listcomp>Hs%@@@1DDGG@@@r)r')rGkeyprs  `rgulpz'TestBasicOps.test_groupby.<locals>.gulpGs'@@@@$(?(?@@@@rceZdZfdZdS)+TestBasicOps.test_groupby.<locals>.DummyCmpcrr)r1dstrs  r__eq__z2TestBasicOps.test_groupby.<locals>.DummyCmp.__eq__Qs	##rN)r:r;r<r)rsrDummyCmprPs.
$
$
$
$
$
$
$rr)rcBjdkrxjdzc_|Sr)skip)objrkeyfuncs rrz*TestBasicOps.test_groupby.<locals>.keyfunc[s+|a!
##rro)rprr'r
rrkappendr*rXrrYrZrOrRrrr
rrr	Exceptionr)r1r[dupr#relemr\ikigkeysexpectedkeysrlrg1g2g3rNrrrrrs                    @@rtest_groupbyzTestBasicOps.test_groupbysHT'"++..///T'"""5"5"566777)T75"+=+=>>>)Wd333)WeZZDDD
.
.
.A}}--	!	!DAq
!
!  DG,,,

4    
!	
C   62Q677	%	%ECV\'!U2C2CU%K%KLL
%
%1%%D$$QQ000JJt$$$$%
Q$$$$Au%%	%	%DAq!!V,,
%
%B%%D$$QQ000$$Ra111JJt$$$$%
%
	
C   62Q677	%	%ECV\'!U2C2CU%K%KLL
)
)1$l6<68J8JE+R+RSS))FB "))((DG444((T!W555

4(((())

Q$$$$10ga//000,,!,,,--TL111TC$5$5666
[%((++,,
Q

R2R2R2b2&&&b2&&&b8,,,Rb2&&&62Q677	M	MEE""B88DAqHHHHHHT&,v|Au/E/E"F"FGGLLLL
..76!99--...555666EE76!99--EEEOOO,,,>>76!99+=+=>>>NNNOOOFF76!993E3EFFFPTUUUVXWXVXY:::;;;					I				 	 	 	 	 	 !%4	A	A	A	A	
-}}Q/?/?@@@-}}Q/?/?@@@	$	$	$	$	$	$	$	$	$	$XZZT*	
-qr:::-q111	$	$	$	$	$	$-vw???-d|WEEEEErc|tttt	dgd|ttdgdddg|ttt
gdddg|t
dtttgd|tt|ttd|ttd	t	dd
|tttd|tttt	dt	dgd}ttt	d}|ttj||ttt	d}|ttj||t	tjdzD]}ttt	d}|ttjtj|||t||ttjtj|||ddt	tjdzD]:}ttt	d}|||;dS)Nr)rrrbrr	rrrr	rrb)rrrbrc|Srrrs rr]z*TestBasicOps.test_filter.<locals>.<lambda>narc|Srrrs rr]z*TestBasicOps.test_filter.<locals>.<lambda>orrrr)rprrRr"r*boolrArzrrkrrrrrXrrYrZr}r1ansryr\s    rtest_filterzTestBasicOps.test_filterhsfVU1XX6677AAAfT;;;77881Q%@@@fT;;;77881Q%@@@a!8!899999EEE)V,,,)VZZ888)VZZq1EEE)VVQ777)T6%((E!HH+E+EFFFgg6588$$dill++S1116588$$dmA..//55562Q677	R	REvuQxx((AT&,v|Au/E/E"F"FGGMMMGGGT&,v|Au/E/E"F"FGGQRRQQQQ62Q677	&	&EvuQxx((AOOE1%%%%	&	&rc
h|tttt	dgd|ttdgdgd|ttt
gdgd|t
dtttgd|tt|ttd|ttdt	dd	|tttd
|tttt	dt	dt	tjdzD]8}|
|ttt	d9dS)Nrrarrrrrb)r	rrrc|Srrrs rr]z/TestBasicOps.test_filterfalse.<locals>.<lambda>1rc|Srrrs rr]z/TestBasicOps.test_filterfalse.<locals>.<lambda>rrrrr	)rprfilterfalser"r*rrArzrrkrrrXrr}r1r\s  rtest_filterfalsezTestBasicOps.test_filterfalsesk&%((;;<<gggFFFk$<<==wwwGGGk$<<==wwwGGGaVUWW!=!=>>			JJJ)[111)[**===)[**eAhhJJJ)[&!<<<)T;uQxxq+J+JKKK62Q677	B	BEOOE;vuQxx#@#@AAAA	B	Brc
dtdtD}||gd|ttdt	dtdt	d|ttdt	dtdt	d|t
dtdttdt	d|ttdtd|ttt|ttd|ttt	dd|dtddDtdd|d	tddDtdddS)
Ncg|]	\}}||f
Srrr^rys   rr_z)TestBasicOps.test_zip.<locals>.<listcomp>s 444A!u444rrrkrrrcFg|]}tt|Srrrr^pairs  rr_z)TestBasicOps.test_zip.<locals>.<listcomp>s&JJJ%T

++JJJrrcg|]}|Srrrs  rr_z)TestBasicOps.test_zip.<locals>.<listcomp>s===4$===r)	r
rzrprr*rrArrk)r1rs  rtest_zipzTestBasicOps.test_zips
44U577!3!3444<<<===c%q2233T%q5J5JKKKc(E!HH5566XuQxx8P8PQQQaHegg 6 677ha9Q9QRRRc(mm,,d8nn===ceedff---)S!,,,)S%((A666JJE58I8IJJJeU++	-	-	-==3ue+<+<===eU++	-	-	-	-	-rcttttdd}|t|t
|tttttdd}|tt	|t|dtj
tdtD}||gddtjtdtD}||gdttjdzD]e}dtjtjtdt|D}||gdfttjdzD]v}tdt}t%|dtjtj||D}||d	d
gwttjdzD]2}||tdt3dS)Nrrcg|]	\}}||f
Srrrs   rr_z5TestBasicOps.test_zip_tuple_reuse.<locals>.<listcomp>s ???A!u???rrkcg|]	\}}||f
Srrrs   rr_z5TestBasicOps.test_zip_tuple_reuse.<locals>.<listcomp>s CCCA!uCCCrr	cg|]	\}}||f
Srrrs   rr_z5TestBasicOps.test_zip_tuple_reuse.<locals>.<listcomp>s [[[TQAa5[[[rcg|]	\}}||f
Srrrs   rr_z5TestBasicOps.test_zip_tuple_reuse.<locals>.<listcomp>s YYYTQAa5YYYrrmrn)rrr
r
rprrrdictfromkeysrrzrr*rXrrYrZrrr})r1idsrr\rs     rtest_zip_tuple_reusez!TestBasicOps.test_zip_tuple_reuses3r3ue,,--..S3s88,,,3r4E5 1 1223344T]]3//00#c((;;;@?3uUWW+=+=!>!>???<<<===CCs5/A/A!B!BCCC<<<===62Q677	B	BE[[V\&,s5?Q?QSX2Y2Y%Z%Z[[[CS"@"@"@AAAA62Q677	8	8E"511!"""YYV\&,?OQV2W2W%X%XYYYCS8X"6777762Q677	8	8EOOE3uegg#6#67777	8	8rcB	dtdgtddgtdtddtddgtdtdtddtd	td
gtdtdtddtd	td
tdgfD]ۊfdttttD}|tt
||tt
ii|d|D}|tt
itd
||tdt
dtttdtd|tt
tt|tt
gttg|tt
dttd|tt
diitttddgzd|ttd|tttdddD]T}	t|tt|d|zE#t$rYQwxYw|dt
ddDttdd|dt
ddDttdddS)Nrrrvi4iiriicHg|]tfdDS)cJg|]}t|kr|nd Srr)r^argrs  rr_z;TestBasicOps.test_ziplongest.<locals>.<listcomp>.<listcomp>s/NNN#q3s88||SVVNNNrr)r^rrs @rr_z0TestBasicOps.test_ziplongest.<locals>.<listcomp>sG;;;NNNNNNNOO;;;rc@g|]}td|DS)c3&K|]}|durdp|V
dS)NXr)r^rfs  rrz:TestBasicOps.test_ziplongest.<locals>.<listcomp>.<genexpr>s0@@Q$Y.33!@@@@@@rr
rKs  rr_z0TestBasicOps.test_ziplongest.<locals>.<listcomp>s/QQQQe@@a@@@@@QQQrr
	fillvaluerrr)zzip_longest('abc', fv=1)z3zip_longest('abc', fillvalue=1, bogus_keyword=None)zDid not raise Type in:  cFg|]}tt|Srrrs  rr_z0TestBasicOps.test_ziplongest.<locals>.<listcomp>s&RRR%T

++RRRrrcg|]}|Srrrs  rr_z0TestBasicOps.test_ziplongest.<locals>.<listcomp>sEEE4$EEEr)rr)r*rrrrprzip_longestrrArzr
rrkevalglobalslocalsfail)r1targetstmtrs   @rtest_ziplongestzTestBasicOps.test_ziplongestsa!q5!teD..d40@0@AteAhhd4(8(8%++uT{{SteAhhd4(8(8%++uT{{TYZ[T\T\]	V	VD;;;;$SS$%8%899;;;FT+t"455v>>>T+t":r":":;;VDDDQQ&QQQFT+t"Ktc7J7J7J"K"KLLfUUUUaHegg > >??c(TYZ[T\T\F]F]A^A^___kmm,,d355kk:::k"oo..SWW

>>>k(3344d3x==6I6IJJJk>>2>>??c$u++tf"4f==>>	@	@	@)[!444)[%((A>>>
		=		=D
=T799fhh///		4t;<<<<




	
RRE58Q8QRRRc%//00	2	2	2EE;ue+D+DEEEc%//00	2	2	2	2	2s;)O==
P
	P
cttttdd}|t|t
|tttttdd}|tt	|t|dS)Nrr)
rrr
rrprrrrr)r1rs  rtest_zip_longest_tuple_reusez)TestBasicOps.test_zip_longest_tuple_reuses3r;ue445566S3s88,,,3r4E5 9 9::;;<<T]]3//00#c((;;;;;rc	httjdzD]}||t	dd||t	dd||t	ddd||t	dddS)Nr	rrdefghrr)r*rXrr}rrs  rtest_zip_longest_picklingz&TestBasicOps.test_zip_longest_picklings62Q677	=	=EOOE;ue#<#<===OOE;ug#>#>???OOE;ug#K#K#KLLLOOE;r7#;#;<<<<		=	=rc
tGfdd}|t5}t|dddn#1swxYwY||jdS)NceZdZfdZdS)?TestBasicOps.test_zip_longest_bad_iterable.<locals>.BadIterablecrr)r1	exceptions rr2zHTestBasicOps.test_zip_longest_bad_iterable.<locals>.BadIterable.__iter__srN)r:r;r<r2)r#srBadIterabler!s.
 
 
 
 
 
 
 rr$)rkrrassertIsr#)r1r$cmr#s   @rtest_zip_longest_bad_iterablez*TestBasicOps.test_zip_longest_bad_iterablesKK		 	 	 	 	 	 	 	 	 	 

y
)
)	'R

&&&	'	'	'	'	'	'	'	'	'	'	'	'	'	'	'	


blI.....sAA!$A!c2Gdd}|ddt}|ddt}d}||||gd|ddt}|ddt}t||d	
}|t	|d|t	|d|t	|d|tt|dS)Nc eZdZdZdZdZdS),TestBasicOps.test_bug_7244.<locals>.RepeatercJ||_t||_||_dSr)orrLrf)r1r,rLrfs    r__init__z5TestBasicOps.test_bug_7244.<locals>.Repeater.__init__s!Qrc|Srrr0s rr2z5TestBasicOps.test_bug_7244.<locals>.Repeater.__iter__rcT|jdkr|xjdzc_|jS|jr)rLr,rfr0s rr7z5TestBasicOps.test_bug_7244.<locals>.Repeater.__next__	s*6A::FFaKFF6M&LrNr:r;r<r-r2r7rrrRepeaterr*sA






!
!
!
!
!rr2r	rrrbcg}t||dD]Y\}}tjd5t||fdddn#1swxYwY|||fZ|S)Nrrstdout)rrcaptured_outputprintr)rrrrrs     rrunz'TestBasicOps.test_bug_7244.<locals>.runsF#Ba888
&
&1,X66""1a&MMM"""""""""""""""

q!f%%%%MsAA	A	)r5r5r5r3rrr5)r6rprhrrrr)r1r2rrr7rls      r
test_bug_7244zTestBasicOps.test_bug_7244s8
	!
	!
	!
	!
	!
	!
	!
	!"XaM
*
*
XaM
*
*				
R&B&B&BCCCXaL
)
)
XaM
*
*
R1
-
-
-b6***b6***b6***,b11111rc|ttdg|ttdg|ttddgf|ttdgd|tttdtt	tdtdd|t5tdddn#1swxYwY|t5td	d
dddn#1swxYwY|t5td	dddn#1swxYwY|t5tdddddS#1swxYwYdS)Nrrwrrwrxr	)r:)rxry)ryr)rrfr`r	rrTrF)rprpairwiser*r
rrkr0s r
test_pairwisezTestBasicOps.test_pairwise'shrll++R000hsmm,,b111htnn--)l	,	,	-	-hw//00NNN	P	P	PhuV}}5566c%--q&1A1ABBCC	E	E	E

y
)
)		JJJ															


y
)
)	 	 UB	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 


y
)
)	%	%e$$$$	%	%	%	%	%	%	%	%	%	%	%	%	%	%	%


y
)
)		TNNN																		sHE--E14E1F//F36F3G11G58G5H33H7:H7cfd}|dhdgdgfdgfdgdgfg|dhdgdgdgffdgdgfdgfdgdgfg|dhdgdgfdgdgdgffdgdgfdgfdgdgfg|ddhdgdgfdgfdgfdgdgfg|ddhdgdgdgffdgfdgdgfg|ddhdgdgfdgdgfdgffdgdgfdgfdgfdgdgfg|ddhdgdgdgdgfffdgdgdgffdgfdgdgfgdS)	NcGfdd}t||D]%}t|&dS)Nc&eZdZdZdZfdZdS)<TestBasicOps.test_pairwise_reenter.<locals>.check.<locals>.Irc|Srrr0s rr2zETestBasicOps.test_pairwise_reenter.<locals>.check.<locals>.I.__iter__>Krcd|xjdz
c_|jvrtS|jgSrC)rzrr)r1rl
reenter_ats rr7zETestBasicOps.test_pairwise_reenter.<locals>.check.<locals>.I.__next__@s4JJNJJzZ//#Bxx J<'rNr:r;r<rzr2r7)rlrDsrIr@<sG   ((((((((rrF)r;rprr)rDexpectedrFitemrlr1s`   @rcheckz1TestBasicOps.test_pairwise_reenter.<locals>.check;s
(
(
(
(
(
(
(
(
(
(
(!!##B 
1
1  b40000
1
1rr	rrrbrrrrr1rIs` rtest_pairwise_reenterz"TestBasicOps.test_pairwise_reenter:sU
	1
	1
	1
	1
	1	qccA3Z!S1#J
				qcSA3*cA3Z!S1#J
			
	qcS1#JSA3*cA3Z!S1#J	
				q!fsQCj1#
$S1#J
				q!fcQC!:
$S1#J
				q!fcA3ZA3*qc*+sQCj1#
$S1#J
			
	q!fSA3!qc
#$cQC!:
$S1#J
					rcfd}|dg|dg|dg|ddgdgfdgfgdS)NcGfdd}t|t|dS)Nc&eZdZdZdZfdZdS)=TestBasicOps.test_pairwise_reenter2.<locals>.check.<locals>.Irc|Srrr0s rr2zFTestBasicOps.test_pairwise_reenter2.<locals>.check.<locals>.I.__iter__prBrc|jkrt|xjdz
c_|jdkrtdS|jgSrC)rzr6rr)r1rlmaxcounts rr7zFTestBasicOps.test_pairwise_reenter2.<locals>.check.<locals>.I.__next__rsHzX--++JJNJJzQ#B~~- J<'rNrE)rlrRsrrFrOnsG   ((((((((rrF)r;rpr)rRrGrFrlr1s`  @rrIz2TestBasicOps.test_pairwise_reenter2.<locals>.checkmsq

(

(

(

(

(

(

(

(

(

(

(!!##BT"XXx00000rr	rrrbrrJs` rtest_pairwise_reenter2z#TestBasicOps.test_pairwise_reenter2lsu	1	1	1	1	1 	a
a
a
aQC!:s#$%%%%%rcgdgfdgddgftdtdggdftdtdtdggftdtdtdggftdtdtdggffD]\}}|tt||td	D]T}|tt||ztt|it	|
U|ttttdgdzd
|tttddd}d}dddtdtd	t	dddtdtdttdg	tdD]I}fdttjdD}ttt
|}|ttt|||tt|t|||tt|t||tt|}|ttt||KdS)Nrrrrxrr)rrr2r3r4)r	r	r5rrbrrric?xKttt||ddz}t	|}|dkrdVdStd|DrdSdg|z}tdt
||DV	tt|D]z}||t	||dz
kr%||xxdz
cc<t|dz|D]}d||<tdt
||DVndS)Nrr	rrc3<K|]}t|dkVdS)rNr)r^rs  rrz>TestBasicOps.test_product.<locals>.product1.<locals>.<genexpr>s,44d3t99>444444rc3,K|]\}}||VdSrrr^rrs   rrz>TestBasicOps.test_product.<locals>.product1.<locals>.<genexpr>s*CCGD!QCCCCCCrc3,K|]\}}||VdSrrrZs   rrz>TestBasicOps.test_product.<locals>.product1.<locals>.<genexpr>s*KKGD!QKKKKKKr)	rrrgetranyr
rr*)rkwdspoolsr+rrrs       rproduct1z+TestBasicOps.test_product.<locals>.product1shUD))**TXXh-B-BBEE

AAvv44e44444
cAgGCCs5'/B/BCCCCCCCC

!%((++		AqzSq]]Q%666 AJJJ!OJJJ"1Q3]]''%&

KKs5'7J7JKKKKKKKKEF

rc?K	ttt||ddz}gg}|D]fd|D}|D]}t|VdS)Nrr	c&g|]
}D]}||gz	Srr)r^rrrs   rr_z?TestBasicOps.test_product.<locals>.product2.<locals>.<listcomp>s,>>>A>>A!QC%>>>>r)rrrr\)rr^r_rrHrs     @rproduct2z+TestBasicOps.test_product.<locals>.product2s.UD))**TXXh-B-BBETF
?
?>>>>>>>
"
"Dkk!!!!
"
"rrrr	)rwrxryrrrrc8g|]}tjSr)randomchoice)r^rargtypess  rr_z-TestBasicOps.test_product.<locals>.<listcomp>s#PPPFM(++PPPrr)r*rprrrrrrkrrre	randrangerHrr)	r1rrrNr`rcrexpected_lenrgs	        @rtest_productzTestBasicOps.test_products<
"JVff%&Ahha
!#M#M#MNAhha%((
+R0Ahha%((
+R0Ahha%((
+R0
	I	ILD&
T'4.116:::1XX
I
I  gQ&8!9!9!%gt&Ft1~~~&F&F!G!GIIII
I	
T'E!HH:a<"899::DAAA)WeAhh===			,	"	"	"r588U1XXta17J7J7J	NNE"IIuU2YY/?/?As	F	FAPPPPU6;KA;N;N5O5OPPPDC//LSgtn!5!566EEET'4.114$3H3HIIIT'4.114$3H3HIIItT??DSgtn!5!566EEEE	F	Frc|ttf5tdgdzddiddddS#1swxYwYdS)Nrrri)rrrrr0s rtest_product_overflowz"TestBasicOps.test_product_overflows



{;
<
<	2	2tfTk15111	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2rcd|tttttddd|ttttttddddS)Nrrr	)rprrrr
rrrr0s rtest_product_tuple_reusez%TestBasicOps.test_product_tuple_reusesSR)>)>!?!?@@AA1EEECCD1F1F,G,G$H$H I IJJANNNNNrc
gdgfdgddgftdtdggdftdtdtdggftdtdtdggftdtdtdggffD]\}}|ttjt	|||ttjt	||ttjd	zD]}||t	| dS)
NrrrrUrrrVrr	)	r*rprrrrrXrr})r1rrr\s    rtest_product_picklingz"TestBasicOps.test_product_picklingsW"JVff%&Ahha
!#M#M#MNAhha%((
+R0Ahha%((
+R0Ahha%((
+R0
	7	7LD&
T$)GTN";";<<fEEET$-"?"?@@&IIIv6:;;
7
7w~6666
7	7	7rc$tdd}|d|t|dtddd}|d|t
t|dS)Nr5)r)rrrr)rrrr)rrrprrrr6)r1rAs  rtest_product_issue_25021z%TestBasicOps.test_product_issue_25021sF4  	{###a&)))FB%%	~&&&-q11111rcr|ttddgd|tt	dtdgd|ttddgd|tdtdgd|ttddg|ttddg|tt|ttddd|ttddtd	}|t|d
td	d}|t|dt||t|d
tdd}|t|d|tdtj
|td|tdtj|tdt	tj
dzD]'}||tdd(dS)Nrwr)objecttimes)rwrwrw))rrwr	rw)rrwrrqrby?zrepeat((1+0j))rzrepeat((1+0j), 5)zrepeat((1+0j), 0)rTraar	)rprrrr*rArrkr|rrrrrXrr})r1rNryr\s    rtest_repeatzTestBasicOps.test_repeatsfCq999::OOOLLLeAhhvc{{33777	9	9	9fS!nn--???a--???fS!nn--r222fS"oo..333)V,,,)VT1a888)VT37774LLa"23334OOa"5666Qa"5666
#R(((a#&&&a1..W

>>>aq!1!122DMMBBB62Q677	A	AEOOE6B#?#?#?@@@@	A	Arc|ttddd|ttddd|ttddd|ttddddS)Nrwr7zrepeat('a', 0)rrw)rpr|rr0s rtest_repeat_with_negative_timesz,TestBasicOps.test_repeat_with_negative_timessfS"oo..0@AAAfS"oo..0@AAAfS333446FGGGfS333446FGGGGGrc`|tttjtdtddgd|tttdtdgd|tttdtgd|tdttdtd	d
g|tttjgg|	tt|	tttdtdtd|	tttj|	tttdtd|	ttttdgdg|	ttttdgdggd}ttdt}|tt!j||ttdt}|tt!j||tt$jdzD]:}ttdt}|||;dS)
Nrr	rrr	rrrrkrrlrmrTrb)rprrrDpowr*r'rzrArrknegrrrrrrrrXrr}rs    rtest_mapzTestBasicOps.test_mapsc(,a%!**EEFF+++	-	-	-c(E588<<==222	4	4	4c(E577;;<<222	4	4	4aHeUWW = =>>!'*	,	,	,c(,3344b999)S))))T3tU1XXuQxx+H+HIII)S(,777)T3r588+<+<===*dC!qc,B,BCCC)T3vsQC+@+@AAA(''%))dill++S111%))dmA..//55562Q677	&	&EHeUWW--AOOE1%%%%	&	&rc|tttjtt
dt
ddgd|tdttjtttdgd|tttjgg|tttjtddggdg|
ttttjdg|
tt|
tttjdgd	|
tttd
dg|
ttttdg|
ttttdggd}ttjtt
dt
dd}|tt!j||ttjtt
dt
dd}|tt!j||t
t$jdzD][}ttjtt
dt
dd}|||\dS)Nrr	rrrbrirbrextrarT)rprstarmaprDrr
r*rArzrrrkrrrrrrrrXrr}rs    rtest_starmapzTestBasicOps.test_starmapsghlCa%!**4M4MNNOO+++	-	-	-as577E!HH7M7M!N!NOO+++	-	-	-ghlB7788"===ghlT1Q%[[MBBCCdVLLL)T78<$+H+HIII)W---)WhlUGWMMM)T72w+?+?@@@*dGGeW,E,EFFF)T76E7+C+CDDD!  HL#eAhha

";";<<dill++S111HL#eAhha

";";<<dmA..//55562Q677	&	&Ec%((E!AJJ&?&?@@AOOE1%%%%	&	&rcdD]Q}|tttdg|Rtt|RdD]T\}}|tttdg|Rtt|U|tttddttd|tttdddttd|tttddddttd|tttdddttdd|tttddddttdddt	td}|tt|dttd|t|ttddt	td}|tt|ddg|t|ttddtd}|tt||tt|dddd|tt|d	dd|tt|dd	d
|tt|ddd
|tt|ddd|tt|d|tt|dd|tt|dd|tt|ddd|tt|ddd|ttttddtdt}|tt|ddd
dg|t|ddD]}|ttjttdg|Rtt||ttj
ttdg|Rtt|ttjdzD]0}||ttdg|R1ddD}t#j|}t|d}||t|t)j||Gddt.}|tttd|dttd|tttd|d|d
ttdd
|tttd|d|d
|dttdd
ddS)N)rTrrrTrrrTr)rTrTrTrrr)))rTrr)rTrr))rTr)rTr))r)rrTrr	rrbr7rrw2)rrrrrc3K|]}|VdSrrrs  rrz+TestBasicOps.test_islice.<locals>.<genexpr>s"
 
 Aa
 
 
 
 
 
 rr5ceZdZdZdZdS))TestBasicOps.test_islice.<locals>.IntLikec||_dSrvalr1rs  rr-z2TestBasicOps.test_islice.<locals>.IntLike.__init__s
rc|jSrrr0s r	__index__z3TestBasicOps.test_islice.<locals>.IntLike.__index__s	xrN)r:r;r<r-rrrrIntLikers2



 
 
 
 
 rrr)rprr?r*rrrkrrrzr{rrrrrXrr}weakrefrefassertIsNotNoner
gc_collectassertIsNonerv)	r1rtgtargsrlraryr\wrrs	         rtest_islicezTestBasicOps.test_islice8sj		1		1D
T&s";d";";";<<!%,//
1
1
1
1	4	4MD'

T&s";d";";";<<!%/22
4
4
4
4	
fU2YY5566U2YYHHHfU2YYd;;<<d599ooNNNfU2YYdDAABBDrOOTTTfU2YY488994a;M;MNNNfU2YY4;;<<d5BPQ??>S>STTT%))__fRmm,,d588nn===b4a#5#5666
%))__fRA..//444b4a#5#56662YY)VR000)VRAq!<<<*fb"b!<<<*fb!R<<<*fb!R<<<*fb!R;;;*fb#666*fb#q999*fb!S999*fb#q!<<<*fb!S!<<<T&!R"A"ABBCCQGGG
GGfQ1b1122QC888a!$$$	B	BD
T$)F5::,E,E,E,E"F"FGG!%,//
1
1
1T$-uSzz0ID0I0I0I"J"JKK!%,//
1
1
1v6:;;
B
BveCjj'@4'@'@'@AAAA
B
!
 
 
 
 
[__
B]]RRTT"""R""$$	 	 	 	 	 f	 	 	 
	
fU3ZZ==>>U2YYPPPfU3ZZggbkkJJKKeBmm,,	.	.	.fU3ZZggbkk77ST::VVWWeBr!nn--	/	/	/	/	/rc
gd}|ttt|gd|tttgg|t
t|t
ttj|t
ttjdgd|t
ttddg|ttttdgttgd}|t|gd|tt||ttj
tt|gd|ttjtt|gdtt jdzD]+}||tt|,dS)	Nr	rrrrrbrrrarrrT)r	r	r	rrrr	r	r	r	)rpr	takewhilerUrrkrDrrrrrrr6rrr*rXrr})r1rZrLr\s    rtest_takewhilezTestBasicOps.test_takewhiles(((i$7788)))DDDi"5566;;;)Y///)Y===)YugwOOO)T9R%+A+ABBB*dIgw,G,GHHHd...//a))),,,-q111	
di	(D(A(ABBCCYYYOOOdmIh,E,EFFGG!			#	#	#62Q677	>	>EOOE9Xt#<#<====	>	>rc
^gd}|ttt|gd|tttgg|t
t|t
ttj|t
ttjdgd|t
ttddg|ttttdg|ttjtt|gd|ttjtt|gdttjdzD]+}||tt|,dS)Nr)rrrbrrrrrTr	)rpr	dropwhilerUrrkrDrrrrrrrr*rXrr})r1rZr\s   rtest_dropwhilezTestBasicOps.test_dropwhiles(((i$7788:J:J:JKKKi"5566;;;)Y///)Y===)YugwOOO)T9R%+A+ABBB*dIgw,G,GHHH	
di	(D(A(ABBCCEUEUEUVVVdmIh,E,EFFGG(((	*	*	*62Q677	>	>EOOE9Xt#<#<====	>	>rc	dd}tg\}}|t|g|t|gtt|\}}|t	||t	t|t|tt|\}}|t|tt||t|tt|tt|\}}tdD]%}|t
||&~|t|tt|tt|\}}tdD]%}|t
||&~|t|ttd|tdD]}dg|zdg|zz}tj|ggf}tt|}|D]2}t
||}	||	|	3||dtt|||dtt||
tt|
ttd|
ttddgd|
ttddgddtd	\}}t|d
}
|t|
td
ttdd\}}}
tdD]%}|t
||&|t|ttd|t
|
t
|
gttd|t|ttdd|t|
ttdd|
ttd	d|
ttgd
tdD]}td	|}|t|t|t|||d|Dtd	g|ztd	\}}t|\}
}|||
utd	\}
}t|
}|
t||
t|d||
}|t|
t|cxko&t|cxkotd	kncttd\}}t#j|}|t'|dt|~t)j|
t,t&|dtd	}ttd}td	\}}|tt/j|||tt/j||tttd\}}|tt/j|||tt/j||td	\}}t1d|t1d||tt/j||dd|tt/j||dd|t||dd|t||ddttd\}}t1d|t1d||tt/j||dd|tt/j||dd|t||dd|t||ddtd	\}}|tt/j|||tt/j|||t|||t||ttd\}}|tt/j|||tt/j|||t|||t||td	\}}t1d|t1d||tt/j||dd|tt/j||dd|t||dd|t||ddttd\}}t1d|t1d||tt/j||dd|tt/j||dd|t||dd|t||ddtt4jdzD]t}||t;td	td	\}}||||||||udS)Nrrrr	rrrrrrinvalidr7c,g|]}t|Srrrs  rr_z)TestBasicOps.test_tee.<locals>.<listcomp>s666!d1gg666rrT	__class__r`<r)teerprr,rr*rrreshufflerrrkrqrrrrrproxygetattrrrReferenceErrorrrArrXrr}r)r1r+rwrxrrorderlistsitsrryrrt1t2tnewt3rArlong_ansr\s                     rtest_teezTestBasicOps.test_tees2ww1a"%%%a"%%%6!99~~1aDq588$<$<===6!99~~1a$uQxx..111a$uQxx..1116!99~~1s	)	)AT!WWa((((
a$uQxx..1116!99~~1s	)	)AT!WWa((((
a$uS!}}"5"5666q		7		7ACEQCEMEN5!!!HEfQii..C
'
'SVa&&&&U1XtE!HH~~666U1XtE!HH~~6666	
)S))))S!,,,)S1Q%555)S1Q%C8885zz1DGGENNa$u++...eDkk1%%1as	)	)AT!WWa((((a$uT{{"3"3444$q''477+T%((^^<<<a$uS"7"7888a$uQt}}"5"5666	
)S%;;;*c2r222q	I	IA]]FT&\\5111S[[!,,,66v666e
aHHHH5zz11vv1QUBBxx)T***)T2...
T"XXRDHHGGGGRGGGGDKKGGGGHHH599~~1M!K00$q'':::
.'1kBBB5kke%%5zz1dill++S111dill++S1114e%%&&1dill++X666dill++X6665zz1Q


Q


dill++SW555dill++SW555a#abb'***a#abb'***5<<  1S!Rdill++Xcdd^<<<dill++Xbcc];;;a(344.111a(233-0005zz1dmA..//555dmA..//555a#&&&a#&&&5<<  1dmA..//:::dmA..//:::a(+++a(+++5zz1Q


Q


dmA..//QRR999dmA..//QRR999a#abb'***a#abb'***5<<  1S!RdmA..//#$$@@@dmA..//"##???a(344.111a(233-00062Q677	3	3EOOE4E

#3#3444u::DAqOOE1cO222OOE1cO2222		3	3rcxttdd\}}	t|~dS#~~xYw)Ni-1)rrr])r1forwardbackwards   rtest_tee_del_backwardz"TestBasicOps.test_tee_del_backwardQsFtX 6 677	LLL	s49cGfdd}t|\}|td5t|ddddS#1swxYwYdS)Nc$eZdZdZdZfdZdS)(TestBasicOps.test_tee_reenter.<locals>.ITc|Srrr0s rr2z1TestBasicOps.test_tee_reenter.<locals>.I.__iter__]r/rcF|j}d|_|rtSdSNF)firstrr)r1rrxs  rr7z1TestBasicOps.test_tee_reenter.<locals>.I.__next___s.
"
#77N##rN)r:r;r<rr2r7rUsrrFr[sBE



#
#
#
#
#
#
#rrFr)rassertRaisesRegexrhrr)r1rFrwrxs   @rtest_tee_reenterzTestBasicOps.test_tee_reenterZs	#	#	#	#	#	#	#	#	#	#1133xx1

#
#L%
8
8		GGG																		sA##A'*A'cbtjtjGfdd}t|\}}tjt|g}|	|td5t	|dddn#1swxYwY	|
dS#	|
wxYw)Nc"eZdZdZfdZdS)+TestBasicOps.test_tee_concurrent.<locals>.Ic|Srrr0s rr2z4TestBasicOps.test_tee_concurrent.<locals>.I.__iter__nr/rcXdSr)rwait)r1finishrs rr7z4TestBasicOps.test_tee_concurrent.<locals>.I.__next__ps!		




rNr9)rrsrrFrmsB










rrF)rrr)	threadingEventrThreadrrrrrrhrjoin)r1rFrwrxthreadrrs     @@rtest_tee_concurrentz TestBasicOps.test_tee_concurrentisZ!!""											1133xx1!QC888	JJLLL''e<<

Q















JJLLLKKMMMMM
JJLLLKKMMMMs0/D3CDCDCD*D.c
|ttttt
ttfD]b}|tt|g|tt|tc|tttgd|ttttdtg\}}|tt||tt|tt\}}|tt||tt||tttddtttttt fD]f}|tt|dg|tt|dtgdS)Nrc|Srrrs rr]z1TestBasicOps.test_StopIteration.<locals>.<lambda>rrc|Srrrs rr]z1TestBasicOps.test_StopIteration.<locals>.<lambda>rr)rr6rrr
rrr'r.r?rrrRrrrrr)r1rrAqs    rtest_StopIterationzTestBasicOps.test_StopIterations-suu555W-	A	AAmT11R55999mT11WYY<<@@@@-vb$/?/?@@@-vgii/F/FGGG2ww1-q111-q111799~~1-q111-q111-vdA???+sIy'J	M	MAmT11ZZ3D3DEEEmT11ZZ3K3KLLLL	M	Mrctdggd}t|tj|tjt|dSrC)rrrgccollectr
is_trackedrs  rtest_combinations_result_gcz(TestBasicOps.test_combinations_result_gcsW
4*a
(
(R

	

d2hh//00000rctdggd}t|tj|tjt|dSrC)rrrrrrrrs  r,test_combinations_with_replacement_result_gcz9TestBasicOps.test_combinations_with_replacement_result_gcsU+D":q
9
9R


d2hh//00000rctdggd}t|tj|tjt|dSrC)rrrrrrrrs  rtest_permutations_result_gcz(TestBasicOps.test_permutations_result_gcsU4*a
(
(R


d2hh//00000rctdgg}t|tj|tjt|dSr)rrrrrrrrs  rtest_product_result_gcz#TestBasicOps.test_product_result_gcsSdBZ
 
 R


d2hh//00000rctgg}tj|tjt|dSr)rrrrrrrrs  rtest_zip_longest_result_gcz'TestBasicOps.test_zip_longest_result_gcsF"




d2hh//00000r)rbr	N)Cr:r;r<r}rrrrrrrbigaddrspacetestrimpl_detailrr+r.r0rBrDrFrVrirrrrrrrrrrrrrrr'r8r<rKrSrjrlrnrprtrzr}rrrrrrrrrrequires_working_threadingrrcpython_onlyrrrrrrrrraraTs*'$'$'$'$R!,!,!,F
7
7
7HHHPPPJJJNDNDND`
&&&
W=>>RR?>RJ:J:J:X
777
W=>>II?>I
=D=D=D~
%%%W=>>RR?>REEEBPPPD.,.,.,`585858nPPP"H"H"HHKKK>"D"D"DH@F@F@FD&&&6BBB--- W=>>88?>84(2(2(2TW=>><<?><===
/
/
/&2&2&2P&000d&&&,8F8F8Ft
222W=>>OO?>O
7
7
7222AAA4HHH&&&<&&&6\/\/\/|>>>(>>>"S3S3S3l


102232*MMM.

1
1
1
111
111
111
11111rraceZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdS)TestExamplescn|ttgdgddSNr	rrrbrr	rrrTr)rprrr0s rrzTestExamples.test_accumulates9j55668I8I8IJJJJJrcPgd}gd}ttjdzD]}t|}|ttjtj|||dd|t|d|ttjtj|||ddt|}|t|d|ttj
||dd|ttj	||dddS)Nrrr	)r*rXrrrprrYrZrrrr)r1rZaccumulatedr\rls     rtest_accumulate_reduciblez&TestExamples.test_accumulate_reduciblesn'''62Q677	[	[ED!!BT&,v|B/F/F"G"GHH+VWVWVW.YYYT"XXq)))T&,v|B/F/F"G"GHH+VWVXVX/ZZZZ


b1%%%dmB//00+abb/BBBdimm,,k!""o>>>>>rc6tgdtj}|t	|dttjdzD]N}t
jt
j	||}|t|ddgO|ttj|ddg|ttj|ddgdS)N)NNNr	TF)
rrDis_rprrr*rXrrYrZrrr)r1rlr\it_copys    rtest_accumulate_reducible_nonez+TestExamples.test_accumulate_reducible_nones
***HL
9
9b4(((62Q677	;	;El6<E#:#:;;GT']]T5M::::dmB//004-@@@dimm,,tUm<<<<<rct|dtddddSNrrDEFrX)rprrr0s rrzTestExamples.test_chains4ue!4!455x@@@@@rc|dtddgddSr)rprrrr0s rrz%TestExamples.test_chain_from_iterables<!4!4eU^!D!DEExPPPPPrc	|ttddgd|tttddgddS)Nrrrrbrr)rprrr*r0s rrzTestExamples.test_combinationssl615566[[[	]	]	]l588Q7788===	?	?	?	?	?rcl|ttddgddS)Nrrr)rprrr0s rr+z/TestExamples.test_combinations_with_replacementsG;E1EEFF[[[	]	]	]	]	]rc	|ttdgdtddS)NrXrYr\)rprrfr0s rrizTestExamples.test_compresss:hx??@@$v,,OOOOOrc	|tttddgddS)NrTr)rTrrrr)rprr?rzr0s rrzTestExamples.test_counts=fU2YY22335I5I5IJJJJJrc	|tttddtddS)NrrABCDABCDABCD)rprr?rr0s rrzTestExamples.test_cycles>fU6]]B7788$~:N:NOOOOOrc	r|ttdgdgddS)Nc|dkSNrrrs rr]z-TestExamples.test_dropwhile.<locals>.<lambda>
!A#rr	rbrrbr	)rrbr	)rprrr0s rrzTestExamples.test_dropwhiles:i

{{{CCDDgggNNNNNrc	D|dtdDtd|dtdDtdtdtdtd	gdS)
Ncg|]\}}|Srrrs   rr_z-TestExamples.test_groupby.<locals>.<listcomp>sCCC1!CCCrAAAABBBCCDAABBBABCDABc2g|]\}}t|Srrrs   rr_z-TestExamples.test_groupby.<locals>.<listcomp>s"FFF1477FFFr
AAAABBBCCDAAAABBBCCr)rpr'rr0s rrzTestExamples.test_groupbysCC0A(B(BCCCh	)	)	)FF0E0EFFFv,,UT$ZZcK	M	M	M	M	Mrc
|ttdtdgddS)Nc|dzSrrrs rr]z*TestExamples.test_filter.<locals>.<lambda>s
qsrrT)r	rrrr)rprrRr*r0s rrzTestExamples.test_filters<f]]E"II>>??MMMMMrc
|ttdtdgddS)Nc|dzSrrrs rr]z/TestExamples.test_filterfalse.<locals>.<lambda>s
AaCrrT)rrrbrr)rprrr*r0s rrzTestExamples.test_filterfalses<k--rCCDDkkkRRRRRrc	x|tttddgddS)N)rrrT)rrrrrrv)rprrrr0s rrzTestExamples.test_map	s6c#x99::MMMJJJJJrc
|ttddtd|ttdddtd|ttdddtd|ttddddtddS)	NrHrABrbCDCDEFGrACEG)rprr?r0s rrzTestExamples.test_islicesfY2233T$ZZ@@@fY15566T

CCCfY488994==IIIfY4;;<<d6llKKKKKrcl|ttddddgdS)Nrxyrrrr)rprr
r0s rrzTestExamples.test_zips5c&$//00:z2JKKKKKrc	p|ttdddgddS)Nrr!-r)r"r#)rr%)rr%)rprrr0s rtest_zip_longestzTestExamples.test_zip_longestsKk&$#FFFGGIII	K	K	K	K	Krc
J|ttddtttd|ttt
dgddS)Nrrz#AB AC AD BA BC BD CA CB CD DA DB DCr)r)rrr	)r	rr)r	rr)rrr	)rr	r)rprrrrsplitr*r0s rrBzTestExamples.test_permutationssl615566c%)N)T)T)V)VWWXX	Z	Z	Zl5884455OOO	Q	Q	Q	Q	Qrc
N|ttddtttd|ttt
ddgddS)Nrr!zAx Ay Bx By Cx Cy Dx Dyrrr)r)rrr	)rr	r)rr	r	)r	rrr])r	r	rr)rprrrrr(r*r0s rrjzTestExamples.test_productsgfd3344c%)B)H)H)J)JKKLL	N	N	NgeAhhq999::===	>	>	>	>	>rcl|ttddgddS)NrTr)rTrTrT)rprrr0s rrzzTestExamples.test_repeat&s2fRmm,,lll;;;;;rc	z|tttgdgddS)N))rrrrrr)rprrrr0s rtest_stapmapzTestExamples.test_stapmap)sFgc+A+A+ABBCC&	(	(	(	(	(rc	r|ttdgdddgdS)Nc|dkSr	rrs rr]z-TestExamples.test_takewhile.<locals>.<lambda>.r
rrr	rb)rprrr0s rrzTestExamples.test_takewhile-s:i

{{{CCDDqeLLLLLrN)r:r;r<rrrrrrr+rirrrrrrrrrr&rBrjrzr-rrrrrrsKKK
?
?
?===AAAQQQ???]]]PPPKKKPPPOOOMMMNNNSSSKKKLLLLLLKKKQQQ>>><<<(((MMMMMrrc*eZdZedZdZdS)TestPurePythonRoughEquivalentsc'Kt|}|jpd|jptj|jpd}}}t
t|||}	t|}n4#t$r'tt||D]\}}	YdSwxYw	t|D]\}}	||kr|	Vt|}dS#t$r+tt|dz||D]\}}	YdSwxYwr)slicerrnr~r{rrr*rrr6r
	enumerate)
rGrr[rrnrrlnextirrs
          rr?z%TestPurePythonRoughEquivalents.islice3sF4LGLq!&*?CK1Tt
%tT**
+
+	HHEE			!%,,99


7FF		
	'11
%
%
7::!MMM HHE
%
%			!%At"4"4h??


7


	s$A  -BB.C1C:9C:c
~|t|ddtd|t|dddtd|t|dddtd|t|ddddtdtt	d	}|t||d
tt	d
|t|tt	d
d	tt	d	}|t||d
d
g|t|tt	d
d	t}|t||dd
ddg|t
|d
dS)
NrHrrrbrrrrrTrr	r)rprr?rr*rzrr)r1rlrys   rtest_islice_recipez1TestPurePythonRoughEquivalents.test_islice_recipeIsdkk)Q7788$t**EEEdkk)Q::;;T$ZZHHHdkk)Q==>>W

NNNdkk)Qa@@AA4<<PPP
%))__dkk"a00114a>>BBBb4a#5#5666
%))__dkk"a3344b999b4a#5#5666GGdkk!Q26677!===a!$$$$$rN)r:r;r<staticmethodr?r7rrrr1r11s<\*%%%%%rr1ceZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdS)TestGCcR||t|~~dSr)rrr)r1iterator	containers   r	makecyclezTestGC.makecycle]s*"""XxxxrcXg}|tdd|dg|dSNr	rr)r>rr1rws  rrzTestGC.test_accumulatebs1z1Qq),,a00000rcPg}|t||dSr)r>rrAs  rrzTestGC.test_chainfs'uQxx#####rchg}|t|g|dSr)r>rrrAs  rrzTestGC.test_chain_from_iterablejs1u**A3//33333rcZg}|tdd|dgd|dSr@)r>rrAs  rrzTestGC.test_combinationsn3|Qq1Iq11155555rcZg}|tdd|dgd|dSr@)r>rrAs  rr+z)TestGC.test_combinations_with_replacementrs44a!AYBBAFFFFFrcVg}|tdgd|dS)NrX)r	rr	rr	r)r>rfrAs  rrizTestGC.test_compressvs/x---88!<<<<<rcg}tdtft|}|t	|d|d|dS)NIntrrr	)rqrrr>rz)r1rwrIs   rrzTestGC.test_countzsV53&$))),,uSSVVSSVV,,a00000rcXg}|t|gdz|dSr)r>rrAs  rrzTestGC.test_cycles-uaSU||Q'''''rcbg}|ttd||g|dSrL)r>rrrAs  rrzTestGC.test_dropwhiles1y1ay11155555rc\g}|t|gdzd|dS)Nrc|Srrrs rr]z%TestGC.test_groupby.<locals>.<lambda>sqr)r>r'rAs  rrzTestGC.test_groupbys3ws1ujj11155555rcd}d}tt||D]3\}}|jdg|4dS)NrTc|Srrrs rr]z'TestGC.test_issue2246.<locals>.<lambda>rrrr)r'r*__dict__
setdefaultr)r1r+rrrs     rtest_issue2246zTestGC.test_issue2246sh+E!HH'222	:	:DAq''B//66q9999	:	:rc\g}|td|gdz|dS)NcdS)NTrrs rr]z$TestGC.test_filter.<locals>.<lambda>strr)r>rRrAs  rrzTestGC.test_filters3vmmaSU33Q77777rcTg}|td||dS)NcdSrrrs rr]z)TestGC.test_filterfalse.<locals>.<lambda>sEr)r>rrAs  rrzTestGC.test_filterfalses-{>>155q99999rcbg}|t|gdz|gdz|dS)Nrr)r>r
rAs  rrzTestGC.test_zips7sA3q51#a%((!,,,,,rcg}|t|gdz|gdz||dg}|t|gdz|gdz||dS)Nrrr)r>r)r1rwrxs   rr&zTestGC.test_zip_longestso{A3q51#a%00!444
I{A3q51#a%1===qAAAAArc\g}|td|gdz|dS)Nc|Srrrs rr]z!TestGC.test_map.<locals>.<lambda>sArr)r>rrAs  rrzTestGC.test_maps3s::s1u--q11111rcZg}|t|gdzd|dSr)r>r?rAs  rrzTestGC.test_islices1vqc!eT**A.....rcXg}|t|gdz|dSr	)r>r;rAs  rr<zTestGC.test_pairwises-xA*****rcZg}|tdd|dgd|dSr@)r>rrAs  rrBzTestGC.test_permutationsrErc\g}|tdd|dgd|dS)Nr	rrr)r>rrAs  rrjzTestGC.test_products6w!Aay333Q77777rcPg}|t||dSr)r>rrAs  rrzzTestGC.test_repeats'vayy!$$$$$rc`g}|td||fgdz|dS)Nc|Srr)rLs rr]z%TestGC.test_starmap.<locals>.<lambda>s!rr)r>rrAs  rrzTestGC.test_starmaps7w||qeWQY77;;;;;rc	dg}|ttdd||g|dS)Nr	r)r>rrrAs  rrzTestGC.test_takewhiles3y1a|44a88888rN)r:r;r<r>rrrrr+rirrrrrRrrrr&rrr<rBrjrzrrrrrr:r:[s   
111$$$444666GGG===111
(((666666:::888:::---BBB222///+++666888%%%<<<99999rr:c#K	|D]}|VdSrrseqnrs  rRrfs-
rceZdZ	dZdZdS)Gc||_dSrrer1res  rr-z
G.__init__s
			rc|j|Srrj)r1rs  r__getitem__z
G.__getitem__sy|rN)r:r;r<r-rmrrrrhrhs5 rrhc"eZdZ	dZdZdZdS)rFc"||_d|_dSrLrdrks  rr-z
I.__init__	rc|Srrr0s rr2z
I.__iter__r3rc|jt|jkrt|j|j}|xjdz
c_|SrCrrrer6r1r$s  rr7z
I.__next__>6S^^##=%8Idf!rNr1rrrrFrFsD&rrFceZdZ	dZdZdS)Igc"||_d|_dSrLrdrks  rr-zIg.__init__rprc#&K|jD]}|VdSrrjrs  rr2zIg.__iter__s,9		CIIII		rNr:r;r<r-r2rrrrwrws5?rrwceZdZ	dZdZdS)r
c"||_d|_dSrLrdrks  rr-z
X.__init__rprc|jt|jkrt|j|j}|xjdz
c_|SrCrsrts  rr7z
X.__next__rurN)r:r;r<r-r7rrrr
r
s5&rr
ceZdZ	dZdZdS)Nc"||_d|_dSrLrdrks  rr-z
N.__init__rprc|Srrr0s rr2z
N.__iter__r3rNrzrrrrrs5!rrc"eZdZ	dZdZdZdS)Ec"||_d|_dSrLrdrks  rr-z
E.__init__rprc|Srrr0s rr2z
E.__iter__r3rcddzdS)Nrrrr0s rr7z
E.__next__s	QrNr1rrrrrsD$rrc"eZdZ	dZdZdZdS)ScdSrrrks  rr-z
S.__init__src|Srrr0s rr2z
S.__iter__r3rctrr5r0s rr7z
S.__next__	r8rNr1rrrrrsD


rrc	ttdttt	|S)Nc|Srrrs rr]zL.<locals>.<lambda>sar)rrrfrwrhrjs rLrs1&ZZ2agg;;00111rcteZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdS)TestVariousIteratorArgsc
gd}gd}t|}ttttt
fD];}|tt|||<|ttt|g|
ttt||
ttt||
tttt|dSr)rrhrFrwrrfrprrrrrkr
rZeroDivisionErrorr)r1r[rNr+rs     rrz'TestVariousIteratorArgs.test_accumulatesKKMMFFQAq!	8	8AT*QQqTT"2"233Q7777j1..//444)Z1666)Z1666+T:add3C3CDDDDDrcddtddtdddfD]}ttttt
tfD]}|tt||t|||tt||||t||t||z|
tttt||
tttt||
tttt|dSN123rrvdog333333?rr)r*rhrFrwrrrfrprrrrkr
rrrr1r[rs   rrz"TestVariousIteratorArgs.test_chains`U4[[+uT$q7I7IJ	D	DAB1a(
Q
Q  eAAaDDkk!2!2D1JJ???  eAAaDD!!A$$&7&7!8!8$qqtt**T!!A$$ZZ:OPPPPiuQqTT{{;;;iuQqTT{{;;;/uQqTT{{CCCC
	D	DrcddtddtdddfD]Y}t|}tttt
ttfD]_}|tt||tdt||`|ttt|td|ttt|td|t ttt#|td[dS	Nrrrvrrrrr	)r*rrhrFrwrrrfrprrfrrrkr
rrr)r1r[r+rs    rriz%TestVariousIteratorArgs.test_compress's*U4[[+uT$q7I7IJ	R	RAAAB1a(
N
N  hqqttVAYY&?&?!@!@$qqtt**MMMMi1Q44CCCi1Q44CCC/x!fQii7P7PQQQQ
	R	Rrc	fddtddtdddfD]}|ttt	||ttt||ttt|dSr)r*rrkrr
rrr)r1r[s  rrjz$TestVariousIteratorArgs.test_product0sU4[[+uT$q7I7IJ	@	@Ai!A$$777i!A$$777/!A$$????	@	@rcddtddtdddfD]9}ttttt
tfD]x}t|dz}t||dz}ttt|||}|||y|ttt||ttt||t ttt#|;dS)	Nrrrvrrrrr)r*rhrFrwrrrfrrr?rrprrkr
rrr)r1r[rtgtlenrGactuals      rrz"TestVariousIteratorArgs.test_cycle6s U4[[+uT$q7I7IJ	D	DAB1a(
3
3Q!!::a<fU11Q44[[&99::  2222i!555i!555/uQqTT{{CCCC	D	Drc
tdtdtddtdddfD]}ttttt
tfD]N}|dt||Dt||O|
ttt||
ttt||
tttt|dS)	NrTrrvrrrrrcg|]\}}|Srr)r^r#sbs   rr_z8TestVariousIteratorArgs.test_groupby.<locals>.<listcomp>Ds!?!?!?2!!?!?!?r)r*rhrFrwrrrfrpr'rrrkr
rrrrs   rrz$TestVariousIteratorArgs.test_groupbyAs))U1XXuT{{FE$tA<N<NO	F	FAB1a(
M
M  !?!?1!?!?!?aaddLLLLi!A$$777i!A$$777/wqtt}}EEEE	F	FrctdtdtddtdddfD]'}ttttt
tfD]T}|ttt||d||DU|tttt||tttt||ttttt!|)dS)	NrTrrvrrrrc0g|]}t||Sr)r"rs  rr_z7TestVariousIteratorArgs.test_filter.<locals>.<listcomp>Ms#!?!?!?VAYY!?!!?!?!?r)r*rhrFrwrrrfrprrRr"rrkr
rrrrs   rrz#TestVariousIteratorArgs.test_filterIs())U1XXuT{{FE$tA<N<NO	M	MAB1a(
A
A  fVQQqTT&:&:!;!;!?!?QQqTT!?!?!?AAAAi1>>>i1>>>/vfadd7K7KLLLL
	M	MrctdtdtddtdddfD]'}ttttt
tfD]T}|ttt||d||DU|tttt||tttt||ttttt!|)dS)	NrTrrvrrrrc0g|]}t||Sr)r%rs  rr_z<TestVariousIteratorArgs.test_filterfalse.<locals>.<listcomp>Vs#!>!>!>U1XX!>!!>!>!>r)r*rhrFrwrrrfrprrr"rrkr
rrrrs   rrz(TestVariousIteratorArgs.test_filterfalseRs())U1XXuT{{FE$tA<N<NO	R	RAB1a(
@
@  k&!!A$$&?&?!@!@!>!>QQqTT!>!>!>@@@@ifaddCCCifaddCCC/{61Q447P7PQQQQ
	R	Rrc:ddtddtdddfD]u}ttttt
tfD]}|tt||t|||tt||||t|||||ttt||ttt||tttt!|wdSr)r*rhrFrwrrrfrprr
rrrkr
rrrrs   rrz TestVariousIteratorArgs.test_zip[sIU4[[+uT$q7I7IJ	B	BAB1a(
J
J  c!!A$$ii$qqtt**===  c!!A$$!oo!6!6QQqTT11Q448H8HIIIIiadd333iadd333/s1Q44yyAAAA
	B	Brc
nddtddtdddfD]}ttttt
tfD]}|tt||tt|||tt||||tt|||||ttt||ttt||tttt!|dSr)r*rhrFrwrrrfrprrr
rrkr
rrrrs   rrz'TestVariousIteratorArgs.test_ziplongestds^U4[[+uT$q7I7IJ	J	JAB1a(
W
W  k!!A$$&7&7!8!8$s11Q44yy//JJJ  k!!A$$!&=&=!>!>S1qqQRtt__@U@UVVVViadd;;;iadd;;;/{1Q447H7HIIII
	J	Jrc
tdtdtddtdddfD]}ttttt
tfD]}|ttt||d||D|tttj||||d	||D|
tttt||
tttt!||
t"tttt%|dS)
NrTrrrrrrc,g|]}t|Sr)rrs  rr_z4TestVariousIteratorArgs.test_map.<locals>.<listcomp>qs!:!:!:&))!:!:!:rcg|]}||zSrrrs  rr_z4TestVariousIteratorArgs.test_map.<locals>.<listcomp>s!5!5!51!Q$!5!5!5r)r*rhrFrwrrrfrprrrrDrrrkr
rrrrs   rrz TestVariousIteratorArgs.test_mapmsy))U1XXuSzz65Bq>>J	J	JAB1a(
7
7  c&!!A$$&7&7!8!8!:!:QQqTT!:!:!:<<<  c(,!aadd&C&C!D!D!5!5!!5!5!57777ifadd;;;ifadd;;;/s61Q447H7HIIII	J	JrcddtddtdddfD]!}ttttt
tfD]]}|tt||ddd	t||ddd	^|
ttt|d
|
ttt|d
|
tttt|d
#dS)N12345rrvrrrrr	rrT)r*rhrFrwrrrfrprr?rrkr
rrrrs   rrz#TestVariousIteratorArgs.test_islicexs2uT{{KtD9K9KL	I	IAB1a(
P
P  fQQqTT!D&;&;!<!<d11Q44jjA>NOOOOi1r:::i1r:::/vaddB7G7GHHHH	I	Irc
ddtddtdddfD];}ttttt
tfD]z}t||}tt||dd}tt||}|
||{|ttt||ttt||tttt!|=dSr)r*rhrFrwrrrfrr
r;rprrkr
rrr)r1r[rr@rGrs      rr<z%TestVariousIteratorArgs.test_pairwises"U4[[+uT$q7I7IJ	G	GAB1a(
3
311Q44jjCQRR 1 122hqqttnn--  2222i1Q44888i1Q44888/x!~~FFFF	G	GrctdtdtddtdddfD]K}ttttt
tfD]i}t||}|tttj||d||Dj|
tttjt||
tttjt!||
t"tttjt%|MdS)	NrTrrrrrrcg|]}||zSrrrs  rr_z8TestVariousIteratorArgs.test_starmap.<locals>.<listcomp>rr)r*rhrFrwrrrfrrprrrDrrrkr
rrr)r1r[rsss    rrz$TestVariousIteratorArgs.test_starmaps5))U1XXuSzz65Bq>>J	U	UAB1a(
7
7!QZZ  ghlAAbEE&B&B!C!C!5!5!!5!5!57777i(,"FFFi(,"FFF/wx|QrUU7S7STTTT	U	UrctdtdtddtdddfD]J}ttttt
tfD]w}g}||D](}t|sn||)|	ttt|||x|tttt||tttt||t tttt#|LdSNrTrrvrrrr)r*rhrFrwrrrfr"rrprrrrkr
rrrr1r[rtgtrs     rrz&TestVariousIteratorArgs.test_takewhilesF))U1XXuT{{FE$tA<N<NO		P		PAB1a(
E
EAaDD%%D!$<<.JJt$$$$  i!&=&=!>!>DDDDiFAaDDAAAiFAaDDAAA/y17N7NOOOO		P		PrctdtdtddtdddfD]K}ttttt
tfD]x}g}||D])}|st|r||*|	ttt|||y|tttt||tttt||t tttt#|MdSr)r*rhrFrwrrrfr%rrprrrrkr
rrrrs     rrz&TestVariousIteratorArgs.test_dropwhilesI))U1XXuT{{FE$tA<N<NO		O		OAB1a(
D
DAaDD%%D85;;8JJt$$$$  iqqtt&<&<!=!=sCCCCiE1Q44@@@iE1Q44@@@/y!7M7MNNNN		O		Orc
ddtddtdddfD]V}ttttt
tfD]}t||\}}|t|t|||t|t|||
ttt||
ttt||
tttt|dXdS)	Nrrrvrrrrr)r*rhrFrwrrrfrrprrrkr
rrr)r1r[rit1it2s     rrz TestVariousIteratorArgs.test_tees.U4[[+uT$q7I7IJ	E	EAB1a(
8
8qqtt99S  cD1JJ777  cD1JJ7777iadd333iadd333/s1Q44yy|DDDD	E	ErN)r:r;r<rrrirjrrrrrrrrr<rrrrrrrrrsH	E	E	EDDDRRR@@@	D	D	DFFFMMMRRRBBBJJJ	J	J	JIII	G	G	GUUU
P
P
P
O
O
OEEEEErrceZdZdZdZdS)LengthTransparencycJ|tjtddd|tjtddd|tjtddddS)NrrrrprDlength_hintrr0s rrzzLengthTransparency.test_repeats-fT2.>.>??DDD-fT1oo>>BBB-fTllB??DDDDDrc|tjtddd|tjtddd|tjtddd|tjtddddS)Nr7rrr|rr0s rr}z2LengthTransparency.test_repeat_with_negative_timess-fT2.>.>??CCC-fT2.>.>??CCC-fT.D.D.DEEqIII-fT.D.D.DEEqIIIIIrN)r:r;r<rzr}rrrrrs:EEE
JJJJJrrcreZdZdZdZejejddZdZ	dZ
dS)RegressionTestscd}fd}g|d|dtt}||dS)Ncdgffd	}t|}t||dd<t||}t|gt|zt	dS)Nr	cF|r|dd=t|Srr)rrrzs  rrz@RegressionTests.test_sf_793826.<locals>.mutatingtuple.<locals>.gs.aaaAd1ggJJJr)rrr
rrr)tuple1rtuple2ritemsgenrs `    @r
mutatingtuplez5RegressionTests.test_sf_793826.<locals>.mutatingtuples!"s







LLEfE!A#Ja--CcU3v;;&'AGGGGGrc>|attdd<dSr)Tr)rLrs rrz)RegressionTests.test_sf_793826.<locals>.fsAAwwE!!!HHHrr)rbrr)rrrp)r1rrsecondrs    @rtest_sf_793826zRegressionTests.test_sf_793826sm
	
	
						

gq'***a'''''rc
$fd}fd}g|ttt||d|ddgg|ttt||d|ddgg|ttt||ddgdS)Nc3rKddVdtr)rAssertionError)histsrgen1z,RegressionTests.test_sf_950057.<locals>.gen1s4KKNNNGGGKKNNN  rc3hKddVddS)Nrrrb)r)rrs rgen2z,RegressionTests.test_sf_950057.<locals>.gen2s2KKNNNGGGKKNNNNNrFrr	T)rrrrrpr)r1rrrs   @rtest_sf_950057zRegressionTests.test_sf_950057s										
.$ddffdd5kk0J0JKKK!u%%%.$ddffdd4jj0I0IJJJ!u%%%.$ddff

>>>!u%%%%%rcpuctdtdD}|t5t|ddddS#1swxYwYdS)Nc3K|]}dVdS)rNr)r^unuseds  rrzERegressionTests.test_long_chain_of_empty_iterables.<locals>.<genexpr>	s" B B B B B B B Bri)rrr*rr6rrrs  r"test_long_chain_of_empty_iterablesz2RegressionTests.test_long_chain_of_empty_iterabless
 
  B B%// B B B
B
B


}
-
-		HHH																		sA))A-0A-cvfd}ttd|D]\}tdS)Nc:|dkrt|dkS)Nrrr)r+rxs rrz,RegressionTests.test_issue30347_1.<locals>.f
	s AvvQ6MrrT)r'r*r)r1rr#rxs   @rtest_issue30347_1z!RegressionTests.test_issue30347_1		sX					eBii++		FQGGGG		rcGfdd}dtttd|dtdD]}tddS)Nc"eZdZdZfdZdS),RegressionTests.test_issue30347_2.<locals>.KcdSrrrts  rr-z5RegressionTests.test_issue30347_2.<locals>.K.__init__	src>dz
dkrtddS)Nr	Tr)r1otherrrs  rrz3RegressionTests.test_issue30347_2.<locals>.K.__eq__	s'Q66DMMMtrN)r:r;r<r-r)rrsrKr	sB










rrrrTr	r)rrr'r*)r1rrrrs   @@rtest_issue30347_2z!RegressionTests.test_issue30347_2	s											
rA&&''*q		ADMMMM		rN)r:r;r<rrrskip_if_pgo_taskrequires_resourcerrrrrrrrs(((:&&&8
Wu%%&%




rrceZdZdZdS)SubclassWithKwargsTestcdtdddgftddgdfddgftdddgfdgftdddgfdgftddgdd	gfgd
ft
tddgfddgfttj	d
fddgftgdddfddgfttgdfdgfttgdfdd	gftddgfgdftdgdfddgfg}|D]\}}}||5Gdd|}||}|t%|||t)t|dd||t,5||ddidddn#1swxYwYdddn#1swxYwY|D]\}}}|tttfvr||5Gdd|}||ddi}|t%|||t)t|dd|||jddddn#1swxYwY|D]\}}}||5Gdd|}||ddi}|t%|||t)t|dd|||jddddn#1swxYwYdS)Nr5r	rrrxrrrrbr12)rsr,rr)r	rrrb)rrrb)r	rr	rr]rrceZdZdS)BSubclassWithKwargsTest.test_keywords_in_subclass.<locals>.subclassNrrrrsubclassr4	sDrrnewargceZdZdddZdS)LSubclassWithKwargsTest.test_keywords_in_subclass.<locals>.subclass_with_initNrc||_dSrr)r1rrs   rr-zUSubclassWithKwargsTest.test_keywords_in_subclass.<locals>.subclass_with_init.__init__D	s
&,r)r:r;r<r-rrrsubclass_with_initrC	s059-------rrc$eZdZddfd
ZxZS)KSubclassWithKwargsTest.test_keywords_in_subclass.<locals>.subclass_with_newNrcJtj|g|R}||_|Sr)super__new__r)clsrrr1rs    rrzSSubclassWithKwargsTest.test_keywords_in_subclass.<locals>.subclass_with_new.__new__N	s,.uwws:T:::&,#r)r:r;r<r
__classcell__)rs@rsubclass_with_newrM	sE37$$$$$$$$$$$rr)rr
rRrrrrjrrDrr?rr"rrrfsubTestr%rqrprrrkr)	r1rrrrrurrs	         rtest_keywords_in_subclassz0SubclassWithKwargsTest.test_keywords_in_subclass"	sVaV$
Aq64.8X"67
dQF^aS)
4!Q.1#.
aVaV$iii0
3A-#s,
x|%56A?
lllAq)Aq62
+aS1
+aV4
aVIyyy)
yyy)C:6

	"+	.	.Cvc""
.
.sHdO

d1ggx000  fQ1oo!6!6???&&y11..Hd-1---...............

.
.
.
.
.
.
.
.
.
.
.
.
.
.
."+
	.
	.CvvsH---c""
.
.--------'&7Q77

d1gg'9:::  fQ1oo!6!6???  1---
.
.
.
.
.
.
.
.
.
.
.
.
.
.
."+
	.
	.Cvc""	
.	
.$$$$$$$$
&%t6A66

d1gg'8999  fQ1oo!6!6???  1---	
.	
.	
.	
.	
.	
.	
.	
.	
.	
.	
.	
.	
.	
.	
.
	.
	.s]&BF)	E>2F>FFFFF	F	BI((I,	/I,	BL$$L(	+L(	N)r:r;r<rrrrrr!	s#3.3.3.3.3.rrc:eZdZdZejZdZdZdZdZ	dS)
SizeofTestc8tjd|_dS)Nr+)structcalcsizessize_tr0s rsetUpzSizeofTest.setUpZ	ss++rctjd}|j}|tdd|d|jzz|td|d|jzzdS)N3Pir12r)
rrrrrrrrrrrT)rcalcobjsizecheck_sizeofrr	r1basesizerIs   rtest_product_sizeofzSizeofTest.test_product_sizeof_	sk&u--!
gdD!!8a$,.>#>???
g
'B4E)EFFFFFrctjd}|j}|tdd|d|jzz|ttdd|d|jzzdSN3PnirrrTrb)rrrrr	r*rs   rtest_combinations_sizeofz#SizeofTest.test_combinations_sizeofe	sv&v..!
l61%%x!dl2B'BCCC
l599a(((Q5E*EFFFFFrct}tjd}|j}||dd|d|jzz||tdd|d|jzzdSr)rrrrr	r*)r1r(rrIs    r)test_combinations_with_replacement_sizeofz4SizeofTest.test_combinations_with_replacement_sizeofk	s}+&v..!
cc&!nnhT\)99:::
cc%))QA,<!<=====rctjd}|j}|td|d|jzzd|jzz|tdd|d|jzzd|jzz|tdd|d|jzzd|jzz|ttdd|d|jzzd|jzzdS)N4Pnirrbrr	rrT)rrrrr	r*rs   rtest_permutations_sizeofz#SizeofTest.test_permutations_sizeofr	s&v..!
l6""T\))A,<<	>	>	>
l61%%T\))A,<<	>	>	>
l7A&&T\))A,<<	>	>	>
l599a((dl**Q-==	?	?	?	?	?rN)
r:r;r<r
rrrrrrrrrrrX	so,,,'LGGGGGG>>>
?
?
?
?
?rrcR|tj|Sr)addTestdoctestDocTestSuite)loadertestspatterns   r
load_testsr#	s"	MM'&(()))Lr__main__)Brunittesttestrtest.supportr	itertoolsrdecimalr	fractionsrrDrerrX	functoolsrr~rrrMAX_Py_ssize_tr{minsizerrrr r"r%r'r,r.rArHrJrOrRrUr*rrTestCaserarr1r:rfrhrFrwr
rrrrrrrrrrr#r:mainrrr<module>r0sk))))))















				

 (1*
   ---
BB#eF$;a$?@@BBB
l1l1l1l1l18$l1l1l1^3kMkMkMkMkM8$kMkMkM\'%'%'%'%'%X%6'%'%'%Tg9g9g9g9g9X
g9g9g9R
								222
dEdEdEdEdEh/dEdEdELJJJJJ*JJJZZZZZh'ZZZz4.4.4.4.4.X.4.4.4.n	#?#?#?#?#?"#?#?#?L
zHMOOOOOr