python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_dict.cpython-312.opt-1.pyc

͑e`ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ddlmZm
Z
GddejZGddejZddl	mZGd	d
ej$ZGddeZGd
dej$Zedk(rej0yy)N)support)
import_helperC_RECURSION_LIMITc~eZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+d*Z,d+Z-d,Z.d-Z/d.Z0d/Z1d0Z2d1Z3d2Z4e5jld3Z7e5jld4Z8e5jld5Z9d6Z:e5jld7Z;e5jld8Z<e5jld9Z=e5jld:Z>e5jld;Z?e5jld<Z@e5jld=ZAd>ZBd?ZCd@ZDdAZEdBZFdCZGdDZHdEZIdFZJdGZKdHZLdIZMdJZNdKZOdLZPdMZQdNZRdOZSdPZTdQZUdRZVdSZWdTZXe5jldUZYe5jldVZZdWZ[yX)YDictTestc*Gddt}ddi|ddifD][}|jt5tdi|ddd|jt5ijdi|ddd]y#1swY<xYw#1swYtxYw)NceZdZy)7DictTest.test_invalid_keyword_arguments.<locals>.CustomN__name__
__module____qualname__B/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_dict.pyCustomr
rrr)dictassertRaises	TypeErrorupdate)selfrinvalids   rtest_invalid_keyword_argumentsz'DictTest.test_invalid_keyword_argumentss	T	AwAw/	%G""9-
 w
 ""9-
%		$G$
%
%	%
 
 
%
%sA=B	=B		B	cl|jti|jtiyN)assertEqualrassertIsNotrs rtest_constructorzDictTest.test_constructors&$$rc
ddD]}t|Dcgc]7}djtjtj
d|f9}}tj|d|D}ddj|zdz}|jt|t|ycc}w)N)rric3FK|]\}}dj||yw)z
{!r}: {:d}N)format).0kvs   r	<genexpr>z4DictTest.test_literal_constructor.<locals>.<genexpr>%s!KTQ|221a8Ks!{z, })
rangejoinrandomsamplestring
ascii_lettersshufflerevalr)rniitemsformatted_itemsdictliterals      rtest_literal_constructorz!DictTest.test_literal_constructors%	=A#Ah(ggfmmF,@,@!DEqI(E(NN5!KUKO		/ ::S@KT+.U<
	=(s<B-cdddd}dddd}|j}||z}|j||zddddd|j|ddddd|j}||z}|j||zddddd|j|ddddd|j}|gd	z}|j|ddddd|j|jdt|j|jd
t|j|jdt|j|jdt|jt|jd|j|jd
dddd|jt|jd|j|jdddddy)
Nrr)rrrrrrr?)rrrr?)rrr?r)rrrrr?r?rBADr&)	copyrassertIs__or__NotImplementedrr__ior__
ValueError)rabcs    rtest_merge_operatorzDictTest.test_merge_operator)saAaA
FFH	QQA!a 89aA!45
FFH	QQA!a 89aA!45
FFH	
%%aA!45

ahhtnn5

ahhrlN3

ahhuo~6

ahhrlN3)QYY52A!(:;*aii72A!(:;rc|jid|jddi|jtid|jtddidy)NTrrF)rF
assertTrueboolr!s r	test_boolzDictTest.test_boolIsJ

"fd#A

d2h&

dAq6lD)rci}|jt|jtddd}|j}|jt|ddh|jd||jd||jd||jd||j	t
|jd|jt
tdjdy)NrrrKrLrKrLrKzdict_keys(['a']))rsetkeysassertInrrreprr)rdr+s   r	test_keyszDictTest.test_keysOsQVVX.!
FFHQ#s,

c1

c1

c1

c1)QVVT2dQinn./1CDrcni}|jt|jtddi}|jt|jdh|jt|jd|jtt
djdy)NrrrUzdict_values([1]))rrVvaluesrrrYrrrZs  rtest_valueszDictTest.test_values\sQXXZ#%0
qEQXXZ1#.)QXXt4dQi..013EFrcni}|jt|jtddi}|jt|jdh|jt|jd|jtt
djdy)NrrrrrUzdict_items([('a', 1)]))rrVr:rrrYrr^s  r
test_itemszDictTest.test_itemsdsQWWY/
qEQWWY&2)QWWd3dQioo/02JKrcttj}Gddt}t|fD]}|}|jj}|jj}|j
j}|||fD]&}|j|||j||(d|d<|||fD]&}|j|||j||(y)NceZdZy))DictTest.test_views_mapping.<locals>.DictNrrrrDictreorrrfbarfoo)	type__dict__rrWmappingr]r:assertIsInstancer)	rmappingproxyrfclsrZm1m2m3ms	         rtest_views_mappingzDictTest.test_views_mappingmsDMM*	4	$<	'CA!!B##B""B"b\
'%%a6  A&
'AeH"b\
'%%a6  A&
'	'rc.i}|jd||jd|v|jd|vddd}|jd||jd||jd||j	t
|jy)NrKrrrTrLrM)assertNotInassertFalserPrXrr__contains__r^s  r
test_containszDictTest.test_containssa "1%!

c1

c1a )Q^^4rc~i}|jt|dddd}|jt|dy)NrrrrT)rlenr^s  rtest_lenzDictTest.test_lens9Q#!Q#rcXddd}|j|dd|j|ddd|d<d|d<|j|dd|j|dd|d=|j|ddd	|jt|jGfd
dt}i}d||<|jt
|jd
GddtGfddt}|}d||<d|_|j|j|y)NrrrTrKrLr?rM)rKrMceZdZfdZdZy)$DictTest.test_getitem.<locals>.BadEqcrrrotherExcs  r__eq__z+DictTest.test_getitem.<locals>.BadEq.__eq__
ercy)Nrr!s r__hash__z-DictTest.test_getitem.<locals>.BadEq.__hash__rNrr
rrrrsrBadEqrs


rr*ceZdZy)"DictTest.test_getitem.<locals>.ExcNrrrrrrrrceZdZdZfdZy)&DictTest.test_getitem.<locals>.BadHashFc,|jryNrfailrrs rrz/DictTest.test_getitem.<locals>.BadHash.__hash__99%KrNrr
rrrrsrBadHashr
D
rrT)rrr__getitem__objectKeyError	Exceptionr)rrZrrxrs     @rtest_getitemzDictTest.test_getitems!3#3###3#3#
cF!!,-)Q]]3	F	
%'
(AMM26")"	f	
I!#q}}a0rcdddd}|j|j|i|jt|jdyNrrr?r@)clearrrrr^s  r
test_clearzDictTest.test_clears<AO		B)QWWd3rci}|jddi|jddi|jdddd|j|dddd|j|j|dddd|jttf|jdGdd}|j|j||j|ddddGd	d
t|jGfdd}|j|j|Gfd
d}|j|j|Gfdd}|j|j|Gfddt}|jij||jtijdgy)Nrdrr?r@ceZdZdZdZdZy),DictTest.test_update.<locals>.SimpleUserDictcdddd|_yrrZr!s r__init__z5DictTest.test_update.<locals>.SimpleUserDict.__init__sarc6|jjSr)rZrWr!s rrWz1DictTest.test_update.<locals>.SimpleUserDict.keyssvv{{}$rc |j|Srr)rr9s  rrz8DictTest.test_update.<locals>.SimpleUserDict.__getitem__svvay rN)rr
rrrWrrrrSimpleUserDictrs
)
%
!rrceZdZy)!DictTest.test_update.<locals>.ExcNrrrrrrrrrceZdZfdZy)-DictTest.test_update.<locals>.FailingUserDictcrrrs rrWz2DictTest.test_update.<locals>.FailingUserDict.keys	rN)rr
rrWrsrFailingUserDictr
rrceZdZfdZdZy)rc*Gfdd}|S)Nc$eZdZdZdZfdZy)EDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonItercd|_yNrr9r!s rrzNDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__init__s	!"rc|Srrr!s r__iter__zNDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__iter__#rc0|jrd|_y)NrrKrrs r__next__zNDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__next__s66%&DF#&!	rNrr
rrrrrsr	BogonIterrs#$"rrr)rrrs  rrWz2DictTest.test_update.<locals>.FailingUserDict.keyss	"	"!{"rc|Srrrkeys  rrz9DictTest.test_update.<locals>.FailingUserDict.__getitem__s
rNrr
rrWrrsrrz-DictTest.test_update.<locals>.FailingUserDicts

#
rceZdZdZfdZy)rc$Gdd}|S)NceZdZdZdZdZy)rc$td|_y)NrK)ordr9r!s rrzNDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__init__s
!$Src|Srrr!s rrzNDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__iter__rrc|jtdkr,t|j}|xjdz
c_|St)Nzr)r9rchr
StopIteration)rrtns  rrzNDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__next__s766SX-"%dff+C FFaKF#&J++rNrrrrrzEDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIters*$,rrr)rrs  rrWz2DictTest.test_update.<locals>.FailingUserDict.keyss
,
,!{"rcrr)rrrs  rrz9DictTest.test_update.<locals>.FailingUserDict.__getitem__rrNrrsrrz-DictTest.test_update.<locals>.FailingUserDicts

#
rceZdZdZfdZy)$DictTest.test_update.<locals>.badseqc|Srrr!s rrz-DictTest.test_update.<locals>.badseq.__iter__rcrrrs rrz-DictTest.test_update.<locals>.badseq.__next__rrNrr
rrrrsrbadseqr


rr)	rrrrAttributeErrorrrrrJ)rrZrrrrs     @rtest_updatezDictTest.test_updates	!C	!B	Aa!qAO,	
qAO,9n5qxxF	!	!	
		!"qAO,")"					
#qxx):;			
#qxx):;		 	
#qxx):;	V		
#ryy&(3*bii)=rc
R|jtjdddddi|jjd|jjddddd|jjddddd|jjgid}|jj|ddi|j	t
ijdGdd	t}|j|jd
d
di|j|jd
d
di|j
|jd
||j
|jd
|Gddt}|jd
}|j|ddd|j
|tj|j	t
tjGddtGfddt}|j	|jdgGfddt}|j	tj|Gfddt}|j	|jdgtttdtd|jtjdtttddgdzGfddt}tdD	cic]}	|	|	c}	j}
|
jddd|j|jhd|
ycc}	w)NabcrKrLrM)r}rc3Kdywrrrrrgz!DictTest.test_fromkeys.<locals>.gsGsrr?ceZdZy)(DictTest.test_fromkeys.<locals>.dictlikeNrrrrdictlikerrrrrKceZdZdZy)&DictTest.test_fromkeys.<locals>.mydictc*tjSr)collectionsUserDict)rns r__new__z.DictTest.test_fromkeys.<locals>.mydict.__new__s"++--rNrr
rrrrrmydictrs
.rrabrTceZdZy)#DictTest.test_fromkeys.<locals>.ExcNrrrrrr$rrrceZdZfdZy)(DictTest.test_fromkeys.<locals>.baddict1crrrs rrz1DictTest.test_fromkeys.<locals>.baddict1.__init__'rrNrr
rrrsrbaddict1r&
rrceZdZdZfdZy)&DictTest.test_fromkeys.<locals>.BadSeqc|Srrr!s rrz/DictTest.test_fromkeys.<locals>.BadSeq.__iter__-rrcrrrs rrz/DictTest.test_fromkeys.<locals>.BadSeq.__next__/rrNrrsrBadSeqr,rrrceZdZfdZy)(DictTest.test_fromkeys.<locals>.baddict2crr)rrvaluers   r__setitem__z4DictTest.test_fromkeys.<locals>.baddict2.__setitem__5rrN)rr
rrrsrbaddict2r4rrrr$ceZdZfdZy)(DictTest.test_fromkeys.<locals>.baddict3cSrr)rnrZs rrz0DictTest.test_fromkeys.<locals>.baddict3.__new__?srNrrsrbaddict3r>s
rr

>rKrLrM)rrfromkeysr rrrlrrrrzipr0rEr)
rrrrudrrrr
r9resrrZs
           @@r
test_fromkeyszDictTest.test_fromkeyssu-Dd/MNE*A.E*4T,JKE!,aj9B,	AC1T(3)R[[!4"t"**3/#d<,,S1C:>h//4h?hj11#6A	.T	.__T
"$D12b+"6"67)T]]3")"	t		
#x001#6	V		
#t}}fh7	t		
#x001#6
U1XuQx()q!,d3uQx!Q3G.HI	t	""I&qQU&ffh

TTT
***?;SA
's
N$cdddd}|j|j||j|j||j|jdddd|j}d|d<|j|||jiji|j	t
|jdy)Nrrr?r@r})r rErassertNotEqualrr)rrZrEs   r	test_copyzDictTest.test_copyFsaA1%1%qQ1#56vvx!D!$B')QVVT2rcdD]}tj|dz||dzz}|j|5i}t|D]}|||<	|j	}|j|||j
||d|d<|j|||j
t|t|dzdddy#1swYxYw)N)rri'ir)	dict_sizerrr)	r2	randrangesubTestr0rEr rrrz)rrrZr9d2s     rtest_copy_fuzzzDictTest.test_copy_fuzzSs7
	6I((Q	IN :<I	2

6y)AAaDVVX  Q'  B'#5	##Ar*  R#a&1*5

6

6
	6

6

6sB
CC	cGdd}|}iddi|difD]J}|j}|jtj|tj|Ly)NceZdZy)0DictTest.test_copy_maintains_tracking.<locals>.ANrrrrArdrrrrKrval)rErgc
is_tracked)rrrrZrs     rtest_copy_maintains_trackingz%DictTest.test_copy_maintains_trackingcsb		csAhe-	BABR]]1-r}}R/@A	BrctdDcic]}||}}tdD]}||=|j}|j||ycc}w)Nri)r0rEr)rr+rZrs    rtest_copy_noncompactzDictTest.test_copy_noncompactmsY!;'aQT''s	A!	
VVXQ	
(s
Ac*i}|j|jdd|j|jdddddd}|j|jdd|j|jddd|j|jdd|j|jddd|jt|j|jt|jdddy)NrMr?rrrTrK)rFgetrrrr^s  rtest_getzDictTest.test_getzs

aeeCj$'sA*!

aeeCj$'sA*sQ'sA*)QUU+)QUUD$=rci}|j|jdd|jdg|j|jdd|jdgjd|j|ddd|jdgjd|jt	|dd|jt|jGddtGfd	d
t}|}d||<d|_	|j|j|gy)
Nkey0rr?rr}rceZdZy)%DictTest.test_setdefault.<locals>.ExcNrrrrrr+rrrceZdZdZfdZy))DictTest.test_setdefault.<locals>.BadHashFc,|jryrrrs rrz2DictTest.test_setdefault.<locals>.BadHash.__hash__rrNrrsrrr-rrrrT)
rF
setdefaultappendrrzrrrrr)rrZrrrs    @rtest_setdefaultzDictTest.test_setdefaults

all6*D1	VR 

all6*D1	UB&&q)5!a(	UB&&q)QuX*)Q\\2")"	f	
I!#q||Q3rc,Gddt}|}|di}|}|j|g|j|jd|j|jd|j|j|jzdy)NceZdZdZdZdZy)/DictTest.test_setdefault_atomic.<locals>.Hashedc d|_d|_yNr
hash_counteq_countr!s rrz8DictTest.test_setdefault_atomic.<locals>.Hashed.__init__"# !
rc.|xjdz
c_yNrrr8r!s rrz8DictTest.test_setdefault_atomic.<locals>.Hashed.__hash__1$rcZ|xjdz
c_t|t|k(Srr9idrrs  rrz6DictTest.test_setdefault_atomic.<locals>.Hashed.__eq__#

"
$x2e9,,rNrr
rrrrrrrHashedr4
"

-rrErr)rr/rr8r9rrEhashed1yhashed2s     rtest_setdefault_atomiczDictTest.test_setdefault_atomics		-V		-(
aL(	Wb!++Q/++Q/))G,<,<<a@rc
"Gddt}|}|dddddddddi}|}g||<|j|jd|j|jd|j|j|jzdy)NceZdZdZdZdZy)6DictTest.test_setitem_atomic_at_resize.<locals>.Hashedc d|_d|_yr6r7r!s rrz?DictTest.test_setitem_atomic_at_resize.<locals>.Hashed.__init__r:rc.|xjdz
c_yr<r=r!s rrz?DictTest.test_setitem_atomic_at_resize.<locals>.Hashed.__hash__r>rcZ|xjdz
c_t|t|k(Srr@rBs  rrz=DictTest.test_setitem_atomic_at_resize.<locals>.Hashed.__eq__rCrNrDrrrrErNrFrrErrrrr?)rrr8r9rGs     rtest_setitem_atomic_at_resizez&DictTest.test_setitem_atomic_at_resizes		-V		-(
aAq!Q1a0('
++Q/++Q/))G,<,<<a@rc	xdD]}tdD]}d|z}i}i}t|D]$}||t|<|dks||t|<&|dkDr|j}t|D]}}|jx\}}}	|j	|t||jx\}
}}|j	|t|
|j
|dkxr|	|k7|j
||j
|i}
|jt|
jy)N)rrr)	r0rYrEpopitemrintrvrr)rcopymodelog2sizesizerKrLr9kavatakbvbtbrZs              rtest_popitemzDictTest.test_popitems:	$H""I
$({t'A!"Ad1gJ!|%&$q'
'a<At@A"#))+-FBR$$RR1"#))+-FBR$$RR1$$X\%>bBh?@  #  ##
$	$,
(AII.rci}d\}}|||<|jt|jd|j|j|||jt	|d|jt|j||j|j||||||<|j|j|d||jt
|jGddtGfddt}|}d	||<d
|_|j|j|y)N)rdefghirrceZdZy)DictTest.test_pop.<locals>.ExcNrrrrrrfrrrceZdZdZfdZy)"DictTest.test_pop.<locals>.BadHashFc,|jryrrrs rrz+DictTest.test_pop.<locals>.BadHash.__hash__rrNrrsrrrhrrrrT)	rrpoprrzrrrr)rrZr+r,rrrs      @rtest_popzDictTest.test_pops1!(AEE51q1%Q#(AEE1-q!a(!q!a()QUU+")"	f	
I!#quua(rci}d|d<|jt5|D]
}d||dz<	dddy#1swYyxYwrrRuntimeErrorrrZr9s   rtest_mutating_iterationz DictTest.test_mutating_iterationsO!


|
,	
!A#
				7Aci}d|d<|jt5|D]
}|d=d|d<	dddy#1swYyxYwr6rmros   rtest_mutating_iteration_deletez'DictTest.test_mutating_iteration_deletesR!


|
,	
aD!
			rqci}d|d<|jt5|jD]
}|d=d|d<	dddy#1swYyxYwr6)rrnr]ros   r*test_mutating_iteration_delete_over_valuesz3DictTest.test_mutating_iteration_delete_over_valuessX!


|
,	XXZ
aD!
			AAci}d|d<|jt5|jD]
}|d=d|d<	dddy#1swYyxYwr6rrnr:ros   r)test_mutating_iteration_delete_over_itemsz2DictTest.test_mutating_iteration_delete_over_items sX!


|
,	WWY
aD!
			rvcGfddd}d}|di}||f_d||<|j||diy)Nc(eZdZdZdZdZfdZy)/DictTest.test_mutating_lookup.<locals>.NastyKeyNc||_yr)r)rrs  rrz8DictTest.test_mutating_lookup.<locals>.NastyKey.__init__.s	"
rcyrrr!s rrz8DictTest.test_mutating_lookup.<locals>.NastyKey.__hash__1srcjrj\}}d_||=|j|jk(Sr)mutate_dictr)rrrrNastyKeys    rrz6DictTest.test_mutating_lookup.<locals>.NastyKey.__eq__5s=''"*"6"6KFC+/H(szzU[[00r)rr
rrrrr)rsrrr|+sK
#

1rrrr)rr)rkey1key2rZrs    @rtest_mutating_lookupzDictTest.test_mutating_lookup)sS	1	1"{{
1I !4y$T1I&rcDi}|jt|dd|d<|jt|di}||d<|jt|dGddtGfdd	t}d|i}|j	t|y)
Nz{}rrz{1: 2}z
{1: {...}}ceZdZy)DictTest.test_repr.<locals>.ExcNrrrrrrLrrrceZdZfdZy)#DictTest.test_repr.<locals>.BadReprcrrrs r__repr__z,DictTest.test_repr.<locals>.BadRepr.__repr__OrrN)rr
rrrsrBadReprrNrrr)rrYrrr)rrZrrs   @r	test_reprzDictTest.test_reprCsa$'!a(+!a,/")"	f		N#tQ'rcti}ttdzD]}d|i}|jtt|yr)r0rrRecursionErrorrYros   rtest_repr_deepzDictTest.test_repr_deepUs<(1,-	AAA	.$2rc|jii|jddiddiGddtGfddt}|di}ddi}|j5||k(dddy#1swYyxYw)NrrceZdZy)DictTest.test_eq.<locals>.ExcNrrrrrr_rrrceZdZfdZdZy) DictTest.test_eq.<locals>.BadCmpcrrrs  rrz'DictTest.test_eq.<locals>.BadCmp.__eq__brrcyrrr!s rrz)DictTest.test_eq.<locals>.BadCmp.__hash__drNrrsrBadCmpras


rr)rrrr)rrd1rrs    @rtest_eqzDictTest.test_eq[sR !Q!Q(")"	V	h]V


s
#	"H			s(A77BcL|jd|jdy)Nc"|jSr)rWrs r<lambda>z.DictTest.test_keys_contained.<locals>.<lambda>nsQVVXrc"|jSrr:rs rrz.DictTest.test_keys_contained.<locals>.<lambda>osQWWYr)helper_keys_containedr!s rtest_keys_containedzDictTest.test_keys_containedms ""#56""#67rcb|t}|t}|ddd}|dddd}|dddd}|dddd}|j||k|j||k|j||kD|j||k\|j||k\|j||kD|j||k|j||k|j||k|j||k|j||kD|j||k\|j||k\|j||k|j||kD|j||k|j||k(|j||k7|j||k(|j||k7|j||k(|j||k7|j||k7|j||k(y)Nrrrar?r@)r}rr?)rrPrv)rfnemptyempty2smallerlargerlarger2larger3s        rrzDictTest.helper_keys_containedqs
46
DFQZ.qAO$Q!_%Q!_%6)*6)*')*')*F*+F*+G+,G+,G+,G+,G+,G+,	
6)*6)*6)*6)*')*6)*	
(&)')*()	
')*7*+rcGdd}d|i}d|i}|jt5|j|jk(ddd|jt5|j|jk7ddd|jt5|j|jkddd|jt5|j|jk\ddd||d}|jt5|j|jkddd|jt5|j|jkDdddy#1swYUxYw#1swY#xYw#1swYxYw#1swYxYw#1swY{xYw#1swYyxYw)NceZdZdZy)9DictTest.test_errors_in_view_containment_check.<locals>.CctrrnrBs  rrz@DictTest.test_errors_in_view_containment_check.<locals>.C.__eq__s""rNrr
rrrrrCrs
#rrrrarx)rrrrd3s     r%test_errors_in_view_containment_checkz.DictTest.test_errors_in_view_containment_checks	#	#XX


|
,	%HHJ"((*$	%


|
,	%HHJ"((*$	%


|
,	%HHJ"((*$	%


|
,	%HHJ"((*$	%



|
,	$HHJ#	$


|
,	$HHJ#	$	$	%	%	%	%	%	%	%	%	$	$	$	$sG"F'1"F40"G/"G
="G<"G%'F14F>G

GG"%G.c&dddj}ddddj}ddij}|j||z
t|j||z
ddh|j||z
dh|j||z
dh|j||zddh|j||zt|j||zhd|j||zdh|j||zhdy)	Nrrrar?r@r}>rrr?>rrr})rWrrVrk1k2k3s    r$test_dictview_set_operations_on_keysz-DictTest.test_dictview_set_operations_on_keyssQZ__
Q!_
!
!
#UZZ\b#%(b1Q%(b1#&b1#&b1Q%(b#%(b'*b1#&b'*rc&dddj}ddddj}ddij}|j||z
t|j||z
ddh|j||z
d	h|j||z
d
h|j||zddh|j||zt|j||zhd|j||zd	h|j||zhdy)
Nrrrar?r@r}rArBrCr}r}>rArBrC>rArBr)r:rrVrs    r%test_dictview_set_operations_on_itemsz.DictTest.test_dictview_set_operations_on_itemssQZ


Q!_
"
"
$U[[]b#%(b5%.1b5'*b5'*b5%.1b#%(b"78b5'*b"78rctj}tdD]}tdDcic]}|ds||d}}tdDcic]}|ds||d}}|j||5t	|jt	|jz}|j|jz}|j
||dddycc}wcc}w#1swYxYw)Nrrrr?)leftright)r2rr0rrVr:r)rrr_rrrexpectedactuals        rtest_items_symmetric_differencez(DictTest.test_items_symmetric_differences


s	3A%*2Y8"Q%AbeG8D8&+Bi92a5Qr!uW9E94u5
3tzz|,s5;;=/AA
5  2
3
3	389
3
3s#
C4C4
C9"C9A'C>>D	cl|jddijdhk(|jdhddijk(|jddijdhzddh|jdhddijzddh|jddijdhk(|jdhddijk(|jddijdhzddh|jdhddijzddhy)NrrrA)rPrWrr:r!s r"test_dictview_mixed_set_operationsz+DictTest.test_dictview_mixed_set_operationss
1

+,!uzz|+,!A+aV4!!uzz|+aV41
%01Aa5;;=01!A!,uaj9!!u{{},uaj9rc|jttd|jtidGddt}|ddd}|j|dd|j|dd|j	d||j	d|j|j|dd	Gd
dt}|}|j
t5}|d	ddd|jjjdGd
dt}|}|j
t5}|d	ddd|j|jjdGddt}|}	|j
t5}|	d	ddd|j|jjdy#1swYxYw#1swYxYw#1swYHxYw)N__missing__ceZdZdZy) DictTest.test_missing.<locals>.Dcyrrrs  rrz,DictTest.test_missing.<locals>.D.__missing__rrNrr
rrrrrDrs
rrrr})rr?rr?rceZdZdZy) DictTest.test_missing.<locals>.Ect|rrrs  rrz,DictTest.test_missing.<locals>.E.__missing__s
"3''rNrrrrErs
(rr)rceZdZdZy) DictTest.test_missing.<locals>.Fcd|_y)Ncyrr)rs rrz;DictTest.test_missing.<locals>.F.__init__.<locals>.<lambda>sr)rr!s rrz)DictTest.test_missing.<locals>.F.__init__s
#3 rNrrrrFrs
4rrceZdZy) DictTest.test_missing.<locals>.GNrrrrGrrrr)rvhasattrrrrurWrrn	exceptionargsr)
rrrZrerMrfrrs
          rtest_missingzDictTest.test_missings}56]34		
!lO1q!1q!AAFFH%1r"	(	(
C


|
,	
bE	))51	4	4
C


x
(	A
bE	))51		
C


x
(	A
bE	))51%						s$1G$G0/G<$G-0G9<Hci}|jt5}|dddd|jjjdy#1swY0xYw)Nr)r)rrrrr)rrZrMs   rtest_tuple_keyerrorzDictTest.test_tuple_keyerrorsM


x
(	A
dG	))73		sA

AcGddtGfdd}i}|}|}d||<dD]0}|j5t|tddd2y#1swY=xYw)NceZdZy).DictTest.test_bad_key.<locals>.CustomExceptionNrrrrCustomExceptionrrrrceZdZdZfdZy))DictTest.test_bad_key.<locals>.BadDictKeyc,t|jSr)hash	__class__r!s rrz2DictTest.test_bad_key.<locals>.BadDictKey.__hash__sDNN++rc8t||jr|Sr)
isinstancer)rrrs  rrz0DictTest.test_bad_key.<locals>.BadDictKey.__eq__"seT^^4))rNrr
rrr)rsr
BadDictKeyrs

,
rrr)z	d[x2] = 2z	z = d[x2]zx2 in dz	d.get(x2)zd.setdefault(x2, 42)z	d.pop(x2)zd.update({x2: 2}))rrexeclocals)rrrZx1x2stmtrs      @rtest_bad_keyzDictTest.test_bad_keys~	i			

\
\"*	%D""?3
%T68$
%
%	%
%
%sA((A1	ci}tdD]}|||<	tdD]}||=tddD]}|||<	y)Nr	)r0ros   rtest_resize1zDictTest.test_resize15s]
q	AAaD	q	A!	q!	AAaD	rcGfddt}idd|<d|<d|<d|<d|<d	d
d<y)Nc eZdZdZfdZy) DictTest.test_resize2.<locals>.Xcy)Nrrr!s rrz)DictTest.test_resize2.<locals>.X.__hash__Jrrc*rjyNFr)rrrZresizings  rrz'DictTest.test_resize2.<locals>.X.__eq__LsGGIrNr)rZrsrXrIs


rrFrrr?r}rTr$r)r)rrrZrs  @@rtest_resize2zDictTest.test_resize2Es`		
!#!#!#!#!#!rc
||jt5ddzdddddddd}dddi}y#1swYi}yxYw)Nrr)rKrLrMrZrrrh)rZeroDivisionErrorr^s  r$test_empty_presized_dict_in_freelistz-DictTest.test_empty_presized_dict_in_freelist[sN

0
1	21f4dDD2A	2
	2
s0;cxGddt}tjtjtjf}|D]w}|}tj|}|di}|||_t|j|_	~~tj|j|ddyy)NceZdZy)+DictTest.test_container_iterator.<locals>.CNrrrrrr
frrrrzCycle was not collected)
rrr:r]rWweakrefrefr,iterrr collectrF)rrviewsr,objr	containers       rtest_container_iteratorz DictTest.test_container_iteratorcs		T[[$))4	BA#C++c"CaIiLCEKCEYJJLMM#%'@A	Brctjtj|jtj||yr)r rrvr!rts  r_not_trackedzDictTest._not_trackedss-





q)1-rc|jtj||tjtj|jtj||yr)rPr r!rrs  r_trackedzDictTest._trackedysB

a(!,







a(!,rcntdD]'}i}tdD]}||t|<||d<)y)Nrrh)r0str)rr9rZjs    r!test_string_keys_can_track_valuesz*DictTest.test_string_keys_can_track_valuessCr	AA2Y
#a&	
AeH		rcdddgf\}}}}|ji|j|d|||di|jddd|jdtd|jdti|jdgi|jdgfi|jdii|jdt	iy)	N?rK)rNrrr)rrL)r)NTFr)rrWrrrV)rrrIrws     rtest_track_literalszDictTest.test_track_literalss#y",
1a"1R1a*+c*+a#>?1fh-(	


q"g

q2%j!

q"g

q#%j!rc|Gddt}dddtfg|f\}}}}}t}|j|d|d<|j|d||<|j|d||<|j||j|j||d<|j	||j	|jd|d<|j||j|jt}t}||d<|j||j	|||d<|j	|tj|||g}|j|t}|j
||j|tj||||g}|j	|t}|j
||j	|t|||	}|j|t||||
}|j	|t}|j
|||	|j||j
||j	|t||f|dfg}|j|t||f||fg}|j	|t}|j
||f|dfg|j||j
||f||fg|j	|y)NceZdZy)-DictTest.test_track_dynamic.<locals>.MyObjectNrrrrMyObjectr#rrr$rrKrrr?r}rrIr)rrIrr)r)rrrrErrr)	rr$rrIrrorZdds	         rtest_track_dynamiczDictTest.test_track_dynamics	v	S1fh-XZ?
1aAF!!!!!!!!&&(#!

a

affh!!!&&(#
F
V!"

a1

bMM1a)$!
V
		!"MM1aA,'

a
V
		!

b1Q!1Q!$

aF	1Q!	1


a1a&1a&!"!1a&1a&!"

aF	1a&1a&!"!	1a&1a&!"

arcNGddt}|j|y)NceZdZy),DictTest.test_track_subtypes.<locals>.MyDictNrrrrMyDictr+rrr,)rr)rr,s  rtest_track_subtypeszDictTest.test_track_subtypess	T	

fhrcGdd}g}t|D]9}|}d\|_|_|_|j	|j
;|S)NceZdZy)(DictTest.make_shared_key_dict.<locals>.CNrrrrrr0rrrr@)r0rrIrr0rj)rr8rdictsr9rKs      rmake_shared_key_dictzDictTest.make_shared_key_dictsU		q	%AA#MACacLL$	%
rc6|jd\}}d|d<tj|}d|d<|jddtj|}d|d<|j	t|gd|j	t|gdy)zcsplit table must keep correct insertion
        order when attributes are adding using setdefault()rrrKrL)rrIrrKrL)rrIrrLrKN)r2sys	getsizeofr/rlist)rrKrLsize_asize_bs     rtest_splittable_setdefaultz#DictTest.test_splittable_setdefaults((+1#q!#	S!q!#a";<a";<rc|jd\}}tj|}|d=|jt5|d=ddd|jt
|ddg|jt
|gdd|d<|jt
|gd|jt
|gdy#1swYxYw)	z*split table must be combined when del d[k]rrINrrr%rrrrI)r2r4r5rrrr6)rrKrL	orig_sizes    rtest_splittable_delzDictTest.test_splittable_dels((+1MM!$	
cF


x
(	#		
a3*-a/2#a/2a/2		sCCc|jd\}}|jd|jt5|jdddd|j	t|ddg|j	t|gdd|d<|j	t|gd|j	t|gdy#1swYxYw)NrrIrrr%rr;)r2rjrrrr6rrKrLs   rtest_splittable_popzDictTest.test_splittable_pops((+1	c



x
(	
EE#J		
a3*-a/2#a/2a/2		sCCc|jd\}}d|d<|jt5|jddddy#1swYyxYw)z3pop a pending key in a split table should not crashrr}rKN)r2rrrjr?s   rtest_splittable_pop_pendingz$DictTest.test_splittable_pop_pendingsO((+1#


x
(	
EE#J			sA

Ac|jd\}}tj|}|j}|j	|d|jt5|d=ddd|jtj|||j	t|ddg|j	t|gdy#1swYixYw)z-split table must be combined when d.popitem()r)rr?rNrrIr%)	r2r4r5rVrrr
assertGreaterr6)rrKrLr<items     rtest_splittable_popitemz DictTest.test_splittable_popitem(s((+1MM!$	yy{x(


x
(	#		
3==+Y7a3*-a/2		s!C

CcGdd}|d}|d}|jt|jgdi}|j|j|jt|gdy)z0dict.update(other) must preserve order in other.ceZdZdZy)*DictTest.test_splittable_update.<locals>.Cc^|rd\|_|_|_yd\|_|_|_y)Nr@r)rorders  rrz3DictTest.test_splittable_update.<locals>.C.__init__<s)-4*DFDFDF-4*DFDFDFrNrrrrrrI;s
5rrTF)rMrLrKN)rr6rjr)rrr&rZs    rtest_splittable_updatezDictTest.test_splittable_update8sb	5	5
dG
eHajj)?;	a/2rcGdd}|}d|_|j}tj|}d|d<|j	tj|||jt
|ddgy)zMsplit table must be correctly resized and converted to generic combined tableceZdZy)<DictTest.test_splittable_to_generic_combinedtable.<locals>.CNrrrrrrOLrrrrrrN)rrjr4r5rDrr6)rrrKrZ
before_resizes     r(test_splittable_to_generic_combinedtablez1DictTest.test_splittable_to_generic_combinedtableIsm		
C
JJ

a(
!3==+];a3(+rc
ttjdzD]}dddd}t|}tj||}tj
|}|j
t|t|tj
|}	t|}tj||}tj
|}||=|j
t|t|y#t$rYwxYwNrrKrLrMr@)
r0pickleHIGHEST_PROTOCOLr
dumpsloadsrr6nextrrprotodataitrZdrops      rtest_iterator_picklingzDictTest.test_iterator_picklingXs622Q67	3ESC(DdBR'AaBT"XtDz2aB
BxR'AaBT
T"XtDz2	3!

sC66	DDc<ttjdzD]}dddd}t|j	}tj
||}tj|}|j|tjj|jt||tj|}t|}tj
||}tj|}||d=|jt||yNrrKrLrMr@r)r0rTrUr
r:rVrWrlrrIteratorrrrXrrZr[itorgrZr\r]s       rtest_itemiterator_picklingz#DictTest.test_itemiterator_picklingjs622Q67	-ESC(D&EUE*AaB
!!"koo&>&>?T"Xt,aB8DR'AaBT!W
T"Xt,'	-rc
lttjdzD]}dddd}t|j	}tj
||}tj|}|jt|t|j	tj|}t|}tj
||}tj|}t||gz}|jt|tt|j	yrS)r0rTrUr
r]rVrWrr6rXsortedrrZr[r\rZr]r]s       rtest_valuesiterator_picklingz%DictTest.test_valuesiterator_picklings622Q67
	JESC(Ddkkm$BR'AaBT"XtDKKM':;aB8DR'AaB"X&FVF^VD4G-HI
	Jrc	.ttjdzD]}dddd}t|}tj||}tj
|}|j
t|tt|tj
|}	t|}tj||}tj
|}||=|j
t|tt|y#t$rYwxYwrS)
r0rTrUreversedrVrWrr6rXrrYs      rtest_reverseiterator_picklingz&DictTest.test_reverseiterator_picklings622Q67	=ESC(D$BR'AaBT"XtHTN';<aB
BxR'AaBT
T"XtHTN';<	=!

sD	DDc<ttjdzD]}dddd}t|j	}tj
||}tj|}|j|tjj|jt||tj|}t|}tj
||}tj|}||d=|jt||yr`)r0rTrUrjr:rVrWrlrrrarrrXrbs       r!test_reverseitemiterator_picklingz*DictTest.test_reverseitemiterator_picklings622Q67	-ESC(DTZZ\*EUE*AaB
!!"koo&>&>?T"Xt,aB8DR'AaBT!W
T"Xt,'	-rc
lttjdzD]}dddd}t|j	}tj
||}tj|}|jt|tt|j	tj|}t|}tj
||}tj|}t||gz}|jt|t|j	yrS)r0rTrUrjr]rVrWrr6rXrfrgs       r#test_reversevaluesiterator_picklingz,DictTest.test_reversevaluesiterator_picklings622Q67
	DESC(D$++-(BR'AaBT"XtHT[[],C'DEaB8DR'AaB"X&FVF^VDKKM-BC
	Drc	Gdd}|d}Gddt}|j|jt||d|j|j|j|dy)NceZdZdZy)=DictTest.test_instance_dict_getattr_str_subclass.<locals>.Fooc||_yr)msg)rrts  rrzFDictTest.test_instance_dict_getattr_str_subclass.<locals>.Foo.__init__s	rNrrrrFoorrs
rru123ceZdZy)>DictTest.test_instance_dict_getattr_str_subclass.<locals>._strNrrrr_strrxrrryrt)rrrtgetattrrj)rrurrys    r'test_instance_dict_getattr_str_subclassz0DictTest.test_instance_dict_getattr_str_subclasssc		
J	3	4; 78

4; 78rcGdd}|}d|jd<d|_|j|jdddy)NceZdZy)FDictTest.test_object_set_item_single_instance_non_str_key.<locals>.FooNrrrrrur~rrrurrK)rrK)rjrKr)rrurs   r0test_object_set_item_single_instance_non_str_keyz9DictTest.test_object_set_item_single_instance_non_str_keys:E

1
s^4rcGfdd}dDcic]
}||c}tD]}||<	ycc}w)NceZdZfdZy)4DictTest.check_reentrant_insertion.<locals>.Mutatingcyrr)rrZmutates r__del__z<DictTest.check_reentrant_insertion.<locals>.Mutating.__del__s
q	rNrr
rr)rZrsrMutatingrs
rrabcdefghijklmnopqr)r6)rrrr+rZs `  @rcheck_reentrant_insertionz"DictTest.check_reentrant_insertionsF		%99qQ
]9a	AAaD	
:s<cd}j|fd}j|d}j|y)Ncd|d<y)NrrLrrs rrz1DictTest.test_reentrant_insertion.<locals>.mutatesAcFrc\|jj|jyr)rrjr)rZrs rrz1DictTest.test_reentrant_insertion.<locals>.mutates
HHT]]#
GGIrc0|r|j|ryyr)rVrs rrz1DictTest.test_reentrant_insertion.<locals>.mutates		r)r)rrs` rtest_reentrant_insertionz!DictTest.test_reentrant_insertions@	&&v.		
&&v.		
&&v.rcGfdd}tddDcgc]}|df}}t|d|<|dddi}|jt|jycc}w)NceZdZdZfdZy))DictTest.test_merge_and_mutate.<locals>.Xcyr6rr!s rrz2DictTest.test_merge_and_mutate.<locals>.X.__hash__rrc&jyrr)rr&rs  rrz0DictTest.test_merge_and_mutate.<locals>.X.__eq__s
rNr)rsrrrs


rrri9r)r0rrrnr)rrr9lrZrs     @rtest_merge_and_mutatezDictTest.test_merge_and_mutatesj		"!TN+qaU++Qac

S!QN,%8	
,sA+ctj|tttj|dttj|dttj|dty)Nc4t|jSr)r
rWrs rrz4DictTest.test_free_after_iterating.<locals>.<lambda>s4>rc4t|jSr)r
r]rs rrz4DictTest.test_free_after_iterating.<locals>.<lambda>s4
;Krc4t|jSr)r
r:rs rrz4DictTest.test_free_after_iterating.<locals>.<lambda>s4	?r)rcheck_free_after_iteratingr
rr!s rtest_free_after_iteratingz"DictTest.test_free_after_iteratingsM**4t<**41I4P**41KTR**41JDQrcGfdd}|di||i|jk(Gfdd}d|i}dti|j|k(y)Nc(eZdZfdZfdZdZy)9DictTest.test_equal_operator_modifying_operand.<locals>.Xc&jyrr)rdict_bs rrzADictTest.test_equal_operator_modifying_operand.<locals>.X.__del__
src&jyNTr)rrdict_as  rrz@DictTest.test_equal_operator_modifying_operand.<locals>.X.__eq__rcyN
rr!s rrzBDictTest.test_equal_operator_modifying_operand.<locals>.X.__hash__rrN)rr
rrrr)rrsrrrs


rrrceZdZfdZy)9DictTest.test_equal_operator_modifying_operand.<locals>.Yc&jyrr)rrdict_ds  rrz@DictTest.test_equal_operator_modifying_operand.<locals>.Y.__eq__rrNr)rsrYrs
rr)rPrV)rrrdict_crrrs    @@@r%test_equal_operator_modifying_operandz.DictTest.test_equal_operator_modifying_operand
sk				#q#qs&()		
QSSU&()rcGfddt}i|dd|ddi	tjy#t$rYywxYw)NceZdZdZfdZy)ADictTest.test_fromkeys_operator_modifying_dict_operand.<locals>.Xcyrrr!s rrzJDictTest.test_fromkeys_operator_modifying_dict_operand.<locals>.X.__hash__(rrcBtdkDrjyNrFrzrrrrZs  rrzHDictTest.test_fromkeys_operator_modifying_dict_operand.<locals>.X.__eq__+q6A:GGIrNrrsrrr'


rrrrrWrrrnrrrZs  @r-test_fromkeys_operator_modifying_dict_operandz6DictTest.test_fromkeys_operator_modifying_dict_operand%sO		

qT1adA	MM!		s>	A
	A
cGfddt}i|d|dh	tjy#t$rYywxYw)NceZdZdZfdZy)@DictTest.test_fromkeys_operator_modifying_set_operand.<locals>.Xcyrrr!s rrzIDictTest.test_fromkeys_operator_modifying_set_operand.<locals>.X.__hash__:rrcBtdkDrjyrrrs  rrzGDictTest.test_fromkeys_operator_modifying_set_operand.<locals>.X.__eq__=rrNrrsrrr9rrrrrrrs  @r,test_fromkeys_operator_modifying_set_operandz5DictTest.test_fromkeys_operator_modifying_set_operand7sJ		

qT1Q4L	MM!		s<	AAchGfdd}dtid|fjvy)NceZdZfdZy):DictTest.test_dictitems_contains_use_after_free.<locals>.Xc0jtSrrrHrs  rrzADictTest.test_dictitems_contains_use_after_free.<locals>.X.__eq__K	%%rNrrsrrrJs
&rrr)rVr:rs  @r&test_dictitems_contains_use_after_freez/DictTest.test_dictitems_contains_use_after_freeIs.	&	&
J	
ACAGGIrc`Gfddt}|di|jdvy)NceZdZfdZdZy)4DictTest.test_dict_contain_use_after_free.<locals>.Sc0jtSrrrs  rrz;DictTest.test_dict_contain_use_after_free.<locals>.S.__eq__UrrctdS)Ntestrr!s rrz=DictTest.test_dict_contain_use_after_free.<locals>.S.__hash__YF|#rNrrsrSrTs

&
$rrrr)rrv)rrrZs  @r test_dict_contain_use_after_freez)DictTest.test_dict_contain_use_after_freeRs.	$	$S'N1%rcHGfdd}|dgtgy)NceZdZfdZy),DictTest.test_init_use_after_free.<locals>.Xcgddyrr)rpairs rrz5DictTest.test_init_use_after_free.<locals>.X.__hash__asQrN)rr
rr)rsrrr`s
rr{)r)rrrs  @rtest_init_use_after_freez!DictTest.test_init_use_after_free_s#		
SzdVrcGfddt}tdDcic]}|||
c}fd}|jt|ycc}w)NceZdZfdZy);DictTest.test_oob_indexing_dictiter_iternextitem.<locals>.Xc&jyrrr^s rrzCDictTest.test_oob_indexing_dictiter_iternextitem.<locals>.X.__del__js	rNrrsrrrirrrr'cLjD]}|ddk(sdd<y)Nrrr)resultrZs riter_and_mutatezIDictTest.test_oob_indexing_dictiter_iternextitem.<locals>.iter_and_mutateos,'')
 !9>AaD
 r)rWr0rrn)rrr9rrZs    @r'test_oob_indexing_dictiter_iternextitemz0DictTest.test_oob_indexing_dictiter_iternextitemhsI		$Ah'Q!W'	 
	
,8
(sAcdddddd}|d=t|}|jt|td|jtt
|y)	Nrrrr?r})rKrLrhrMrZrhdcba)rjrr6rrrX)rrZrs   r
test_reversedzDictTest.test_reversedvsL!AAA6
eHQKa$v,/-q1rc,|jttig|jttijg|jttij	g|jttijg|jttt
g|jttt
jg|jttt
j	g|jttt
jgyr)rr6rjr:r]rWrr!s r$test_reverse_iterator_for_empty_dictz-DictTest.test_reverse_iterator_for_empty_dict}s	
hrl+R0hrxxz23R8hryy{34b9hrwwy12B7	
htv./4htv||~67<htv}}78"=htv{{}56;rc
^Gdd}|jtt|ddjddg|jtt|ddjdg|jtt|ddjdgy)NceZdZdZy)ADictTest.test_reverse_iterator_for_shared_shared_dicts.<locals>.Ac*|r||_|r||_yyr)rrI)rrrIs   rrzJDictTest.test_reverse_iterator_for_shared_shared_dicts.<locals>.A.__init__sqdfqdf1rNrrrrrrs
!rrrrrIrr)rr6rjrj)rrs  r-test_reverse_iterator_for_shared_shared_dictsz6DictTest.test_reverse_iterator_for_shared_shared_dictss	!	!
	
hqAw'7'789C:FhqAw'7'789C5AhqAw'7'789C5Arc&tjddg}|jdt|j	}t|}|j
t|j	|Gddt
}gd}||}|j
|tt|j	Gddt
}||}|j
|ddd	tt|j	y)
NrKrrLrrKceZdZy)1DictTest.test_dict_copy_order.<locals>.CustomDictNrrrr
CustomDictrrrr)rr)rMr?ceZdZdZeZdZy)9DictTest.test_dict_copy_order.<locals>.CustomReversedDictcPtttj|Sr)rjr6rrWr!s rrWz>DictTest.test_dict_copy_order.<locals>.CustomReversedDict.keyssTYYt_ 566rc>ttj|Sr)rjrr:r!s rr:z?DictTest.test_dict_copy_order.<locals>.CustomReversedDict.itemss

4 011rN)rr
rrWrr:rrrCustomReversedDictrs
7H
2rrrT)rOrderedDictmove_to_endr6r:rr)rodrrErpairsrZrs        rtest_dict_copy_orderzDictTest.test_dict_copy_orders

$
$h%9
:
s
#Bxdjjl+X6		/uT!W]]_ 56	2	2
u%ttd47==?&;<rctdgij}tj|j	tj
t
|yr)r
r:r rrPr!rXrr\s  rtest_dict_items_result_gcz"DictTest.test_dict_items_result_gcs?
4*""$
%


	


d2h/0rctdgij}tj|j	tj
t
|yr)rjr:r rrPr!rXrs  r"test_dict_items_result_gc_reversedz+DictTest.test_dict_items_result_gc_reverseds=tRj&&(
)




d2h/0rc	j
Gddt}d
G
fdd|d}}}g}||fD]/|jddd	d
didd
d}d|<|j|dd
d}|j|jdd|j|dd
d}|j	di|j|dd
d}|diz}|j|fd
}t|}|j||j
}|j|tdd	gD	cic]\}}	|	d|z
}}}	|j|2|D]*}|j|5|j|jddd}
|
dz
}
tjdrd}|j|
|u|j|j|
d|j|jdd|j|j|d|j|j|dd
|j|j|d|j
dddd-ycc}	}w#1swY?xYw)NceZdZy)(DictTest.test_str_nonstr.<locals>.StrSubNrrrrStrSubrrrrrc eZdZdZfdZy)&DictTest.test_str_nonstr.<locals>.Key3ctdS)Nkey3rr!s rrz/DictTest.test_str_nonstr.<locals>.Key3.__hash__rrcTt|st|tr|dk(rdz
yy)Nr	rTF)rr)rrKey3r9s  rrz-DictTest.test_str_nonstr.<locals>.Key3.__eq__s,eT*j.DRXMHrNr)rr9srrrs

$
rrr	rrr+,)rrc3*Kdddfyw)N)rr)rrr
r)r	sr
make_pairsz,DictTest.test_str_nonstr.<locals>.make_pairss""""Rj srkey1T)cpythonr)rr0rr/rrrE	enumeraterr&rcheck_impl_detailrvassertGreaterEqual)rrkey3_1key3_2key3_3r1rZrr9rnoninterned_key1
interned_key1rr9r	s            @@@rtest_str_nonstrzDictTest.test_str_nonstrs
	S					V$&	DLL&"fb$;<R(AAdGLLOR(AQ\\$3R8LLOR(A
HHdBZ LLOR(A
$OALLO
!Z\"ALLOALLO+4VVT4J*KL3b1fLALLLOM&	P	5A"
5  v3$(  D( ,,T:$*M$$%5%FG  '7!8"=  v3  v3  v3  v3''!45
5
5	5M
5
5s
J"	D
J((J2	N)\rr
rrr"r=rNrRr[r_rbrsrxr{rrrrrrr"r$r'r1rKrRrarkrprsruryrrrrrrrrrrrrrrrrrrrrrrcpython_onlyr r(r-r2r9r=r@rBrFrLrQr^rdrhrkrmror{rrrrrrrrrrrrrrrrrrrrrrrrs%%
	=<@*EGL'(
5$$1L4J>X8Bt36 B 
>46A(A*/6)B'4($3$8*,X$,
+
93
:)2V4%8 ,B .-
"""
==~
  


=
=
33$

3
3


3
3
33 
,,3$-,J =$-,D 95
/ 
9R*6$$&92
<B=<
	1	1
11b5rrc0eZdZejdZy)CAPITestc	tjd}|j}dddd}|j||dt	dd|j||dt	dd|j||dt	dd|jt|gdt	d|jt|idt	dGd	d
tGfdd}||}}|di}|j|||t	|d|j|||t	|y)
N	_testcapirrr?r%rrIrceZdZy),CAPITest.test_getitem_knownhash.<locals>.ExcNrrrrrr">rrrceZdZfdZdZy).CAPITest.test_getitem_knownhash.<locals>.BadEqcrrrs  rrz5CAPITest.test_getitem_knownhash.<locals>.BadEq.__eq__@rrcy)Nrr!s rrz7CAPITest.test_getitem_knownhash.<locals>.BadEq.__hash__BrrNrrsrrr$?s


rr)	r
import_moduledict_getitem_knownhashrrrSystemErrorrr)rr r)rZrrrrs       @rtest_getitem_knownhashzCAPITest.test_getitem_knownhash/s !//<	!*!A!A!!$/3S	BAF/3S	BAF/3S	BAF	
+'=r1d1gN($:B47K")"		%'B
G/2tBx@!D#5q"d2hGrN)rr
rrrr+rrrrr,s
HHrr)
mapping_testsceZdZeZy)GeneralMappingTestsN)rr
rr	type2testrrrr.r.MIrr.ceZdZy)rfNrrrrrfrfPsrrfceZdZeZy)SubclassMappingTestsN)rr
rrfr/rrrr3r3Sr0rr3__main__)rcollections.abcr rTr2r4r4unittestrrrtest.supportrrTestCaserrr,BasicTestMappingProtocolr.rrfr3rmainrrr<module>r;s	



9[5x  [5|0Hx  H>-@@	4	=AAzHMMOr