python (3.12.0)

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

͑elddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
mZddlmZddlmZ	ddlZ	ddlZGdde
j,ZGdde
j,ZGd	d
e
j,ZGdde
j,ZGd
de
j,ZGdde
j,ZGdde
j,ZGddeZGdde
j,Z e!dk(re
jDyy#e$rdZYwxYw#e$rdZYwxYw)N)deepcopy)redirect_stdout)supportc6eZdZdZddZddZddZddZddZddZ	dZ
d	Zgfd
ZdZ
dZd
ZdZej$dej(eduddZej$dej(eduddZdZy)
OperatorsTestc:tjj|g|i|iddddddddd	d
ddd
d
dddddddddddddddddddd d!d"d#d$|_t	|jjD]/\}}|j
r|d%z}nd&|z}||j|<1ddd'd(d)d*d+|_t	|jjD]/\}}|j
r|d,z}nd-|z}||j|<1y).Nadd+sub-mul*matmul@truediv/floordivz//divmodpowz**lshiftz<<rshiftz>>and&xor^or|cmplt<le<=eq==!=>>=)negtgez(a, b)za %s babs~intfloat)posnegr+invertr-r.z(a)z%s a)unittestTestCase__init__binopslistitemsislowerunops)selfargskwargsnameexprs     C/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_descr.pyr4zOperatorsTest.__init__ s""49$9&9
3
3

3

c	


s




h

4

d

d

3

3

#

5

#
 
$!
"
$#
$)
.t{{0023	%JD$||~h$ $DKK	%


tzz//12	$JD$||~e|}#DJJt	$cd|i}|jt|||t|}t||}||jvr|j
d}||jvr|jt|d||j||j|||t||}|j||y)Narim_funcassertEqualevaltypegetattr__dict__	__bases__)	r:rBresr>methdtmbms	         r?	unop_testzOperatorsTest.unop_testPs
!HdA,GAt!**$AA!**$	
Iq11::d3CD1s#
Q
s#r@c||d}|jt|||t|}t||}||jvr|j
d}||jvr|jt|d||j||j||||t||}	|j|	||y)NrBbrrCrD)
r:rBrTrKr>rLrMrNrOrPs
          r?
binop_testzOperatorsTest.binop_test`s!dA,GAt!**$AA!**$	
Iq11::d3CD1a#&
Q
A$r@c	|||d}|jt|||t|}t||}	||jvr|j
d}||jvr|jt|	d|	|j||j|	|t
|||t||}
|j|
t
|||y)NrBrTcrrC)rErFrGrHrIrJslice)r:rBrTrXrKr>rLrMrNrOrPs           r?sliceop_testzOperatorsTest.sliceop_testos!!$dA,GAt!**$AA!**$	
Iq11::d3CD1eAqk*C0
Q
E!QK#.r@ct||d}t|||j|d|t|}t	||}||j
vr|jd}||j
vr|jt	|d||j
|t||d<||d||j|d|t||d<t	|d|}	|	||j|d|y)NrSrBrrCrexecrErGrHrIrJ)
r:rBrTrKstmtrLrMrNrOrPs
          r?
setop_testzOperatorsTest.setop_test}s1+A&T1
3%GAt!**$AA!**$	
Iq11::d3CD!#	!C&!3%!#
QsVT
"
13%r@ct|||d}t|||j|d|t|}t	||}	||j
vr|jd}||j
vr|jt	|	d|	|j
|t||d<|	|d|||j|d|t||d<t	|d|}
|
|||j|d|y)NrWrBrrCr\)r:rBrTrXrKr^rLrMrNrOrPs           r?set2op_testzOperatorsTest.set2op_tests1+AA.T1
3%GAt!**$AA!**$	
Iq11::d3CD!#	!C&!Q3%!#
QsVT
"
1a3%r@c>t||||d}t|||j|d|t|}	||	jvr|	j
d}	||	jvrt
|	|}
|jt
|
d|
|	j|t||d<|
|dt||||j|d|t||d<t
|d|}|t||||j|d|y)N)rBrTrXrMrBrrC)rr]rErGrIrJrHrY)r:rBrTrXrMrKr^rL
dictionaryrNrOrPs            r?setsliceop_testzOperatorsTest.setsliceop_tests
#A;QQQ?
T:C#.G!**$AA!**$At	
Iq11::d3CD"1+
3	*S/5A;*C#."1+
3
Z_d
+
5A;C#.r@c	V|jdgdgddgdd|jgddddd|jgddd	dd|jgdddd
d|jgdd	dddgdd|jdgdgddgd
d|jddgdgddd|jgdddd|jddgdgddd|jddgdgddd|j	ddgddddgdd|jgdddddggdddy) Na+b__add__rfrgb in a__contains__ra[b]__getitem__a[b:c]a+=b__iadd__rkrfrgrfrgrfrga*=b__imul__len(a)__len__a*b__mul__b*a__rmul__a[b]=c__setitem__rfrgrkrnrfrrrna[b:c]=d)rUrZr_rQrardr:s r?
test_listszOperatorsTest.test_listss/	
aS1Q%	:Ax@Ax@Av}='1a!A-HaS1Q%<1q-Dw8Y71q-	B1q-
C!A1qeX}EY1qeY
%	'r@c	f|jddddddd|jddddddd|jddddddd	ddd}g}t|jD]}|j|g}t	|D]}|j||j||g}|j
D]}|j||j||g}tj
|D]}|j||j||ddd}|j|dd
d|jtt|i||jt|ji||jddddddddd
ddy)Nrgrnrfrkrfrlrmrrorprwrxrkrjr}r~)
rUr6keysappenditerrE__iter__dictrQrFrepr__repr__ra)r:rMl1ils     r?
test_dictszOperatorsTest.test_dictss1q	1a>B1q	1a>B1q	1a?AJ
affh	AIIaL	a	A
HHQK	B	A
HHQK	Bq!	A
HHQK	BAJq!Xy1d1gr*A.ajjlB/3AAqQQ-%	'r@c||d}|jjD]=\}}||vsd|z}t||st||}|j	|||||?t|jjD]<\}}||vsd|z}t||st||}|j||||>y)NrSz__%s__)r5r7hasattrrFrUr6r9rQ)r:rBrTskiprr=r>rKs        r?number_operatorszOperatorsTest.number_operatorssQ++++-	;JD$4$1d#tT*COOAq#tT:	;tzz//12	7JD$4$1d#tT*CNN1c46	7r@cL|jdd|jdjd|jdjdGddt}|j|dd	|dz|j	d	y#t
$rYywxYw)
NdrkrfrceZdZdZy)"OperatorsTest.test_ints.<locals>.CctSNNotImplementedr:others  r?riz*OperatorsTest.test_ints.<locals>.C.__add__%%r@N)__name__
__module____qualname__rir@r?Cr
&r@rrz+NotImplemented should have caused TypeError)rrE__bool__r-fail	TypeErrorr:rs  r?	test_intszOperatorsTest.test_intssc1%!+!+	&	&	
1q!	E
C"H
IICD		s;
B	B#"B#c(|jddy)NgY@@)rrs r?test_floatszOperatorsTest.test_floatsseS)r@c|jddgdGddt}|dd	}|jt|d
|j|jd||d	}|jt|d|j|jd|d
}|jt|d|j|jdy)NyY@@)	rr!r)r*r-r.rrmod)rc"eZdZdgZdZdZeZy),OperatorsTest.test_complexes.<locals>.Numberprecc`tj|g|}|jdd|_|S)Nr)complex__new__getr)clsr;kwdsresults    r?rz4OperatorsTest.test_complexes.<locals>.Number.__new__s, 4t4"hhvr2
r@c|j}|jdk(rd||jfzS|jdk(rd||jfzSd||j||jfzS)N%.*gz%.*gjz(%.*g+%.*gj))rimagreal)r:rs  r?rz5OperatorsTest.test_complexes.<locals>.Number.__repr__sgyy99#!T499$55599#"dDII%666%tyy$		(JJJr@N)rrr	__slots__rr__str__rr@r?NumberrsI

KGr@rgQ	@rrz3.14rgz3.1gPm@z234.5r)rrrErr)r:rrBs   r?test_complexeszOperatorsTest.test_complexessfd2O	P
	W
	
4a a&)#11a%(#5Ma'*$r@c|jtjddtdd|jtj	dddy)Nrg@rrfg)rEr__radd__r.__rsub__rs r?test_explicit_reverse_methodsz+OperatorsTest.test_explicit_reverse_methods-sA))"c2GC4EFQ/6r@"the module 'xxsubtype' is internalNrequires xxsubtype modulec
:ddl}ddl}d%d}||j|j<|j	|dg|dg|ddgdd|j	|gddddd	|j	|gdd
ddd	|j	|gddddd|j|gddd|ddgd
d|j
|dg|dg|ddgdd|j
|ddgd|gddd|j|gdddd|j	|ddgd|gddd|j	|ddgd|gddd|j|ddgdd|ddgdd|j|gddd|ddg|gdd dGd!d"|j}|}|j|g|j|jd|jd#|j|d#g|j|jd|jd$|j|jd$y)&Nrc,ddl}|j|SNr)	xxsubtypespamlist)rmemospams   r?rz/OperatorsTest.test_spam_lists.<locals>.spamlist8s$==##r@rfrgrhrirjrlrmrnrorprqrrrsrkrtrurvrwrxryrzr{r|r}r~rrrrrceZdZdZy)(OperatorsTest.test_spam_lists.<locals>.CcyNrfrrs r?fooz,OperatorsTest.test_spam_lists.<locals>.C.fooU!r@Nrrrrrr@r?rrT#r@rr*r)copyr_deepcopy_dispatchrrUrZr_rQrardrErrgetstatesetstate)r:rrrrrBs      r?test_spam_listszOperatorsTest.test_spam_lists2sZ	'	$
2:

.!
x}h!uou 	")1a>J)1a>J)1aG(7+Q8QqE?H'	)!
x}h!uov"	$!AH],CV"	$x(!XyA!AH],CU!	#!AH],CU"	$1Q%!Q!A&	(Xi0!Q!A%i0*m	M	$

	$
CB!$	
SE"q)	

2r*r@cddl}ddl}dd}||j|j<|j	|ddddddd|j	|ddddddd|j	|dddddd	d
|ddd}g}t|j
D]}|j|g}t|D]}|j||j||g}|jD]}|j||j||g}t|ij|D]}|j||j||ddd}||}	|j|	ddd|j|	t|d
d|j|ddddd|ddddddGdd|j}
|
}|jt|jg|j|j!dd|d<|jt|jdg|j|j#d|j%d|j|j#dy)Nrczddl}|j}t|jD]
\}}|||<|Sr)rspamdictr6r7)rMrrsdkvs      r?rz/OperatorsTest.test_spam_dicts.<locals>.spamdictds;$BQWWY
11
Ir@rgrnrrfrlrmrorprwrxzrepr(a)rrkrjr}r~ceZdZdZy)(OperatorsTest.test_spam_dicts.<locals>.Ccyrrrs r?rz,OperatorsTest.test_spam_dicts.<locals>.C.foorr@Nrrr@r?rrrr@rbarrrrrr)rrrrrUr6rrrrErrGrQrrar7rrr)r:rrrrMrrr	straightdspamdrrBs            r?test_spam_dictszOperatorsTest.test_spam_dicts_si	'	2:

.A+Q8^LA+Q8^LA+Q6=IAY
affh	AIIaL	a	A
HHQK	B	A
HHQK	Bhrl#,,Q/	A
HHQK	BAJ	#ua95ud9oy*EQ),aHA]4K]	,	$

	$
Caggi"-!$%aggi>*:;q)	

3s+r@c|jttjj	tjyr)rErangesysmaxsizerxrs r?test_wrap_lenfunc_bad_castz(OperatorsTest.test_wrap_lenfunc_bad_casts(s{{+335s{{Cr@)rwrx)rhri)rqrp)rrrs)r}r~)rr~)rrrr4rQrUrZr_rardrrrrrrrrimpl_detailr2skipIfrrrrrr@r?rrs.$`$ 
%/&&&&/&'"'<+-7"E$*%B7
W=>X__Y$&(CD)+E?)+VW=>X__Y$&(CD/,E?/,bDr@rc`eZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZfdZej2dZej6dej:eduddZdZ ej2dZ!ej6dej:eduddZ"dZ#dZ$d Z%ejLd!Z'd"Z(ejLd#Z)d$Z*d%Z+d&Z,d'Z-ej6d(d)Z.d*Z/d+Z0d,Z1d-Z2ej:e3jhjjd.k\d/d0Z6ejnd1Z8d2Z9d3Z:d4Z;fd5Z<d6Z=d7Z>d8Z?d9Z@d:ZAd;ZBd<ZCd=ZDd>ZEd?ZFd@ZGdAZHdBZIdCZJdDZKdEZLdFZMdGZNdHZOdIZPdJZQdKZRdLZSdMZTdNZUdOZVdPZWdQZXdRZYdSZZdTZ[dUZ\dVZ]dWZ^dXZ_dYZ`dZZad[Zbd\Zcd]Zdd^Zeej6d_d`ZfdaZgdbZhdcZiddZjdeZkdfZlejdgdhZndiZodjZpdkZqdlZrdmZsdnZtdoZudpZvdqZwdrZxdsZydtZzduZ{dvZ|dwZ}dxZ~dyZdzZd{Zd|Zd}Zd~ZdZdZdZfdZej:eduddZdZdZxZS)ClassPropertiesAndMethodscF|jt|||d|y)Nz has no attribute )
assertTruerr:objr=s   r?
assertHasAttrz'ClassPropertiesAndMethods.assertHasAttrs T*47>	@r@cF|jt|||d|y)Nz has unexpected attribute )assertFalserrs   r?assertNotHasAttrz*ClassPropertiesAndMethods.assertNotHasAttrs"d+=@$G	Ir@cjtttjitt}j	|ij|jtj|tGfddt}jt|t|d}j	|jd|dd}j	|ddk(xr|dd|}j	|jd	j	|jd	|jd
j	|jd
j	|jd
|jdj	|jdj	|jdj	|dd
d
|d<j	|dd
d}t|D]'}|||<t|D]
}||z|||<)t|D]-}t|D]}j	|||||z/y)Nc8eZdZdZfdZdZfdZdZdZy)6ClassPropertiesAndMethods.test_python_dicts.<locals>.Cc|r%jt|d|d|_|r't|j	D]
\}}|||<yyNrfr)rElenstater6r7)
self_localrBkwrrr:s     r?r4z?ClassPropertiesAndMethods.test_python_dicts.<locals>.C.__init__sU$$SVQ/'(tJ$ $RXXZ 0*1()
1
*r@c&|j|dSr)rr:keys  r?rpzBClassPropertiesAndMethods.test_python_dicts.<locals>.C.__getitem__sxxQ''r@c`j|ttj|||yr)assertIsInstancer-rr~)rrvaluer:s   r?r~zBClassPropertiesAndMethods.test_python_dicts.<locals>.C.__setitem__s%%%c3/  S%8r@c||_yrr
r:r
s  r?rz?ClassPropertiesAndMethods.test_python_dicts.<locals>.C.setstate	"
r@c|jSrrrs r?rz?ClassPropertiesAndMethods.test_python_dicts.<locals>.C.getstatezz!r@N)	rrrr
r4rpr~rrrsr?rrs!E
*
(
9
#
"r@rrrfrgrrrrr
r2)r
issubclassrrrEassertIs	__class__r
rrr)	r:rMra1a2rBNrjs	`        r?test_python_dictsz+ClassPropertiesAndMethods.test_python_dictss 
4./b$'FB

akk4(a&	"	"$	

1d+,
rU2&
1!_A%1BqE59
C"%r*	

1
!$q)	

2"%r*2""2#q	A3AaD1X
A#!Q
	q	/A1X
/  1a!A#.
/	/r@cGddt}|}|jgd|j|dd|j|dd|j|dd	|j|dd
dy)NceZdZdZy)6ClassPropertiesAndMethods.test_python_lists.<locals>.Cct|tr|j|jfStj||dzSNr)
isinstancerYstartstopr6rpr:rs  r?rpzBClassPropertiesAndMethods.test_python_lists.<locals>.C.__getitem__s6a'77AFF?*''a0366r@Nrrrrprr@r?rr&s
7r@rrrfrgrrrfergf)rr1)r6extendrEr:rrBs   r?test_python_listsz+ClassPropertiesAndMethods.test_python_listssu	7	7

C	1s#1s#1s#3sY/r@cGddt}|}|j|jd|jd|j|jdGddt}Gdd	|}|j|j	||}|j|j
|Gd
dt}Gdd|}|j|jd
|}|j|jd
GddtGfddt}Gdd|}|j|jd|j|jd|jd|j|}|j|jdGfddtGdd}	Gdd|	}
Gdd|	}Gdd	||
}|j|jdGdd |
|}|j|jd!Gfd"d#tGd$d}	|	}|j|d%d&|_|j|jd&|j|j d'Gd(d)}Gd*d|}	Gd+d|	}
Gd,d|	}Gd-d	||
}|j|jdGfd.d/tGd0d}|jj"d
|}|jt|||jj"d
Gd1dt}|}||j%d2Gd3dt}	Gd4dt}
Gd5dt|	}Gd6d	|
|}|j)|	t|gGfd7d8t}
Gfd9d:|
}Gd;d|
}	|jd8gj+Gd<d|}
|jd:d8gj+Gd=d|	|
}|jd:d8gj+|jd>|j,Gd?d@|
|	}|jd:d8gj+|jd>|j,GdAd	|t}|jd:d8gj+|jd>|j,GdBd ||
}|jd:d8gj+|jd>|j,tfdC}GdDdE|}GdFdGt|}GdHdI||}|j)||j)||j)|gGfdJdK}GfdLdM|}GdNd|}	|j)|t|	|jdKgj+|jdKgj+GdOd|}
|j)|t|
|jdMdKgj+|jdMdKgj+GdPd|	|
}|j)|t||jdMdKgj+|jdMdKgj+GdQd@|
|	}|j)|t||jdMdKgj+|jdMdKgj+|j/t&5GdRd	|t}dddGdSd ||}|j)|t||jdMdKgj+|jdMdKgj+GdTdUt|}|j)|t||jdMdKgj+|jdMdKgj+GdVdW|t}|j)|t||jdMdKgj+|jdMdKgj+|j/t&5GdXdE|t1}ddd|j/t&5GdYdEt1|}dddy#t&$rYOwxYw#1swYxYw#1swYYxYw#1swYyxYw)ZNceZdZdZdZdZy)3ClassPropertiesAndMethods.test_metaclass.<locals>.Ccd|_yr	_C__staters r?r4z<ClassPropertiesAndMethods.test_metaclass.<locals>.C.__init__	 r@c|jSrr9rs r?rz<ClassPropertiesAndMethods.test_metaclass.<locals>.C.getstate||#r@c||_yrr9rs  r?rz<ClassPropertiesAndMethods.test_metaclass.<locals>.C.setstate	$r@Nrrrr4rrrr@r?rr7
!
$
%r@r	metaclassrrceZdZdZy)<ClassPropertiesAndMethods.test_metaclass.<locals>._metaclassc|Srrrs r?myselfzCClassPropertiesAndMethods.test_metaclass.<locals>._metaclass.myselfsCZr@N)rrrrHrr@r?
_metaclassrEs'r@rIceZdZy3ClassPropertiesAndMethods.test_metaclass.<locals>.DNrrrrr@r?DrLr@rNceZdZdZy)4ClassPropertiesAndMethods.test_metaclass.<locals>.M1c<d|d<tj||||S)Nrf__spam__rGr)rr=basesrs    r?rz<ClassPropertiesAndMethods.test_metaclass.<locals>.M1.__new__s!#$Z ||Cud;;r@Nrrrrrr@r?M1rQs
<r@rWceZdZyr7NrMrr@r?rz3ClassPropertiesAndMethods.test_metaclass.<locals>.CrOr@rfceZdZy);ClassPropertiesAndMethods.test_metaclass.<locals>._instanceNrMrr@r?	_instancer[rOr@r\c(eZdZedZfdZy)4ClassPropertiesAndMethods.test_metaclass.<locals>.M2cZtj|}||_||_||_|Sr)objectrr=rUr)rr=rUrr:s     r?rz<ClassPropertiesAndMethods.test_metaclass.<locals>.M2.__new__s*~~c* 	"
 	r@c	}|jD]>}|jdrt|||j|j||@|S)N__)r
startswithsetattr__get__)r:itrr\s   r?__call__z=ClassPropertiesAndMethods.test_metaclass.<locals>.M2.__call__
sV[99GC~~d+ BTYYs^%;%;B%EFG	r@N)rrrstaticmethodrrg)r\sr?M2r^s



r@riceZdZdZy)r7cyNrrrs r?rz8ClassPropertiesAndMethods.test_metaclass.<locals>.C.spamr@Nrrrrrr@r?rz3ClassPropertiesAndMethods.test_metaclass.<locals>.C
r@rrrc"eZdZfdZxZS);ClassPropertiesAndMethods.test_metaclass.<locals>.autosuperct|||||}|dddk(r|dd}|dddk(r|rd|z}nd}t||t||S)Nrf_z
_%s__super__super)superrrd)rCr=rUrrr	autosupers     r?rzCClassPropertiesAndMethods.test_metaclass.<locals>.autosuper.__new__ snIy9):>tM2Ah#o8D2Ah#o'$.D$DT5:.
r@rrrr
__classcell__)rrvs@r?rvrqs


r@rvceZdZdZy)3ClassPropertiesAndMethods.test_metaclass.<locals>.AcyNArrs r?rLz8ClassPropertiesAndMethods.test_metaclass.<locals>.A.meth-r@NrrrrLrr@r?r}rz,
r@r}ceZdZdZy)3ClassPropertiesAndMethods.test_metaclass.<locals>.Bc<d|jjzSNB	_B__superrLrs r?rLz8ClassPropertiesAndMethods.test_metaclass.<locals>.B.meth0T\\..000r@Nrrr@r?rr/
1r@rceZdZdZy)r7c<d|jjzSNr	_C__superrLrs r?rLz8ClassPropertiesAndMethods.test_metaclass.<locals>.C.meth3rr@Nrrr@r?rz3ClassPropertiesAndMethods.test_metaclass.<locals>.C2rr@ceZdZdZy)rLc<d|jjzSNrN)	_D__superrLrs r?rLz8ClassPropertiesAndMethods.test_metaclass.<locals>.D.meth6rr@Nrrr@r?rNz3ClassPropertiesAndMethods.test_metaclass.<locals>.D5rr@DCBAceZdZdZy)3ClassPropertiesAndMethods.test_metaclass.<locals>.Ec<d|jjzS)NE)	_E__superrLrs r?rLz8ClassPropertiesAndMethods.test_metaclass.<locals>.E.meth:rr@Nrrr@r?rr9rr@rEBCAc"eZdZfdZxZS)>ClassPropertiesAndMethods.test_metaclass.<locals>.autopropertyci}|jD]o\}}|jdr$|dd}|j|d\}}|}||f||<;|jdsM|dd}|j|d\}}|}||f||<q|jD]\}\}}t||||<t
|||||S)N_get_rNN_set_)r7rcrpropertyrur)rCr=rUrhitsrvalrsetrautopropertys         r?rzFClassPropertiesAndMethods.test_metaclass.<locals>.autoproperty.__new__As $


-HC~~g.!!"g#'88C#>S!$'HS	0!!"g#'88C#>S!$'HS	
-(,zz|3OC#s (c 2DI3\9=i<@%OOr@rw)rrs@r?rr>s
O
Or@rceZdZdZdZy)rzc|jSr_A__xrs r?_get_xz:ClassPropertiesAndMethods.test_metaclass.<locals>.A._get_xSsy r@c||_yrrr:xs  r?_set_xz:ClassPropertiesAndMethods.test_metaclass.<locals>.A._set_xUs2r@N)rrrrrrr@r?r}z3ClassPropertiesAndMethods.test_metaclass.<locals>.ARs
!
r@rriceZdZy)@ClassPropertiesAndMethods.test_metaclass.<locals>.multimetaclassNrMrr@r?multimetaclassr]r@rceZdZdZy)rzcyr|rrs r?rz:ClassPropertiesAndMethods.test_metaclass.<locals>.A._get_xar~r@Nrrrrrr@r?r}z3ClassPropertiesAndMethods.test_metaclass.<locals>.A`rr@ceZdZdZy)rc<d|jjzSr)rrrs r?rz:ClassPropertiesAndMethods.test_metaclass.<locals>.B._get_xdT\\00222r@Nrrr@r?rz3ClassPropertiesAndMethods.test_metaclass.<locals>.Bc
3r@ceZdZdZy)r7c<d|jjzSr)rrrs r?rz:ClassPropertiesAndMethods.test_metaclass.<locals>.C._get_xgrr@Nrrr@r?rz3ClassPropertiesAndMethods.test_metaclass.<locals>.Cfrr@ceZdZdZy)rLc<d|jjzSr)rrrs r?rz:ClassPropertiesAndMethods.test_metaclass.<locals>.D._get_xjrr@Nrrr@r?rNz3ClassPropertiesAndMethods.test_metaclass.<locals>.Dirr@ceZdZdZfdZy)3ClassPropertiesAndMethods.test_metaclass.<locals>.Trc0xjdz
c_yrcounter)r:r;Ts  r?r4z<ClassPropertiesAndMethods.test_metaclass.<locals>.T.__init__qs		Q	r@N)rrrrr4)rsr?rros
G
r@rceZdZyrYrMrr@r?rz3ClassPropertiesAndMethods.test_metaclass.<locals>.CsrOr@ceZdZyrYrMrr@r?rz3ClassPropertiesAndMethods.test_metaclass.<locals>.Czr@z5calling object w/o call method should raise TypeErrorceZdZdZy)rzc,tj|i|SrrTr;r<s  r?rz;ClassPropertiesAndMethods.test_metaclass.<locals>.A.__new__s||T4V44r@NrVrr@r?r}z3ClassPropertiesAndMethods.test_metaclass.<locals>.A
5r@ceZdZyrNrMrr@r?rz3ClassPropertiesAndMethods.test_metaclass.<locals>.BrOr@ceZdZyrYrMrr@r?rz3ClassPropertiesAndMethods.test_metaclass.<locals>.CrOr@ceZdZyrKrMrr@r?rNz3ClassPropertiesAndMethods.test_metaclass.<locals>.DrOr@c<eZdZefdZedZxZS)7ClassPropertiesAndMethods.test_metaclass.<locals>.AMetacJjdt|	||||S)NAMetarrurmclsr=rUnsr	new_callss    r?rz?ClassPropertiesAndMethods.test_metaclass.<locals>.AMeta.__new__&  )wtT5"==r@ciSrr)rr=rUs   r?__prepare__zCClassPropertiesAndMethods.test_metaclass.<locals>.AMeta.__prepare__s	r@rrrrhrclassmethodrrxrrs@r?rrs)

>
>

r@rc@eZdZefdZefdZxZS)7ClassPropertiesAndMethods.test_metaclass.<locals>.BMetacJjdt|	||||S)NBMetarrs    r?rz?ClassPropertiesAndMethods.test_metaclass.<locals>.BMeta.__new__rr@c2t|||}d|d<|S)NTBMeta_was_here)rur)rr=rUrrs    r?rzCClassPropertiesAndMethods.test_metaclass.<locals>.BMeta.__prepare__s$W(u5'+#$	r@rrs@r?rrs)

>
>

r@rceZdZyrzNrMrr@r?r}z3ClassPropertiesAndMethods.test_metaclass.<locals>.ArOr@ceZdZyrrMrr@r?rz3ClassPropertiesAndMethods.test_metaclass.<locals>.BrOr@ceZdZyrYrMrr@r?rz3ClassPropertiesAndMethods.test_metaclass.<locals>.CrOr@rceZdZy4ClassPropertiesAndMethods.test_metaclass.<locals>.C2NrMrr@r?C2rrOr@rceZdZyrKrMrr@r?rNz3ClassPropertiesAndMethods.test_metaclass.<locals>.DrOr@ceZdZyrNrMrr@r?rz3ClassPropertiesAndMethods.test_metaclass.<locals>.ErOr@cSrr)r;r<markers  r?funcz6ClassPropertiesAndMethods.test_metaclass.<locals>.funcsMr@ceZdZy3ClassPropertiesAndMethods.test_metaclass.<locals>.XNrMrr@r?XrrOr@rceZdZy)3ClassPropertiesAndMethods.test_metaclass.<locals>.YNrMrr@r?YrrOr@rceZdZy)3ClassPropertiesAndMethods.test_metaclass.<locals>.ZNrMrr@r?ZrrOr@rc6eZdZfdZefdZxZS):ClassPropertiesAndMethods.test_metaclass.<locals>.ANotMetacDjdt|	|SNANotMetarrr;r<rrs   r?rzBClassPropertiesAndMethods.test_metaclass.<locals>.ANotMeta.__new__   ,wt,,r@c*jdiSrr)rr=rU
prepare_callss   r?rzFClassPropertiesAndMethods.test_metaclass.<locals>.ANotMeta.__prepare__s$$Z0	r@rrrrrrrxrrrs@r?rrs
-

r@rc8eZdZfdZefdZxZS):ClassPropertiesAndMethods.test_metaclass.<locals>.BNotMetacDjdt|	|SNBNotMetarrs   r?rzBClassPropertiesAndMethods.test_metaclass.<locals>.BNotMeta.__new__rr@cFjdt|	||Sr
)rrur)rr=rUrrs   r?rzFClassPropertiesAndMethods.test_metaclass.<locals>.BNotMeta.__prepare__s#$$Z0w*477r@rrs@r?rrs
-
8
8r@rceZdZyrrMrr@r?r}z3ClassPropertiesAndMethods.test_metaclass.<locals>.ArOr@ceZdZyrrMrr@r?rz3ClassPropertiesAndMethods.test_metaclass.<locals>.BrOr@ceZdZyrYrMrr@r?rz3ClassPropertiesAndMethods.test_metaclass.<locals>.CrOr@ceZdZyrrMrr@r?rz4ClassPropertiesAndMethods.test_metaclass.<locals>.C2	rOr@ceZdZyrKrMrr@r?rNz3ClassPropertiesAndMethods.test_metaclass.<locals>.Dr@ceZdZyrrMrr@r?rz3ClassPropertiesAndMethods.test_metaclass.<locals>.ErOr@ceZdZy)3ClassPropertiesAndMethods.test_metaclass.<locals>.FNrMrr@r?FrrOr@rceZdZy)4ClassPropertiesAndMethods.test_metaclass.<locals>.F2NrMrr@r?F2r'rOr@rceZdZyrrMrr@r?rz3ClassPropertiesAndMethods.test_metaclass.<locals>.X2rr@ceZdZyrrMrr@r?rz3ClassPropertiesAndMethods.test_metaclass.<locals>.X5rr@)rGrErrrHrrSr`r=rUassertInrrrLrrrrrrrclearrIassertRaisesr-)r:rrBrIrNrMrWrXrir}rrrrrrrrrrrrrrrr\rrvrrrs                        @@@@@@@r?test_metaclassz(ClassPropertiesAndMethods.test_metaclasss	%$	%
Cq)	

2r*	(	(	*	Q'
Ca(	<	<	"	Q'
CQ'				 	"		
%"%

faff%
C2&			)		1	1	1	1	11	1	
V,	11	1	
V,	O4	O(	,	

Ca%b!#&	\9		.		3	3	3	3	31	3	
'			!	A&
Ca!$A&
C
Sii$%	5	5			!		1	

aa!		D			E			%	'I.	%		
'7+Y7	1		
'7+Y7

&

3	A	'7+Y7

&4	T	'7+Y7

&

3	U	'7+Y7

&

3		$		$		T	

fa 

fa 

fa 
			8x	8	(	

hQ(*}5*y1	(	

hQ(*j1=A*j19=	1	

hQ(*j19=*j1=A	A	

hR)*j19=*j1=A

y
)	
A
		X	

hQ(*j19=*j1=A	!	

hQ(*j19=*j1=A	FH	

hR)*j19=*j1=A

y
)	
Asu
	

y
)	
CE1
		o$l		<				s6h?h,h9>i	h)(h),h69iic	
g
tt	G	
fdd	}|d}d|_|j}|`|j
gd	Gddtj
t}|jdd	}Gd
d}tdDcgc]}t||fi}}|j|j|y#t$rYbwxYwcc}w)
Nc<eZdZfdZfdZfdZfdZy)<ClassPropertiesAndMethods.test_module_subclasses.<locals>.MMc*j||yr)r4)r:r=MTs  r?r4zEClassPropertiesAndMethods.test_module_subclasses.<locals>.MM.__init__=sD$'r@cNjd|fj||S)NrH)r__getattribute__r:r=r$logs  r?r&zMClassPropertiesAndMethods.test_module_subclasses.<locals>.MM.__getattribute__?s'

It,-**466r@cTjd||fj|||y)Nrd)r__setattr__)r:r=rr$r(s   r?r*zHClassPropertiesAndMethods.test_module_subclasses.<locals>.MM.__setattr__Bs&

ItU34tT51r@cPjd|fj||y)Ndelattr)r__delattr__r's  r?r-zHClassPropertiesAndMethods.test_module_subclasses.<locals>.MM.__delattr__Es"

It,-tT*r@N)rrrr4r&r*r-)r$r(sr?MMr"<s
(
7
2
+r@r.rBr))rdrrrHr)r,rceZdZy)@ClassPropertiesAndMethods.test_module_subclasses.<locals>.ModuleNrMrr@r?Moduler1Rrr@r2z?inheriting from ModuleType and str at the same time should failcjdjtjtjdS)Nrr)r)joinrandomchoicesstring
ascii_lettersrr@r?random_namezEClassPropertiesAndMethods.test_module_subclasses.<locals>.random_name[s"776>>&*>*>"EFFr@ceZdZy);ClassPropertiesAndMethods.test_module_subclasses.<locals>.ANrMrr@r?r}r;]rOr@r}r)rGrrrEtypes
ModuleTypestrrrr__subclasses__)r:r.rBrr2r9r}r
subclassesr$r(s         @@r?test_module_subclassesz0ClassPropertiesAndMethods.test_module_subclasses8s
#Y	+	+
sG
EE
E3	4
	%
))3


II$
%	G		=B3ZHd;=1$3H
H))+Z8		IsCC)	C&%C&c$Gddt}|j|jd|jd|j|jdGfddt}|}|jt|j
gd|d<|jt|jd	g|j|dd|j|jd|jd|j|jd|j|j|ttfGd
dt}Gdd
|t
}|j|jd|jt|d|j|jd|jt|dy)NceZdZdZdZdZy)>ClassPropertiesAndMethods.test_multiple_inheritance.<locals>.Ccd|_yrr9rs r?r4zGClassPropertiesAndMethods.test_multiple_inheritance.<locals>.C.__init__er;r@c|jSrr9rs r?rzGClassPropertiesAndMethods.test_multiple_inheritance.<locals>.C.getstategr=r@c||_yrr9rs  r?rzGClassPropertiesAndMethods.test_multiple_inheritance.<locals>.C.setstateir?r@Nr@rr@r?rrDdrAr@rrrceZdZfdZy)>ClassPropertiesAndMethods.test_multiple_inheritance.<locals>.DcRtj|j|yr)rr4rs r?r4zGClassPropertiesAndMethods.test_multiple_inheritance.<locals>.D.__init__ps

d#

4 r@Nrrrr4rsr?rNrIos
!r@rNworldhello)rNrMceZdZdZdZy)AClassPropertiesAndMethods.test_multiple_inheritance.<locals>.Nodec4t|jSr)r-rrs r?__int__zIClassPropertiesAndMethods.test_multiple_inheritance.<locals>.Node.__int__s488:&r@cy)N23rrs r?rzEClassPropertiesAndMethods.test_multiple_inheritance.<locals>.Node.foor@N)rrrrRrrr@r?NoderP~s
'
r@rVceZdZdZy)AClassPropertiesAndMethods.test_multiple_inheritance.<locals>.Fragcy)N42rrs r?rzEClassPropertiesAndMethods.test_multiple_inheritance.<locals>.Frag.foorUr@Nrrr@r?FragrX
r@r[r)r`rErrrr6rr7__mro__rRr-)r:rBrNrMrVr[rs      @r?test_multiple_inheritancez3ClassPropertiesAndMethods.test_multiple_inheritancebs	%	%
Cq)	

2r*	!a	!
Caffh,'
aggi+=*>?7W-q)	

2r*Qa$89	6	
	4		
)2.TVb))2.TVb)r@c`Gddt}|j|jdGdd|}|j|jd|j|jdGdd|}|j|jd|j|jdGdd||}|j|jd|j|jd|j|j||||tfGd	d
||}|j|jd|j|jd|j|j||||tf	Gdd||}|jd
	Gdd||}|jdy#t$rY*wxYw#t$rYywxYw)NceZdZdZy)=ClassPropertiesAndMethods.test_diamond_inheritance.<locals>.Acyr|rrs r?rzBClassPropertiesAndMethods.test_diamond_inheritance.<locals>.A.spam3r@Nrnrr@r?r}rbs&r@r}ceZdZdZdZy)=ClassPropertiesAndMethods.test_diamond_inheritance.<locals>.Bcyrrrs r?boozAClassPropertiesAndMethods.test_diamond_inheritance.<locals>.B.boo#r@cyrrrs r?rzBClassPropertiesAndMethods.test_diamond_inheritance.<locals>.B.spamrdr@N)rrrrhrrr@r?rrfs%&r@rceZdZdZy)=ClassPropertiesAndMethods.test_diamond_inheritance.<locals>.Ccyrrrs r?rhzAClassPropertiesAndMethods.test_diamond_inheritance.<locals>.C.boorir@N)rrrrhrr@r?rrls%r@rceZdZy)=ClassPropertiesAndMethods.test_diamond_inheritance.<locals>.DNrMrr@r?rNrorr@rNceZdZy)=ClassPropertiesAndMethods.test_diamond_inheritance.<locals>.ENrMrr@r?rrqrr@rceZdZy)=ClassPropertiesAndMethods.test_diamond_inheritance.<locals>.FNrMrr@r?rrsrr@rz#expected MRO order disagreement (F)ceZdZy)=ClassPropertiesAndMethods.test_diamond_inheritance.<locals>.GNrMrr@r?Grurr@rvz#expected MRO order disagreement (G))r`rErrhr^rr)r:r}rrrNrrrvs        r?test_diamond_inheritancez2ClassPropertiesAndMethods.test_diamond_inheritances	'	'S)	'	'	
S)C(	&	&S)C(1S)C(Q1a$891S)C(Q1a$89	=Aq
II;<	=Aq
II;<				s$H4H!	HH!	H-,H-c
Gddt}Gddt}Gddt}Gdd|}Gd	d
|}Gdd||||}|j|j||||||tfy)
NceZdZy)<ClassPropertiesAndMethods.test_ex5_from_c3_switch.<locals>.ANrMrr@r?r}rzrr@r}ceZdZy)<ClassPropertiesAndMethods.test_ex5_from_c3_switch.<locals>.BNrMrr@r?rr|rr@rceZdZy)<ClassPropertiesAndMethods.test_ex5_from_c3_switch.<locals>.CNrMrr@r?rr~rr@rceZdZy)<ClassPropertiesAndMethods.test_ex5_from_c3_switch.<locals>.XNrMrr@r?rrrr@rceZdZy)<ClassPropertiesAndMethods.test_ex5_from_c3_switch.<locals>.YNrMrr@r?rrrr@rceZdZy)<ClassPropertiesAndMethods.test_ex5_from_c3_switch.<locals>.ZNrMrr@r?rrrr@rr`rEr^)r:r}rrrrrs       r?test_ex5_from_c3_switchz1ClassPropertiesAndMethods.test_ex5_from_c3_switchs[!AaQ1aAv$>?r@cGddt}Gdd|}Gdd|}Gdd|}Gd	d
|}Gdd||}Gd
d|}Gdd||}|j|j|||||tf|j|j||||tf|j|j||||||||tf	y)NceZdZy)9ClassPropertiesAndMethods.test_monotonicity.<locals>.BoatNrMrr@r?Boatrrr@rceZdZy)<ClassPropertiesAndMethods.test_monotonicity.<locals>.DayBoatNrMrr@r?DayBoatrrr@rceZdZy)>ClassPropertiesAndMethods.test_monotonicity.<locals>.WheelBoatNrMrr@r?	WheelBoatrrr@rceZdZy)?ClassPropertiesAndMethods.test_monotonicity.<locals>.EngineLessNrMrr@r?
EngineLessrrr@rceZdZy)CClassPropertiesAndMethods.test_monotonicity.<locals>.SmallMultihullNrMrr@r?SmallMultihullrrr@rceZdZy)CClassPropertiesAndMethods.test_monotonicity.<locals>.PedalWheelBoatNrMrr@r?PedalWheelBoatrrr@rceZdZy)CClassPropertiesAndMethods.test_monotonicity.<locals>.SmallCatamaranNrMrr@r?SmallCatamaranrrr@rceZdZy);ClassPropertiesAndMethods.test_monotonicity.<locals>.PedaloNrMrr@r?Pedalorrr@rr)	r:rrrrrrrrs	         r?test_monotonicityz+ClassPropertiesAndMethods.test_monotonicitys 6 !d!##''+W+8Z	82^29^N9//z7ItVL	N//~wfE	G~z>w	4A	Br@c
Gddt}Gddt}Gddt}Gdd||}Gd	d
||}Gdd||}|j|j||||||tfy)
NceZdZy)AClassPropertiesAndMethods.test_consistency_with_epg.<locals>.PaneNrMrr@r?Panerrr@rceZdZy)KClassPropertiesAndMethods.test_consistency_with_epg.<locals>.ScrollingMixinNrMrr@r?ScrollingMixinrrr@rceZdZy)IClassPropertiesAndMethods.test_consistency_with_epg.<locals>.EditingMixinNrMrr@r?EditingMixinrrr@rceZdZy)KClassPropertiesAndMethods.test_consistency_with_epg.<locals>.ScrollablePaneNrMrr@r?ScrollablePanerrr@rceZdZy)IClassPropertiesAndMethods.test_consistency_with_epg.<locals>.EditablePaneNrMrr@r?EditablePanerrr@rceZdZy)SClassPropertiesAndMethods.test_consistency_with_epg.<locals>.EditableScrollablePaneNrMrr@r?EditableScrollablePanerrr@rr)r:rrrrrrs       r?test_consistency_with_epgz3ClassPropertiesAndMethods.test_consistency_with_epgsd 6 *V*(6(7T.7343G^LG/77%~|Tf6	7r@c	d}fd}Gddt}Gdd|}Gddt}|td	td
||fi|t|td
||fi|t|td
|||fiGddt}Gd
d|}Gdd|}Gdd||}	Gdd||}
|t|td|	|
fiy)NzCCannot create a consistent method resolution
order (MRO) for bases c	||jd|zy#|$rb}tjrDt|j	|s%jdt|d|Yd}~yYd}~yYd}~yd}~wwxYw)NzExpected %szMessage z, expected )rrcheck_impl_detailr>rc)excexpectedcallabler;msgr:s     r?raisesz?ClassPropertiesAndMethods.test_mro_disagreement.<locals>.raisess{	
/$		-#-.
8,,.s8..x8		#&s8X#7889/
8sBAA??BceZdZy):ClassPropertiesAndMethods.test_mro_disagreement.<locals>.ANrMrr@r?r}rrr@r}ceZdZy):ClassPropertiesAndMethods.test_mro_disagreement.<locals>.BNrMrr@r?rrrr@rceZdZy):ClassPropertiesAndMethods.test_mro_disagreement.<locals>.CNrMrr@r?rrrr@rzduplicate base class ArceZdZy)CClassPropertiesAndMethods.test_mro_disagreement.<locals>.GridLayoutNrMrr@r?
GridLayoutrrr@rceZdZy)GClassPropertiesAndMethods.test_mro_disagreement.<locals>.HorizontalGridNrMrr@r?HorizontalGridrrr@rceZdZy)EClassPropertiesAndMethods.test_mro_disagreement.<locals>.VerticalGridNrMrr@r?VerticalGridrrr@rceZdZy)?ClassPropertiesAndMethods.test_mro_disagreement.<locals>.HVGridNrMrr@r?HVGridrrr@rceZdZy)?ClassPropertiesAndMethods.test_mro_disagreement.<locals>.VHGridNrMrr@r?VHGridrrr@rConfusedGrid)r`rrG)r:mro_err_msgrr}rrrrrrrs`          r?test_mro_disagreementz/ClassPropertiesAndMethods.test_mro_disagreements
	/		y2S1a&"	&y+S1a&"	&y+S1a)R	)	'&.Z.,:,8^\88\>8y+^ff%5r	;r@cht}|j|jt|jt|tt}|j	|||j|d	d|_|jd|jtdGddt}|}|j|jid|_|j|jd|j|jddiy#ttf$rYwxYw)Nrrz1object() should not allow setting a foo attributerIceZdZy):ClassPropertiesAndMethods.test_object_class.<locals>.CdictNrMrr@r?CdictrrOr@rrf)r`rErrGassertNotEqualrrrAttributeErrorrrI)r:rBrTrrs     r?test_object_classz+ClassPropertiesAndMethods.test_object_classsHf-a&)HAq!a'	KAE
IIIJfh
3	F	GR("eQZ0	*		s9DD10D1cGddtj}tjd}|j|jtju|j	t|d||_|j|j|u|jt|dtj|_|j|jtju|j	t|dGddt}|jt5|d_dddGdd	t}|jt5|d
_dddGddt}|jt5|d
_dddGddt}|jt5|d_dddGddt}|jt5|d_dddGddt}|jt5|d_dddGddt}	|jt5|	t_dddy#1swYKxYw#1swY$xYw#1swYxYw#1swYxYw#1swYxYw#1swYxYw#1swYyxYw)NceZdZdZy)jClassPropertiesAndMethods.test_object_class_assignment_between_heaptypes_and_nonheaptypes.<locals>.SubTyperfNrrrrBrr@r?SubTypersAr@rrOrBceZdZdZy)hClassPropertiesAndMethods.test_object_class_assignment_between_heaptypes_and_nonheaptypes.<locals>.MyIntrNrrrrrr@r?MyIntr5Ir@rrfceZdZdZy)jClassPropertiesAndMethods.test_object_class_assignment_between_heaptypes_and_nonheaptypes.<locals>.MyFloatrNrrr@r?MyFloatr:rr@r?ceZdZdZy)lClassPropertiesAndMethods.test_object_class_assignment_between_heaptypes_and_nonheaptypes.<locals>.MyComplexrNrrr@r?	MyComplexr?rr@ry?@ceZdZdZy)hClassPropertiesAndMethods.test_object_class_assignment_between_heaptypes_and_nonheaptypes.<locals>.MyStrrNrrr@r?MyStrrDrr@rceZdZdZy)jClassPropertiesAndMethods.test_object_class_assignment_between_heaptypes_and_nonheaptypes.<locals>.MyBytesrNrrr@r?MyBytesrIrr@raceZdZdZy)jClassPropertiesAndMethods.test_object_class_assignment_between_heaptypes_and_nonheaptypes.<locals>.MyTuplerNrrr@r?MyTuplerNrr@rrceZdZdZy)nClassPropertiesAndMethods.test_object_class_assignment_between_heaptypes_and_nonheaptypes.<locals>.MyFrozenSetrNrrr@r?MyFrozenSetrSrr@r)r<r=rrrrr-rrr.rr>bytestuple	frozenset)
r:rrOrrrrrrrs
          r??test_object_class_assignment_between_heaptypes_and_nonheaptypeszYClassPropertiesAndMethods.test_object_class_assignment_between_heaptypes_and_nonheaptypessB	e&&	
S!u'7'778C)w./3(&&u'7'778C)	C	


y
)	"!QM	"	e	


y
)	&%SO	&		


y
)	+!*V	+	C	


y
)	"!CM	"	e	


y
)	%$DN	%	e	


y
)	#"BL	#	)	


y
)	0$/IK!	0	0=	"	"
	&	&
	+	+
	"	"
	%	%
	#	#
	0	0sT3J'JJJ*J67K+KJJJ'*J36J?KKcGddt}|}j|dj|dGddt}|}j|dj|dd|_j|jdd|_j|jd|`j|dGd	d
t}|}j|dj|dj|dj|dd|_d
|_d|_j|jdj|jd
j|j
dGddt}|d}j|dj|dj|j
d	d|_jd	Gddt}jd	Gddt}jd	Gddt}jd	Gddt}jd	Gddt}jdGd dt}Gd!dt}|}d|_j|jdGd"dt}|}d|_j|jdd#Gfd$dt}|}d|_j|jdjtd%t	Gd&dt}jd'Gfd(d)tGd*dt}|}|_|_|_jj"d~t%j&jj"d%Gd+d,|}|}|_|_jj"d
~t%j&jj"d%Gd-d.|}	|	}|_|_|_jj"d~t%j&jj"d%Gd/d0t}
|
}|g|_jj"dd}t%j&jj"d%t-t.d1rwGd2d3t}|}
t1t/j2}t5d4D]}|
|
k(	t1t/j2}j||Gfd5d6t}t%j6d75}|}~dddj|j9d8Gd9d:t}j;t5|`dddGd;d:t}j=td<5|jdddGd=d>tGfd?d:t}d|_j=td<5|jdddy#t$rYdwxYw#t$rYSwxYw#t$rYBwxYw#t$rY1wxYw#t$rY wxYw#t$rYwxYw#tt f$rY$wxYw#1swYpxYw#1swY)xYw#1swYxYw#1swYyxYw)@NceZdZgZy)0ClassPropertiesAndMethods.test_slots.<locals>.C0Nrrr@r?C0rZrr@rrIrceZdZdgZy)0ClassPropertiesAndMethods.test_slots.<locals>.C1rBNrrr@r?C1r`	Ir@rrBrfceZdZgdZy)0ClassPropertiesAndMethods.test_slots.<locals>.C3rWNrrr@r?C3rl'Ir@rrTrXrgrkc eZdZ	dgZdZdZy)0ClassPropertiesAndMethods.test_slots.<locals>.C4__ac||_yr_C4__ar:rs  r?r4z9ClassPropertiesAndMethods.test_slots.<locals>.C4.__init__}	 r@c|jSrrrs r?rz4ClassPropertiesAndMethods.test_slots.<locals>.C4.getxxr@N)rrrrr4rrr@r?C4rzs(I
!
 r@rrrrz$Double underscored names not mangledceZdZdgZy/ClassPropertiesAndMethods.test_slots.<locals>.CNrrr@r?rrs	!F	r@rz[None] slots not caughtceZdZdgZy)rzfoo barNrrr@r?rz/ClassPropertiesAndMethods.test_slots.<locals>.Cs	&K	r@z['foo bar'] slots not caughtceZdZdgZy)rzfoobarNrrr@r?rz/ClassPropertiesAndMethods.test_slots.<locals>.Cs	'L	r@z['foo\0bar'] slots not caughtceZdZdgZy)r1Nrrr@r?rz/ClassPropertiesAndMethods.test_slots.<locals>.Cs	 E	r@z['1'] slots not caughtceZdZdgZy)rrNrrr@r?rz/ClassPropertiesAndMethods.test_slots.<locals>.Cs	D	r@z[''] slots not caughtceZdZgdZy)r)rBa_b_aA0123456789ZNrrr@r?rz/ClassPropertiesAndMethods.test_slots.<locals>.Cs:Ir@ceZdZdZyrabcNrrr@r?rz/ClassPropertiesAndMethods.test_slots.<locals>.CIr@ceZdZdZyr"rrr@r?rz/ClassPropertiesAndMethods.test_slots.<locals>.Cr$r@rceZdZWZyrr)slotssr?rz/ClassPropertiesAndMethods.test_slots.<locals>.CsIr@rceZdZedgZy)rN)rrrchrrrr@r?rz/ClassPropertiesAndMethods.test_slots.<locals>.Cs
 XJ	r@zhr(128)] slots not caughtc&eZdZdZfdZfdZy)5ClassPropertiesAndMethods.test_slots.<locals>.Countedrc0xjdz
c_yrrr:Counteds r?r4z>ClassPropertiesAndMethods.test_slots.<locals>.Counted.__init__1$r@c0xjdzc_yrrr.s r?__del__z=ClassPropertiesAndMethods.test_slots.<locals>.Counted.__del__r0r@N)rrrrr4r2)r/sr?r/r,sG
%
%r@r/ceZdZgdZy)rrWNrrr@r?rz/ClassPropertiesAndMethods.test_slots.<locals>.Cr	r@ceZdZy)/ClassPropertiesAndMethods.test_slots.<locals>.DNrMrr@r?rNr5rOr@rNceZdZdgZy)/ClassPropertiesAndMethods.test_slots.<locals>.EeNrrr@r?rr7rr@rceZdZddgZy)/ClassPropertiesAndMethods.test_slots.<locals>.FrBrTNrrr@r?rr:c
Ir@rget_objectsceZdZdZy)/ClassPropertiesAndMethods.test_slots.<locals>.Gcy)NFrrs  r?__eq__z6ClassPropertiesAndMethods.test_slots.<locals>.G.__eq__s r@Nrrrr@rr@r?rvr>s!r@rvrc&eZdZddgZdZfdZy)/ClassPropertiesAndMethods.test_slots.<locals>.HrBrTc d|_d|_yNrfrgrSrs r?r4z8ClassPropertiesAndMethods.test_slots.<locals>.H.__init__sr@cvj|jdj|jdyrE)rErBrT)self_r:s r?r2z7ClassPropertiesAndMethods.test_slots.<locals>.H.__del__s+  !,  !,r@N)rrrrr4r2rsr?HrCsc
I

-r@rHstderrrceZdZdZy/ClassPropertiesAndMethods.test_slots.<locals>.XrBNrrr@r?rrLIr@rceZdZdZyrKrrr@r?rz/ClassPropertiesAndMethods.test_slots.<locals>.X#rMr@z'X' object has no attribute 'a'ceZdZy)4ClassPropertiesAndMethods.test_slots.<locals>.SubStrNrMrr@r?SubStrrP)rOr@rQc"eZdZWdfZy)rLrNr)rQsr?rz/ClassPropertiesAndMethods.test_slots.<locals>.X+sIr@) r`rrBrErTrXr_ClassPropertiesAndMethods__arrrr#rrrGr>UnicodeEncodeErrorrr
gc_collectzr8rgcr	r<rcaptured_outputgetvaluerassertRaisesRegexr)r:rrrrrrrXrNrrsrvgorig_objectsrnew_objectsrHhrr/rQr's`                   @@@r?
test_slotsz$ClassPropertiesAndMethods.test_slotsXs		Da,a'		Da,a%a d#
Ca%	(	(Da,a%a%a%a a a 	 	 
qEa,a'!$	>AE
II<=	1
#F
#

II/0	6
(F
(

II45	8
)F
)

II67	0
"F
"

II./	/
!F
!

II-.	;	;		
C"		
C"		
C"

d58nc*	5
'F
'

II34	%f	%	(	(
Ciii!,
!,		
Cii!,
!,		
Ciii!,
!,	#	#
Cy!n!,!,2}%
!F
!Ar~~/0L2Y
1
bnn./K\;7	-	-
$
$X
.	!A		
r*		


~
.				

#
#N4U
V	
CEE		S		'	'

#
#N4U
V	
CEE		O												H-.		P								s6]&]60^^2^&^6_%	_:_)/_6`&	]32]36	^^	^^	^#"^#&	^32^36	_____&)_36_?`cGddt}|}|j|d|j|dd|_|j	|j
ddiGddt}|}|j|d|j|d	d|_|j
d	Gd
d||}|}|j|d|j|dd|_|j	|j
ddiGdd
||}|}|j|d|j|dd|_|j	|j
ddiy#t$rYwxYw)NceZdZdgZy)7ClassPropertiesAndMethods.test_slots_special.<locals>.DrINrrr@r?rNrc3	#Ir@rNrI__weakref__rrceZdZdgZy)7ClassPropertiesAndMethods.test_slots_special.<locals>.WreNrrr@r?Wrg;	&Ir@rhz!shouldn't be allowed to set a.fooceZdZgZy)8ClassPropertiesAndMethods.test_slots_special.<locals>.C1Nrrr@r?rrkGrr@rceZdZgZy)8ClassPropertiesAndMethods.test_slots_special.<locals>.C2Nrrr@r?rrmOrr@r)r`rrrrErIrr)r:rNrBrhrrs      r?test_slots_specialz,ClassPropertiesAndMethods.test_slots_special1s^	%	%
C1j)a/eR[1	(	(
C1m,a,	;AE
II9:	A	D1j)1m,eR[1	A	D1j)1m,eR[1'		sE,,	E87E8cvGfddt}Gdd}Gdd||d}j|jdtj|}j|jd	j|dd	|_j|jd	jt5Gd
d}dddGdd
|d}j|j|jddd
zj|jdtj|}j|dd|_j|jdjt5Gdd}dddy#1swYxYw#1swYyxYw)Nc"eZdZfdZxZS);ClassPropertiesAndMethods.test_slots_special2.<locals>.MetacLj||t|	||||Sr)rrur)rr=rU	namespaceattrrr:s     r?rzCClassPropertiesAndMethods.test_slots_special2.<locals>.Meta.__new__Zs&

dI.wsD%CCr@rwrr:s@r?MetarqYs
D
Dr@rvceZdZdZy)9ClassPropertiesAndMethods.test_slots_special2.<locals>.C1cd|_yrl)rTrs r?r4zBClassPropertiesAndMethods.test_slots_special2.<locals>.C1.__init___s	r@NrKrr@r?rrx^r\r@rc$eZdZdgZfdZxZS)9ClassPropertiesAndMethods.test_slots_special2.<locals>.C2rxc"t|yrrur4)r:rs r?r4zBClassPropertiesAndMethods.test_slots_special2.<locals>.C2.__init__cs "r@)rrrrr4rxrs@r?rr{as()I
#
#r@rrx)rCrtrceZdZdZdgZy)9ClassPropertiesAndMethods.test_slots_special2.<locals>.C3rrxN)rrrrxrrr@r?rrms "
,-	r@rceZdZdgZy)9ClassPropertiesAndMethods.test_slots_special2.<locals>.Q1rNrrr@r?Q1rqs
'(Ir@rrqc eZdZeZdgZy)9ClassPropertiesAndMethods.test_slots_special2.<locals>.Q2rN)rrrr`rrr@r?Q2r{s%x+,	r@r)rGrrIr<MemberDescriptorTyperErTrrxrrr)	r:rvrrrXrrrrs	`        r?test_slots_special2z-ClassPropertiesAndMethods.test_slots_special2Wsz	D4	D
			#t/	#	
bkk/:#88	:Db!a1"-


y
)	.
.
.	.
	)4n	)"//#2*>*EFbkk.9#88	:Da0-


y
)	-
-
-	-	-	.	.	-	-sF#F/#F,/F8cddl}Gdd|j}Gddt}|j||}|j	|||jt|jj|dy)NrceZdZdZy)>ClassPropertiesAndMethods.test_slots_descriptor.<locals>.MyABCrBNrrr@r?MyABCrrMr@rrBceZdZy)BClassPropertiesAndMethods.test_slots_descriptor.<locals>.UnrelatedNrMrr@r?	UnrelatedrrOr@rrk)	r#ABCMetar`registerrrrrB__set__)r:r#rrus     r?test_slots_descriptorz/ClassPropertiesAndMethods.test_slots_descriptorsd		ckk			
y!Ka'	
)UWW__a;r@cGddt}Gdd|}Gdd|}d|_|j|jd|j|jd|j|jdGdd	t}|}|j|d
d|_|j|jdd|_|j|jd
d|_|jt|dd|_|jt|d|j|jd|j|dd}||_
|j|jdd|_|j|jdd}||_
|jt5d|_ddd|j|jdGdd|}|}d|_|j|jdGddt}	|jd|	dzd|j|	ddzd|jd|	dzd|j|	ddzd|j|	d|	dzdGddt }
Gd d!|
"}|j#|ty#1swY)xYw)#NceZdZy2ClassPropertiesAndMethods.test_dynamics.<locals>.DNrMrr@r?rNrrOr@rNceZdZy)2ClassPropertiesAndMethods.test_dynamics.<locals>.ENrMrr@r?rrrOr@rceZdZy)2ClassPropertiesAndMethods.test_dynamics.<locals>.FNrMrr@r?rrrOr@rrfceZdZy)2ClassPropertiesAndMethods.test_dynamics.<locals>.CNrMrr@r?rrrOr@rfoobarrgcyrlrrs r?<lambda>z9ClassPropertiesAndMethods.test_dynamics.<locals>.<lambda>r@rcy)NC()rrs r?rz9ClassPropertiesAndMethods.test_dynamics.<locals>.<lambda>rr@rcyr(rrs r?rz9ClassPropertiesAndMethods.test_dynamics.<locals>.<lambda>rr@rrc|dk(rytNrrr:r=s  r?	mygetattrz:ClassPropertiesAndMethods.test_dynamics.<locals>.mygetattrsv~  r@rcF|dk(rttj|||Sr)rr`r*)r:r=rs   r?	mysetattrz:ClassPropertiesAndMethods.test_dynamics.<locals>.mysetattrs$v~$$%%dD%88r@znot spamceZdZyrrMrr@r?rNz2ClassPropertiesAndMethods.test_dynamics.<locals>.DrOr@ceZdZy)2ClassPropertiesAndMethods.test_dynamics.<locals>.INrMrr@r?IrrOr@rrBaarkrceZdZy)AClassPropertiesAndMethods.test_dynamics.<locals>.dynamicmetaclassNrMrr@r?dynamicmetaclassrrOr@rceZdZy):ClassPropertiesAndMethods.test_dynamics.<locals>.someclassNrMrr@r?	someclassrrOr@rrB)r`rrErrmethodrrrRr-__getattr__rnewr*rrrGr)r:rNrrrrBrrrMrrrs            r?
test_dynamicsz'ClassPropertiesAndMethods.test_dynamicss						"""		
Ca*1%"R('
a%($	Q%1%a(	!"
(#	9"



~
.	 AF	 	
(		
C"		QqT4(1c4(1Q4#1a#1adA&	t		"2	Iv.1	 	 sK??L	c	Gddtt}|jd	Gddtd}|jdGdd}	Gddtt}|jd		Gd
dt}|jd	Gddt}|jd
Gddt
}Gddt
}Gddt|}Gddt|}	Gdd||}|jdy#t$rYwxYw#t$rYwxYw#t$rYwxYw#t$rYwxYw#t$rYwxYw#t$rYywxYw)NceZdZy0ClassPropertiesAndMethods.test_errors.<locals>.CNrMrr@r?rrrr@rz5inheritance from both list and dict should be illegalceZdZyrrMrr@r?rz0ClassPropertiesAndMethods.test_errors.<locals>.Crr@z+inheritance from non-type should be illegalceZdZy)6ClassPropertiesAndMethods.test_errors.<locals>.ClassicNrMrr@r?ClassicrrOr@rceZdZyrrMrr@r?rz0ClassPropertiesAndMethods.test_errors.<locals>.Crr@z,inheritance from CFunction should be illegalceZdZdZyrrfNrrr@r?rz0ClassPropertiesAndMethods.test_errors.<locals>.Cs	r@z__slots__ = 1 should be illegalceZdZdgZyrrrr@r?rz0ClassPropertiesAndMethods.test_errors.<locals>.Cs	C	r@z!__slots__ = [1] should be illegalceZdZy)1ClassPropertiesAndMethods.test_errors.<locals>.M1NrMrr@r?rWrrOr@rWceZdZy)1ClassPropertiesAndMethods.test_errors.<locals>.M2NrMrr@r?rirrOr@riceZdZy)1ClassPropertiesAndMethods.test_errors.<locals>.A1NrMrr@r?A1rrOr@rrBceZdZy)1ClassPropertiesAndMethods.test_errors.<locals>.A2NrMrr@r?A2rrOr@rceZdZy)0ClassPropertiesAndMethods.test_errors.<locals>.BNrMrr@r?rrrr@rz5finding the most derived metaclass should have failed)r6rrrr`rGr	)r:rrrWrirrrs        r?test_errorsz%ClassPropertiesAndMethods.test_errorss	O
D$


IIMN	E
FD


IICD			F
DI


IIDE	9
F


II78	;
 F
 

II9:					2		2		O
B


IIMNk										 		sjDD.D=>EEE*	D+*D+.	D:9D:=	E	E		EE	E'&E'*	E65E6cGddt}|}|j|jd|df|j|jd|df|j|jd|dfGdd|}|}|j|jd|df|j|jd|df|j|jd|df|j|j|d|dfd}t	|}|j|jdtdtdf|j|jddtdf|j|jj||j|jj||jt||
j||jt||
j||jt|||f|jt|||ft	djd}|jt|	t	|d	|jd
t	|}idtd|jd
}	|j|j|	d|_|j|jd|j|jddi|	|`|j!|dy#t$rYwxYw)Nc"eZdZdZeeZy)6ClassPropertiesAndMethods.test_classmethods.<locals>.Cc|SrrrBs r?rz:ClassPropertiesAndMethods.test_classmethods.<locals>.C.foor@Nrrrrrgoorr@r?rr!c"Cr@rrfceZdZy)6ClassPropertiesAndMethods.test_classmethods.<locals>.DNrMrr@r?rNrrOr@rNc	||fSrr)rargs  r?fz6ClassPropertiesAndMethods.test_classmethods.<locals>.f s:r@rrrz)classmethod shouldn't accept keyword argszf docstringr)__annotations____doc__rrrr)r`rErrrrer-__self__rurrrrrrIrr)r:rrXrNrMrffrLcmcm_dictrs          r?test_classmethodsz+ClassPropertiesAndMethods.test_classmethodss	#	#
CqAq6*qAq6*qAq6*		
CqAq6*qAq6*qAq6*q!q!f-	^+As+B/#r;Ar*S"I6	
++q00!4q00!4q)A40q)A401~%%a()T*	Ca 
IIAB
^&(+!)"#$>>	3
	
g.r"sR&;7&;<Db#&#		s
M	MMctjtd}td}|}t	dD]}|jd|j
||z
ddyNgettotalrefcountrrr)delta)r
get_attributerrrr4assertAlmostEqual)r:rrrefs_beforers     r?%test_refleaks_in_classmethod___init__z?ClassPropertiesAndMethods.test_refleaks_in_classmethod___init__Ise"006HI

&(s	AKK	/1K?"Mr@rNrc8ddl}d}ddi}|jj|i|\}}}|j||j|j|||j|||jj|i|\}}}|j||j|j|||j|||jjd}||jg|i|\}}	}
|j||j|j|	||j|
|Gdd|j}||g|i|\}}	}
|j|||j|	||j|
||jt5}|ddd|jtjd|jt5}||jddd|jt|jd	|jt5}|tdddd
}
|jt|j|
|jt5}|jdtddd|jt|j|
y#1swY3xYw#1swYxYw#1swYxYw#1swYTxYw)Nrrjr#{	classmethceZdZy)AClassPropertiesAndMethods.test_classmethods_in_c.<locals>.SubSpamNrMrr@r?SubSpamrfrr@rzGdescriptor 'classmeth' of 'xxsubtype.spamlist' object needs an argumentzfdescriptor 'classmeth' for type 'xxsubtype.spamlist' needs a type, not a 'xxsubtype.spamlist' as arg 2zUdescriptor 'classmeth' requires a subtype of 'xxsubtype.spamlist' but received 'list')rrrrErIrrr>	exceptionr6re)r:rrBrMrrd1spam_cmx2r d2rrexpected_errmsgs              r?test_classmethods_in_cz0ClassPropertiesAndMethods.test_classmethods_in_cRs	!
CL+DMM++Q4!4	2rDMM*BB-DMMO--q6A6	2rDMM*BB--((5T]]4Q4!4
BT]]+R R *dmm*W.q.A.
BW%R R 


y
)	RI	
'	(


y
)	%RDMMO$	%
@	A


y
)	RDM	
"		
R\\*O<


y
)	(ROOD$'	(R\\*O</			%	%			(	(s02K+<K8
L&L+K58LL
Lc.Gddt}|}|j|jdd|j|jdd|j|jd|dfGdd|}|}|j|jdd|j|jdd|j|jd|df|j|j|d|dft	d}|j|j
ddid|_|j|jd|j|j
ddd	|`|j|d
y)Nc"eZdZdZeeZy)7ClassPropertiesAndMethods.test_staticmethods.<locals>.Cc|Srrrs r?rz;ClassPropertiesAndMethods.test_staticmethods.<locals>.C.foorr@N)rrrrrhrrr@r?rrs!s#Cr@rrf)rfceZdZy)7ClassPropertiesAndMethods.test_staticmethods.<locals>.DNrMrr@r?rNrrOr@rNrr)rrr)r`rErrrhrIrr)r:rrXrNrMsms      r?test_staticmethodsz,ClassPropertiesAndMethods.test_staticmethodssL	$	$
Cq4(q4(qAq7+		
Cq4(q4(qAq6*q!q!f-
$
y$&78r"RD&ABDb#&r@ctjtd}td}|}t	dD]}|jd|j
||z
ddyr)rrrrhrr4r)r:rrrrs     r?&test_refleaks_in_staticmethod___init__z@ClassPropertiesAndMethods.test_refleaks_in_staticmethod___init__se"006HI
$
&(s	AKK	/1K?"Mr@cxddl}d}ddi}|jj|i|\}}}|j|d|j|||j|||jj|i|\}}}|j|d|j|||j||y)Nrrjr#r)rr
staticmethrE)r:rrBrMrrrrs        r?test_staticmethods_in_cz1ClassPropertiesAndMethods.test_staticmethods_in_cs	!
CL,DMM,,a515	2rD!BB.DMMO..7Q7	2rD!BBr@cHGdd}|jjddf|j|jddf|j|jd|dfGdd}|}|j|jd|df|j|jd|df|j|jd|df|j|j|d|dfGfdd}|j|jjj|j	tjj
jdy)	Nc"eZdZdZeeZy)1ClassPropertiesAndMethods.test_classic.<locals>.Cc|Srrrs r?rz5ClassPropertiesAndMethods.test_classic.<locals>.C.foorr@Nrrr@r?rrrr@rrfceZdZy)1ClassPropertiesAndMethods.test_classic.<locals>.DNrMrr@r?rNrrOr@rNc(eZdZWjZy)1ClassPropertiesAndMethods.test_classic.<locals>.ENrrLsr?rr%%Cr@r<bound method )rErr__func__rrrerc)r:rXrNrMrrs     @r?test_classicz&ClassPropertiesAndMethods.test_classicsE	#	#
CqAq6*qAq6*qAq6*		
CqAq6*qAq6*qAq6*q!q!f-		))1551QUU]]13/0;;<LMNr@cFGddt}|}|j|jd|j|jdd|_|j|jd|j|jd|`|j|dy)NcNeZdZGddeZdZdZdZdZeeeeZ	y)2ClassPropertiesAndMethods.test_compattr.<locals>.Cc(eZdZddZddZdZdZy)EClassPropertiesAndMethods.test_compattr.<locals>.C.computed_attributeNc.||_||_||_yr)_computed_attribute__get_computed_attribute__set_computed_attribute__delete)r:rrdeletes    r?r4zNClassPropertiesAndMethods.test_compattr.<locals>.C.computed_attribute.__init__s!$DJ!$DJ$*DMr@c$|j|Sr)r!)r:rrGs   r?rezMClassPropertiesAndMethods.test_compattr.<locals>.C.computed_attribute.__get__s::c?*r@c&|j||Sr)r"r:rrs   r?rzMClassPropertiesAndMethods.test_compattr.<locals>.C.computed_attribute.__set__s::c511r@c$|j|Sr)r#r:rs  r?
__delete__zPClassPropertiesAndMethods.test_compattr.<locals>.C.computed_attribute.__delete__s==--r@rr)rrrr4rerr*rr@r?computed_attributers++2.r@r+cd|_yr_C__xrs r?r4z;ClassPropertiesAndMethods.test_compattr.<locals>.C.__init__	r@c2|j}|dz|_|Srr-rs  r?__get_xz:ClassPropertiesAndMethods.test_compattr.<locals>.C.__get_xsHHQ3r@c||_yrr-rs  r?__set_xz:ClassPropertiesAndMethods.test_compattr.<locals>.C.__set_xr/r@c|`yrr-rs r?
__delete_xz=ClassPropertiesAndMethods.test_compattr.<locals>.C.__delete_xHr@N)
rrrr`r+r4	_C__get_x	_C__set_x_C__delete_xrrr@r?rrs0

.V

.



"7GZ@Ar@rrrfrr)r`rErrr3s   r?
test_compattrz'ClassPropertiesAndMethods.test_compattrs	A	A.
Ca a b!b!
Ca%r@c4Gddt}|}|j|jd|j|j|Gdd|}|}|j|jd|j|j|y)NceZdZdZdZy)2ClassPropertiesAndMethods.test_newslots.<locals>.Cc>tj|}d|_|Sr)r6rrrr:s  r?rz:ClassPropertiesAndMethods.test_newslots.<locals>.C.__new__s||C(r@c,|jdz|_yNrgrrs r?r4z;ClassPropertiesAndMethods.test_newslots.<locals>.C.__init__s88a<r@Nrrrrr4rr@r?rr>s

(r@rrkceZdZy)2ClassPropertiesAndMethods.test_newslots.<locals>.DNrMrr@r?rNrFrOr@rN)r6rErr)r:rrBrNrTs     r?
test_newslotsz'ClassPropertiesAndMethods.test_newslotssz	(	(
C"a(		
C"a(r@c|jttj|jttjd|jttjt|jttjtGddt}|jt|Gddt}|jt|y)Nrc$eZdZejZy1ClassPropertiesAndMethods.test_bad_new.<locals>.CN)rrrr6rrr@r?rrKsllGr@rc$eZdZejZyrJ)rrrr`rrr@r?rz1ClassPropertiesAndMethods.test_bad_new.<locals>.CsnnGr@)rrr`rr6rs  r?test_bad_newz&ClassPropertiesAndMethods.test_bad_news)V^^4)V^^R8)T\\6:)V^^T:	#	#)Q'	%	%)Q'r@cHGddt}tj||jttj|dtj	||jttj|dGddt}tj|tj|dtj	|d|jttj|ddGddt}tj||jttj|dtj	|dtj	|ddGddt}tj||jttj|dtj	|d|jttj|ddy)NceZdZy)4ClassPropertiesAndMethods.test_object_new.<locals>.ANrMrr@r?r}rP
rOr@r}rceZdZdZy)rPc||_yrrCr:rs  r?r4z=ClassPropertiesAndMethods.test_object_new.<locals>.A.__init__	r@NrKrr@r?r}z4ClassPropertiesAndMethods.test_object_new.<locals>.A
r@rkceZdZdZy)rPc,tj|Srr`rrrs  r?rz<ClassPropertiesAndMethods.test_object_new.<locals>.A.__new__~~c**r@NrVrr@r?r}z4ClassPropertiesAndMethods.test_object_new.<locals>.As
+r@ceZdZdZdZy)rPc,tj|SrrXrYs  r?rz<ClassPropertiesAndMethods.test_object_new.<locals>.A.__new__%rZr@c||_yrrCrSs  r?r4z=ClassPropertiesAndMethods.test_object_new.<locals>.A.__init__'rTr@NrDrr@r?r}z4ClassPropertiesAndMethods.test_object_new.<locals>.A$s
+
r@)r`rrrr4r:r}s  r?test_object_newz)ClassPropertiesAndMethods.test_object_news`		q)V^^Q:)V__ac1=			qq!!)V__adA>	+	+	q)V^^Q:!!a 		
	q)V^^Q:!)V__adA>r@cGddt}|jt|Gdd|}tj5tj
dt|d}ddd|jjd|j|j||`
|jt||`
tj5tj
dt|d}ddd|j|jd|j|j|y#1swYxYw#1swYNxYw)NceZdZdZy)=ClassPropertiesAndMethods.test_restored_object_new.<locals>.ActrAssertionError)rr;r<s   r?rzEClassPropertiesAndMethods.test_restored_object_new.<locals>.A.__new__1s$$r@NrVrr@r?r}rb0
%r@r}c*eZdZejZdZy)=ClassPropertiesAndMethods.test_restored_object_new.<locals>.Bc||_yrrCrSs  r?r4zFClassPropertiesAndMethods.test_restored_object_new.<locals>.B.__init__6rTr@N)rrrr`rr4rr@r?rrh4snnG
r@rerrorrk)r`rrewarningscatch_warningssimplefilterDeprecationWarningrErrr)r:r}rrTs    r?test_restored_object_newz2ClassPropertiesAndMethods.test_restored_object_new.s	%	%	
.!,		
$
$
&	!!'+=>!A		
"a(
I.!,
I

$
$
&	!!'+=>!A		
"a(				s#D:#E:EEc	Gddt}Gdd|}Gdd|}Gdd||}|j|j|tg|j|j|tf|j|j||tg|j|j||tf|j|j||tg|j|j||tf|j|j||||tg|j|j||||tf|j|j	dGd	d
t
}Gdd|||||
}|j|jt|||||f|j|j	d	Gddt
}Gddt|
}tj
|}d|d<|jd	Gddt
}Gddt|
}|jd	Gddt
}Gddt|
}|jdy#t$rYpwxYw#t$rYMwxYw#t$rYywxYw)NceZdZdZy)0ClassPropertiesAndMethods.test_altmro.<locals>.Acyr|rrs r?rz2ClassPropertiesAndMethods.test_altmro.<locals>.A.fIr@Nrrrrrr@r?r}rrHrr@r}ceZdZy)0ClassPropertiesAndMethods.test_altmro.<locals>.BNrMrr@r?rrwJrOr@rceZdZdZy)0ClassPropertiesAndMethods.test_altmro.<locals>.Ccyrrrs r?rz2ClassPropertiesAndMethods.test_altmro.<locals>.C.fMrtr@Nrurr@r?rryLrr@rceZdZy)0ClassPropertiesAndMethods.test_altmro.<locals>.DNrMrr@r?rNr|NrOr@rNceZdZdZy)?ClassPropertiesAndMethods.test_altmro.<locals>.PerverseMetaTypecPtj|}|j|Sr)rGmroreverse)rLs  r?rzCClassPropertiesAndMethods.test_altmro.<locals>.PerverseMetaType.mro[sHHSM		r@Nrrrrrr@r?PerverseMetaTyper~Zs
r@rceZdZy0ClassPropertiesAndMethods.test_altmro.<locals>.XNrMrr@r?rr_rOr@rrBceZdZdZy)9ClassPropertiesAndMethods.test_altmro.<locals>._metaclassc|ttgSr)rr`rs r?rz=ClassPropertiesAndMethods.test_altmro.<locals>._metaclass.mrofs $//r@Nrrr@r?rIres0r@rIceZdZyrrMrr@r?rz0ClassPropertiesAndMethods.test_altmro.<locals>.Xhrr@rrzdevious mro() return not caughtceZdZdZy)rcdgSrrrs r?rz=ClassPropertiesAndMethods.test_altmro.<locals>._metaclass.mroys	3Jr@Nrrr@r?rIz9ClassPropertiesAndMethods.test_altmro.<locals>._metaclassxsr@ceZdZyrrMrr@r?rz0ClassPropertiesAndMethods.test_altmro.<locals>.X{rr@z!non-class mro() return not caughtceZdZdZy)rcyrrrs r?rz=ClassPropertiesAndMethods.test_altmro.<locals>._metaclass.mrosr@Nrrr@r?rIz9ClassPropertiesAndMethods.test_altmro.<locals>._metaclasssr@ceZdZyrrMrr@r?rz0ClassPropertiesAndMethods.test_altmro.<locals>.Xrr@z$non-sequence mro() return not caught)	r`rErr^rrGrrr)	r:r}rrrNrrrIrs	         r?test_altmroz%ClassPropertiesAndMethods.test_altmroFsa	$	$			$	$	1	1f+.QK01a.1Q6N31a.1Q6N31aAv"67Q1a$89#&	t	
	!Aa#3	VQ1a$;<#&	9
0T
0
Fj
q!AAaD
II78		;
T

Fj


II9:		>
T

Fj


II<=3						s6,:J8 J+* J:	J('J(+	J76J7:	KKcGddtGfdd}|}|j|jdd|_|j|jd|`|j|jd|j|dd	d
|d<|j|j
d|d=|j|jd|j|dd
dtdd
fd|dd
|j|j
tdd
df|dd
=|j|jtdd
y)NceZdZy)5ClassPropertiesAndMethods.test_overloading.<locals>.BNrMrr@r?rrsJr@rc:eZdZdZfdZfdZdZdZdZy)5ClassPropertiesAndMethods.test_overloading.<locals>.Cc |dk(rd|fSt)NrrHrrs  r?rzAClassPropertiesAndMethods.test_overloading.<locals>.C.__getattr__s5=%t,,((r@cH|dk(r
||f|_yj|||SNr)rdr*)r:r=rrs   r?r*zAClassPropertiesAndMethods.test_overloading.<locals>.C.__setattr__s(5=$(%=DL==tU;;r@cB|dk(r||_yj||Sr)r,r-)r:r=rs  r?r-zAClassPropertiesAndMethods.test_overloading.<locals>.C.__delattr__s"5=#'DL==t44r@c
d|fS)Ngetitemrrs  r?rpzAClassPropertiesAndMethods.test_overloading.<locals>.C.__getitem__s
!3''r@c||f|_yr)setitem)r:rrs   r?r~zAClassPropertiesAndMethods.test_overloading.<locals>.C.__setitem__s
 #U|r@c||_yr)delitemrs  r?__delitem__zAClassPropertiesAndMethods.test_overloading.<locals>.C.__delitem__s	"r@N)	rrrrr*r-rpr~r)rsr?rrs!
)

<

5
(
,
#r@rr/r)rrr)rr)rrrrr)r`rErrdr,rrrY)r:rrBrs   @r?test_overloadingz*ClassPropertiesAndMethods.test_overloadings+	K	K	#	#0
C 23K0
EE*20"H-
bEB'1R9eArl";<!BU1b\5$9:
adGU1b\3r@c	
Gdd}djdtdD}d|d}i}t|||d}td	D]1}|j||t	td3y)
NceZdZdZy)FClassPropertiesAndMethods.test_load_attr_extended_arg.<locals>.Numbersc6t|jdSNrs)r-lstripr:rts  r?rzRClassPropertiesAndMethods.test_load_attr_extended_arg.<locals>.Numbers.__getattr__s4;;s+,,r@Nrrrrrr@r?Numbersrs
-r@r, c3(K|]
}d|dyw)zZ._03dNr).0ns  r?	<genexpr>zHClassPropertiesAndMethods.test_load_attr_extended_arg.<locals>.<genexpr>s<AC#w-<siz"def number_attrs(Z):
    return [ z ]number_attrs)r4rr]rEr6)r:rattrscoderrrss       r?test_load_attr_extended_argz5ClassPropertiesAndMethods.test_load_attr_extended_args	-	-		<s<<4UG2>
T2.)r	HA\')4d5:6FG	Hr@c	~Gddtd|jjdGfdd}|d}|j|jd|j|jd|j|j	dGfddt}|j|jj
j|j
tjjdjd	y)
NceZdZdZdZy)1ClassPropertiesAndMethods.test_methods.<locals>.Cc||_yrrrs  r?r4z:ClassPropertiesAndMethods.test_methods.<locals>.C.__init__	r@c|jSrrrs r?rz5ClassPropertiesAndMethods.test_methods.<locals>.C.foosvv
r@N)rrrr4rrr@r?rrs

r@rrfcBeZdZWjZWjZy)1ClassPropertiesAndMethods.test_methods.<locals>.DN)rrrrrhr)rc1sr?rNrs%%C&&Cr@rNrgc(eZdZWjZy)1ClassPropertiesAndMethods.test_methods.<locals>.ENrrLsr?rrrr@rr)
r`rErrhrrrrrerc)r:rNrrrrs    @@r?test_methodsz&ClassPropertiesAndMethods.test_methodss		
qT1%		qT1%1%1%		))1551QUU]]1Q401<<=MNOr@z)testing error message from implementationc^tj}d}|jt5}|ddd|j	j
jd|d}|jt5}|dddd|j	|j
jd||jt5}|jdddd|j	|j
jd|y#1swYxYw#1swYxYw#1swYKxYw)Nz*unbound method set.add() needs an argumentrzBdescriptor 'add' for 'set' objects doesn't apply to a 'int' object)rr	rrrErr;re)r:set_addrrs    r?test_methods_in_cz+ClassPropertiesAndMethods.test_methods_in_cs
''F


y
)	RI	**1-?^


y
)	RAJ	**1-?


y
)	ROOA	**1-?						s#D8	DD#DD #D,cd}d}d}d}d}d}d}d/d}d	}	d
}
fd}fd}d
}
d}dt|tifdt|tifdt|t||dfdtj
|tifd|	|tifd||tdifd|
|tdifd||td|
ifd||
td|ifdt|tifdt|tifdtj|tifdtj|tifdtj|tifd t|tifd!t|tifg}Gfd"d#t}Gfd$d%t}Gd&d'tGfd(d)t}|D]\}}}}Gd*d+|}|j!D]\}}t#|||t#|||||gGd,d+|}|j!D]\}}t#|||t#||||||j%d-g|Gd.d+|}|j!D]\}}t#|||t#|||j'||y)0Nc4|5	dddy#1swYyxYwrr)managers r?run_contextzIClassPropertiesAndMethods.test_special_method_lookup.<locals>.run_contexts



sc|Srrrs r?idenzBClassPropertiesAndMethods.test_special_method_lookup.<locals>.idensKr@cy)Nshellorrs r?rNzCClassPropertiesAndMethods.test_special_method_lookup.<locals>.hellosr@cgSrrrs r?	empty_seqzGClassPropertiesAndMethods.test_special_method_lookup.<locals>.empty_seqsIr@cyrrrs r?zerozBClassPropertiesAndMethods.test_special_method_lookup.<locals>.zerosr@cy)N?rrs r?complex_numzIClassPropertiesAndMethods.test_special_method_lookup.<locals>.complex_numsr@ctr)
StopIterationrs r?r+zBClassPropertiesAndMethods.test_special_method_lookup.<locals>.stop	sr@cy)NTr)r:things  r?return_truezIClassPropertiesAndMethods.test_special_method_lookup.<locals>.return_truesr@c"tt|Sr)r)r-rs r?
do_isinstancezKClassPropertiesAndMethods.test_special_method_lookup.<locals>.do_isinstance
c3''r@c"tt|Sr)rr-rs r?
do_issubclasszKClassPropertiesAndMethods.test_special_method_lookup.<locals>.do_issubclassrr@cnGdd|jt}j|ddy)NceZdZy)^ClassPropertiesAndMethods.test_special_method_lookup.<locals>.do_dict_missing.<locals>.DictSubNrMrr@r?DictSubrrr@rhirn)rrrE)checkerrr:s  r?do_dict_missingzMClassPropertiesAndMethods.test_special_method_lookup.<locals>.do_dict_missings-
'++T
WYt_a0r@c*j|dy)NrrnrE)rGrr:s  r?some_numberzIClassPropertiesAndMethods.test_special_method_lookup.<locals>.some_numbersS$'r@cyrrr;s r?swallowzEClassPropertiesAndMethods.test_special_method_lookup.<locals>.swallowrr@cyNrNr)r:specs  r?format_implzIClassPropertiesAndMethods.test_special_method_lookup.<locals>.format_implsr@	__bytes____reversed____length_hint__)r__next__
__sizeof____instancecheck____missing__r~__subclasscheck__rJ	__enter____exit____complex__
__format__	__floor__	__trunc____ceil____dir__	__round__c*eZdZWfdZWffd	Zy)EClassPropertiesAndMethods.test_special_method_lookup.<locals>.CheckercD|jdj|y)Nz__getattr__ called with {0})rformat)r:rttests   r?rzQClassPropertiesAndMethods.test_special_method_lookup.<locals>.Checker.__getattr__6s		7>>tDEr@cx|vr |jdj|tj||S)Nz __getattribute__ called with {0})rrr`r&)r:rtr	oks   r?r&zVClassPropertiesAndMethods.test_special_method_lookup.<locals>.Checker.__getattribute__8s5r>II@GGMN..tT::r@Nrrrrr&)rr:sr?Checkerr5s-1
F26
;r@r
ceZdZdZfdZy)JClassPropertiesAndMethods.test_special_method_lookup.<locals>.SpecialDescrc||_yr)impl)r:rs  r?r4zSClassPropertiesAndMethods.test_special_method_lookup.<locals>.SpecialDescr.__init__=	 	r@c^jd|jj||Sr)rrre)r:rownerrecords   r?rezRClassPropertiesAndMethods.test_special_method_lookup.<locals>.SpecialDescr.__get__?s&

a yy((e44r@N)rrrr4re)rsr?SpecialDescrr<s

!
5r@rceZdZy)IClassPropertiesAndMethods.test_special_method_lookup.<locals>.MyExceptionNrMrr@r?MyExceptionrBrOr@rceZdZfdZy)FClassPropertiesAndMethods.test_special_method_lookup.<locals>.ErrDescrcrr)r:rrrs   r?rezNClassPropertiesAndMethods.test_special_method_lookup.<locals>.ErrDescr.__get__Es	!!r@Nrrrre)rsr?ErrDescrrD
"r@rceZdZy?ClassPropertiesAndMethods.test_special_method_lookup.<locals>.XNrMrr@r?rr"Irr@rceZdZyr!rMrr@r?rz?ClassPropertiesAndMethods.test_special_method_lookup.<locals>.XQrr@rfceZdZyr!rMrr@r?rz?ClassPropertiesAndMethods.test_special_method_lookup.<locals>.XYrr@r)rrreversedr6r	getsizeofrrmathfloortruncceildirroundr`	Exceptionr7rdrEr)r:rrrNrrrr+rrrrrrrspecialsr
rrr=runner	meth_implenvrrtrrrrs`                         @@@r?test_special_method_lookupz4ClassPropertiesAndMethods.test_special_method_lookups							 		(	(	1		!	%r2
Xy#%<
dCEd
3
5
3==$r:
 -ceRH
O[

 "
&
 -

 "
&
+tSUZ'4JK
gsu{T6JK
G[#%<
6;r:
$**dCE26
$**dCE26
D#%4
Yr2
%sub1',	;f	;	56	5	)		"v	"19	8,D&)R
G
 YY[
&	c4%
&AtY'13KF
G
 YY[
&	c4%
&At\)4513KVaS$/
G
 YY[
&	c4%
&AtXZ(k6137-	8r@cXGddt}|}|}|j||jt|t|t	|t	||j|||j
||k7|j||k7|j||k(|jt|jdd|jt|t||jd|tdD]}|j|||jd|Gddt}|}|}|j||jt|t|t	|t	||j|||j|||j||k7|j||k(|jt|jd	d|jt|t||jd|tdD]}|j|||jd|Gd
dt}|d}	|d}
|d}|j|	|j|
|jt	|	t	d|j|	|	|j|	|
|j|	|	k7|j|	|
|j
|	|
k|j
|	|
k|j
|
|	kD|j
|
|	k\|jt|	d
|jt|	d|td}|jd|tdD]}|j|||jd|y)NceZdZdZy)2ClassPropertiesAndMethods.test_specials.<locals>.Cc6d|cxkrdkr	|SttNrr
IndexErrorr,s  r?rpz>ClassPropertiesAndMethods.test_specials.<locals>.C.__getitem__f;B;q;  j r@Nr-rr@r?rr5e
!r@rzC object at rrrceZdZdZy)2ClassPropertiesAndMethods.test_specials.<locals>.Dc6d|cxkrdkr	|Sttr7r8r,s  r?rpz>ClassPropertiesAndMethods.test_specials.<locals>.D.__getitem__}r:r@Nr-rr@r?rNr=|r;r@rNzD object at cTeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZy
)6ClassPropertiesAndMethods.test_specials.<locals>.Proxyc||_yrrrs  r?r4z?ClassPropertiesAndMethods.test_specials.<locals>.Proxy.__init__rr@c|jSrrrs r?rz?ClassPropertiesAndMethods.test_specials.<locals>.Proxy.__bool__s#vv:~%r@c,t|jSr)hashrrs r?__hash__z?ClassPropertiesAndMethods.test_specials.<locals>.Proxy.__hash__sDFF|#r@c |j|k(Srrrs  r?r@z=ClassPropertiesAndMethods.test_specials.<locals>.Proxy.__eq__vv&r@c |j|k7Srrrs  r?__ne__z=ClassPropertiesAndMethods.test_specials.<locals>.Proxy.__ne__rGr@c |j|k\Srrrs  r?__ge__z=ClassPropertiesAndMethods.test_specials.<locals>.Proxy.__ge__rGr@c |j|kDSrrrs  r?__gt__z=ClassPropertiesAndMethods.test_specials.<locals>.Proxy.__gt__vv~%r@c |j|kSrrrs  r?__le__z=ClassPropertiesAndMethods.test_specials.<locals>.Proxy.__le__rGr@c |j|kSrrrs  r?__lt__z=ClassPropertiesAndMethods.test_specials.<locals>.Proxy.__lt__rNr@c d|jzS)NzProxy:%srrs r?rz>ClassPropertiesAndMethods.test_specials.<locals>.Proxy.__str__s!DFF**r@c d|jzS)Nz	Proxy(%r)rrs r?rz?ClassPropertiesAndMethods.test_specials.<locals>.Proxy.__repr__s"TVV++r@c||jvSrrrs  r?rmzCClassPropertiesAndMethods.test_specials.<locals>.Proxy.__contains__s&r@N)rrrr4rrEr@rIrKrMrPrRrrrmrr@r?Proxyr@s>

&
$
'
'
'
&
'
&
+
,
'r@rVrfzProxy:0zProxy(0))r`rridrDrErassertGreaterEqualr>findrassertNotInrr)
r:rrc2rrNrrrVp0p1p_1p10s
             r?
test_specialsz'ClassPropertiesAndMethods.test_specials`sx
	!	!S
SR BrFBrF+RRR b!r"r"	
B^ <a@R$r(+R r	!AMM!R 	!R 	!	!S
SR BrFBrF+RRR B#r"r"	
B^ <a@R$r(+R r	!AMM!R 	!R 	'F	'21X
1XBiR b47+R B#r"R$R b!R b!R),b:.E"IS!r	"AMM!S!	"S!r@cddl}Gddt}|}|j|}|j||~t	j
|j|d~Gddt}|}	|j||j
dGdd	t}|}	|j|	}|j||	~	t	j
|j|d~y#t$r%}|jdt|Yd}~d}~wwxYw)
NrceZdZy)2ClassPropertiesAndMethods.test_weakrefs.<locals>.CNrMrr@r?rrcrOr@rceZdZdgZy)7ClassPropertiesAndMethods.test_weakrefs.<locals>.NoWeakrNrrr@r?NoWeakres	Ir@rfz!weakref.ref(no) should be illegalzweak referenceceZdZddgZy)5ClassPropertiesAndMethods.test_weakrefs.<locals>.WeakrreNrrr@r?Weakrhs
.Ir@ri)
weakrefr`refrErrUrrrr>)
r:rjrrXrrfnorriyess
          r?
test_weakrefsz'ClassPropertiesAndMethods.test_weakrefss		
CGKKNa 
d#
	 V	 
X	;GKKO
II9:	/6	/fGKKc"d#
	6MM*CH55	6sD	E!EEc
Gddt}|}|j|dd|_|j|jd|j|jd|`|j|d|j|d|jj|d|j|jj
|d|jj||j|d|jd}|j|tt|}|jd||jd||jd	||jd
||j|jd|j|j|jd|j|j |jd
|j|j"|jddD]$}	t%||d|j'd|z&d|_
|j|jdGddt}|}	|D]
}	t+|		|j'dy#t($rG}t+|j-ddkr |j'd|dt+|Yd}~d}~wwxYw#t.$rYywxYw)Nc6eZdZdZdZdZeeeedZy)4ClassPropertiesAndMethods.test_properties.<locals>.Cc|jSrr-rs r?getxz9ClassPropertiesAndMethods.test_properties.<locals>.C.getxrr@c||_yrr-rs  r?setxz9ClassPropertiesAndMethods.test_properties.<locals>.C.setxrr@c|`yrr-rs r?delxz9ClassPropertiesAndMethods.test_properties.<locals>.C.delxr6r@I'm the x property.docN)rrrrtrvrxrrrr@r?rrrs"
 
!
tT/DEAr@rrrr.rrfgetfsetfdelryrtrvrx)r|r}r~zIexpected AttributeError from trying to set readonly %r attr on a propertyreadonlyrzwhen setting readonly attr z2 on a property, got unexpected AttributeError msg ceZdZedZy)4ClassPropertiesAndMethods.test_properties.<locals>.DcddzSrr)r[s r?rz=ClassPropertiesAndMethods.test_properties.<locals>.D.<lambda>	s
QqSr@N)rrrrrprr@r?rNr	s"=1Kr@rNz,expected ZeroDivisionError from bad property)r`rrrEr.rrer*rIrrr+rrrr|r}r~rdrrr>rYZeroDivisionError)
r:rrBrawrrtrrNrMrs
          r?test_propertiesz)ClassPropertiesAndMethods.test_propertiess	F	F
Ca%"%b!
Ca%a)	AsQ-	qa%jjoc8,C

i'

fe$

fe$

fe$&;<

chh

6 23

chh

6 23

chh

6 23*		7D
7T2&		/1567		7b)	2	2
C	F
A


IIDE+"
Ys8==,q0IIHLcRUhXY
Y$!		s*
J4K,	K)"=K$$K),	K87K8rgz)Docstrings are omitted with -O2 and abovec(Gfddt}y)NceZdZdZdZeeZWjejdeeZ	Wje	jdy)?ClassPropertiesAndMethods.test_properties_doc_attrib.<locals>.Ec	yrrrs r?getterzFClassPropertiesAndMethods.test_properties_doc_attrib.<locals>.E.getter$	sr@c	yrr)rGrs  r?setterzFClassPropertiesAndMethods.test_properties_doc_attrib.<locals>.E.setter'	sr@z
getter method)r}N)
rrrrrrproprErprop2rsr?rr#	sK

F#DT\\?;&)EU]]D1r@rr`)r:rs` r?test_properties_doc_attribz4ClassPropertiesAndMethods.test_properties_doc_attrib 	s
	2
	2r@cP	ddlGfddt}y#t$rYywxYw)Nrc4eZdZeWjZy)>ClassPropertiesAndMethods.test_testcapi_no_segfault.<locals>.XN)rrrrtest_with_docstringp)	_testcapisr?rr7	sY::;r@r)rr`ImportError)r:rrs  @r?test_testcapi_no_segfaultz3ClassPropertiesAndMethods.test_testcapi_no_segfault/	s+	<
<F
<		s	%%cGddt}|jjjd|j	|dd|_|j|d|j|jd|j|jd|`|j	|d|j	|dGfdd	}|}d
|_|j|jd
|`|`Gddt}d|_|j|jd|`Gfd
d}|}d|_|j|jd|`y)NceZdZedZej
dZejdZejdZy)9ClassPropertiesAndMethods.test_properties_plus.<locals>.CrNrzc|jSr_foors r?rz=ClassPropertiesAndMethods.test_properties_plus.<locals>.C.foo=	yy r@c$t||_yrr+rrs  r?rz=ClassPropertiesAndMethods.test_properties_plus.<locals>.C.foo@	
J	r@c|`yrrrs r?rz=ClassPropertiesAndMethods.test_properties_plus.<locals>.C.fooC	Ir@N)rrrrrrrdeleterrr@r?rr;	sNw'C
ZZ
!
!
ZZ
'
'
[[

r@rrNrirrcHeZdZWjjdZy)9ClassPropertiesAndMethods.test_properties_plus.<locals>.Dc(	|`y#t$rYywxYwr)rrrs r?rz=ClassPropertiesAndMethods.test_properties_plus.<locals>.D.fooR	s	%s	N)rrrrrrLsr?rNrQ	s
UU]]

r@rNrceZdZedZej
dZej
dZejddZy)9ClassPropertiesAndMethods.test_properties_plus.<locals>.Ec|jSrrrs r?rz=ClassPropertiesAndMethods.test_properties_plus.<locals>.E.foo_	rr@ctr)RuntimeErrorrs  r?rz=ClassPropertiesAndMethods.test_properties_plus.<locals>.E.foob	s""r@c$t||_yrrrs  r?rz=ClassPropertiesAndMethods.test_properties_plus.<locals>.E.fooe	rr@Nc|`yrrrs  r?rz=ClassPropertiesAndMethods.test_properties_plus.<locals>.E.fooh	rr@r)rrrrrrrrr@r?rr^	sV

!
!
ZZ
#
#
ZZ
'
'
[[

r@rcleZdZWjjdZej
dZy)9ClassPropertiesAndMethods.test_properties_plus.<locals>.Fc|`yrrrs r?rz=ClassPropertiesAndMethods.test_properties_plus.<locals>.F.foor	rr@c&td||_yr)maxrrs  r?rz=ClassPropertiesAndMethods.test_properties_plus.<locals>.F.foou	s5M	r@N)rrrrrr)rsr?rrq	s3
UU]]


ZZ
*
*r@rr)r`rErrrrr)	r:rXrNrMr8rrrrs	       @@r?test_properties_plusz.ClassPropertiesAndMethods.test_properties_plus:	sH
	
	
C0a'1f%$#
Ea(a'		
C#
E
E		
C#
E	*	*
C"
Er@ct}|j|iti}|j|itddd}|j|ddd|j|tt|j|j|tt	|jtddd}|j|tdd|j|td"i||j|tddid|j|tdgd	|j|td
dgfi||j|td"i|ddd
ddgdfD]"}	t||jd|z$|jt5tiidddGdd}	t||jdd|_	d|_
t|}|j||jGdd}t|dd|dd|dd|ddg}|j|dddtttdtdd}|j|ttdDcgc]	}||dzfc}dgd gfD]"}	t||jd!|z$y#t$rYt$r|dk(rn|jd|zYwxYw#1swY|xYw#t$rY_wxYwcc}w#t$rYwxYw)#NrgrT)rfrBrf)onetwor)r)rrg)r)rr)rr1ry0rzno TypeError from dict(%r)ceZdZddddZy)AClassPropertiesAndMethods.test_dict_constructors.<locals>.Mappingrgrnr)rfrkrBN)rrrrrr@r?Mappingr	s1"%Dr@rz*no TypeError from dict(incomplete mapping)cHt|jjSr)r6rrrs r?rzBClassPropertiesAndMethods.test_dict_constructors.<locals>.<lambda>	sD)9$:r@c |j|Sr)rr,s  r?rzBClassPropertiesAndMethods.test_dict_constructors.<locals>.<lambda>	sdiilr@ceZdZdZdZy)JClassPropertiesAndMethods.test_dict_constructors.<locals>.AddressBookEntryc ||_||_yr)firstlast)r:rrs   r?r4zSClassPropertiesAndMethods.test_dict_constructors.<locals>.AddressBookEntry.__init__	s"
 	r@cDt|j|jgSr)rrrrs r?rzSClassPropertiesAndMethods.test_dict_constructors.<locals>.AddressBookEntry.__iter__	sTZZ344r@N)rrrr4rrr@r?AddressBookEntryr	s
!
5r@rTimWarsawBarryPeters)rrrnr)tooshort)toolongzby 1zno ValueError from dict(%r)r)
rrEr6r7rrr
ValueErrorrrrpzipr)r:rMbadargrrrbads       r?test_dict_constructorsz0ClassPropertiesAndMethods.test_dict_constructors}	sDFBHBQS!",-Daggi12Daggi12#$DQA./DI1I&D%34D*156D,!=CCDDI1I&BaS$.	AF

AV		6?@	A 

y
)	RL		&	&	DO
IIBC::OGLL)	5	5
"5(3"7H5"5(3"7H57
8	
hx@AU1XuQ{+,DE!H!=q1ac(!=>?"?%<$==	?C
?S			7#=>
	?e

ES=II:VCD
E				2">

sN
L
M M
M$0M)	M"MMM	M! M!)	M54M5c`d}|jtddg~dddddgddd	ddit|jfD]
}t|d
}Gddt}d
dg}|j|t|||}|j|t||d|_d|_|j|t||ddgzGdd|}ddg|z}|j|t|||}	|j|t|	|d|	_d|	_|j|t|	|ddgzGddtt}
|
d}d|_
d|_gd}t|D
cgc]	}
|
|vs|
}}
|j|dd gGd!d"|
}|d#}d|_
d|_|j|jd$|jt5t|ddd|jtt	ttGfd%d&tGfd'dt}t|ycc}
w#1swYqxYw)(Nrjunkr:rgy@g@22)rgcP|Dcgc]}|jdr|c}Scc}wr)rc)stringsr[s  r?interestingz7ClassPropertiesAndMethods.test_dir.<locals>.interesting	s!&@!all3.?A@@@s##ceZdZdZdZy)-ClassPropertiesAndMethods.test_dir.<locals>.Crfcyrrrs r?Cmethodz5ClassPropertiesAndMethods.test_dir.<locals>.C.Cmethod	rr@N)rrrCdatarrr@r?rr	
E#r@rrrcyrrrs r?rz4ClassPropertiesAndMethods.test_dir.<locals>.<lambda>	rr@cdatacmethodceZdZdZdZy)-ClassPropertiesAndMethods.test_dir.<locals>.Arfcyrrrs r?Amethodz5ClassPropertiesAndMethods.test_dir.<locals>.A.Amethod	rr@N)rrrAdatarrr@r?r}r	rr@r}rrrcy)Nrkrrs r?rz4ClassPropertiesAndMethods.test_dir.<locals>.<lambda>	rr@adataamethodceZdZy)-ClassPropertiesAndMethods.test_dir.<locals>.MNrMrr@r?Mr	rOr@rrOrf)rr__package__
__loader____spec__rBrTc"eZdZdZeeZy).ClassPropertiesAndMethods.test_dir.<locals>.M2cy)NNot a dict!rrs r?getdictz6ClassPropertiesAndMethods.test_dir.<locals>.M2.getdict
s$r@N)rrrrrrIrr@r?rir
s
%(Hr@rim2rc4eZdZdZdZfdZdZfdZy)3ClassPropertiesAndMethods.test_dir.<locals>.Wrapperc||_yr
_Wrapper__objr)s  r?r4z<ClassPropertiesAndMethods.test_dir.<locals>.Wrapper.__init__
	 
r@c2dt|jzS)NzWrapper(%s))rrrs r?rz<ClassPropertiesAndMethods.test_dir.<locals>.Wrapper.__repr__
s$tDJJ'777r@c.|j|Srr)r:rWrappers  r?rpz?ClassPropertiesAndMethods.test_dir.<locals>.Wrapper.__getitem__
stzz#//r@c,t|jSr)r	rrs r?rxz;ClassPropertiesAndMethods.test_dir.<locals>.Wrapper.__len__
s4::&r@c<t|j|Sr)rHr)r:r=rs  r?rz?ClassPropertiesAndMethods.test_dir.<locals>.Wrapper.__getattr__
swtzz4899r@N)rrrr4rrprxrrsr?rr
s
!
8
0
'
:r@rc(eZdZfdZeeZy)rc&t|Sr)rG)r:rs r?
__getclassz8ClassPropertiesAndMethods.test_dir.<locals>.C.__getclass"
stDz**r@N)rrr_C__getclassrrrsr?rz-ClassPropertiesAndMethods.test_dir.<locals>.C!
s
+ ,Ir@)rEr+rGtest_dirr`rrrrrrTrBrIrrEllipsis)r:rrrrcstuffrXr}astuffrBr	minstancedefault_attributesrnamesri
m2instancers                 @r?rz"ClassPropertiesAndMethods.test_dir	sy 01aS1#sD$1tT]]R	CH	
	A	$	$9%SV,f5
CSV,f5"	SV,f7K.KL	$	$9%.SV,f5
CSV,f5"	SV,f7K.KL	S		cF			8	NJqa7I.IJJc
+	)	)
X


,,m<


y
)	
O	
	
VXH
6
	:f
	:	-	-
	ACKK		s2	J<J(J$$J-c4	
Gddt}|j|jddGfdd||jjddGd	d
|}t||_|j|jddG	fd
d|	|j	jddGfddtG
fdd	
|j
jddGdd
}||_|j|jdd	t	d|j
d	t	||j
d	t	jd|j
d	t	j||j
d Gd!d"t}Gd#d$|}|}|j|jd%|jt||&dGd&d't}Gfd(d)||jj|j|jt5t|d*dddy#t$rYUwxYw#t$rYBwxYw#t$rY&wxYw#t$rYwxYw#1swYyxYw)+NceZdZdZy)0ClassPropertiesAndMethods.test_supers.<locals>.Acd|zS)NzA(%r)rr:rBs  r?rLz5ClassPropertiesAndMethods.test_supers.<locals>.A.meth,
s{"r@Nrrr@r?r}r+

#r@r}rfzA(1)c(eZdZfdZdZxZS)0ClassPropertiesAndMethods.test_supers.<locals>.Bc(t||_yr)rur)r:rrs r?r4z9ClassPropertiesAndMethods.test_supers.<locals>.B.__init__2
s$Q~r@cDd|z|jj|zS)NzB(%r)rrs  r?rLz5ClassPropertiesAndMethods.test_supers.<locals>.B.meth4
 {T\\%6%6q%999r@)rrrr4rLrx)rrs@r?rr1
s

.
:r@rrgzB(2)A(2)ceZdZdZy)0ClassPropertiesAndMethods.test_supers.<locals>.CcDd|z|jj|zS)NzC(%r)rrs  r?rLz5ClassPropertiesAndMethods.test_supers.<locals>.C.meth:
rr@Nrrr@r?rr9
s
:r@rrkzC(3)A(3)c"eZdZfdZxZS)0ClassPropertiesAndMethods.test_supers.<locals>.Dc.d|zt||zS)NzD(%r))rurL)r:rBrNrs  r?rLz5ClassPropertiesAndMethods.test_supers.<locals>.D.methA
s{U1d%8%;;;r@)rrrrLrx)rrNs@r?rNr@


<
<r@rNrnzD(4)C(4)B(4)A(4)c"eZdZfdZxZS)6ClassPropertiesAndMethods.test_supers.<locals>.mysuperct||Srr})r:r;rmysupers  r?r4z?ClassPropertiesAndMethods.test_supers.<locals>.mysuper.__init__I
sWd4d;;r@)rrrr4rx)rr%s@r?r%r#H
r!r@r%ceZdZfdZy)0ClassPropertiesAndMethods.test_supers.<locals>.Ec@d|z|j|zS)NzE(%r))rL)r:rBrr%s  r?rLz5ClassPropertiesAndMethods.test_supers.<locals>.E.methM
s${WQ%5%:%:1%===r@Nr)rr%sr?rr'L
s
>r@rrzE(5)D(5)C(5)B(5)A(5)ceZdZdZy)0ClassPropertiesAndMethods.test_supers.<locals>.Fcx|j}d|d|jjd|j|zS)NzF(z)[])	_F__superrrrL)r:rBr[s   r?rLz5ClassPropertiesAndMethods.test_supers.<locals>.F.methS
s-LL&')=)=>JJr@Nrrr@r?rr*R
s
Kr@rrz!F(6)[mysuper]E(6)D(6)C(6)B(6)A(6)rzshouldn't allow super(D, 42)zshouldn't allow super(D, C())rz$shouldn't allow super(D).__get__(12)z%shouldn't allow super(D).__get__(C())c"eZdZdZeeZy)5ClassPropertiesAndMethods.test_supers.<locals>.DDbasecyrlrrs r?rtz:ClassPropertiesAndMethods.test_supers.<locals>.DDbase.getx|
s2r@Nrrrrtrrrr@r?DDbaser/{
s%Ar@r2c"eZdZdZeeZy)4ClassPropertiesAndMethods.test_supers.<locals>.DDsubcyrrrs r?rtz9ClassPropertiesAndMethods.test_supers.<locals>.DDsub.getx
s7r@Nr1rr@r?DDsubr4
s*Ar@r6rNceZdZedZy)3ClassPropertiesAndMethods.test_supers.<locals>.Basecyrrrs r?rz<ClassPropertiesAndMethods.test_supers.<locals>.Base.<lambda>
rr@N)rrrraProprr@r?Baser8
s
/0Er@r;c,eZdZefdZxZS)2ClassPropertiesAndMethods.test_supers.<locals>.Subct|Sr)rur:)klassSubrs r?r	z7ClassPropertiesAndMethods.test_supers.<locals>.Sub.test
sS--r@)rrrrr	rx)rr@s@r?r@r=
s

.
.r@r@r)
r`rErLrurr-rrrerr	r:r)r:r}rrr2r6ddr;rrNrr@r%rs        @@@@@r?test_supersz%ClassPropertiesAndMethods.test_supers(
s	#	#	
!f-	:	:	
!j1	:	:Ah!j1	<1	<	
!&89	<e	<	>	>	
!&<=	K	Kaj!&IJ	6!RL
II45	7!QSM
II56	>!HR 
II<=	?!HQS!
II=>
	V		F	Ww'ub+R0
	16	1	.$	.
	
TZZ0

y
)	$1		o								D		sT(KK)K.K>7L	KK	K+*K+.	K;:K;>	L
LLc4Gfddt|jtddzd|jtddzdd}|j|d|jt|d|jt|jt|jt|td|j|jt|j|d	z	jt|j|d	zjt|jd	d
zjt|jd	d
z	jtGfddt|jt
d
dzd|jt
ddzdd}|j|d|jt|d|jt|td|jt|jt|j|jt|j|jt|jd	jt|j|d	z	jt|j|d	zjt|j|d	z
jt|j|dzjt|j|dzjt|j|dzjt|jd|zjt|j|d	zjt|j|d	zjt|j|dzjt|jd	d
zjt|jd	d
z	jt|jtd	jtGddt}|d}|j|d	zjt|jd	|zjt|d}|j|ji|jt|dGddt}|jt|dd|d}|j|d|jt|d|jt|jt|jt|td|j|jtGddt}|dd}|jt|dtdd}|j|jt|j|||jt|||jt|jt||}|jt|d|j|||jt|||jt|jt|jt|t||j|jt|j|d	zjt|j|d	z||j|d	z
jt|j|d	z
||j|dzjt|j|dz||j|dzjt|j|dz|Gd d!t}|d"}|j|d"|j|j|d#|j|jj|d"td$D]E}|t|}|j}	|	j}
|j|
|G|d%}|jt|d%|jt|jt|jt|td%|j|ddjt|j|dzjt|j|d	zjt|j|d&zjt|d&}|jt|d&|jt|jt|j||zjt|j|d	zjt|j|dzjt|j|d'zjt|j|ddjtGd(d)t}|d*}|j|d*|j|j|d+|j|jj|d*td,D]b}|d-jtt t|}|j}|j}	|j|	|d|d.}|jt
|d.|jt
|jtd/}||}|j|||jt
|||jt
|jt|jt|t||j|di|d|j|di|d|j|d-zjt|j|d-z||jd-|zjt|jd-|z||j|d	zjt|j|d	zd-|j|dzjt|j|dz||j|d'zjt|j|d'z||z|j|ddjt|j|dd||j|d	d	jt|j|d	d	d-|j|j#jt|j|j#||j|j%jt|j|j%||j|j'jt|j|j'|i}
|j|j)|
jt|j|j)|
||j|j+d0d0jt|j|j+d0d0||j|j-t/|jt|j|j-t/|||j|j1t/|jt|j|j1t/|||j|j3t/|jt|j|j3t/|||j|j5jt|j|j5|Gd1d2t}|d3}	|j|	d3|j|	j|d4|j|	jj|d3d.}||}	|jt
|	||jt
|	jt|jt|	t||j|	di|d|j|di|	d|j|	j#jt|j|	j#||j|	j%jt|j|	j%||j|	j'jt|j|	j'||j|	j+d0d0jt|j|	j+d0d0||j|	j+d5d5jt|j|	j+d5d5||j|	j3t/|	jt|j|	j3t/|	||j|	j-t/|	jt|j|	j-t/|	||j|	j1t/|	jt|j|	j1t/|	||j|	j5jt|j|	j5||j|	j7jt|j|	j7||j|	j9jt|j|	j9||j|	j;jt|j|	j;||j|	d-zjt|j|	d-z||jd-|	zjt|jd-|	z||j|	d	zjt|j|	d	zd-|j|	dzjt|j|	dz||j|	d'zjt|j|	d'z||z|j|	ddjt|j|	dd||j|	d	d	jt|j|	d	d	d-Gd6d7t<}|td}|j|t=td|j?d8|j|t=tdd8gzd|d<|j|t=td9|jAtd9d:|j|t=td:g|d;d|j|t=td<|d=d<=|jt/|d=|j|t=td=|jt=|t=td=|j|d	d	|j|dd|j|d>d	|j|dd|j|ddt=tdy)?NceZdZdZfdZy)@ClassPropertiesAndMethods.test_basic_inheritance.<locals>.hexintct|Sr)hexrs r?rzIClassPropertiesAndMethods.test_basic_inheritance.<locals>.hexint.__repr__
4y r@c<tj||Sr)r-ri)r:rhexints  r?rizHClassPropertiesAndMethods.test_basic_inheritance.<locals>.hexint.__add__
sckk$677r@N)rrrrri)rJsr?rJrE
s

!
8r@rJ	0x10i0x3efi90rrc0eZdZgZdZfdZeZxZS)AClassPropertiesAndMethods.test_basic_inheritance.<locals>.octlongct|Sr)octrs r?rzIClassPropertiesAndMethods.test_basic_inheritance.<locals>.octlong.__str__
rHr@c@|jt||Sr)rruri)r:rroctlongs  r?rizIClassPropertiesAndMethods.test_basic_inheritance.<locals>.octlong.__add__
s~~eGT&B5&IJJr@)rrrrrrirrx)rrTs@r?rTrP
sI
!
KHr@rTrkr0o10i0o5675rfrceZdZy)CClassPropertiesAndMethods.test_basic_inheritance.<locals>.longcloneNrMrr@r?	longclonerX
rOr@rYc eZdZdgZddZdZy)CClassPropertiesAndMethods.test_basic_inheritance.<locals>.precfloatrc$t||_yr)r-r)r:rrs   r?r4zLClassPropertiesAndMethods.test_basic_inheritance.<locals>.precfloat.__init__
s
I	r@c$d|j|fzS)Nrrrs r?rzLClassPropertiesAndMethods.test_basic_inheritance.<locals>.precfloat.__repr__
sD 111r@N)rr)rrrrr4rrr@r?	precfloatr[
sI
&
2r@r^g?z1.1g@ceZdZdZy)DClassPropertiesAndMethods.test_basic_inheritance.<locals>.madcomplexc8d|j|jfzS)Nz%.17gj%+.17grrrs r?rzMClassPropertiesAndMethods.test_basic_inheritance.<locals>.madcomplex.__repr__
s%DII(>>>r@N)rrrrrr@r?
madcomplexr`
s
?r@rcrnz4j-3ceZdZdZdZy)BClassPropertiesAndMethods.test_basic_inheritance.<locals>.madtupleNc|j|jSt|}|j|j||_|jSr)_revr6rrr:rs  r?revzFClassPropertiesAndMethods.test_basic_inheritance.<locals>.madtuple.revsB99(99$J		 NN1-	yy r@rrrrhrjrr@r?madtuplerfD
!r@rl)
rfrgrkrnrrrKrLr)
rrLrnrKrrrnrkrgrfi)rfrgrkrnrrrgceZdZdZdZy)CClassPropertiesAndMethods.test_basic_inheritance.<locals>.madstringNc|j|jSt|}|j|jdj	||_|jSNrrhr6rrr4ris  r?rjzGClassPropertiesAndMethods.test_basic_inheritance.<locals>.madstring.rev*J99(99$J		 NN2771:6	yy r@rkrr@r?	madstringrp(rmr@ruabcdefghijklmnopqrstuvwxyzzyxwvutsrqponmlkjihgfedcbar12345zrceZdZdZdZy)DClassPropertiesAndMethods.test_basic_inheritance.<locals>.madunicodeNc|j|jSt|}|j|jdj	||_|jSrrrsris  r?rjzHClassPropertiesAndMethods.test_basic_inheritance.<locals>.madunicode.revjrtr@rkrr@r?
madunicoder{hrmr@r}ABCDEFFEDCBAxyceZdZy)AClassPropertiesAndMethods.test_basic_inheritance.<locals>.sublistNrMrr@r?sublistrrOr@rrNrrr)!r-rErrrrDr>r+rIr.rrrjrr4mapr*striprrstrip	translatereplaceljustr	rjustcenterlowerupper
capitalizetitler6rr2)r:rBrYr^rcbaserlrrNrrrur[identitytabr}rrJrTs                @@r?test_basic_inheritancez0ClassPropertiesAndMethods.test_basic_inheritance
s	8S	8	
fQi!m,f5fTlQ./95ME"Q'

c!f&&,a$u+.

rnnc*

qAv((#.

qAv((#.

vayB1137

vayB1137	c		
WQZ!^,f5	
Q./:ENE"Q'a$u+.

c!f&&,

rnnc*

rnnc*


{--s3

qAv((#.

qAv((#.

q1u''-

q1u''-

qAv((#.

qAv((#.

q1u''-

q1u''-

q1u''-

q2v((#.

wqzR'22C8

wqzR'22C8

c'!*o//5		aL

q1u''-

q1u''-
bMR(Q$	2	2	
in-u5eG$q7+

eAh((%0a$w-0

rnne,	?	?
r1a&)r1~1D!T*--w7qMa&)D!T*--w7a$t*-1"1!a%**G4Q%!a%**G4Q%!a%**G4Q%!a%**G4Q%	!u	!
*+12(+@"AB1F(GHs	#Aq"AAAQ"		#

[!q;/

eAh((%0a${"34

adnne,

q1u''/

q1u''/

q2v((%0RLq2&

eAh((%0

q1u''/

q1u''/

q1u''/

q1u''/

adnne,	!	!
2389),H"IJ	2N(OPs	#A"''#c58"456AAAQ"		#

gQ)

c!f&&,dOD!Q&

c!f&&,a$t*-!Qq)$1q)

q2v((#.R&

rAv((#.a&

q1u''-Q#

q1u''-Q%

q1u''-Qt,

adnnc*1t$

a!f&&,1Q$

aggi))3/D)

ahhj**C0T*

ahhj**C0T*

akk+.88#>[148

aiiS)33S93,d3

aggc!fo//5Q$/

aggc!fo//5Q$/

ahhs1v&00#6#a&)40

aggi))3/D)	!	!
x H%*X"67
8(<=tQ&

c!f&&,a$t*-!Qq)$1q)

aggi))3/D)

ahhj**C0T*

ahhj**C0T*

aiiS)33S93,d3

aiid+55s;4.5

ahhs1v&00#6#a&)40

aggc!fo//5Q$/

aggc!fo//5Q$/

aggi))3/D)

aggi))3/D)

alln..4.

aggi))3/D)

q2v((#.R&

rAv((#.a&

q1u''-Q#

q1u''-Q%

q1u''-Qt,

adnnc*1t$

a!f&&,1Q$	d	E!HDqN+	DqNgY67!DqN+	q"DrO,"#DrO,
beHQ$DrO,a$uRy/21q!1q!3#2"2AU1X/r@c|jtd5tdddd|jtd5tdddd|jtd5t	dddd|jt
ddt
dd|jtd	d
|jtdd
d|jtd5ttdddd|jtd5tddddttttttttfD] }	|d|jd|z"y#1swYmxYw#1swYOxYw#1swY1xYw#1swYxYw#1swYxYw#t$rYnwxYw)Nzkeyword argumentrfrrgrirbir500abcstrict)r`errorsr#rk)sequencer.)bogus_keyword_argz4expected TypeError from bogus keyword argument to %r)rZrr-r.boolrErr>rrr6r)r:constructors  r?
test_keywordsz'ClassPropertiesAndMethods.test_keywordss

#
#I/A
B	!H	

#
#I/A
B	AJ	

#
#I/A
B	1I	bs3WS"5EFC%0F8<eD

#
#I/A
B	%58$	%

#
#I/A
B	%)$	% Wc3!4)	+K
+a0		P)*+	+						
	%	%	%	%

sM
F
F-
F)8F6,
G/	GFF&)F36F?G	GGcGfddt|jdd|jdd|jtdddddd	d
di}|j|dd|j|dd	|j|d
d|jd||j|jddy)Nc&eZdZ	dZfdZdZy)FClassPropertiesAndMethods.test_str_subclass_as_dict_key.<locals>.cistrcb|j|_t|j|_yr)r	canonicalrDhashcoders  r?r4zOClassPropertiesAndMethods.test_str_subclass_as_dict_key.<locals>.cistr.__init__s!& $T^^ 4
r@c^t|s|}|j|jk(Sr)r)r)r:rcistrs  r?r@zMClassPropertiesAndMethods.test_str_subclass_as_dict_key.<locals>.cistr.__eq__s)!%/!%LE~~88r@c|jSr)rrs r?rEzOClassPropertiesAndMethods.test_str_subclass_as_dict_key.<locals>.cistr.__hash__s}}$r@N)rrrr4r@rE)rsr?rrs


5
9

%r@rABCr#aBcrrfrrgtHreerktWoTHrEEONethrEE)r>rErr)r:rMrs  @r?test_str_subclass_as_dict_keyz7ClassPropertiesAndMethods.test_str_subclass_as_dict_keys	%C	%$	
uu-e-U5\*E2
5\1eElAuW~qA5<!,5<!,5>*A.

eElA&uW~.2r@c
Gdd}|ttfD]}G
fdd|

d}
d}
d}|j|d|||d}dD]}dD]}d	D]}	|jtd
|	ztd|	zd||fz|jtd
|	ztd|	zd||fz|jtd|	ztd|	zd||fzy)NceZdZy)CClassPropertiesAndMethods.test_classic_comparisons.<locals>.classicNrMrr@r?classicr!rOr@rcPeZdZdZfdZfdZfdZfdZfdZfdZ	y)	=ClassPropertiesAndMethods.test_classic_comparisons.<locals>.Cc$t||_yrr-rrs  r?r4zFClassPropertiesAndMethods.test_classic_comparisons.<locals>.C.__init__&
!$UDJr@ct|r|j|jk(St|tst|tr|j|k(StSrr)rr-rr:rrs  r?r@zDClassPropertiesAndMethods.test_classic_comparisons.<locals>.C.__eq__(H!%+#zzU[[88!%-E31G#zzU22))r@ct|r|j|jk7St|tst|tr|j|k7StSrrrs  r?rIzDClassPropertiesAndMethods.test_classic_comparisons.<locals>.C.__ne__.rr@ct|r|j|jkSt|tst|tr|j|kStSrrrs  r?rRzDClassPropertiesAndMethods.test_classic_comparisons.<locals>.C.__lt__4H!%+#zzEKK77!%-E31G#zzE11))r@ct|r|j|jkSt|tst|tr|j|kStSrrrs  r?rPzDClassPropertiesAndMethods.test_classic_comparisons.<locals>.C.__le__:rr@ct|r|j|jkDSt|tst|tr|j|kDStSrrrs  r?rMzDClassPropertiesAndMethods.test_classic_comparisons.<locals>.C.__gt__@rr@ct|r|j|jk\St|tst|tr|j|k\StSrrrs  r?rKzDClassPropertiesAndMethods.test_classic_comparisons.<locals>.C.__ge__Frr@N)
rrrr4r@rIrRrPrMrKrLsr?rr%s&,******r@rrfrgrkrjr r"r$r%r&r'c[x] %s c[y]x %s y
x=%d, y=%d	c[x] %s y	x %s c[y])r-r`rErF)r:rrrr[c3rXryoprs          @r?test_classic_comparisonsz2ClassPropertiesAndMethods.test_classic_comparisonss3		c6*9	<D&
*D&
*P1B1B1BR#2"%A
< 
<A>	<((nr.A)B%)(R-%8%1QF%:<((kB.>)?%)(R-%8%1QF%:<((kB.>)?%)(R-%8%1QF%:<	<
<
<]9	<r@cGddt}|d}j|djd|Gddt}|d}j|djd|Gdd	}|tttfD]}Gfd
d|d}d}d
}	j|d|||	d}
dD]}dD]}dD]}
jtd|
ztd|
zd||fzjtd|
ztd|
zd||fzjtd|
ztd|
zd||fzy)NceZdZy):ClassPropertiesAndMethods.test_rich_comparisons.<locals>.ZNrMrr@r?rrarOr@rrfy?ceZdZdZy);ClassPropertiesAndMethods.test_rich_comparisons.<locals>.ZZc@	t||z
dkS#tcYSxYw)Ngư>)r+rrs  r?r@zBClassPropertiesAndMethods.test_rich_comparisons.<locals>.ZZ.__eq__gs(*te|,44*))sNrArr@r?ZZrfs
*r@rgׇP?ceZdZy)@ClassPropertiesAndMethods.test_rich_comparisons.<locals>.classicNrMrr@r?rrprOr@rcZeZdZdZfdZfdZfdZfdZfdZfdZ	fdZ
y	)
:ClassPropertiesAndMethods.test_rich_comparisons.<locals>.Cc$t||_yrrrs  r?r4zCClassPropertiesAndMethods.test_rich_comparisons.<locals>.C.__init__trr@c(jdy)Nzshouldn't call __cmp__)r)rGrr:s  r?__cmp__zBClassPropertiesAndMethods.test_rich_comparisons.<locals>.C.__cmp__vsII67r@ct|r|j|jk(St|tst|tr|j|k(StSrrrs  r?r@zAClassPropertiesAndMethods.test_rich_comparisons.<locals>.C.__eq__xrr@ct|r|j|jk7St|tst|tr|j|k7StSrrrs  r?rIzAClassPropertiesAndMethods.test_rich_comparisons.<locals>.C.__ne__~rr@ct|r|j|jkSt|tst|tr|j|kStSrrrs  r?rRzAClassPropertiesAndMethods.test_rich_comparisons.<locals>.C.__lt__rr@ct|r|j|jkSt|tst|tr|j|kStSrrrs  r?rPzAClassPropertiesAndMethods.test_rich_comparisons.<locals>.C.__le__rr@ct|r|j|jkDSt|tst|tr|j|kDStSrrrs  r?rMzAClassPropertiesAndMethods.test_rich_comparisons.<locals>.C.__gt__rr@ct|r|j|jk\St|tst|tr|j|k\StSrrrs  r?rKzAClassPropertiesAndMethods.test_rich_comparisons.<locals>.C.__ge__rr@N)rrrr4rr@rIrRrPrMrK)rr:sr?rrss+,8******r@rrgrkrjrrrrrr)rrEr-r`r6rF)r:rrVrzzrrrr[rrXrrrrs`             @r?test_rich_comparisonsz/ClassPropertiesAndMethods.test_rich_comparisons_s		
aDD!q!	*	*	]T"r"		c640:	@D(
*D(
*R1B1B1BR#2"%A
@ 
@A>	@((nr.A)B)-hm)<)5A)>@((kB.>)?)-hm)<)5A)>@((kB.>)?)-hm)<)5A)>@	@
@
@_:	@r@cpddlm}fd}||jd|tjdy)Nr)FileIOc>j|j|yr)rEr)descrwhatr:s  r?checkz6ClassPropertiesAndMethods.test_descrdoc.<locals>.checksU]]D1r@zTrue if the file is closedz!the real part of a complex number)_iorclosedrr)r:rrs`  r?
test_descrdocz'ClassPropertiesAndMethods.test_descrdocs)	2
fmm9:
gll?@r@cGddtGfdd}|j|jd|j|jdy)NceZdZdZy)?ClassPropertiesAndMethods.test_doc_descriptor.<locals>.DocDescrcd|r|jjdz}|r|j}d|d|S)Nz	 instancezobject=z; type=)rr)r:r`otypes   r?rezGClassPropertiesAndMethods.test_doc_descriptor.<locals>.DocDescr.__get__s3#--66DF!NNE/5u==r@Nrrr@r?DocDescrrs
>r@rceZdZWZy)?ClassPropertiesAndMethods.test_doc_descriptor.<locals>.NewClassN)rrrr)rsr?NewClassrs
jGr@rzobject=None; type=NewClassz'object=NewClass instance; type=NewClass)r`rEr)r:rrs  @r?test_doc_descriptorz-ClassPropertiesAndMethods.test_doc_descriptorsI	>v	>	!	!))+GH++-VWr@cNGddt}Gddt}Gddt}Gdd||}||||fD]Z}||||fD]O}|}||_j|j|||_j|j|Q\fd	}||t|t|||d
||t|tt|ttGddt}	|d
t|dt
t}
||
t||
t
d~
Gddt}Gddt}Gddt}
Gddt}Gddt}Gdd|}Gdd|
}Gdd|}Gdd |}Gd!d"|}Gd#d$|}||f||
f|
|f||f||ffD]\}}|}d
|_||_j|j|d%|d&|d'j|jd
||_j|j|d%|d&|d'j|jd
||||||||t|	f
D]*}||||||||t|	f
D]}||ur|||,Gd(d)tGfd*d+t}td,Dcgc]	}|}}~ycc}w)-NceZdZy)3ClassPropertiesAndMethods.test_set_class.<locals>.CNrMrr@r?rrrr@rceZdZy)3ClassPropertiesAndMethods.test_set_class.<locals>.DNrMrr@r?rNrrr@rNceZdZy)3ClassPropertiesAndMethods.test_set_class.<locals>.ENrMrr@r?rrrr@rceZdZy)3ClassPropertiesAndMethods.test_set_class.<locals>.FNrMrr@r?rrrr@rc	||_jd|d|	t|djd|zy#t$rY-wxYw#ttf$rYywxYw)Nshouldn't allow z
.__class__ = rz shouldn't allow del %r.__class__)rrrr,r)rrr:s  r?cantz6ClassPropertiesAndMethods.test_set_class.<locals>.cantss
H		AFG
B;'		<q@A

~.

s"AA	AAA$#A$rfceZdZgZy)5ClassPropertiesAndMethods.test_set_class.<locals>.IntNrrr@r?IntrsB	r@rTrgceZdZddgZy)3ClassPropertiesAndMethods.test_set_class.<locals>.GrBrTNrrr@r?rvrr;r@rvceZdZddgZy)3ClassPropertiesAndMethods.test_set_class.<locals>.HrTrBNrrr@r?rHr	r;r@rHceZdZddgZy)3ClassPropertiesAndMethods.test_set_class.<locals>.IrBrTNrrr@r?rrr;r@rceZdZddgZy)3ClassPropertiesAndMethods.test_set_class.<locals>.JrXrTNrrr@r?Jr
r;r@rceZdZgdZy)3ClassPropertiesAndMethods.test_set_class.<locals>.K)rBrTrMNrrr@r?Krr	r@rceZdZdgZy)3ClassPropertiesAndMethods.test_set_class.<locals>.Lr8Nrrr@r?rrrr@rceZdZdgZy)3ClassPropertiesAndMethods.test_set_class.<locals>.Mr8Nrrr@r?rrrr@rceZdZdgZy)3ClassPropertiesAndMethods.test_set_class.<locals>.NreNrrr@r?r!rrir@r!ceZdZdgZy)3ClassPropertiesAndMethods.test_set_class.<locals>.PrINrrr@r?Prrdr@rceZdZy)3ClassPropertiesAndMethods.test_set_class.<locals>.QNrMrr@r?QrrOr@rceZdZddgZy)3ClassPropertiesAndMethods.test_set_class.<locals>.RrIreNrrr@r?Rr
s#]3Ir@r z
assigning z as __class__ for z silently failedceZdZy)3ClassPropertiesAndMethods.test_set_class.<locals>.ONrMrr@r?Or"
rOr@r#ceZdZfdZy)3ClassPropertiesAndMethods.test_set_class.<locals>.Ac|_yrr~)r:r#s r?r2z;ClassPropertiesAndMethods.test_set_class.<locals>.A.__del__
s
!"r@Nrrrr2)r#sr?r}r%
s
#r@r}r)
r`rrr6r-rrGrBrEr)r:rrNrrrcls2rrrorvrHrrrrrr!rrr r}rr#s`                       @r?test_set_classz(ClassPropertiesAndMethods.test_set_classs1aA:	0C1a

0E"

akk40!

akk3/
0	0	B	
QS$TVQQS!QS&VXtTVV&#&T3Q
HQQT

	#	#	#	#	#	#	#	#	(	(					(	(	%	%			4	4a&1a&1a&1a&1a&A
	%ICAACAKMM!++tIMqQ
SQSS!$AKMM!++sILaP
RQSS!$
	%aAq!Q44	"C1aAq!Qc9
"$;SUD!
"	"			#	# *%QQS%%

&sL"cGddt}|}ddi|_j|jdfd|d|g|d|`Gddtfd}Gd	d
t}Gddt}Gd
dt|}Gddt|}|||fD]0}|||j}		d|	d<jd|z2Gddtj}
Gddtj}|
|fD]!}|d}
||
d|
jd<#d}Gddt}Gddt}t||fD]T}|}ddi|_j|jdj|||tVy#t$rYwxYw)NceZdZy)2ClassPropertiesAndMethods.test_set_dict.<locals>.CNrMrr@r?rr- 
rr@rrTrfcn	||_jd|d|y#ttf$rYywxYw)Nrz.__dict__ = )rIrrr)rrr:s  r?rz5ClassPropertiesAndMethods.test_set_dict.<locals>.cant$
s<
J!
		4HI#I.

s"44ceZdZy)5ClassPropertiesAndMethods.test_set_dict.<locals>.BaseNrMrr@r?r;r00
rOr@r;c	|i	|`jd|zjd}	|j	|ijd|zy#ttf$rYHwxYw#ttf$rYywxYw)Nzshouldn't allow del %r.__dict__rIz&dict_descr allowed access to %r's dict)rIrrrr)r
dict_descrr;rr:s  r?verify_dict_readonlyzEClassPropertiesAndMethods.test_set_dict.<locals>.verify_dict_readonly2
s

BK
AJ		;a?@z2J
H""1b)		BQFG#I.

#I.

s"AA/A,+A,/BBceZdZy)6ClassPropertiesAndMethods.test_set_dict.<locals>.Meta1NrMrr@r?Meta1r5F
rOr@r6ceZdZy)6ClassPropertiesAndMethods.test_set_dict.<locals>.Meta2NrMrr@r?Meta2r8H
rOr@r9ceZdZy)2ClassPropertiesAndMethods.test_set_dict.<locals>.DNrMrr@r?rNr;J
rOr@rNrBceZdZy)2ClassPropertiesAndMethods.test_set_dict.<locals>.ENrMrr@r?rr=L
rOr@reggsrz%r's __dict__ can be modifiedceZdZy)8ClassPropertiesAndMethods.test_set_dict.<locals>.Module1NrMrr@r?Module1r@Y
rOr@rAceZdZy)8ClassPropertiesAndMethods.test_set_dict.<locals>.Module2NrMrr@r?Module2rC[
rOr@rDc4	|`y#ttf$rYywxYw)NTF)rIrr)r8s r?can_delete_dictz@ClassPropertiesAndMethods.test_set_dict.<locals>.can_delete_dictf
s*
J~.

sceZdZy);ClassPropertiesAndMethods.test_set_dict.<locals>.Exception1NrMrr@r?
Exception1rHm
rOr@rIceZdZy);ClassPropertiesAndMethods.test_set_dict.<locals>.Exception2NrMrr@r?
Exception2rKo
rOr@rLrB)r`rIrErTrGrrr<r=r-rBr)r:rrBr3r6r9rNrr
class_dictrArDr=rrFrIrL
ExceptionTyper8r;rs`                  @@r?
test_set_dictz'ClassPropertiesAndMethods.test_set_dict
s
C1X
a 	J	
Q
QQ

J	6		H(	D$		D$		%		%	a7	AC %J
A%+
6"		9C?@	A	e&&		dE,,	!7*	*JV$C %#)CLL 	*		D		y	&
J>	PMAqAJQSS!$_Q/1NO		P=

sG	GGc~Gfddt|jtddzd|jtddzd|jtddzd|jtddzd|jtddzd|jtddzd|jttddddGd	d
t}y)Nc:eZdZdZfdZeZdfd	Zdfd	Zy)BClassPropertiesAndMethods.test_binary_operator_override.<locals>.Icdt|zS)NzI(%r)r-rs r?rzKClassPropertiesAndMethods.test_binary_operator_override.<locals>.I.__repr__z
sT**r@c>t|t|zSrrT)r:rrs  r?rizJClassPropertiesAndMethods.test_binary_operator_override.<locals>.I.__add__|
sTSZ/00r@Nc	|$tt|t|Stt|t|t|Srrr-r:rrrs   r?__pow__zJClassPropertiesAndMethods.test_binary_operator_override.<locals>.I.__pow__
sB;STCJ788STCJCABBr@c	|%tt|t||Stt|t|t|SrrWrXs   r?__rpow__zKClassPropertiesAndMethods.test_binary_operator_override.<locals>.I.__rpow__
sD;SUSY<==SUSYCABBr@r)rrrrrirrYr[)rsr?rrRy
s
+
1H
C

Cr@rrfrgzI(3)rkzI(8)rceZdZdZy)BClassPropertiesAndMethods.test_binary_operator_override.<locals>.ScD|j|jk(Sr)rrs  r?r@zIClassPropertiesAndMethods.test_binary_operator_override.<locals>.S.__eq__
szz|u{{}44r@NrArr@r?Sr]
rr@r_)r-rErrr>)r:r_rs  @r?test_binary_operator_overridez7ClassPropertiesAndMethods.test_binary_operator_overridew
s	C	C"	
adQqTk*F3adQh0a!A$h0adadl+V4a1Q4i&1adai&1c!A$!ad34f=	5	5r@cGddt}Gdd|}Gdd|}Gdd||}|}t|}d	|_|jt|d
d|_|jt|dd
|_|jt|dd|_|jt|dd|_|j	t
t||`|jt|dd|_|j	t
t||`|jt|dd|_|j	t
t||`|jt|d
d|_|j	t
t||`|jt||d
|_d
|_|j|jd
|j|jd
d}||_|j|jd|j|jd
d}||_	|j|jd|j|jd|j|jd
|`|j|jd
|`|j|jd|j|jd
|`		|j|jdGddt}Gdd|}~tjd|_y#t$rYCwxYw)NceZdZy>ClassPropertiesAndMethods.test_subclass_propagation.<locals>.ANrMrr@r?r}rd
rOr@r}ceZdZy>ClassPropertiesAndMethods.test_subclass_propagation.<locals>.BNrMrr@r?rrg
rOr@rceZdZy)>ClassPropertiesAndMethods.test_subclass_propagation.<locals>.CNrMrr@r?rri
rOr@rceZdZy)>ClassPropertiesAndMethods.test_subclass_propagation.<locals>.DNrMrr@r?rNrk
rOr@rNcyrlrrs r?rzEClassPropertiesAndMethods.test_subclass_propagation.<locals>.<lambda>
rr@rcy)N:rrs r?rzEClassPropertiesAndMethods.test_subclass_propagation.<locals>.<lambda>
rr@rncy)Nrrs r?rzEClassPropertiesAndMethods.test_subclass_propagation.<locals>.<lambda>
rr@rpcyr(rrs r?rzEClassPropertiesAndMethods.test_subclass_propagation.<locals>.<lambda>
rr@rc:|dk(rytj||S)Nrr)r`r&rs  r?r&zMClassPropertiesAndMethods.test_subclass_propagation.<locals>.__getattribute__
su}**466r@rc"|dvryt|)N)rrrrNrrs  r?rzHClassPropertiesAndMethods.test_subclass_propagation.<locals>.__getattr__
s-- &&r@rNzd.foo should be undefined nowceZdZyrcrMrr@r?r}z>ClassPropertiesAndMethods.test_subclass_propagation.<locals>.A
rOr@ceZdZyrfrMrr@r?rz>ClassPropertiesAndMethods.test_subclass_propagation.<locals>.B
rOr@cyrrrs r?rzEClassPropertiesAndMethods.test_subclass_propagation.<locals>.<lambda>
rr@)r`rDrErErrrrr&rrrrrrUr~)	r:r}rrrNrM	orig_hashr&rs	         r?test_subclass_propagationz3ClassPropertiesAndMethods.test_subclass_propagation
s							1	
CG	$
a"%%
a#&%
a#&%
a#&
)T1-
Ja#&
)T1-
Ja#&
)T1-
Ja"%
)T1-
Ja),##	7.##	'$
)##
#
E(#
M	7
EE
II56				
'
		s
M""	M.-M.c0ddl}Gddt}d}||}|j|j||j|Gddt}|d}	|j||jdy#t$rYywxYw)	NrceZdZy)BClassPropertiesAndMethods.test_buffer_inheritance.<locals>.MyBytesNrMrr@r?rr{
rOr@rrceZdZy)@ClassPropertiesAndMethods.test_buffer_inheritance.<locals>.MyIntNrMrr@r?rr}
rOr@rrz2subclass of int should not have a buffer interface)binasciirrEb2a_hexr-rr)r:r~rrrOrs      r?test_buffer_inheritancez1ClassPropertiesAndMethods.test_buffer_inheritance
s		e	DM	
))!,h.>.>t.DE	C	"I	QIIJK		s&"B			BBc8ddlGfddt}|d}|jt|||jtt|t|jtt	|t|jt|d|jt|d|jt	|d|j|j
d|j|jdy)NrceZdZfdZdZy)GClassPropertiesAndMethods.test_str_of_str_subclass.<locals>.octetstringcbj|jdjdS)Nascii)rencodedecode)r:r~s r?rzOClassPropertiesAndMethods.test_str_of_str_subclass.<locals>.octetstring.__str__
s(''G(<=DDWMMr@c|dzS)Nz reprrrs r?rzPClassPropertiesAndMethods.test_str_of_str_subclass.<locals>.octetstring.__repr__sg~%r@N)rrrrr)r~sr?octetstringr
s
N
&r@rr}A41zA repr)r~r>rErGrordrr)r:rr)r~s   @r?test_str_of_str_subclassz2ClassPropertiesAndMethods.test_str_of_str_subclass
s	&#	&
a+.c!fs+d1g,Q&Q&a(+d+x0r@cGddt}Gdd}|d|_|jt|t|jt|ty)NceZdZy)LClassPropertiesAndMethods.test_repr_with_module_str_subclass.<locals>.StrSubNrMrr@r?StrSubrrOr@rceZdZy)JClassPropertiesAndMethods.test_repr_with_module_str_subclass.<locals>.SomeNrMrr@r?SomerrOr@rexample)r>rrr)r:rrs   r?"test_repr_with_module_str_subclassz<ClassPropertiesAndMethods.test_repr_with_module_str_subclass
sN	S			 +d4j#.d46lC0r@cd}|j|jddt}tj|ddd|j|dy)	Nc|Srrrs r?rz;ClassPropertiesAndMethods.test_keyword_arguments.<locals>.fs(r@rruabc½€latin1r)encodingrsabc?)rErg	bytearrayr4)r:rbas   r?test_keyword_argumentsz0ClassPropertiesAndMethods.test_keyword_argumentssTb)2.
[2$,Y		@[)r@cGddt}||_|jt5|dddy#1swYyxYw)NceZdZy)8ClassPropertiesAndMethods.test_recursive_call.<locals>.ANrMrr@r?r}r"rOr@r})r`rgrRecursionErrorr^s  r?test_recursive_callz-ClassPropertiesAndMethods.test_recursive_call sE		S



~
.	ACE			s
AAc gGfddt}|}|jg~tj|jdgGddt}|}|d=|j	dy#t
$rYywxYw)NceZdZfdZy)5ClassPropertiesAndMethods.test_delete_hook.<locals>.Cc(jdyrr)r:r(s r?r2z=ClassPropertiesAndMethods.test_delete_hook.<locals>.C.__del__-s

1
r@Nr')r(sr?rr,s
r@rrfceZdZy)5ClassPropertiesAndMethods.test_delete_hook.<locals>.DNrMrr@r?rNr5rr@rNrz$invalid del() didn't raise TypeError)r`rErrUrr)r:rrXrNrMr(s     @r?test_delete_hookz*ClassPropertiesAndMethods.test_delete_hook)s		
Cb!
qc"
C1ii>?$s,B	B
B
cGddt}|}	t||jdGddt}|}	t||jdy#t$rY?wxYw#t$rYywxYw)NceZdZy)?ClassPropertiesAndMethods.test_hash_inheritance.<locals>.mydictNrMrr@r?mydictr>rOr@rz#hash() of dict subclass should failceZdZy)?ClassPropertiesAndMethods.test_hash_inheritance.<locals>.mylistNrMrr@r?mylistrHrOr@rz#hash() of list subclass should fail)rrDrrr6)r:rrMrs    r?test_hash_inheritancez/ClassPropertiesAndMethods.test_hash_inheritance;s	T	H	=G
II;<	T	H	=G
II;<				s#A(A7(	A43A47	BBcddz|jddjd|jddj	dg|jddjd|jd	d
dz|jddiz|jd
ddz|jdddz|jdddz|jdddz|jd|j
djd|j
djd|j
ddzd|j
ddzdy#t$rYbwxYw#t$rYPwxYw#t$rY=wxYw#t$rY+wxYw#t$rY%wxYw#t$rYwxYw#t$rYwxYw#t$rYwxYw#t$rY
wxYw#t$rYwxYw)NrBrz'' + 5 doesn't raise TypeErrorrz%''.split('') doesn't raise ValueErrorrz$''.join([0]) doesn't raise TypeError5z'''.rindex('5') doesn't raise ValueErrorz%(n)sz&'%(n)s' % None doesn't raise TypeErrorz%(nz&'%(n' % {} '' doesn't raise ValueErrorz%*sr#z''%*s' % ('abc') doesn't raise TypeErrorz%*.*s)r#rz,'%*.*s' % ('abc', 5) doesn't raise TypeErrorz%srfrgz%'%s' % (1, 2) doesn't raise TypeError%z#'%' % None doesn't raise ValueError534253rf534253xz%c)rrsplitrr4rindexrEisdigitrs r?test_str_operationsz-ClassPropertiesAndMethods.test_str_operationsRs
1Wii89
XXb\ii?@
WWaS\ii>?
YYs^iiAB
t^ii@A
RZii@A
e_iiAB
z
!iiFG
F]ii?@
4Zii=>))+Q/**,a06*S)U$4$4$4$$$4sE-E=F
F>F-F=*G
GG-,G=-	E:9E:=	F
	F

	FF	F*)F*-	F:9F:=	G
	G

	GG	G*)G*-	G:9G:=	H
	H
cfGdd}|}|}||_||_t|}y)NceZdZy)?ClassPropertiesAndMethods.test_deepcopy_recursive.<locals>.NodeNrMrr@r?rVrrOr@rV)rTrBr)r:rVrBrTrVs     r?test_deepcopy_recursivez1ClassPropertiesAndMethods.test_deepcopy_recursives1		FFQKr@c4ddlm}|j|}t||j	|d|j	|d|j	|d|j|jd|_|j|jddiy)Nr)r=r__file__rrf)	r<r=rr>rrrIrrE)r:rrOs   r?test_uninitialized_modulesz4ClassPropertiesAndMethods.test_uninitialized_modulessz)
IIaLAa,a,a'$eQZ0r@cGfddt}Gdd||j|dgd|jdgdd}|j|jd|d}|j||j|jdd}|j||j|jdGddt}|j|dd	|dd	fGd
d||jdd	dd	fGddt}|j|dd	||dd	fGdd||jdd	dd	fy)
NceZdZfdZy)3ClassPropertiesAndMethods.test_funny_new.<locals>.Cct|trgdSt|trtj	Stj	|S)Nrj)r)r>r-r`r)rrrNs  r?rz;ClassPropertiesAndMethods.test_funny_new.<locals>.C.__new__s9c3'	)9S)&..2C+C#^^C00r@NrV)rNsr?rrs
1r@rceZdZdZy)3ClassPropertiesAndMethods.test_funny_new.<locals>.Dc||_yrrCr:rs  r?r4z<ClassPropertiesAndMethods.test_funny_new.<locals>.D.__init__rTr@NrKrr@r?rNrrUr@rNrrjrfceZdZedZy)rc|Srrrs r?rz;ClassPropertiesAndMethods.test_funny_new.<locals>.C.__new__r@N)rrrrhrrr@r?rz3ClassPropertiesAndMethods.test_funny_new.<locals>.Cs


r@rgceZdZyrNrMrr@r?rNz3ClassPropertiesAndMethods.test_funny_new.<locals>.DrOr@ceZdZedZy)rc|Srrrs r?rz;ClassPropertiesAndMethods.test_funny_new.<locals>.C.__new__rr@N)rrrrrrr@r?rz3ClassPropertiesAndMethods.test_funny_new.<locals>.Cs


r@ceZdZyrrMrr@r?rNz3ClassPropertiesAndMethods.test_funny_new.<locals>.DrOr@)r`rErr)r:rrMrNs   @r?test_funny_newz(ClassPropertiesAndMethods.test_funny_newsd	1	1
			
3+3+
dG%
aDa#"
aDa#"			
1a1a),		1a1a),			
1a1aA,/		1a1aA,/r@ctGddt}|}|}|dz}|j||df|}|dz}|j||df|}|dz}|j||df|}|dz}|j||df|}|dz}|j||df|}|dz}|j||dfy)NceZdZdZy)2ClassPropertiesAndMethods.test_imul_bug.<locals>.Cc
||fSrrrs  r?rvz;ClassPropertiesAndMethods.test_imul_bug.<locals>.C.__imul__se}$r@N)rrrrvrr@r?rrrfr@rrrgrklrr`rE)r:rrrs    r?
test_imul_bugz'ClassPropertiesAndMethods.test_imul_bugs	%	%
C
	SQH%
	QQF#
	QQF#
	VQK(
	T	QI&
	U
QJ'r@cddl}Gfddt}|d}|jdj|jdj|jd|j|}j|jdj|jd|j
|}j|jdj|jdy)Nrc4eZdZddZddZdZdZfdZy)7ClassPropertiesAndMethods.test_copy_setstate.<locals>.CNc ||_||_yr)r_C__foorSs  r?r4z@ClassPropertiesAndMethods.test_copy_setstate.<locals>.C.__init__s 
r@c||_yrrCrSs  r?setfooz>ClassPropertiesAndMethods.test_copy_setstate.<locals>.C.setfoorTr@c|jSr)rrs r?getfooz>ClassPropertiesAndMethods.test_copy_setstate.<locals>.C.getfoorr@c|jgSrrCrs r?__getstate__zDClassPropertiesAndMethods.test_copy_setstate.<locals>.C.__getstate__sz!r@c^jt|d|dx|_|_yr)rEr	rr)rGlstr:s  r?__setstate__zDClassPropertiesAndMethods.test_copy_setstate.<locals>.C.__setstate__s)  S1-*-a&0eir@r)rrrr4rrrrrsr?rrs
!

"
"
1r@rrr)rr`rrErrr)r:rrrBrTs`    r?test_copy_setstatez,ClassPropertiesAndMethods.test_copy_setstates	1	1
bE	#R(IIaL#R(MM!#R(r@c|jdddd|jdtdd|jtjdtddGddt}|j|dddd|j|dtdd|j|djtdd|jdddd|jdtdd|jtjdtddGd	d
t}|j|dddd|j|dtdd|j|djtdd|jgdddddg|jgdtdddg|jt
jgdtdddgGdd
t
}|j|gdddddg|j|gdtdddg|j|gdjtdddg|gd}ddg|tdd<|j|gdddg|tddd<|j|gd|j
tddddg|j|gd|j
tdddddg|j|gdy)NrNrnhellceZdZdZy)0ClassPropertiesAndMethods.test_slices.<locals>.Sc.tj||Sr)r>rprs  r?rpz<ClassPropertiesAndMethods.test_slices.<locals>.S.__getitem__stQ//r@Nr-rr@r?r_rs
0r@r_rjrgrceZdZdZy)0ClassPropertiesAndMethods.test_slices.<locals>.Tc.tj||Sr)rrprs  r?rpz<ClassPropertiesAndMethods.test_slices.<locals>.T.__getitem__s((q11r@Nr-rr@r?rr
2r@rrfceZdZdZy)0ClassPropertiesAndMethods.test_slices.<locals>.Lc.tj||Sr)r6rprs  r?rpz<ClassPropertiesAndMethods.test_slices.<locals>.L.__getitem__s''a00r@Nr-rr@r?rr
rr@rrk)rfrkrgr)rkrfrg)rkrgrf)rgrkrf)rErYr>rprr6r~)r:r_rrrBs     r?test_slicesz%ClassPropertiesAndMethods.test_slicess	
!f-q*F3%(;VD	0	0	
7BQ07E!H-v67//a96B!e,q*E2**7E!H=uE	2	2	
7BQ/7E!H-u57//a95A!qe,q*QqE2))'58<qeD	1	1	
7BQ!A/7E!H-!u57//a9Aa5A
gJA%1+G$qE%1a.G$	

eAqkAa5)G$	

eAq!nqe,G$r@cGfddt}d|_~tj|j	tjd`y)NceZdZgZfdZy)>ClassPropertiesAndMethods.test_subtype_resurrection.<locals>.Cc<jj|yr)	containerrrs r?r2zFClassPropertiesAndMethods.test_subtype_resurrection.<locals>.C.__del__$s""4(r@N)rrrrr2rLsr?rr!s
I
)r@rrrf)r`rtrrUrEr	rr2)r:rXrs  @r?test_subtype_resurrectionz3ClassPropertiesAndMethods.test_subtype_resurrectionsP	)	)
C

Q[[)1-
Ir@cXGddt}d}tdD]
}||}~y)NceZdZdgZdZy)9ClassPropertiesAndMethods.test_slots_trash.<locals>.trashrc||_yrrrs  r?r4zBClassPropertiesAndMethods.test_slots_trash.<locals>.trash.__init__<rr@N)rrrrr4rr@r?trashr:sI
r@riP)r`r)r:rr)rs    r?test_slots_trashz*ClassPropertiesAndMethods.test_slots_trash7s4	F	
u	AaA	
r@c,Gddt}Gddt}Gdd||}tjr&|j|j|j|j|d|j|dd	|_y)
NceZdZdZy)DClassPropertiesAndMethods.test_slots_multiple_inheritance.<locals>.ArNrrr@r?r}rEIr@r}ceZdZy)DClassPropertiesAndMethods.test_slots_multiple_inheritance.<locals>.BNrMrr@r?rrGrOr@rceZdZdZy)DClassPropertiesAndMethods.test_slots_multiple_inheritance.<locals>.CrNrrr@r?rr
Irr@rrIrerg)r`rrrE
__basicsize__rr)r:r}rrs    r?test_slots_multiple_inheritancez9ClassPropertiesAndMethods.test_slots_multiple_inheritanceCsu					!	$$&Q__aoo>1j)1m,r@cGddt}|}|j|dzd|j|dzd|jd|zd|jd|zdy)NceZdZdZdZy).ClassPropertiesAndMethods.test_rmul.<locals>.Ccy)Nr
rrs  r?rzz6ClassPropertiesAndMethods.test_rmul.<locals>.C.__mul__Ur@cy)Nrmulrrs  r?r|z7ClassPropertiesAndMethods.test_rmul.<locals>.C.__rmul__Wsr@N)rrrrzr|rr@r?rrTs

r@rrgr
g@rrr3s   r?	test_rmulz#ClassPropertiesAndMethods.test_rmulQsg		

C1e$3&1f%Q'r@c:Gddt}|}|dz}y)NceZdZdZy).ClassPropertiesAndMethods.test_ipow.<locals>.Ccyrrrs  r?__ipow__z7ClassPropertiesAndMethods.test_ipow.<locals>.C.__ipow__cr@Nrrrrrr@r?rrb
r@rrgrr3s   r?	test_ipowz#ClassPropertiesAndMethods.test_ipow_s 		
C	ar@cGdd}Gdd|}Gdd|}|}|}|}||z}|j|d||z}|j|dy)	NceZdZdZy)FClassPropertiesAndMethods.test_ipow_returns_not_implemented.<locals>.ActSrrrs  r?rzOClassPropertiesAndMethods.test_ipow_returns_not_implemented.<locals>.A.__ipow__jrr@Nrrr@r?r}r irr@r}ceZdZdZy)FClassPropertiesAndMethods.test_ipow_returns_not_implemented.<locals>.Bcyrrrs  r?r[zOClassPropertiesAndMethods.test_ipow_returns_not_implemented.<locals>.B.__rpow__nr@Nrrrr[rr@r?rr#m
r@rceZdZdZy)FClassPropertiesAndMethods.test_ipow_returns_not_implemented.<locals>.CcyrBrrs  r?rYzNClassPropertiesAndMethods.test_ipow_returns_not_implemented.<locals>.C.__pow__rr%r@NrrrrYrr@r?rr)qr'r@rrfrgr)r:r}rrrBrTrXs       r?!test_ipow_returns_not_implementedz;ClassPropertiesAndMethods.test_ipow_returns_not_implementedhsm	&	&				
C
C
C	aA	aAr@chGdd}t}|}||z}|j|dy)NceZdZdZy)1ClassPropertiesAndMethods.test_no_ipow.<locals>.Bcyrrrs  r?r[z:ClassPropertiesAndMethods.test_no_ipow.<locals>.B.__rpow__r%r@Nr&rr@r?rr/r'r@rrfr)r:rrBrTs    r?test_no_ipowz&ClassPropertiesAndMethods.test_no_ipow~s5		
H
C	aAr@cXd}|jt5}|dz}ddd|jdtj|jt5}|dz}ddd|jdt|jy#1swYwxYw#1swY;xYw)Nrgz#unsupported operand type(s) for **=z"unsupported operand type(s) for **)rrrr>r)r:rrrs    r?test_ipow_exception_textz2ClassPropertiesAndMethods.test_ipow_exception_texts


y
)	R
!GA	

;S=NO


y
)	RQA	

:C<MN
				sB B B B)cGddt}GfddtGdd|}Gdd|}|}|}|f|_f|_|j|jd	|j|jd	|j|jd
|j|jd
|jj|g	|`|j
d	d|_|j
d
	|f|_|j
d	||f|_|j
d	|f|_|j
dy#ttf$rYzwxYw#t$r)}t|dk(r|j
dYd}~d}~wwxYw#t$rYwxYw#t$rYwxYw#t$rYywxYw)NceZdZy)7ClassPropertiesAndMethods.test_mutable_bases.<locals>.CNrMrr@r?rr6rOr@rc(eZdZfdZdZxZS)8ClassPropertiesAndMethods.test_mutable_bases.<locals>.C2c.|dk(ryt||S)NrBrg)rur&)r:rtrrs  r?r&zIClassPropertiesAndMethods.test_mutable_bases.<locals>.C2.__getattribute__s3; T;DAAr@cyrrrs r?rLz=ClassPropertiesAndMethods.test_mutable_bases.<locals>.C2.methr%r@)rrrr&rLrx)rrs@r?rr8s
B

r@rceZdZy)7ClassPropertiesAndMethods.test_mutable_bases.<locals>.DNrMrr@r?rNr<rOr@rNceZdZy)7ClassPropertiesAndMethods.test_mutable_bases.<locals>.ENrMrr@r?rr>rOr@rrfrgz&shouldn't be able to delete .__bases__rz)shouldn't be able to set .__bases__ to ()z/a new-style class can't have only classic basesz'wrong error message for .__bases__ = ()z.shouldn't be able to create inheritance cyclesz#didn't detect repeated base classes)
r`rJrErLrBr?rrrr>)r:rrNrrMr8rrs       @r?test_mutable_basesz,ClassPropertiesAndMethods.test_mutable_basess								
C
Cde1%1%a a **,qc2	@
II>?	CAK

IIAB	H$AK

IIFG	=a&AK
II;<	H$AK
IIFGC>*			E3xLL		CD	E						s`0E,FF67	GG,E>=E>	F3
F..F36	GG	GG	G G ctjjDcgc]}t|tr|}}|D]T}t
j
|d|t
us"|turd}nd}|jt|j||VGddt}Gddt
}Gdd	|}	tf|_
|jd
	tft_
|jd	|tf|_
|jdycc}w#t$rYRwxYw#t$rY?wxYw#t$rYywxYw)
NrJrgrfceZdZy)7ClassPropertiesAndMethods.test_builtin_bases.<locals>.LNrMrr@r?rrBrOr@rceZdZy)7ClassPropertiesAndMethods.test_builtin_bases.<locals>.CNrMrr@r?rrDrOr@rceZdZy)7ClassPropertiesAndMethods.test_builtin_bases.<locals>.DNrMrr@r?rNrFrOr@rNz/shouldn't turn list subclass into dict subclassz-shouldn't be able to assign to list.__bases__z#best_base calculation found wanting)builtinsrIvaluesr)rGr`r&ExceptionGrouprEr	rJr6rrr)r:tp
builtin_types	num_basesrrrNs       r?test_builtin_basesz,ClassPropertiesAndMethods.test_builtin_basessN'/&7&7&>&>&@2&r402
2	CB##B4' !I !I  R\\!2IrB	C							I'AK
IIGH	G"WDN
IIEF	=d)AK
II;<O2,						s;D?D#D2?
E#	D/.D/2	D>=D>	E
E
c	6|jt5Gddtd}ddd|jt5Gddttd}ddd|jt5Gddtdt}dddGddt}|jt5Gdd|td}ddd|jt5Gddtd|}dddGd	dt}|jt5tdf|_ddd|jt5ttdf|_ddd|jt5tdtf|_ddd|jt5|tdf|_ddd|jt5td|f|_dddy#1swYxYw#1swYxYw#1swYxYw#1swYkxYw#1swYExYw#1swYxYw#1swYxYw#1swYxYw#1swYxYw#1swYyxYw)
NceZdZy>ClassPropertiesAndMethods.test_unsubclassable_types.<locals>.XNrMrr@r?rrQrr@rceZdZyrPrMrr@r?rz>ClassPropertiesAndMethods.test_unsubclassable_types.<locals>.Xrr@ceZdZyrPrMrr@r?rz>ClassPropertiesAndMethods.test_unsubclassable_types.<locals>.Xrr@ceZdZy)>ClassPropertiesAndMethods.test_unsubclassable_types.<locals>.ONrMrr@r?r#rU	rOr@r#ceZdZyrPrMrr@r?rz>ClassPropertiesAndMethods.test_unsubclassable_types.<locals>.Xrr@ceZdZyrPrMrr@r?rz>ClassPropertiesAndMethods.test_unsubclassable_types.<locals>.Xrr@ceZdZyrPrMrr@r?rz>ClassPropertiesAndMethods.test_unsubclassable_types.<locals>.XrOr@)rrrGr`rJ)r:rr#s   r?test_unsubclassable_typesz3ClassPropertiesAndMethods.test_unsubclassable_typess&


y
)	
DJ
	

y
)	
FDJ
	

y
)	
DJ
			


y
)	
AtDz
	

y
)	
DJ
			


y
)	&t*+AK	&


y
)	- $t*,AK	-


y
)	-t*f,AK	-


y
)	(T$Z-AK	(


y
)	(t*a-AK	(	(9						
					&	&	-	-	-	-	(	(	(	(swHH*?H7I8I:I)I+I7JJH'*H47IIII(+I47JJJc
G
fddt
Gddt}Gddt}Gddt}Gd	d
|}Gdd|}Gd
d|
}Gdd||}|j}|j}		|f|_|j	dy#t
$r;|j
|j||j
|j|	YywxYw)Nc(eZdZfdZdZxZS)OClassPropertiesAndMethods.test_mutable_bases_with_failing_mro.<locals>.WorkOncec6d|_t||||Sr)flagrur)r:r=rUrWorkOncers    r?rzWClassPropertiesAndMethods.test_mutable_bases_with_failing_mro.<locals>.WorkOnce.__new__"s"	Xt4XtUBOOr@c|jdkDrtd|xjdz
c_tj|S)Nrbozorf)r^rrGrrs r?rzSClassPropertiesAndMethods.test_mutable_bases_with_failing_mro.<locals>.WorkOnce.mro%s399q=&v..IINI88D>)r@)rrrrrrx)rr_s@r?r_r\!s
P
*r@r_ceZdZdZy)QClassPropertiesAndMethods.test_mutable_bases_with_failing_mro.<locals>.WorkAlwaysc,tj|Sr)rGrrs r?rzUClassPropertiesAndMethods.test_mutable_bases_with_failing_mro.<locals>.WorkAlways.mro-s
xx~%r@Nrrr@r?
WorkAlwaysrc,s
&r@receZdZy)HClassPropertiesAndMethods.test_mutable_bases_with_failing_mro.<locals>.CNrMrr@r?rrg4rOr@rceZdZy)IClassPropertiesAndMethods.test_mutable_bases_with_failing_mro.<locals>.C2NrMrr@r?rri7rOr@rceZdZy)HClassPropertiesAndMethods.test_mutable_bases_with_failing_mro.<locals>.DNrMrr@r?rNrk:rOr@rNceZdZy)HClassPropertiesAndMethods.test_mutable_bases_with_failing_mro.<locals>.ENrMrr@r?rrm=rOr@rceZdZy)HClassPropertiesAndMethods.test_mutable_bases_with_failing_mro.<locals>.FNrMrr@r?rro@rOr@rrBceZdZy)HClassPropertiesAndMethods.test_mutable_bases_with_failing_mro.<locals>.GNrMrr@r?rvrqCrOr@rvzexception not propagated)rGr`r^rJrrrE)r:rerrrNrrrvE_mro_beforeD_mro_beforer_s          @r?#test_mutable_bases_with_failing_mroz=ClassPropertiesAndMethods.test_mutable_bases_with_failing_mros		*t		*	&	&									X		Z	yyyy	2%AK

II01		6QYY5QYY5	6s	B##AC'&C'cGddt}Gddt}Gdd||}Gdd||}Gd	d
||}	||f|_|jdy#t$rYywxYw)NceZdZy)JClassPropertiesAndMethods.test_mutable_bases_catch_mro_conflict.<locals>.ANrMrr@r?r}rwWrOr@r}ceZdZy)JClassPropertiesAndMethods.test_mutable_bases_catch_mro_conflict.<locals>.BNrMrr@r?rryZrOr@rceZdZy)JClassPropertiesAndMethods.test_mutable_bases_catch_mro_conflict.<locals>.CNrMrr@r?rr{]rOr@rceZdZy)JClassPropertiesAndMethods.test_mutable_bases_catch_mro_conflict.<locals>.DNrMrr@r?rNr}`rOr@rNceZdZy)JClassPropertiesAndMethods.test_mutable_bases_catch_mro_conflict.<locals>.ENrMrr@r?rrcrOr@rzdidn't catch MRO conflict)r`rJrr)r:r}rrrNrs      r?%test_mutable_bases_catch_mro_conflictz?ClassPropertiesAndMethods.test_mutable_bases_catch_mro_conflictUsw					1		1		1		3a&AK
II12		s	A	A+*A+cGddt}|j}d|_|j|j|jf|dfd|_|j|j|jf|dfy)NceZdZy)7ClassPropertiesAndMethods.test_mutable_names.<locals>.CNrMrr@r?rrorOr@rrNzD.E)r`rrrE)r:rrs   r?test_mutable_namesz,ClassPropertiesAndMethods.test_mutable_namesmsi		ll
!,,

3c3Z@
!,,

3c5\Br@cdGfddt}Gdd|d_d_y)NceZdZfdZy)<ClassPropertiesAndMethods.test_evil_type_name.<locals>.Nastycd_y)Nr)rrs r?r2zDClassPropertiesAndMethods.test_evil_type_name.<locals>.Nasty.__del__s
$
r@Nr'rLsr?Nastyrs
%r@rceZdZy)8ClassPropertiesAndMethods.test_evil_type_name.<locals>.CNrMrr@r?rrrOr@rr#normal)r>r)r:rrs  @r?test_evil_type_namez-ClassPropertiesAndMethods.test_evil_type_name{s-	%C	%		5\

r@cGddt}|j|ddzd|jd|dzdGddt}|j|dzd|jd|zd	Gd
d|}|j||zd|j||zd
Gdd|}|j|j|j|j|dzd|jd|zd	|j||zd|j||zdy)NceZdZdZdZy);ClassPropertiesAndMethods.test_subclass_right_op.<locals>.Bcy)NB.__floordiv__rrs  r?__floordiv__zHClassPropertiesAndMethods.test_subclass_right_op.<locals>.B.__floordiv__'r@cy)NB.__rfloordiv__rrs  r?
__rfloordiv__zIClassPropertiesAndMethods.test_subclass_right_op.<locals>.B.__rfloordiv__(r@Nrrrrrrr@r?rr
(
)r@rrfrrceZdZdZdZy);ClassPropertiesAndMethods.test_subclass_right_op.<locals>.Ccy)NC.__floordiv__rrs  r?rzHClassPropertiesAndMethods.test_subclass_right_op.<locals>.C.__floordiv__rr@cy)NC.__rfloordiv__rrs  r?rzIClassPropertiesAndMethods.test_subclass_right_op.<locals>.C.__rfloordiv__rr@Nrrr@r?rrrr@rrrceZdZdZdZy);ClassPropertiesAndMethods.test_subclass_right_op.<locals>.Dcy)ND.__floordiv__rrs  r?rzHClassPropertiesAndMethods.test_subclass_right_op.<locals>.D.__floordiv__rr@cy)ND.__rfloordiv__rrs  r?rzIClassPropertiesAndMethods.test_subclass_right_op.<locals>.D.__rfloordiv__rr@Nrrr@r?rNrrr@rNrrceZdZy);ClassPropertiesAndMethods.test_subclass_right_op.<locals>.ENrMrr@r?rrrOr@r)r-rEr`r)r:rrrNrs     r?test_subclass_right_opz0ClassPropertiesAndMethods.test_subclass_right_opsD	)	)	
1$45ad$56	)	)	
#34ac#45	)	)	
%56%67			
!//:#34ac#45%56%56r@z)testing an internal kind of method objectcgd}dddd}|jtj|||jij||tjd}|j|j	dt|||j|j	i||	|j	dd|jd	|j	d|jd	|j	dd|jd	|j	dt|jdy#t$rY{wxYw#t$rYgwxYw#t$rYRwxYw#t$rYywxYw)Nrjfromkeysz0shouldn't have allowed descr.__get__(None, None)rz(shouldn't have allowed descr.__get__(42)z.shouldn't have allowed descr.__get__(None, 42)z/shouldn't have allowed descr.__get__(None, int))rErrrIrerrr-)r:rrKrs    r?test_meth_class_getz-ClassPropertiesAndMethods.test_meth_class_getst4D)s+S1S)3/

j)	
2tT237=*r*3/5	JMM$%
IIHI	BMM"
II@A	HMM$#
IIFG	IMM$$
IIGH+								sH8EE?E)#E8	EE	E&%E&)	E54E58	FFcGddt}Gdd}|}||}|j|||j||Gdd|}|}||}|j|||j||Gddt}|}||}|j|||j||Gdd|}|}||}|j|||j||y)	NceZdZdZdZy)<ClassPropertiesAndMethods.test_isinst_isclass.<locals>.Proxyc||_yr_Proxy__objr)s  r?r4zEClassPropertiesAndMethods.test_isinst_isclass.<locals>.Proxy.__init__rr@c||jdrtj||St|j|SN_Proxy__rcr`r&rHrrs  r?r&zMClassPropertiesAndMethods.test_isinst_isclass.<locals>.Proxy.__getattribute__2??:.!224>>"4::t44r@Nrrrr4r&rr@r?rVr
!
5r@rVceZdZy8ClassPropertiesAndMethods.test_isinst_isclass.<locals>.CNrMrr@r?rrrOr@rceZdZy8ClassPropertiesAndMethods.test_isinst_isclass.<locals>.DNrMrr@r?rNrrOr@rNceZdZyrrMrr@r?rz8ClassPropertiesAndMethods.test_isinst_isclass.<locals>.CrOr@ceZdZyrrMrr@r?rNz8ClassPropertiesAndMethods.test_isinst_isclass.<locals>.DrOr@)r`r)r:rVrrBparNs      r?test_isinst_isclassz-ClassPropertiesAndMethods.test_isinst_isclasss	5F	5		
C
1Xa#b!$		
C
1Xa#b!$		
C
1Xa#b!$		
C
1Xa#b!$r@cGddt}Gddt}Gfdd|}||}|jjd|dy)	NceZdZdZdZy)9ClassPropertiesAndMethods.test_proxy_super.<locals>.Proxyc||_yrrr)s  r?r4zBClassPropertiesAndMethods.test_proxy_super.<locals>.Proxy.__init__rr@c||jdrtj||St|j|Srrrs  r?r&zJClassPropertiesAndMethods.test_proxy_super.<locals>.Proxy.__getattribute__rr@Nrrr@r?rVrrr@rVceZdZdZy)5ClassPropertiesAndMethods.test_proxy_super.<locals>.Bcy)NzB.frrs r?rz7ClassPropertiesAndMethods.test_proxy_super.<locals>.B.frr@Nrurr@r?rrs
r@rc"eZdZfdZxZS)5ClassPropertiesAndMethods.test_proxy_super.<locals>.Cc&t|dzS)Nz->C.f)rur)r:rrs r?rz7ClassPropertiesAndMethods.test_proxy_super.<locals>.C.fsQ')G33r@)rrrrrx)rrs@r?rrs

4
4r@rrzB.f->C.f)r`rErI)r:rVrrrrs     @r?test_proxy_superz*ClassPropertiesAndMethods.test_proxy_supersX	5F	5			4	4c#JC+Z8r@c	tjtdd|jd	tjtd|jdy#t$rY8wxYw#t$rYywxYw)Nrrz"Carlo Verre __setattr__ succeeded!rz"Carlo Verre __delattr__ succeeded!)r`r*r>rrr-rs r?test_carloverrez)ClassPropertiesAndMethods.test_carloverre&ss	<sE2.
II:;	<sG,
II:;				s"AA*	A'&A'*	A65A6cGddt}Gdd}Gdd||}|dtfi}	d|_y#t$r|j	d	YywxYw)
NceZdZdZy)HClassPropertiesAndMethods.test_carloverre_multi_inherit_valid.<locals>.Ac2tj|||yr)rGr*rrrs   r?r*zTClassPropertiesAndMethods.test_carloverre_multi_inherit_valid.<locals>.A.__setattr__7s  c51r@Nrrrr*rr@r?r}r6rr@r}ceZdZy)HClassPropertiesAndMethods.test_carloverre_multi_inherit_valid.<locals>.BNrMrr@r?rr:rOr@rceZdZy)HClassPropertiesAndMethods.test_carloverre_multi_inherit_valid.<locals>.CNrMrr@r?rr=rOr@rrNTz1setattr through direct base types should be legal)rGr`r	rrr:r}rrrs     r?#test_carloverre_multi_inherit_validz=ClassPropertiesAndMethods.test_carloverre_multi_inherit_valid5sc	2	2			1	fY#	KCH	KIIIJ	Ks>AAcGddt}Gdd}Gdd||}|dtfi}	d|_|jd	y#t$rYywxYw)
NceZdZdZy)JClassPropertiesAndMethods.test_carloverre_multi_inherit_invalid.<locals>.Ac2tj|||yr)r`r*rs   r?r*zVClassPropertiesAndMethods.test_carloverre_multi_inherit_invalid.<locals>.A.__setattr__Hs""3U3r@Nrrr@r?r}rGs
4r@r}ceZdZy)JClassPropertiesAndMethods.test_carloverre_multi_inherit_invalid.<locals>.BNrMrr@r?rrKrOr@rceZdZy)JClassPropertiesAndMethods.test_carloverre_multi_inherit_invalid.<locals>.CNrMrr@r?rrNrOr@rrNTz6setattr through indirect base types should be rejected)rGr`r	rrrs     r?%test_carloverre_multi_inherit_invalidz?ClassPropertiesAndMethods.test_carloverre_multi_inherit_invalidFsh	4	4			1	fY#	PCH
IINO		sA	AAcnddlGfdd}Gddt}|}|||_~y)NrceZdZfdZdZy)AClassPropertiesAndMethods.test_weakref_segfault.<locals>.Provokerc4j||_yrrk)r:	referrentrjs  r?r4zJClassPropertiesAndMethods.test_weakref_segfault.<locals>.Provoker.__init___s&7;;y1r@c$|j}yrrrs  r?r2zIClassPropertiesAndMethods.test_weakref_segfault.<locals>.Provoker.__del__bs
HHJr@N)rrrr4r2)rjsr?Provokerr^s

2
r@rceZdZy)=ClassPropertiesAndMethods.test_weakref_segfault.<locals>.OopsNrMrr@r?OopsrerOr@r)rjr`whatever)r:rrr)rjs    @r?test_weakref_segfaultz/ClassPropertiesAndMethods.test_weakref_segfaultYs5				6	
Fa[

r@cpucFd}tdD]}|j}d}y)Ncyrrrr@r?rzAClassPropertiesAndMethods.test_wrapper_segfault.<locals>.<lambda>orr@i@B)rrg)r:rrs   r?test_wrapper_segfaultz/ClassPropertiesAndMethods.test_wrapper_segfaultls*
w	A

A	r@cGdd}t|5|jt5tdddddddy#1swYxYw#1swYyxYw)NceZdZdZy)>ClassPropertiesAndMethods.test_file_fault.<locals>.StdoutGuardcPtjt_td|)NzPremature access to sys.stdout.)r
__stdout__stdoutrrs  r?rzJClassPropertiesAndMethods.test_file_fault.<locals>.StdoutGuard.__getattr__ws  ^^
"%DTF#KLLr@Nrrr@r?StdoutGuardrvs
Mr@rzOops!)rrrprint)r:rs  r?test_file_faultz)ClassPropertiesAndMethods.test_file_faultts^	M	M
[]
+	""<0
g
		

		s!AAAA	AA#c$Gfddt}GddtGfddt}d|j|<|j|jdt	j
|j
|d	y)
NceZdZdZfdZy)HClassPropertiesAndMethods.test_vicious_descriptor_nonsense.<locals>.EvilctdS)NrtrDrs r?rEzQClassPropertiesAndMethods.test_vicious_descriptor_nonsense.<locals>.Evil.__hash__sF|#r@c*	`y#t$rYywxYwr)rtrrs  r?r@zOClassPropertiesAndMethods.test_vicious_descriptor_nonsense.<locals>.Evil.__eq__s)&s	NrrrrEr@rLsr?Evilr	s

$
r@r	ceZdZddZy)IClassPropertiesAndMethods.test_vicious_descriptor_nonsense.<locals>.DescrNcyrr)r:obrGs   r?rezQClassPropertiesAndMethods.test_vicious_descriptor_nonsense.<locals>.Descr.__get__r%r@rrrr@r?Descrr
	s
r@r
	ceZdZWZy)EClassPropertiesAndMethods.test_vicious_descriptor_nonsense.<locals>.CN)rrrrtr
	sr?rr	s
7Dr@rrrfrt)r`rIrErtrrUr)r:r	rXrr
	s   @@r? test_vicious_descriptor_nonsensez:ClassPropertiesAndMethods.test_vicious_descriptor_nonsensesp		6			F			
C

46#a(r@crGddt}	||jdy#t$rYywxYw)NceZdZdZy)0ClassPropertiesAndMethods.test_init.<locals>.Foocy)Nrrrs r?r4z9ClassPropertiesAndMethods.test_init.<locals>.Foo.__init__rmr@NrKrr@r?Foor	ror@r	z'did not test __init__() for None return)r`rr)r:r	s  r?	test_initz#ClassPropertiesAndMethods.test_inits<	&		AE
II?@		s*	66c||jt5||kddd|jt5||kDddd|jt5||kddd|jt5||k\dddy#1swYsxYw#1swY\xYw#1swYExYw#1swYyxYwrrrr:rBrTs   r?assertNotOrderablez,ClassPropertiesAndMethods.assertNotOrderables


y
)	
E	


y
)	
E	


y
)	
F	


y
)	
F		
								s.BBB&?B2BB#&B/2B;cg}|j|j|jk(|j|j|jk7|j|jgjk(|j|jgjk7|j|j|jk(|j|j|jk7|j	|j|j|j|jjd|j|jj||j|jjt|j|jjtjjt|jy)Nri)
rrirrzr	rErrr__objclass__r6rrDr:rs  r?test_method_wrapperz-ClassPropertiesAndMethods.test_method_wrappers6
		QYY./aii/0bjj01		RZZ/0aii/0		QYY./		1995++Y7

aii((!,

aii,,d3**DLL,@,@AQYYr@crg}|j|j|jk(|j|j|jk7|j|jgjk(|j|jgjk7|j|j|jk(|j|j|jk7|j	|j|j|j|jjd|j|jj||j|jjtjjt|jy)Nr)rrrpopr	rErrrrr6rDr	s  r?test_builtin_function_or_methodz9ClassPropertiesAndMethods.test_builtin_function_or_methods
AHH,-QXX-.RYY./BII-.QUU*+AEE)*!((3**H5

ahh''+))4;;+>+>?QXXr@c|jtjtjk(|jtjtjk7|jtjtjk(|jtjtjk7|jtjtj|j
tjjd|jtjjt|jtjtjk(|jtjtjk7|jtjtjk(|jtjtjk7|jtjtj|j
tjjd|jtjjty)Nrir)rr6rirrzr	rErrr	rr!	rs r?!test_special_unbound_method_typesz;ClassPropertiesAndMethods.test_special_unbound_method_typessh45565645dll;..	:

dll//6	
t{{233401txx/0T[[9--x8

dkk..5r@cddld}fd}tjdz}tj}dD]\}}}d|ddz}tdd	||i}	|	}
|||
|
|||
||||
||sF|||
|
|||
||||
|d
|ddz}tdd	||i}|}
|||
|
|||
||||
|y)NrctSrrrs  r?
specialmethodzEClassPropertiesAndMethods.test_not_implemented.<locals>.specialmethods!!r@cn	t|||djd|y#t$rYywxYw)N)rroperatorzno TypeError from )r]rr)r>rrr)	r:s   r?rz=ClassPropertiesAndMethods.test_not_implemented.<locals>.checks>
<TAB		D:;

s(	44rf))rizx + yzx += y)__sub__zx - yzx -= y)rzzx * yzx *= y)
__matmul__zx @ yzx @= y)__truediv__zx / yzx /= y)rzx // yzx //= y)__mod__zx % yzx %= y)
__divmod__zdivmod(x, y)N)rYzx ** yzx **= y)
__lshift__zx << yzx <<= y)
__rshift__zx >> yzx >>= y)__and__zx & yzx &= y)__or__zx | yzx |= y)__xor__zx ^ yzx ^= y__rrgr}r__ir)r)	rrrG)r:r'	rN1N2r=r>iexprrnamer}rBinamerrXr)	s`             @r?test_not_implementedz.ClassPropertiesAndMethods.test_not_implementeds		"	<[[1_
[["G	$D$DH$ES"t]34AA$1$2$2eQ"eQ#eQ#QR(b5-"89CeQ"eQ#eQ#=	$r@crGddt}|}d|dd|j|jdy)NceZdZdZy)6ClassPropertiesAndMethods.test_assign_slice.<locals>.Cc||_yrr)r:idxrs   r?r~zBClassPropertiesAndMethods.test_assign_slice.<locals>.C.__setitem__(rr@N)rrrr~rr@r?rr>	'rr@rrkrfrg)r`rEr)r:rrXs   r?test_assign_slicez+ClassPropertiesAndMethods.test_assign_slice"s6
	#	#
C!A!$r@cxGddt}|dGfddt}|}|j|jd|_|j|jdGddt}Gd	d|
}d|_|d|_|j|jdy)NceZdZdZdZy)<ClassPropertiesAndMethods.test_set_and_no_get.<locals>.Descrc||_yr)r=rs  r?r4zEClassPropertiesAndMethods.test_set_and_no_get.<locals>.Descr.__init__4rr@c6||j|j<yr)rIr=r's   r?rzDClassPropertiesAndMethods.test_set_and_no_get.<locals>.Descr.__set__7s*/TYY'r@N)rrrr4rrr@r?r
	rE	2s
!
0r@r
	rBceZdZWZy8ClassPropertiesAndMethods.test_set_and_no_get.<locals>.XNrrsr?rrJ	;sAr@rrceZdZy);ClassPropertiesAndMethods.test_set_and_no_get.<locals>.MetaNrMrr@r?rvrM	DrOr@rvceZdZyrI	rMrr@r?rz8ClassPropertiesAndMethods.test_set_and_no_get.<locals>.XFrOr@rB)r`rrBrErG)r:r
	rrrvrs     @r?test_set_and_no_getz-ClassPropertiesAndMethods.test_set_and_no_get/s	0F	0c
		
C

acc5!b!	4		$	sb!r@clGddt}|Gfddt}Gfddt}Gfddt}|jtt|d	|j	j
d
|jtt|d	|j	j
d|jtt|d	|j	j
dGfd
dt|jttd	y)NceZdZdZddZy)@ClassPropertiesAndMethods.test_getattr_hooks.<locals>.DescriptorrNcfd}|S)NcDxjdz
c_t|r)rr)r=r:s r?rzXClassPropertiesAndMethods.test_getattr_hooks.<locals>.Descriptor.__get__.<locals>.getterRsLLA%L(..r@r)r:robjtypers`   r?rezHClassPropertiesAndMethods.test_getattr_hooks.<locals>.Descriptor.__get__Qs/
r@r)rrrrrerr@r?
DescriptorrR	OsG
r@rV	ceZdZWZy)7ClassPropertiesAndMethods.test_getattr_hooks.<locals>.AN)rrrr&rK	sr?r}rX	Xs	$r@r}ceZdZWZy)7ClassPropertiesAndMethods.test_getattr_hooks.<locals>.BNrrK	sr?rrZ	ZsKr@rceZdZWZWZy)7ClassPropertiesAndMethods.test_getattr_hooks.<locals>.CN)rrrr&rrK	sr?rr\	\s$Kr@rrtrfrgrnceZdZdZfdZy)FClassPropertiesAndMethods.test_getattr_hooks.<locals>.EvilGetattributect|rrrs  r?rzRClassPropertiesAndMethods.test_getattr_hooks.<locals>.EvilGetattribute.__getattr__is
$T**r@cf`tdD]}tjt	|Nr)rrrWcollectr)r:r=rEvilGetattributes   r?r&zWClassPropertiesAndMethods.test_getattr_hooks.<locals>.EvilGetattribute.__getattribute__ks0$0q!AJJL!$T**r@Nr)rc	sr?rc	r^	gs

+
+r@rc	)r`rrrHrEr)r:rV	r}rrrc	rs     @@r?test_getattr_hooksz,ClassPropertiesAndMethods.test_getattr_hooksLs			%	%	 	 	 	 	
.'13?*.'13?*.'13?*	+v	+	
.'3C3EvNr@c`|jttjttyr)rrrGr&r6rs r?test_type___getattribute__z4ClassPropertiesAndMethods.test_type___getattribute__ss)T%:%:D$Gr@c|jtttdGddt}|jtt|dGddt}|jt5|`dddy#1swYyxYw)N__abstractmethods__ceZdZy)<ClassPropertiesAndMethods.test_abstractmethods.<locals>.metaNrMrr@r?metarj	yrOr@rk	ceZdZy)9ClassPropertiesAndMethods.test_abstractmethods.<locals>.XNrMrr@r?rrm	|rOr@r)rrrHrGr`rh	)r:rk	rs   r?test_abstractmethodsz.ClassPropertiesAndMethods.test_abstractmethodsvsm.'49NO	4	.'49NO		


~
.	&%	&	&	&s0A<<BcPGdd}|}|j|t|jt5tj	|ddd|jt5tj|ddddy#1swY>xYw#1swYyxYw)NceZdZeZy):ClassPropertiesAndMethods.test_proxy_call.<locals>.FakeStrN)rrrr>rrr@r?FakeStrrq	rMr@rr	r#)rr>rrrri)r:rr	fake_strs   r?test_proxy_callz)ClassPropertiesAndMethods.test_proxy_calls		9h,

y
)	 IIh	 

y
)	)KK%(	)	)		 	 	)	)sB0BBB%cFGdd}|}tdD]5}|jt5tj	|ddd7tdD]5}|jt5t
j
|ddd7tdD]5}|jt5t
j|ddd7tdD]5}|jt5t
j|ddd7ddl	m
}tdD]2}|jt5|j||ddd4y#1swYRxYw#1swYxYw#1swYxYw#1swYxYw#1swYqxYw)NceZdZy)RClassPropertiesAndMethods.test_specialized_method_calls_check_types.<locals>.ThingNrMrr@r?Thingrw	rOr@rx	rr)deque)rrrr6sortr>rrrcollectionsry	r)r:rx	rrry	s     r?)test_specialized_method_calls_check_typeszCClassPropertiesAndMethods.test_specialized_method_calls_check_typess		r	!A""9-
!		% 
!
!	!r	!A""9-
!		% 
!
!	!r	!A""9-
!		% 
!
!	!r	!A""9-
!		% 
!
!	!	&r	+A""9-
+UE*
+
+	+!
!
!
!
!
!
!
!
!

+
+s;E%8E2;E?>FF%E/	2E<	?F	F	F 	cGdd}|j|_|}|jtt||jtt
|y)NceZdZy)7ClassPropertiesAndMethods.test_repr_as_str.<locals>.FooNrMrr@r?r	r	rOr@r	)rrrrr>r)r:r	rs   r?test_repr_as_strz*ClassPropertiesAndMethods.test_repr_as_strsB		{{e.#s3.$4r@cGddt}|}d|_|j|dd|j||y)Nc<eZdZejZejZy)>ClassPropertiesAndMethods.test_mixing_slot_wrappers.<locals>.XN)rrrrr~r*r__neg__rr@r?rr	s**KiiGr@rrr)rrrE)r:rrs   r?test_mixing_slot_wrappersz3ClassPropertiesAndMethods.test_mixing_slot_wrapperssD	 	 
C3$QBr@cGddt}|}|jt5||k(ddd|jt5||zdddy#1swY-xYw#1swYyxYw)Nc<eZdZejZej
Zy)BClassPropertiesAndMethods.test_wrong_class_slot_wrapper.<locals>.AN)rrrr>r@rirr@r?r}r	sZZFkkGr@r})r-rr)r:r}rBs   r?test_wrong_class_slot_wrapperz7ClassPropertiesAndMethods.test_wrong_class_slot_wrappersp	"	"
C


y
)	
F	


y
)	
E						sAA*A'*A3c|jt5}Gdd}dddtj}|j	d|y#1swY1xYw)NceZdZdgZdZy)EClassPropertiesAndMethods.test_slot_shadows_class_variable.<locals>.XrN)rrrrrrr@r?rr	s"G	r@rz0'foo' in __slots__ conflicts with class variable)rrr>rrE)r:rrrOs    r? test_slot_shadows_class_variablez:ClassPropertiesAndMethods.test_slot_shadows_class_variablesR


z
*	b

	
KQO		sAAcGdd}d|_|j|jd|jt5}t	t
jdjt
dddd|jdtj|jt5}t	|jdj|ddd|jdt|j|j|jdy#1swYxYw#1swYWxYw)NceZdZy)1ClassPropertiesAndMethods.test_set_doc.<locals>.XNrMrr@r?rr	sr@rbananarblahz7cannot set '__doc__' attribute of immutable type 'list'z7cannot delete '__doc__' attribute of immutable type 'X')rrErrrGr6rIrrr>rr*)r:rrs   r?test_set_docz&ClassPropertiesAndMethods.test_set_docs			H-


y
)	ARJ	*224@	A

OQTUWUaUaQbc


y
)	6RGY'2215	6

OQTUWUaUaQbcH-	A	A	6	6s1D(6(D4(D14D=cdtjtjtjt
jg}gd}t||D]-\}}|jt|j|dz/|D]D}|jjdz|jz}|j|j|F|jtjjd|jtjjd|jtjjd|jt
jjdGdd	}|jt5|`ddd|jttjd
j tdGdd
a|jt"jd
|jt"j$jdy#1swYxYw)N)rmembergetsetwrapper_descriptor.z	str.lowerzcomplex.realz
float.realzint.__add__ceZdZy)2ClassPropertiesAndMethods.test_qualname.<locals>.XNrMrr@r?rr	rOr@rrOinkc eZdZGddZy)rceZdZy)Y.InsideNrMrr@r?Insider	rr@r	N)rrrr	rr@r?rrs

r@rr	)r>rrrr.r-rirrErGrr	rrrrIrrr	)r:descriptorsr<rMrqualnamers       r?
test_qualnamez'ClassPropertiesAndMethods.test_qualnamesyy',,

CKKH9U+	BDAqT!W--q=/@A	B	7A~~22S81::EHQ^^X6	7	
//=22NC00,?11=A		


y
)			
)T]]>%B%J%Jv	'			
-..
;		sH&&H/cddi}tdd|}|j|jd|jd|j|j|ddiddi}|jttdd|y)Nrz	some.namer	rrf)rGrErrZrIrr)r:rrJs   r?test_qualname_dictz,ClassPropertiesAndMethods.test_qualname_dictswk
*
%R
 +65nk:;a
 )T5"b9r@c&Gddt}|}d|_tj|}~t	j
|j
|tjD]}|jt||y)NceZdZdZy)<ClassPropertiesAndMethods.test_cycle_through_dict.<locals>.Xc<tj|||_yr)rr4rIrs r?r4zEClassPropertiesAndMethods.test_cycle_through_dict.<locals>.X.__init__s

d# $
r@NrKrr@r?rr	s
%r@rr)rrtrjrkrrUassertIsNonerWr<assertIsNotrG)r:rrwrr)s     r?test_cycle_through_dictz1ClassPropertiesAndMethods.test_cycle_through_dictst	%	%
C
[[^
"$!	)AT!Wa(	)r@cTGdd}|jt|d|jt|dGdd}Gdd}Gd	d
||}|||fD]G}|d|dd|jt|ddd|jt|ddd
Iy)NceZdZy)[ClassPropertiesAndMethods.test_object_new_and_init_with_parameters.<locals>.OverrideNeitherNrMrr@r?OverrideNeitherr	rOr@r	rfrceZdZddZy)WClassPropertiesAndMethods.test_object_new_and_init_with_parameters.<locals>.OverrideNewc4tj|g|i|SrrX)rrrr;rs     r?rz_ClassPropertiesAndMethods.test_object_new_and_init_with_parameters.<locals>.OverrideNew.__new__"s~~c9D9D99r@NrrVrr@r?OverrideNewr	!s
:r@r	ceZdZddZy)XClassPropertiesAndMethods.test_object_new_and_init_with_parameters.<locals>.OverrideInitc4tj|g|i|Sr)r`r4)r:rrr;r<s     r?r4zaClassPropertiesAndMethods.test_object_new_and_init_with_parameters.<locals>.OverrideInit.__init__%st=d=f==r@NrrKrr@r?OverrideInitr	$s
>r@r	ceZdZy)XClassPropertiesAndMethods.test_object_new_and_init_with_parameters.<locals>.OverrideBothNrMrr@r?OverrideBothr	'rOr@r	rgrkrCr	)r:r	r	r	r	cases      r?(test_object_new_and_init_with_parameterszBClassPropertiesAndMethods.test_object_new_and_init_with_parameterss		)_a8)_;	:	:	>	>	;	|;	<DGqMiq!Q7iq!;		<r@cGdd}Gdd|}|jd|j|jd|jy)NceZdZy)\ClassPropertiesAndMethods.test_subclassing_does_not_duplicate_dict_descriptors.<locals>.BaseNrMrr@r?r;r	0rOr@r;ceZdZy)[ClassPropertiesAndMethods.test_subclassing_does_not_duplicate_dict_descriptors.<locals>.SubNrMrr@r?r@r	2rOr@r@rI)rrIrZ)r:r;r@s   r?4test_subclassing_does_not_duplicate_dict_descriptorszNClassPropertiesAndMethods.test_subclassing_does_not_duplicate_dict_descriptors/s>			$	

j$--0S\\2r@cGdd}|jt|jdGdd}Gdd|}Gdd	|}|}|}|}t||}|jt|jd
|jt|jd|jt|jd|jt|jd
Gdd}|}	|jt|	jd|jt|jdGdd}
|
}t	}tj||}
|jt|
dd|_|jt|
dd|_|jt|
dy)NceZdZdZy)=ClassPropertiesAndMethods.test_bound_method_repr.<locals>.Foocyrrrs r?rzDClassPropertiesAndMethods.test_bound_method_repr.<locals>.Foo.method9rr@Nrrrrrr@r?r	r	8rr@r	z4<bound method .*Foo\.method of <.*Foo object at .*>>ceZdZdZy)>ClassPropertiesAndMethods.test_bound_method_repr.<locals>.Basecyrrrs r?rzEClassPropertiesAndMethods.test_bound_method_repr.<locals>.Base.method@rr@Nr	rr@r?r;r	?rr@r;ceZdZy)BClassPropertiesAndMethods.test_bound_method_repr.<locals>.Derived1NrMrr@r?Derived1r	BrOr@r	ceZdZdZy)BClassPropertiesAndMethods.test_bound_method_repr.<locals>.Derived2cyrrrs r?rzIClassPropertiesAndMethods.test_bound_method_repr.<locals>.Derived2.methodErr@Nr	rr@r?Derived2r	Drr@r	z6<bound method .*Base\.method of <.*Base object at .*>>z:<bound method .*Base\.method of <.*Derived1 object at .*>>z><bound method .*Derived2\.method of <.*Derived2 object at .*>>z:<bound method .*Base\.method of <.*Derived2 object at .*>>ceZdZedZy)r	cyrrrGs r?rzDClassPropertiesAndMethods.test_bound_method_repr.<locals>.Foo.methodUsr@N)rrrrrrr@r?r	z=ClassPropertiesAndMethods.test_bound_method_repr.<locals>.FooTs


r@z/<bound method .*Foo\.method of <class '.*Foo'>>ceZdZdZy)DClassPropertiesAndMethods.test_bound_method_repr.<locals>.MyCallablecyrrrs  r?rgzMClassPropertiesAndMethods.test_bound_method_repr.<locals>.MyCallable.__call__`rr@N)rrrrgrr@r?
MyCallabler	_rr@r	z*<bound method \? of <object object at .*>>r=z,<bound method name of <object object at .*>>r	z0<bound method qualname of <object object at .*>>)	assertRegexrrrur`r<
MethodTyperr)r:r	r;r	r	rderived1derived2super_d2rr	rinstancerrs              r?test_bound_method_reprz0ClassPropertiesAndMethods.test_bound_method_repr7s			
cell+C	E			t		t	v::8,dkk*E	Ghoo.I	Khoo.M	Ohoo.I	K		ecjj)>	@cjj)>	@		|8!!$1f9	;
f;	=&f?	Ar@zneed the _testcapi modulecJGddGfdd}|jy)Nc$eZdZejZy)6ClassPropertiesAndMethods.test_bpo25750.<locals>.DescrN)rrrrbad_getrerr@r?r
	r	ss
''Gr@r
	c$eZdZWZdZy)2ClassPropertiesAndMethods.test_bpo25750.<locals>.Xc^d|_tdDcgc]}d|z	c}|_ycc}w)Ni'rg)rrr)rrs  r?rz:ClassPropertiesAndMethods.test_bpo25750.<locals>.X.__new__xs& 	).u6A1a466s*N)rrrrrr	sr?rr	vsGE
7r@rrK	)r:rr
	s  @r?
test_bpo25750z'ClassPropertiesAndMethods.test_bpo25750ns 
	(	(	7	7	
r@cGdd}|j|jgGdd|}|j|j|g~tj|j|jgy)NceZdZy)>ClassPropertiesAndMethods.test_remove_subclass.<locals>.ParentNrMrr@r?Parentr	rOr@r	ceZdZy)=ClassPropertiesAndMethods.test_remove_subclass.<locals>.ChildNrMrr@r?Childr	rOr@r	)rEr?rWrb	)r:r	r	s   r?test_remove_subclassz.ClassPropertiesAndMethods.test_remove_subclass~sq
		..0"5	F	..05':


..0"5r@cGdd}|jtd5|jdddGdd}|jtd5|jdddy#1swYDxYw#1swYyxYw)Nc"eZdZdZedZy)EClassPropertiesAndMethods.test_attr_raise_through_property.<locals>.ActdNFOOrrs  r?rzQClassPropertiesAndMethods.test_attr_raise_through_property.<locals>.A.__getattr__s
 ''r@c$|jdS)Nasdf)rrs r?rzIClassPropertiesAndMethods.test_attr_raise_through_property.<locals>.A.foos''//r@N)rrrrrrrr@r?r}r	s
(
0
0r@r}r	c,eZdZedZedZy)EClassPropertiesAndMethods.test_attr_raise_through_property.<locals>.Bctdr	r	rs  r?rzQClassPropertiesAndMethods.test_attr_raise_through_property.<locals>.B.__getattr__s
 ''r@ctd)NBAR)NotImplementedErrorrs r?rzIClassPropertiesAndMethods.test_attr_raise_through_property.<locals>.B.foos
)%00r@N)rrrrrrrr@r?rr	s(

(
(
1
1r@rr	)rZrrr	)r:r}rs   r? test_attr_raise_through_propertyz:ClassPropertiesAndMethods.test_attr_raise_through_propertys|	0	0
#
#J
6	
CGG		1	1
#
#$7
?	
CGG						sA6B6A?B)rrrrrr#r4rrAr_rwrrrrrrr`rnrrrrrr
refcount_testrrr2rrrr	rrrr;rGexpectedFailurerMr_rorrrrrr2r`rorrflagsoptimizercpython_onlyrrrrrBrrrrrrrr*rOr`rxrrrrrrrrrrrrrrrrrrrr,r1r3r?rMrYrtrrrrrrrrrrrrequires_resourcerr	r	r	r	r	r"	r$	r;	rB	rO	rd	rf	rn	rt	r|	r	r	r	r	r	r	r	r	r	r	r	rr	r	r
rxr~s@r?rrsX@I2/h0Tl
(9T'*R"=J@B*7#;J10;0zWr$2L&-P<"A/F:Ox8't
NNW=>X__Y$&(CD/=E?/=b'0
NNW=>X__Y$&(CD E? O* &D)$
(
( ?D)).E>N/4bHP*WDE@F@,f8P`"D>=F~X__SYY''1,@B2B2
<<AFM?^Zxn`_0X
+63@><@M@^A
XWrWPr5<K(Z.1(1*@$=.,*\
1%0N(4)6*%X2
(,O?HB*=X(@42l30C17fWDE)IF)IV%%N9.
<K"P&&Wu%&	)B
A$&6&2$h%":%ONH	&) +65 
P
.<@:
)<(35AnX__Y$&(CD
E
6"r@rcPeZdZdZej
eedxrejddZ	ej
eedxrejddZ
ej
eedxrejddZdZdZ
y	)
DictProxyTestsc0Gddt}||_y)NceZdZdZy)DictProxyTests.setUp.<locals>.Ccyrrrs r?rLz$DictProxyTests.setUp.<locals>.C.methrr@Nrrr@r?rr
rr@r)r`rrs  r?setUpzDictProxyTests.setUps		r@gettracez#trace function introduces __local__c|jjj}|j|tt	|}|j|j
|gdy)NrIrrrerL)rrIrassertNotIsInstancer6rz	rE)r:rfrs   r?test_iter_keyszDictProxyTests.test_iter_keyssQVV__
!
!
#  T*Bx		 7	8r@c|jjj}|j|tt	|}|jt
|dyra	)rrIrHr
r6rEr	)r:rfrHs   r?test_iter_valueszDictProxyTests.test_iter_valuessGVV__
#
#
%  T*bVa(r@c|jjj}|j|t|Dcgc]}|d	}}|j|j
|gdycc}w)Nrr
)rrIr7r
r6rz	rE)r:rfitemrs    r?test_iter_itemszDictProxyTests.test_iter_itemssdVV__
"
"
$  T*$&'DQ''		 7	8(sA2cGddt}Gddt}Gdd|}|jt|jt|jy)NceZdZy)7DictProxyTests.test_dict_type_with_metaclass.<locals>.BNrMrr@r?rr
rOr@rceZdZy)7DictProxyTests.test_dict_type_with_metaclass.<locals>.MNrMrr@r?rr
rOr@rceZdZy)7DictProxyTests.test_dict_type_with_metaclass.<locals>.CNrMrr@r?rr
rr@rrB)r`rGrErI)r:rrrs    r?test_dict_type_with_metaclassz,DictProxyTests.test_dict_type_with_metaclasssJ					!		
ajj)4

+;<r@cbt|jj}|j|j	d||j|jd||jjj
D]'\}}|jdj|||)y)Nz
mappingproxy()z
{!r}: {!r})	rrrIrrcendswithr7rr)r:rlrrs    r?	test_reprzDictProxyTests.test_reprs
!_5q9

3+FFOO))+	8DAqMM,--a3Q7	8r@N)rrrr
r2rrrr
r
r
r
r
r#
rr@r?r
r
sX__WS*-@,#,,.=?8?8X__WS*-@,#,,.=?)?)X__WS*-@,#,,.=?8?8	=8r@r
ceZdZdZy)AAAPTypesLongInitTestcGddt}	td|dtjty#YxYw)NceZdZdZy)>AAAPTypesLongInitTest.test_pytype_long_ready.<locals>.UserLongcyrrr:r;s  r?rYzFAAAPTypesLongInitTest.test_pytype_long_ready.<locals>.UserLong.__pow__rr@Nr+rr@r?UserLongr(
rr@r+
r)r`rrGrr)r:r+
s  r?test_pytype_long_readyz,AAAPTypesLongInitTest.test_pytype_long_readys8	v		8:q!	
	s	=AN)rrrr,
rr@r?r%
r%
s
r@r%
ceZdZdZy)	MiscTestscGfddt}Gddt}Gddttd|f|di|jjd	|jjd
y)Nc eZdZdZfdZy)7MiscTests.test_type_lookup_mro_reference.<locals>.MyKeyctdS)Nmykeyr	rs r?rEz@MiscTests.test_type_lookup_mro_reference.<locals>.MyKey.__hash__sG}$r@cf_yrr)r:rBase2rs  r?r@z>MiscTests.test_type_lookup_mro_reference.<locals>.MyKey.__eq__s$hr@Nr	)r5
rsr?MyKeyr1
s

%
'r@r6
ceZdZdZdZy)6MiscTests.test_type_lookup_mro_reference.<locals>.Base	from BaseNrrrr3
mykey2rr@r?r;r8
sE Fr@r;ceZdZdZdZy)7MiscTests.test_type_lookup_mro_reference.<locals>.Base2
from Base2Nr:
rr@r?r5
r=
s E!Fr@r5
rrr9
r>
)r`rGrEr3
r;
)r:r6
r;r5
rs   @@r?test_type_lookup_mro_referencez(MiscTests.test_type_lookup_mro_referencesg	'F	'	!6	!	"F	"
tg|,+.<0r@N)rrrr?
rr@r?r.
r.
s1r@r.
cZeZdZdidddfdZdZdZddZedZdZ	d	Z
d
ZdZy)

PicklingTestsrNcb|dk\r|j|}|rE|j|dtj|j|dt	|||fnE|j|dtj
|j|dt	|f|z|j|d|||j
t|d|n|j|d||jt|d|y|j|dyt	|j}	tjt	||	|	turdn|	|ff}|||fz
}|j|j|||j|j|y)Nrgrrfrkrn)
__reduce_ex__rEcopyreg
__newobj_ex__rG
__newobj__assertListEqualr6r	assertDictEqualr__base___reconstructorr`
__reduce__)
r:protorr;r<r
	listitems	dictitemsreduce_value	base_types
          r?
_check_reducezPicklingTests._check_reducesA:,,U3L  a'2G2GH  a49dF2KL  a'2D2DE  a49,2EF\!_e4$$$T,q/%:IF!!,q/2$$$T,q/%:IF!!,q/2S	**I#22!#Y&%.&%8TinNOL (S..u5|DS^^-|<r@cttjdz}ddddddiGfdd	}|}|D]}|j||j	D]\}}t||||D]}|j||
Gdd}|}|D]7}|d
k\s	|j
t5|j|ddd9Gfdd}|}|D]}|d
k\s	|j||Gfdd}	Gfdd}
Gdd}Gdd}|D]O}|	|
||fD]D}
|
}|d
k\s|j
ttf5|j|dddFQGfdd}|}|D]}|j||Gdd}|}|D]7}|d
k\s	|j
t5|j|ddd9Gfdd}|}|D]}|j||
Gdd}|}|D]}|j||d 
Gd!d"}|}|D]e}|j
t5|j|ddd|d
ks8|j
t5|jdddgGfd#d$}|}|D]{}|d
k\r|j||df
|j
t5|j|ddd|j
t5|jddd}Gd%d&t}|d'd(i}|D]}|j||t|)!Gd*d+t}|d,g}|D]}|j||t|-!y#1swYUxYw#1swYxYw#1swY@xYw#1swYtxYw#1swYxYw#1swYxYw#1swYOxYw).Nrf)iri7i)baconfishcheeseioceZdZfdZy)%PicklingTests.test_reduce.<locals>.C1cSrrr*
s r?__getnewargs__z4PicklingTests.test_reduce.<locals>.C1.__getnewargs__Asr@NrrrrY
rsr?rrW
@s
r@rrceZdZdZy)%PicklingTests.test_reduce.<locals>.C2cyNzbad argsrrs r?rY
z4PicklingTests.test_reduce.<locals>.C2.__getnewargs__M!r@NrZ
rr@r?rr\
L
"r@rrgceZdZfdZy)%PicklingTests.test_reduce.<locals>.C3cfSrr)r:r;r<s r?__getnewargs_ex__z7PicklingTests.test_reduce.<locals>.C3.__getnewargs_ex__Vs
f~%r@Nrrrrd
rsr?rrb
Us
&r@rceZdZfdZy)%PicklingTests.test_reduce.<locals>.C4cdfS)Nzbad dictrr*
s r?rd
z7PicklingTests.test_reduce.<locals>.C4.__getnewargs_ex__^sj))r@Nre
rsr?rrg
]s
*r@rceZdZfdZy)%PicklingTests.test_reduce.<locals>.C5cdfS)Nz	bad tupler)r:r<s r?rd
z7PicklingTests.test_reduce.<locals>.C5.__getnewargs_ex__as#V,,r@Nre
)r<sr?C5rj
`s
-r@rl
ceZdZdZy)%PicklingTests.test_reduce.<locals>.C6cy)Nrrrs r?rd
z7PicklingTests.test_reduce.<locals>.C6.__getnewargs_ex__drmr@Nre
rr@r?C6rn
cror@rp
ceZdZdZy)%PicklingTests.test_reduce.<locals>.C7cyr^
rrs r?rd
z7PicklingTests.test_reduce.<locals>.C7.__getnewargs_ex__gr_
r@Nre
rr@r?C7rr
fr`
r@rt
ceZdZfdZy)%PicklingTests.test_reduce.<locals>.C9cifSrrr*
s r?rd
z7PicklingTests.test_reduce.<locals>.C9.__getnewargs_ex__qs
bz!r@Nre
rsr?C9rv
prr@rx
ceZdZdZy)&PicklingTests.test_reduce.<locals>.C10ctrr8rs r?rd
z8PicklingTests.test_reduce.<locals>.C10.__getnewargs_ex__x  r@Nre
rr@r?C10rz
w
!r@r}
ceZdZfdZy)&PicklingTests.test_reduce.<locals>.C11cSrrrs r?rz3PicklingTests.test_reduce.<locals>.C11.__getstate__sr@Nrrrrrsr?C11r
s
r@r
ceZdZdZy)&PicklingTests.test_reduce.<locals>.C12cy)Nnot dictrrs r?rz3PicklingTests.test_reduce.<locals>.C12.__getstate__r_
r@Nr
rr@r?C12r
r`
r@r
r
ceZdZdZy)&PicklingTests.test_reduce.<locals>.C13ctrr8rs r?rz3PicklingTests.test_reduce.<locals>.C13.__getstate__r|
r@Nr
rr@r?C13r
r~
r@r
c*eZdZeWZfdZy)&PicklingTests.test_reduce.<locals>.C14cPjD]\}}t|||yrr7rd)r:r=rr
s   r?r4z/PicklingTests.test_reduce.<locals>.C14.__init__s(#(;;=/KD%D$./r@N)rrrrrr4rsr?C14r
seI
/r@r
ceZdZy)&PicklingTests.test_reduce.<locals>.C15NrMrr@r?C15r
rOr@r
quebeci)rN
ceZdZy)&PicklingTests.test_reduce.<locals>.C16NrMrr@r?C16r
rOr@r
yukon)rM
)rpickleHIGHEST_PROTOCOLrQ
r7rdrrrC
rr9rK
rr6)r:	protocolsrrrL
r=rrrrrl
rp
rt
rrx
r}
r
r
r
r
r
r
r;r<r
s                      @@@r?test_reducezPicklingTests.test_reduce:s&11A56	.4 		d	1Euc40	1!;;=	&KD%Cu%	&	>Euc4u=	>	"	"d	-Ez&&y1-%%e,--	-
	&	&d	=Ez""5#tV<	=	*	*	-	-			"	"	1E2r2~
1eA:**Iz+BC1))%011
1	1	"	"d	1Euc40	1	!	!e	-Ez&&z2-%%e,--	-
		e	8Euc7	8	"	"e	=Euc<	=	!	!e	%E"":.
)!!%(
)qy&&z2%NN$%%		%	/	/e	%Ez""5#dE]"C&&y1-%%e,-&&y1%NN$%%
	%	$	8T"#	@EucT#Y?	@	$	7)n	@EucT#Y?	@A--611 --,
)
)%%--%%sT
O7=P9PPP+3P8"Q7P	PP	P(	+P5	8Q	Q	cttjdz}Gdd}|D]$}|dk\rind}|j|||&y)NrfceZdZdZdZy)7PicklingTests.test_special_method_lookup.<locals>.PickyciSrrrs r?rzDPicklingTests.test_special_method_lookup.<locals>.Picky.__getstate__s	r@c"|dvrt|y)N)rY
rd
rdrs  r?rzCPicklingTests.test_special_method_lookup.<locals>.Picky.__getattr__sBB(..r@N)rrrrrrr@r?Pickyr
s

r@r
rgr)rr
r
rQ
)r:r
r
protocolr
s     r?r2z(PicklingTests.test_special_method_lookupsV&11A56			"	?H"a-BTEx>	?r@c	4	|dj||}t|jtjurt	d|j||||j
t|t||t|drP|j|j|j||j|j|j|t|dr|j|j|j||jD]T}|jt||t||||jt||dt||d|V|jt|t||y)Nz{!r} is not a copy of {!r}zCobject passed to _assert_is_copy must override the __repr__ method.)rrIr)rrGrr`rr	rrrH
rIrG
rrErHr)r:robjcopyrslots     r?_assert_is_copyzPicklingTests._assert_is_copysr	;.55c7CC90
=>
>g3/

d3igC
83
#  w/?/?S IS\\7+;+;E3$  0A0As K


H  C&(>C!I  dD!9!($!=3!H
H
	
cDMs;r@c	Gddfdtjttjdztj
tjhtjtjhDS)Nc eZdZ	dZdZdZy)<PicklingTests._generate_pickle_copiers.<locals>.PickleCopierc.||_||_||_yr)rL
dumpsloads)r:rL
r
r
s    r?r4zEPicklingTests._generate_pickle_copiers.<locals>.PickleCopier.__init__s"
"
"
r@cX|j|j||jSr)r
r
rL
r)s  r?rzAPicklingTests._generate_pickle_copiers.<locals>.PickleCopier.copys zz$**S$**"=>>r@cdj|j|jj|jj|j
j|j
jS)Nz0PickleCopier(proto={}, dumps={}.{}, loads={}.{}))rrL
r
rrr
rs r?rzEPicklingTests._generate_pickle_copiers.<locals>.PickleCopier.__repr__sQK

 $

 5 5tzz7N7N $

 5 5tzz7N7NPQr@N)rrrr4rrrr@r?PickleCopierr
s4
#
?
Qr@r
c3(K|]	}|ywrr)rr;r
s  r?rz9PicklingTests._generate_pickle_copiers.<locals>.<genexpr>sEd#Esrf)		itertoolsproductrr
r
r
_dumpsr
_loads)r
s@r?_generate_pickle_copiersz&PicklingTests._generate_pickle_copierssg		Q	Q E$$U6+B+BQ+F%G&,llFMM%B&,llFMM%BDE	Er@cGdda|jt5tjtddddGddta|jt5tjtddddGddaGddtaGdd	ta|jD]}|j|
5t}|j|}|j||d|_|j|}|j||t}d|_d|_|j|}|j||t
}d|_d
|_|j|}|j||dddy#1swY{xYw#1swY=xYw#1swYxYw)NceZdZdgZy)rrBNrrr@r?rrrr@rrceZdZyrNNrMrr@r?rNrNrOr@rNc&eZdZ	dgZdZdZdZy)rrBct|dij}t|jD]3}|jjddD]}	t||||<5|S#t$rY$wxYw)NrIrr)rHrrGr^rIrr)r:r
rr
s    r?rzC.__getstate__
sj"5::<:--!C # 0 0b A!!*1$*=E$K!! .! !sA))	A54A5cN|jD]\}}t|||yrr
)r:r
rrs    r?rzC.__setstate__s'!KKM(DAqD!Q'(r@cTt|jd|jdS)Nz()<r&)rGrrrs r?rz
C.__repr__s %)$Z%8%8$:K:K:MNNr@N)rrrrrrrrr@r?rrsEI

(
Or@ceZdZ	yr
rMrr@r?rNrNs/r@ceZdZ	dgZy)rrTNrrr@r?rrs,Ir@r)
pickle_copierrrr)
rrrr
r
rNrr
subTestrr
rBrT)r:r
rrs    r?test_pickle_slotszPicklingTests.test_pickle_slotss		


y
)	!LLa 	!		


y
)	!LLa 	!	O	O$		
		
"::<	+MM:
+C!&&q)$$Q*!&&q)$$Q*C!&&q)$$Q*C!&&q)$$Q*'
+
+	+K	!	!	!	!@
+
+s$F8+GCG8GGG	cGddaGddtaGddtaGddtaGd	d
tatttt
tf}|j}tj||D]\}}|j||5t|di}||ji|}|j}|j|}|j|||d
k\rI|j s=|j"j%|j|}	|j||	ddd|D]}|j|5t|di}||ji|}t'|}|j|||j s7|j"j%t'|}	|j||	dddy#1swYlxYw#1swYxYw)Nc.eZdZ	dZdZfdZdZxZS)rrTc>t|||_||_yr)rur4rBrT)r:rBrTrs   r?r4zC1.__init__@s "r@c<d|jd|jdS)NzC1(rr!
rSrs r?rzC1.__repr__Ds'+vvtvv66r@)rrrARGSNEED_DICT_COPYINGr4rrxr~s@r?rr<sHD $

7r@rcHeZdZ	dZdZfdZfdZedZdZ	xZ
S)rrFcBt||}||_||_|SrrurrBrT)rrBrTr:rs    r?rz
C2.__new__Ls$ws+r@cDt||jdyNrU
)rur4r)r:r;rs  r?r4zC2.__init__Qs "H%r@c|jSrr
rGs r?rY
zC2.__getnewargs__Vxxr@cTd|jd|jdt|dS)NzC2(r)<r&rBrTr6rs r?rzC2.__repr__Y+/664664:FFr@)rrrr
r
rr4rrY
rrxr~s@r?rrHs5:D %


&

 
 
Gr@rc8eZdZ	dZdZdZedZdZdZ	y)rrFcB||_||_|jdyr
)rBrTrr	s   r?r4zC3.__init__asH%r@c|jSrr
rGs r?rzC3.__getstate__gr
r@c*|\}}||_||_yrrS)r:r
rBrTs    r?rzC3.__setstate__js1r@cTd|jd|jdt|dS)NzC3(rr
r&r
rs r?rzC3.__repr__nr
r@N)
rrrr
r
r4rrrrrr@r?rr]s48D %
&
 
 

Gr@rc>eZdZ	dZdZfdZedZdZxZ	S)r)rNrMrfFcDt|||}||_||_|Srr
rrBrTrr:rs     r?rz
C4.__new__v&wsE2r@c|jSrr
rGs r?rY
zC4.__getnewargs__{r
r@cTd|jd|jdt|dS)NzC4(rr
r&rBrTr-rs r?rzC4.__repr__~+/664663t9EEr@)
rrrr
r
rrrY
rrxr~s@r?rrrs0:(D %


 
 
Fr@rcLeZdZ	dZddiZdZddfd
ZedZd	Z	xZ
S)
rl
rrrkFrr@	cDt|||}||_||_|Srr
r
s     r?rz
C5.__new__r
r@c2|j|jfSr)r
KWARGSrGs r?rd
zC5.__getnewargs_ex__s#**--r@cTd|jd|jdt|dS)NzC5(rr
r&r
rs r?rzC5.__repr__r
r@)rrrr
r
r
rrrd
rrxr~s@r?rl
rl
s<=Dq\F %,-


.
.
Fr@rl
)rr
r
rgrG)rr6rrr-rrl
r
r
r
r
rHr
rL
rr
r
rIrr)
r:test_classespickle_copiersrr
r<rrL
r
objcopy2s
          r?test_reduce_copyingz!PicklingTests.test_reduce_copying9s		7		7	G	G*	G	G*
	F
	F 	F	F BB+668"+"3"3L."Q	8C#]C

8 h3388.v.%++',,S1$$S'2
A:c&;&;$$**,,11':H((h7

8

8	8" 
	8C#&
8 h3388.v."3-$$S'2
,,$$**,'0H((h7
8
8
	8!

8

8"
8
8s!BG*BG7*G4	7H	cGddtGfddddl}|jfdddifddf}|jj	d|y)	NceZdZy)(PicklingTests.test_issue24097.<locals>.SNrMrr@r?r_r
rOr@r_c.eZdZWdgZfdZy)(PicklingTests.test_issue24097.<locals>.ArcH|dk(rdgjddyt)Nrr)
__slotnames__r)r:rtr}r_s  r?rz4PicklingTests.test_issue24097.<locals>.A.__getattr__s'6>*+F)AOOA&((r@N)rrrr
r)r}r_sr?r}r
svYKM
)r@r}rrrrg)r>rD
rF
rErC
)r:rD
rr}r_s   @@r?test_issue24097zPicklingTests.test_issue24097s\			)	)	&&tfb\.BD$O**1-x8r@ctj|jt5tjddddtj	d|jt5tj	ddd|jt5tj	ddddy#1swYxYw#1swYMxYw#1swYyxYwr)r`rK
rrrC
rs r?test_object_reducez PicklingTests.test_object_reduces	


y
)	#H"	#	q!


y
)	%H""$	%


y
)	)H""4(	)	)
	#	#	%	%	)	)s#C>C#4C/C #C,/C8r)
rrrrQ
r
r2r
rhr
r
r
r
r
rr@r?rA
rA
sS-/$ $=<y@v?<4EE0A+Fz8x9")r@rA
c0eZdZejdZy)SharedKeyTestscZGdd}Gdd|}tdDcgc]}||fc}||}}|jtjt	|tjt	||jtjt	|tjdditd\|_|_|_|_	|_
|_|jtjt	|tjt	||}|jtjt	|tjt	||jtjt	|tjddi|jtjt	|tjddiycc}w)	NceZdZy))SharedKeyTests.test_subclasses.<locals>.ANrMrr@r?r}r
rOr@r}ceZdZy))SharedKeyTests.test_subclasses.<locals>.BNrMrr@r?rr
rOr@rrrBrfr)rrErr&vars
assertLessrrrVwrrr
assertGreater)r:r}rrsrBrTr s       r?test_subclasseszSharedKeyTests.test_subclassessg				#2Y'!#qs'sAC1tAw/tAw1GH

d1g.

s1g0FG(-Qx$QS!#qsACCMM$q'2CMM$q'4JK
S3==a13==b3JK

d2h/Aw1GH

d1g.

s1g0FG	(sH(N)rrrrr
rrr@r?r
r
sHHr@r
ceZdZ	dZdZy)DebugHelperMetac^|jd||d<tj||||S)Nr)rrGr)rr=rUrs    r?rzDebugHelperMeta.__new__s099Y'#E)||D$u55r@c,t|jSr)rrrGs r?rzDebugHelperMeta.__repr__sCLL!!r@N)rrrrrrr@r?rrs6"r@rcPeZdZ	dZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
y)
MroTestc d|_d|_y)NrF)stepreadyrs r?r
z
MroTest.setUps	
r@cR|j|k}|r|xjdz
c_|Sr)r
)r:limitrets   r?
step_untilzMroTest.step_untils%yy5 IINI
r@cB	Gfddt}Gdd|}y)NceZdZfdZy)4MroTest.test_incomplete_set_bases_on_self.<locals>.Mczjdr|xjdz
c_tj|S)Nrfr)rrJrGrr@s r?rz8MroTest.test_incomplete_set_bases_on_self.<locals>.M.mros+??1%MMR'Mxx}$r@Nrrsr?rrs
%r@rceZdZy)4MroTest.test_incomplete_set_bases_on_self.<locals>.ANrMrr@r?r}rrOr@r}rBrr:rr}s`  r?!test_incomplete_set_bases_on_selfz)MroTest.test_incomplete_set_bases_on_selfs 		%	%	!	r@c	Gfddt}Gdd|Gdd}|xjdz
c_y)	NceZdZfdZy)/MroTest.test_reent_set_bases_on_base.<locals>.Mc|j5|jdk(r&jdrxjdz
c_tj|S)Nrrr)r^rrrJrGr)rr}r:s r?rz3MroTest.test_reent_set_bases_on_base.<locals>.M.mros@;;*s||s/Br*r)xx}$r@Nr)r}r:sr?rrs
%r@rceZdZy)/MroTest.test_reent_set_bases_on_base.<locals>.ANrMrr@r?r}r'rOr@r}rBceZdZy)/MroTest.test_reent_set_bases_on_base.<locals>.BNrMrr@r?rr )rOr@rr)rrJ)r:rrr}s`  @r?test_reent_set_bases_on_basez$MroTest.test_reent_set_bases_on_bases:		%	%	!				rr@cn	Gfddt}Gdd|}Gdd|}Gdd	|}y)
NceZdZfdZy)6MroTest.test_reent_set_bases_on_direct_base.<locals>.Mc|jd}|tur&jdr|xjdz
c_tj	|S)Nrrr)rJr`rrGr)rrr:s  r?rz:MroTest.test_reent_set_bases_on_direct_base.<locals>.M.mro2sA}}Q'v%q)",xx}$r@Nrrsr?rr$1
%r@rceZdZy)6MroTest.test_reent_set_bases_on_direct_base.<locals>.ANrMrr@r?r}r(:rOr@r}rBceZdZy)6MroTest.test_reent_set_bases_on_direct_base.<locals>.BNrMrr@r?rr*<rOr@rceZdZy)6MroTest.test_reent_set_bases_on_direct_base.<locals>.CNrMrr@r?rr,>rOr@rr)r:rr}rrs`    r?#test_reent_set_bases_on_direct_basez+MroTest.test_reent_set_bases_on_direct_base-s8		%	%	!					r@c	Gfddt}Gdd|}Gdd|Gdd	|d
_jt5xjdz
c_dddy#1swYyxYw)NceZdZfdZy)5MroTest.test_reent_set_bases_tp_base_cycle.<locals>.Mcjr.|jdk(rf_|jdk(rf_tj	|S)NB1B2rrrJrGr)rr2r3r:s r?rz9MroTest.test_reent_set_bases_tp_base_cycle.<locals>.M.mroRsB::||t+(*u||t+(*uxx}$r@Nr)r2r3r:sr?rr0Qs
%r@rceZdZy)5MroTest.test_reent_set_bases_tp_base_cycle.<locals>.ANrMrr@r?r}r6ZrOr@r}rBceZdZy)6MroTest.test_reent_set_bases_tp_base_cycle.<locals>.B1NrMrr@r?r2r8\rOr@r2ceZdZy)6MroTest.test_reent_set_bases_tp_base_cycle.<locals>.B2NrMrr@r?r3r:^rOr@r3Tr)rrrrrJ)r:rr}r2r3s`  @@r?"test_reent_set_bases_tp_base_cyclez*MroTest.test_reent_set_bases_tp_base_cycleAsw		%	%	%	!					



y
)	LLBL			sA55A>c	Gfddt}Gdd|}Gdd|}Gdd	|Gd
d|d_|f_f|_jjfjj	gj|j	gj|jfjj	|gy)
NceZdZfdZy);MroTest.test_tp_subclasses_cycle_in_update_slots.<locals>.Mcjr|jdk(rd_f_tj	|SNrFr4)rr3rr:s r?rz?MroTest.test_tp_subclasses_cycle_in_update_slots.<locals>.M.mroos3::#,,#"5!&DJ#%%AKxx}$r@Nr)r3rr:sr?rr>ns
%r@rceZdZy);MroTest.test_tp_subclasses_cycle_in_update_slots.<locals>.ANrMrr@r?r}rBurOr@r}rBceZdZy)<MroTest.test_tp_subclasses_cycle_in_update_slots.<locals>.B1NrMrr@r?r2rDwrOr@r2ceZdZy)<MroTest.test_tp_subclasses_cycle_in_update_slots.<locals>.B2NrMrr@r?r3rFyrOr@r3ceZdZy);MroTest.test_tp_subclasses_cycle_in_update_slots.<locals>.CNrMrr@r?rrH{rOr@rT)rrrJrEr?)r:rr}r2r3rs`   @@r?(test_tp_subclasses_cycle_in_update_slotsz0MroTest.test_tp_subclasses_cycle_in_update_slotses		%	%	%	!							
etre,**,qc2**,b1t,))+bT2r@c	GddtGfddt}Gdd|}Gdd	|}Gd
d|Gdd
|d_j5|f_dddf|_jjfjjttjy#1swYgxYw)NceZdZy)=MroTest.test_tp_subclasses_cycle_error_return_path.<locals>.ENrMrr@r?rrLrOr@rceZdZfdZy)=MroTest.test_tp_subclasses_cycle_error_return_path.<locals>.Mcjr1|jdk(r"jfk(rd_n
f_tj	|Sr@r4)rr3rrr:s r?rzAMroTest.test_tp_subclasses_cycle_error_return_path.<locals>.M.mrosF::#,,#"5{{re+%*
')exx}$r@Nr)r3rrr:sr?rrNs

%
%r@rceZdZy)=MroTest.test_tp_subclasses_cycle_error_return_path.<locals>.ANrMrr@r?r}rQrOr@r}rBceZdZy)>MroTest.test_tp_subclasses_cycle_error_return_path.<locals>.B1NrMrr@r?r2rSrOr@r2ceZdZy)>MroTest.test_tp_subclasses_cycle_error_return_path.<locals>.B2NrMrr@r?r3rUrOr@r3ceZdZy)=MroTest.test_tp_subclasses_cycle_error_return_path.<locals>.CNrMrr@r?rrWrOr@rT)
r-rrrrJrEr^rrGr)r:rr}r2r3rrs`   @@@r?*test_tp_subclasses_cycle_error_return_pathz2MroTest.test_tp_subclasses_cycle_error_return_paths					%	%	%	!							



q
!	 %AK	 tre,E$((1+$67	 	 s.	CC&cB	Gfddt}Gdd|}y)NceZdZfdZy))MroTest.test_incomplete_extend.<locals>.Mc|j8|jdk7r)jt5Gdd|}dddtj|S#1swYxYw)NrceZdZy)8MroTest.test_incomplete_extend.<locals>.M.mro.<locals>.XNrMrr@r?rr^s r@)r^rrrrGr)rrr:s  r?rz-MroTest.test_incomplete_extend.<locals>.M.mrosW;;&3<<3+>**95!!!!xx}$	!!sAA$Nrrsr?rr[r&r@rceZdZy))MroTest.test_incomplete_extend.<locals>.ANrMrr@r?r}r`rOr@r}rBrrs`  r?test_incomplete_extendzMroTest.test_incomplete_extends 	
	%	%	!	r@cB	Gfddt}Gdd|}y)Nc"eZdZfdZxZS)(MroTest.test_incomplete_super.<locals>.Mc|j(jt5t||dddt
j
|S#1swYxYwr)r^rrruxxxrGr)rrr:s r?rz,MroTest.test_incomplete_super.<locals>.M.mrosJ;;&**>:,c3+,xx}$,,sAA)rrrrrxrus@r?rrds

%
%r@rceZdZy)(MroTest.test_incomplete_super.<locals>.ANrMrr@r?r}rhrOr@r}rBrrs`  r?test_incomplete_superzMroTest.test_incomplete_supers 		%	%	!	r@c	GddGfddt|jt5Gdd}dddy#1swYyxYw)NceZdZy)/MroTest.test_disappearing_custom_mro.<locals>.BNrMrr@r?rrlrOr@rceZdZfdZy)/MroTest.test_disappearing_custom_mro.<locals>.Mc`fSr)r)rrrs r?rz3MroTest.test_disappearing_custom_mro.<locals>.M.mrosEtr@Nr)rrsr?rrns
r@rceZdZy)/MroTest.test_disappearing_custom_mro.<locals>.ANrMrr@r?r}rqrr@r}rB)rrr)r:r}rrs  @@r?test_disappearing_custom_mroz$MroTest.test_disappearing_custom_mrosO					


y
)	
a
			s
AAN)rrrr
rrr!r-r;rIrXrarirrrr@r?rrsA
&("H"3H 8D$ r@r__main__)#rGrD
rWr
r'r
r5r7rr<r2rkrjrr
contextlibrr	rrrrr3rrr
r%
r.
rA
r
rGrrrmainrr@r?<module>rvs<	



&
uDH%%uDpQH 1 1QHhP98X&&98xH--21!!16w)H%%w)t
HX&&H4	"d	"bhbJzHMMOUvI
Is$D
D)D&%D&)D32D3