+
    Bi$                       ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHt  ^ RIt ^ RIt ! R R]P2                  4      t ! R R	]P2                  4      t ! R
 R]P2                  4      t ! R R]P2                  4      t ! R R]P2                  4      t ! R R]P2                  4      t ! R R]P2                  4      t  ! R R]!4      t" ! R R]P2                  4      t#]$R8X  d   ]PJ                  ! 4        R# R#   ] d    Rt Li ; i  ] d    Rt Li ; i)    N)deepcopy)redirect_stdout)support)assert_python_okc                   X  a  ] tR t^ t o R tRR ltRR ltRR ltRR ltRR lt	RR lt
R tR	 t. 3R
 ltR tR tR tR t]P&                  ! R4      ]P*                  ! ]RJ R4      R 4       4       t]P&                  ! R4      ]P*                  ! ]RJ R4      R 4       4       tR tRtV tR# )OperatorsTestc                   \         P                  P                  ! V .VO5/ VB  / R RbRRbRRbRRbRR	bR
RbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbR R!R"R#R$R%/CV n        \	        V P                  P                  4       4       F<  w  r4VP                  4       '       d   VR&,           pM	R'V,          pW@P                  V&   K>  	  R(RR)RR*R*R+R,R-R-R.R./V n        \	        V P                  P                  4       4       F<  w  r4VP                  4       '       d   VR/,           pM	R0V,          pW@P                  V&   K>  	  R1# )2add+sub-mul*matmul@truediv/floordivz//divmodpowz**lshiftz<<rshiftz>>and&xor^or|cmplt<le<=eq==ne!=gt>ge>=z(a, b)za %s bposnegabsinvert~intfloatz(a)z%s aN)unittestTestCase__init__binopslistitemsislowerunops)selfargskwargsnameexprs   &*,  &/usr/lib/python3.14/test/test_descr.pyr5   OperatorsTest.__init__"   s   ""49$9&9
3
3
 3
 c	

 s
 
 h
 4
 d
 d
 3
 3
 #
 5
 #
  $!
" $#
$ $#$)
. t{{0023JD||~~h$ $KK 4 335c5W

 tzz//12JD||~~e|}#JJt 3    c                   R V/pV P                  \        W54      V4       \        V4      p\        Wd4      pWFP                  9  d   VP
                  ^ ,          pK%  V P                  \        VRV4      VP                  V,          4       V P                  V! V4      V4       \        W4      pV P                  V! 4       V4       R# )aim_funcNassertEqualevaltypegetattr__dict__	__bases__)	r;   rD   resr?   methdtmbms	   &&&&&    r@   	unop_testOperatorsTest.unop_testR   s    !Hd,GA **$AA 	Iq11::d3CD1s#Qs#rB   c                   R VRV/pV P                  \        WF4      V4       \        V4      p\        Wu4      pWWP                  9  d   VP
                  ^ ,          pK%  V P                  \        VRV4      VP                  V,          4       V P                  V! W4      V4       \        W4      p	V P                  V	! V4      V4       R# rD   brE   NrF   )
r;   rD   rW   rM   r?   rN   rO   rP   rQ   rR   s
   &&&&&&    r@   
binop_testOperatorsTest.binop_testb   s    !S!d,GA**$AA 	Iq11::d3CD1#&QA$rB   c           	        R VRVRV/pV P                  \        WW4      V4       \        V4      p\        W4      p	WhP                  9  d   VP
                  ^ ,          pK%  V P                  \        V	RV	4      VP                  V,          4       V P                  V	! V\        W#4      4      V4       \        W4      p
V P                  V
! \        W#4      4      V4       R# rD   rW   crE   N)rG   rH   rI   rJ   rK   rL   slice)r;   rD   rW   r\   rM   r?   rN   rO   rP   rQ   rR   s   &&&&&&&    r@   sliceop_testOperatorsTest.sliceop_testq   s    !S!S!$d,GA**$AA 	Iq11::d3CD1eAk*C0QE!K#.rB   c                0   R \        V4      RV/p\        WF4       V P                  VR ,          V4       \        V4      p\	        Wu4      pWWP
                  9  d   VP                  ^ ,          pK%  V P                  \	        VRV4      VP
                  V,          4       \        V4      VR &   V! VR ,          V4       V P                  VR ,          V4       \        V4      VR &   \	        VR ,          V4      p	V	! V4       V P                  VR ,          V4       R# rV   r   execrG   rI   rJ   rK   rL   )
r;   rD   rW   rM   stmtrN   rO   rP   rQ   rR   s
   &&&&&&    r@   
setop_testOperatorsTest.setop_test   s    (1+sA&T3%GA**$AA 	Iq11::d3CD!#	!C&!3%!#QsVT"
13%rB   c                4   R \        V4      RVRV/p\        WW4       V P                  VR ,          V4       \        V4      p\	        W4      p	WhP
                  9  d   VP                  ^ ,          pK%  V P                  \	        V	RV	4      VP
                  V,          4       \        V4      VR &   V	! VR ,          W#4       V P                  VR ,          V4       \        V4      VR &   \	        VR ,          V4      p
V
! W#4       V P                  VR ,          V4       R# r[   ra   )r;   rD   rW   r\   rM   rc   rN   rO   rP   rQ   rR   s   &&&&&&&    r@   set2op_testOperatorsTest.set2op_test   s    (1+sAsA.T3%GA**$AA 	Iq11::d3CD!#	!C&!3%!#QsVT"
13%rB   c                `   R \        V4      RVRVRV/p\        Wh4       V P                  VR ,          V4       \        V4      p	WyP                  9  d   V	P
                  ^ ,          p	K%  \        W4      p
V P                  \        V
RV
4      V	P                  V,          4       \        V4      VR &   V
! VR ,          \        W#4      V4       V P                  VR ,          V4       \        V4      VR &   \        VR ,          V4      pV! \        W#4      V4       V P                  VR ,          V4       R# )rD   rW   r\   rO   rE   N)r   rb   rG   rI   rK   rL   rJ   r]   )r;   rD   rW   r\   rO   rM   rc   rN   
dictionaryrP   rQ   rR   s   &&&&&&&&    r@   setsliceop_testOperatorsTest.setsliceop_test   s    8A;QQQ?
TC#.G**$AAA 	Iq11::d3CD"1+
3	*S/5;*C#."1+
3Z_d+
5;C#.rB   c           	     X   V P                  ^.^.^^.RR4       V P                  . RO^^RR4       V P                  . RO^^ RR4       V P                  . RO^^RR4       V P                  . RO^ ^^^.RR4       V P                  ^.^.^^.RR	4       V P                  ^^.^. ROR
R4       V P                  . RO^RR4       V P                  ^^.^. RORR4       V P                  ^^.^. RORR4       V P	                  ^^.^^^^.RR4       V P                  . RO^^^^.. RORR4       R# )   a+b__add__b in a__contains__a[b]__getitem__a[b:c]a+=b__iadd__a*=b__imul__len(a)__len__a*b__mul__b*a__rmul__a[b]=c__setitem__a[b:c]=dNrn         rn   r   rn   r   rn   r   rn   r   r      rn         r   )rX   r^   rd   rS   rg   rk   r;   s   &r@   
test_listsOperatorsTest.test_lists   s/    	aS1Q%	:Ax@Ax@Av}='1a!A-HaS1Q%<1q-Dw8Y71q-	B1q-
C!A1qeX}EY1qeY
%	'rB   c                   V P                  ^^^^/^^RR4       V P                  ^^^^/^^ RR4       V P                  ^^^^/^^RR4       ^^^^/p. p\        VP                  4       4       F  pVP                  V4       K  	  . p\	        V4       F  pVP                  V4       K  	  V P                  WB4       . pVP                  4        F  pVP                  V4       K  	  V P                  WB4       . p\        P                  V4       F  pVP                  V4       K  	  V P                  WB4       ^^^^/pV P                  V^RR4       V P                  \        \        V4      / 4      V4       V P                  \        VP                  4       / 4      V4       V P                  ^^^^/^^^^^^^^/RR4       R	# )
rn   rq   rr   rs   rt   rz   r{   r   r   N)rX   r7   keysappenditerrG   __iter__dictrS   rH   repr__repr__rg   )r;   rO   l1ils   &    r@   
test_dictsOperatorsTest.test_dicts   s   1Qq	1a>B1Qq	1a>B1Qq	1a?q!AJaffhAIIaL  aAHHQK AHHQK q!AHHQK "q!AJq!Xy1d1gr*A.ajjlB/3!AaAq1Qq1Q-%	'rB   c                   R VRV/pV P                   P                  4        FG  w  rVWS9  g   K  RV,          p\        W4      '       g   K)  \        Wd4      pV P	                  WWvV4       KI  	  \        V P                  P                  4       4       FF  w  rVWS9  g   K  RV,          p\        W4      '       g   K)  \        Wd4      pV P                  WWe4       KH  	  R# )rD   rW   z__%s__N)r6   r8   hasattrrH   rX   r7   r:   rS   )r;   rD   rW   skipr   r>   r?   rM   s   &&&&    r@   number_operatorsOperatorsTest.number_operators   s    QQ++++-JD$1##t*COOA#T: . tzz//12JD$1##t*CNN146 3rB   c                \   V P                  ^d^4       V P                  ^P                  4       ^4       V P                  ^ P                  4       ^ 4        ! R R\        4      pV P                  V! ^4      ^4        V! 4       R,            V P	                  R4       R#   \
         d     R# i ; i)d   c                   &   a  ] tR t^t o R tRtV tR# )"OperatorsTest.test_ints.<locals>.Cc                    \         # NNotImplementedr;   others   &&r@   rp   *OperatorsTest.test_ints.<locals>.C.__add__       %%rB    N)__name__
__module____qualname____firstlineno__rp   __static_attributes____classdictcell____classdict__s   @r@   Cr           & &rB   r    z+NotImplemented should have caused TypeErrorN)r   rG   __bool__r1   fail	TypeErrorr;   r   s   & r@   	test_intsOperatorsTest.test_ints   s    c1%!+!+	& 	& 	1q!	EC"H IICD  		s   ;B B+*B+c                *    V P                  R R4       R# )g      Y@      @N)r   r   s   &r@   test_floatsOperatorsTest.test_floats
  s    eS)rB   c                   V P                  R R. ROR7        ! R R\        4      pV! R^R7      pV P                  \        V4      R4       V P                  VP                  ^4       V! V^R7      pV P                  \        V4      R4       V P                  VP                  ^4       V! R	4      pV P                  \        V4      R
4       V P                  VP                  ^4       R# )y              Y@              @)r   c                   6   a  ] tR tRt o R.tR tR t]tRtV t	R# ),OperatorsTest.test_complexes.<locals>.Numberi  precc                d    \         P                  ! V .VO5!  pVP                  R ^4      Vn        V# r   )complex__new__getr   )clsr<   kwdsresults   &*, r@   r   4OperatorsTest.test_complexes.<locals>.Number.__new__  s,     4t4"hhvr2rB   c                    V P                   pV P                  R 8X  d   RWP                  3,          # V P                  R 8X  d   RWP                  3,          # RWP                  WP                  3,          # )        %.*gz%.*gjz(%.*g+%.*gj))r   imagreal)r;   r   s   & r@   r   5OperatorsTest.test_complexes.<locals>.Number.__repr__  s_    yy99#!T99$55599#"dII%666%yy$		(JJJrB   r   N)
r   r   r   r   	__slots__r   r   __str__r   r   r   s   @r@   Numberr     s     IK GrB   r   gQ	@r   z3.14z3.1g     Pm@z234.5N)	r    r"   r(   r*   r1   r2   r   r   mod)r   r   rG   r   r   )r;   r   rD   s   &  r@   test_complexesOperatorsTest.test_complexes  s    fd 2O 	P	W 	 4a a&)#11a%(#5Ma'*$rB   c                    V P                  \        P                  R R4      \        RR4      4       V P                  \        P	                  R^4      R4       R# )r   g      @r   Ng       )rG   r   __radd__r2   __rsub__r   s   &r@   test_explicit_reverse_methods+OperatorsTest.test_explicit_reverse_methods/  sA    ))"c2GC4EFQ/6rB   "the module 'xxsubtype' is internalNrequires xxsubtype modulec           
     <   ^ RI p^ RIpRR lpW1P                  VP                  &   V P	                  V! ^.4      V! ^.4      V! ^^.4      RR4       V P	                  V! . RO4      ^^RR4       V P	                  V! . RO4      ^^ RR4       V P	                  V! . RO4      ^^RR4       V P                  V! . RO4      ^ ^V! ^^.4      R	R4       V P                  V! ^.4      V! ^.4      V! ^^.4      R
R4       V P                  V! ^^.4      ^V! . RO4      RR4       V P                  V! . RO4      ^RR4       V P	                  V! ^^.4      ^V! . RO4      RR4       V P	                  V! ^^.4      ^V! . RO4      RR4       V P                  V! ^^.4      ^^V! ^^.4      RR4       V P                  V! . RO4      ^^V! ^^.4      V! . RO4      RR4        ! R RVP                  4      pV! 4       pV P                  V. 4       V P                  VP                  4       ^4       VP                  ^d4       V P                  V^d.4       V P                  VP                  4       ^ 4       VP                  ^*4       V P                  VP                  4       ^*4       R# )r   Nc                 ,    ^ RI pVP                  V 4      # r   N)	xxsubtypespamlist)r   memospams   && r@   r   /OperatorsTest.test_spam_lists.<locals>.spamlist:  s    $==##rB   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   c                   &   a  ] tR tRt o R tRtV tR# )(OperatorsTest.test_spam_lists.<locals>.CiV  c                    ^# rn   r   r   s   &r@   foo,OperatorsTest.test_spam_lists.<locals>.C.fooW      !rB   r   Nr   r   r   r   r   r   r   r   s   @r@   r   r   V       ##rB   r   r   r   r   r   r   )copyr   _deepcopy_dispatchr   rX   r^   rd   rS   rg   rk   rG   r   r   getstatesetstate)r;   r   r   r   r   rD   s   &     r@   test_spam_listsOperatorsTest.test_spam_lists4  sX    	'	$
 2:.!x}h!uou 	")1a>J)1a>J)1aG(7+Q8QqE?H'	)!x}h!uov"	$!AH],CV"	$x(!XyA!AH],CU!	#!AH],CU"	$1Q%!Q!A&	(Xi0!Q!A%i0*m	M	$ 	$CB!$	SE"q)	

2r*rB   c                   ^ RI p^ RIpRR lpW1P                  VP                  &   V P	                  V! ^^^^/4      ^^RR4       V P	                  V! ^^^^/4      ^^ RR4       V P	                  V! ^^^^/4      ^^RR4       V! ^^^^/4      p. p\        VP                  4       4       F  pVP                  V4       K  	  . p\        V4       F  pVP                  V4       K  	  V P                  Wu4       . pVP                  4        F  pVP                  V4       K  	  V P                  Wu4       . p\        V! / 4      4      P                  V4       F  pVP                  V4       K  	  V P                  Wu4       ^^^^/pV! V4      p	V P                  V	^RR4       V P                  V	\        V4      R	R
4       V P                  V! ^^^^/4      ^^V! ^^^^^^/4      RR4        ! R RVP                  4      p
V
! 4       pV P                  \        VP                  4       4      . 4       V P                  VP!                  4       ^4       RVR&   V P                  \        VP                  4       4      R.4       V P                  VP#                  4       ^ 4       VP%                  ^d4       V P                  VP#                  4       ^d4       R# )r   Nc                 z    ^ RI pVP                  4       p\        V P                  4       4       F	  w  rEWSV&   K  	  V# r   )r   spamdictr7   r8   )rO   r   r   sdkvs   &&    r@   r   /OperatorsTest.test_spam_dicts.<locals>.spamdictf  s2    $BQWWY1 (IrB   rq   rr   rs   rt   rz   r{   zrepr(a)r   r   r   c                   &   a  ] tR tRt o R tRtV tR# )(OperatorsTest.test_spam_dicts.<locals>.Ci  c                    ^# r   r   r   s   &r@   r   ,OperatorsTest.test_spam_dicts.<locals>.C.foo  r   rB   r   Nr   r   s   @r@   r   r    r   rB   r   barr   r   r   r  )r   r   r   r   rX   r7   r   r   r   rG   r   rI   rS   r   rg   r8   r   r   r   )r;   r   r   r   rO   r   r   r   	straightdspamdr   rD   s   &           r@   test_spam_dictsOperatorsTest.test_spam_dictsa  sk    	'	 2:.!Aa+Q8^L!Aa+Q8^L!Aa+Q6=Ia!AYaffhAIIaL  aAHHQK AHHQK hrl#,,Q/AHHQK 0q!AJ	#ua95ud9oy*E1Qq),aHa!Aa]4K]	,	$ 	$Caggi"-!$%aggi>*:;q)	

3s+rB   c                    V P                  \        \        P                  4      P	                  4       \        P                  4       R # r   )rG   rangesysmaxsizer{   r   s   &r@   test_wrap_lenfunc_bad_cast(OperatorsTest.test_wrap_lenfunc_bad_cast  s(    s{{+335s{{CrB   )r6   r:   )rz   r{   )ro   rp   )ru   rt   )rv   rw   )r   r   )r   r   )r   r   r   r   r5   rS   rX   r^   rd   rg   rk   r   r   r   r   r   r   r   r   impl_detailr3   skipIfr   r   r
  r  r   r   r   s   @r@   r   r       s     .$`$ %/&&&&/&'"'< +- 7"E$*%B7
 =>__Y$&(CD)+ E ?)+V =>__Y$&(CD/, E ?/,bD DrB   r   c                     a a ] tR tRt oR tR tR tR tR tR t	R t
R	 tR
 tR tR tR t]P"                  R 4       tR tR tR tR tR tV 3R ltR tR t]P6                  R 4       t]P:                  ! R4      ]P>                  ! ] RJ R4      R 4       4       t!R t"]P6                  R 4       t#]P:                  ! R4      ]P>                  ! ] RJ R4      R 4       4       t$R t%R  t&R! t']PP                  R" 4       t)R# t*]PP                  R$ 4       t+R% t,R& t-R' t.R( t/]P:                  ! R)4      R* 4       t0R+ t1R, t2R- t3R. t4]P>                  ! ]5Pl                  Pn                  ^8  R/4      R0 4       t8]Pr                  R1 4       t:R2 t;R3 t<R4 t=V 3R5 lt>R6 t?R7 t@R8 tAR9 tBR: tCR; tDR< tER= tFR> tGR? tHR@ tIRA tJRB tKRC tLRD tM]P                  ! 4       ]P                  ! 4       RE 4       4       tPRF tQRG tRRH tSRI tTRJ tURK tVRL tWRM tXRN tYRO tZ]P                  ! 4       ]P                  ! 4       RP 4       4       t[RQ t\RR t]RS t^RT t_RU t`RV taRW tbRX tcRY tdRZ teR[ tfR\ tgR] thR^ tiR_ tj]P:                  ! R`4      Ra 4       tkRb tlRc tmRd tnRe toRf tpRg tq]P                  ! 4       ]P                  ! 4       ]P                  ! Rh4      Ri 4       4       4       tsRj ttRk tuRl tvRm twRn txRo tyRp tzRq t{Rr t|Rs t}Rt t~Ru tRv tRw tRx tRy t]P                  ! 4       ]P                  ! 4       Rz 4       4       tR{ tR| tR} tR~ tR tR tR tR tR tV 3R lt]P>                  ! ]RJ R4      R 4       tR tR tR tRtVtV ;t# )ClassPropertiesAndMethodsi  c                L  a  S P                  \        \        4       S P                  / \        4       \        4       pS P                  V/ 4       S P	                  VP
                  \        4       S P                  V\        4        ! V 3R  lR\        4      pS P                  V\        4       V! ^4      pS P                  VP                  ^4       V! ^^R7      pS P                  V^,          R8H  ;'       d
    V^,          R4       V! 4       pS P                  VP                  R4       S P                  VP                  4       R4       VP                  ^ 4       S P                  VP                  ^ 4       S P                  VP                  4       ^ 4       VP                  ^
4       S P                  VP                  ^
4       S P                  VP                  4       ^
4       S P                  V^*,          ^ 4       ^V^*&   S P                  V^*,          ^4       ^2p\        V4       F/  pV! 4       WW&   \        V4       F  pWx,          WW,          V&   K  	  K1  	  \        V4       F:  p\        V4       F(  pS P                  WW,          V,          Wx,          4       K*  	  K<  	  R# )c                   P   <a  ] tR tRt o R	tV3R ltR tV3R ltR tR t	Rt
V tR# )
6ClassPropertiesAndMethods.test_python_dicts.<locals>.Ci  c                   < V'       d*   SP                  \        V4      ^4       V^ ,          V n        V'       d)   \        VP	                  4       4       F	  w  r4W0V&   K  	  R# R# rn   N)rG   lenstater7   r8   )
self_localrD   kwr   r   r;   s   &*,  r@   r5   ?ClassPropertiesAndMethods.test_python_dicts.<locals>.C.__init__  sL    $$SVQ/'(tJ$ $RXXZ 0()1 !1 rB   c                &    V P                  V^ 4      # r   )r   r;   keys   &&r@   rt   BClassPropertiesAndMethods.test_python_dicts.<locals>.C.__getitem__  s    xxQ''rB   c                `   < SP                  V\        4       \        P                  WV4       R # r   )assertIsInstancer1   r   r   )r  r#  valuer;   s   &&&r@   r   BClassPropertiesAndMethods.test_python_dicts.<locals>.C.__setitem__  s#    %%c3/  %8rB   c                    Wn         R # r   r  r;   r  s   &&r@   r   ?ClassPropertiesAndMethods.test_python_dicts.<locals>.C.setstate      "
rB   c                    V P                   # r   r*  r   s   &r@   r   ?ClassPropertiesAndMethods.test_python_dicts.<locals>.C.getstate      zz!rB   r*  N)r   r   r   r   r  r5   rt   r   r   r   r   r   r   r;   s   @r@   r   r    s(     E*(9#" "rB   r   r  r   r  Nr1  )
assertIsSubclassr   r&  rG   assertIs	__class__r  r   r   r  )	r;   rO   r   a1a2rD   Nr   js	   f        r@   test_python_dicts+ClassPropertiesAndMethods.test_python_dicts  s   dD)b$'FBakk4(a&	" 	"$ 	a&rU2&1!_A%11BqE59C"%r*	

1!$q)	

2"%r*2""2#qA3AD1X#Q   qA1X  a!#.  rB   c                     ! R  R\         4      pV! 4       pVP                  . RO4       V P                  V^ ,          ^d4       V P                  V^,          ^e4       V P                  V^,          ^f4       V P                  VR,          R4       R# )c                   &   a  ] tR tRt o R tRtV tR# )6ClassPropertiesAndMethods.test_python_lists.<locals>.Ci  c                    \        V\        4      '       d   VP                  VP                  3# \        P                  W4      ^d,           # r   )
isinstancer]   startstopr7   rt   r;   r   s   &&r@   rt   BClassPropertiesAndMethods.test_python_lists.<locals>.C.__getitem__  s7    a''77AFF?*''0366rB   r   Nr   r   r   r   rt   r   r   r   s   @r@   r   r>    s     7 7rB   r   :r      NNr   rn   r   )r   rG  )r7   extendrG   r;   r   rD   s   &  r@   test_python_lists+ClassPropertiesAndMethods.test_python_lists  ss    	7 	7
 C	1s#1s#1s#7Y/rB   c           	       aaaaaaa  ! R  R\         R7      pV! 4       pV P                  VP                  4       ^ 4       VP                  ^
4       V P                  VP                  4       ^
4        ! R R\         4      p ! R RVR7      pV P                  VP	                  4       V4       V! 4       pV P                  VP
                  V4        ! R R\         4      p ! R	 RVR7      pV P                  VP                  ^4       V! 4       pV P                  VP                  ^4        ! R
 R\        4      o ! V3R lR\        4      p ! R RVR7      pV P                  VP                  R4       V P                  VP                  RS4       V P                  RVP                  4       V! 4       pV P                  VP                  4       ^*4        ! V3R lR\         4      o ! R RSR7      p	 ! R RV	4      p
 ! R RV	4      p ! R RW4      pV P                  V! 4       P                  4       R4        ! R RW4      pV P                  V! 4       P                  4       R4        ! V3R lR\         4      o ! R RSR7      p	V	! 4       pV P                  VR4       ^Vn        V P                  VP                  ^4       V P                  VP                   RT4        ! R  R!SS4      p ! R" RVR7      p	 ! R# RV	4      p
 ! R$ RV	4      p ! R% RW4      pV P                  V! 4       P                  R4        ! V3R& lR'\         4      o ! R( RSR7      pV P                  SP"                  ^4       V! 4       pV P                  \        V4      V4       V P                  SP"                  ^4        ! R) R\        4      pV! 4       pV! 4        V P%                  R*4        ! R+ R\         4      p	 ! R, R\        4      p
 ! R- R\        V	R7      p ! R. RW4      pV P)                  V	\        V4      4       . o ! V3R/ lR0\         4      p ! V3R1 lR2V4      p ! R3 RVR7      p	V P                  R0.S4       SP+                  4         ! R4 RVR7      p
V P                  R2R0.S4       SP+                  4         ! R5 RW4      pV P                  R2R0.S4       SP+                  4        V P                  R6VP,                  4        ! R7 R8W4      pV P                  R2R0.S4       SP+                  4        V P                  R6VP,                  4        ! R9 RV\         R7      pV P                  R2R0.S4       SP+                  4        V P                  R6VP,                  4        ! R: RWR7      pV P                  R2R0.S4       SP+                  4        V P                  R6VP,                  4       \        4       oV3R; lp ! R< R=VR7      p ! R> R?\        VR7      p ! R@ RAVVR7      pV P)                  SV4       V P)                  SV4       V P)                  SV4       . o ! VV3RB lRC4      p ! VV3RD lREV4      p ! RF RVR7      p	V P)                  V\        V	4      4       V P                  RC.S4       SP+                  4        V P                  RC.S4       SP+                  4         ! RG RVR7      p
V P)                  V\        V
4      4       V P                  RERC.S4       SP+                  4        V P                  RERC.S4       SP+                  4         ! RH RW4      pV P)                  V\        V4      4       V P                  RERC.S4       SP+                  4        V P                  RERC.S4       SP+                  4         ! RI R8W4      pV P)                  V\        V4      4       V P                  RERC.S4       SP+                  4        V P                  RERC.S4       SP+                  4        V P/                  \&        4      ;_uu_ 4         ! RJ RV\         R7      pRKRKRK4        ! RL RVVR7      pV P)                  V\        V4      4       V P                  RERC.S4       SP+                  4        V P                  RERC.S4       SP+                  4         ! RM RN\        4       V4      pV P)                  V\        V4      4       V P                  RERC.S4       SP+                  4        V P                  RERC.S4       SP+                  4         ! RO RPV\        4       4      pV P)                  V\        V4      4       V P                  RERC.S4       SP+                  4        V P                  RERC.S4       SP+                  4        V P/                  \&        4      ;_uu_ 4         ! RQ R=V\1        4       4      pRKRKRK4       V P/                  \&        4      ;_uu_ 4         ! RR R=\1        4       V4      pRKRKRK4       RK#   \&         d     ELii ; i  + '       g   i     EL; i  + '       g   i     Lr; i  + '       g   i     RK# ; i)Uc                   2   a  ] tR tRt o R tR tR tRtV tR# )3ClassPropertiesAndMethods.test_metaclass.<locals>.Ci  c                    ^ V n         R# r   	_C__stater   s   &r@   r5   <ClassPropertiesAndMethods.test_metaclass.<locals>.C.__init__  	     rB   c                    V P                   # r   rQ  r   s   &r@   r   <ClassPropertiesAndMethods.test_metaclass.<locals>.C.getstate      ||#rB   c                    Wn         R # r   rQ  r+  s   &&r@   r   <ClassPropertiesAndMethods.test_metaclass.<locals>.C.setstate      $rB   __stateN	r   r   r   r   r5   r   r   r   r   r   s   @r@   r   rO         !$% %rB   r   	metaclassc                   &   a  ] tR tRt o R tRtV tR# )<ClassPropertiesAndMethods.test_metaclass.<locals>._metaclassi  c                    V # r   r   r   s   &r@   myselfCClassPropertiesAndMethods.test_metaclass.<locals>._metaclass.myself  s    CZrB   r   N)r   r   r   r   re  r   r   r   s   @r@   
_metaclassrb    s     ''rB   rg  c                       ] tR tRtRtR# )3ClassPropertiesAndMethods.test_metaclass.<locals>.Di  r   Nr   r   r   r   r   r   rB   r@   Dri        rB   rk  c                   &   a  ] tR tRt o R tRtV tR# )4ClassPropertiesAndMethods.test_metaclass.<locals>.M1i  c                8    ^VR&   \         P                  WW#4      # )rn   __spam__rI   r   )r   r>   basesr   s   &&&&r@   r   <ClassPropertiesAndMethods.test_metaclass.<locals>.M1.__new__  s    #$Z ||Cu;;rB   r   Nr   r   r   r   r   r   r   r   s   @r@   M1rn    s     < <rB   ru  c                       ] tR tRtRtR# )rO    r   Nrj  r   rB   r@   r   rO    rl  rB   c                       ] tR tRtRtR# );ClassPropertiesAndMethods.test_metaclass.<locals>._instancei  r   Nrj  r   rB   r@   	_instancery    rl  rB   rz  c                   >   <a  ] tR tRt o ]R 4       tV3R ltRtV tR# )4ClassPropertiesAndMethods.test_metaclass.<locals>.M2i  c                T    \         P                  V 4      pWn        W$n        W4n        V# r   )objectr   r>   rr  r   )r   r>   rr  r   r;   s   &&&& r@   r   <ClassPropertiesAndMethods.test_metaclass.<locals>.M2.__new__  s$    ~~c* 	"
 	rB   c           	        < S! 4       pV P                    FH  pVP                  R 4      '       d   K  \        WV P                   V,          P                  W4      4       KJ  	  V# )__)r   
startswithsetattr__get__)r;   itr#  rz  s   &  r@   __call__=ClassPropertiesAndMethods.test_metaclass.<locals>.M2.__call__  sN    [99C~~d++ BTYYs^%;%;B%EF % 	rB   )rr  r   r>   N)	r   r   r   r   staticmethodr   r  r   r   )r   rz  s   @r@   M2r|    s!       rB   r  c                   &   a  ] tR tRt o R tRtV tR# )rO  i  c                    ^*# *   r   r   s   &r@   r   8ClassPropertiesAndMethods.test_metaclass.<locals>.C.spam      rB   r   Nr   r   r   r   r   r   r   r   s   @r@   r   rO          rB   r   c                   6   <a a ] tR tRt oV V3R ltRtVtV ;t# );ClassPropertiesAndMethods.test_metaclass.<locals>.autosuperi  c                   < \         SV `  V WV4      pVR ,          R8X  d   VR,          pK  V'       d   RV,          pMRp\        WA\        V4      4       V# ):Nrn   N_:rn   NNz
_%s__super__super)superr   r  )r`  r>   rr  r   r   r5  	autosupers   &&&& r@   r   CClassPropertiesAndMethods.test_metaclass.<locals>.autosuper.__new__  sW    Iy9):>tM 2h#o8D'$.D$D5:.
rB   r   r   r   r   r   r   r   r   __classcell__)r5  r   r  s   @@r@   r  r    s      rB   r  c                   &   a  ] tR tRt o R tRtV tR# )3ClassPropertiesAndMethods.test_metaclass.<locals>.Ai&  c                    R # Ar   r   s   &r@   rN   8ClassPropertiesAndMethods.test_metaclass.<locals>.A.meth'      rB   r   Nr   r   r   r   rN   r   r   r   s   @r@   r  r  &        rB   r  c                   &   a  ] tR tRt o R tRtV tR# )3ClassPropertiesAndMethods.test_metaclass.<locals>.Bi)  c                D    R V P                   P                  4       ,           # B	_B__superrN   r   s   &r@   rN   8ClassPropertiesAndMethods.test_metaclass.<locals>.B.meth*      T\\..000rB   r   Nr  r   s   @r@   r  r  )       1 1rB   r  c                   &   a  ] tR tRt o R tRtV tR# )rO  i,  c                D    R V P                   P                  4       ,           # r   	_C__superrN   r   s   &r@   rN   8ClassPropertiesAndMethods.test_metaclass.<locals>.C.meth-  r  rB   r   Nr  r   s   @r@   r   rO  ,  r  rB   c                   &   a  ] tR tRt o R tRtV tR# )ri  i/  c                D    R V P                   P                  4       ,           # rk  )	_D__superrN   r   s   &r@   rN   8ClassPropertiesAndMethods.test_metaclass.<locals>.D.meth0  r  rB   r   Nr  r   s   @r@   rk  ri  /  r  rB   DCBAc                   &   a  ] tR tRt o R tRtV tR# )3ClassPropertiesAndMethods.test_metaclass.<locals>.Ei3  c                D    R V P                   P                  4       ,           # )E)	_E__superrN   r   s   &r@   rN   8ClassPropertiesAndMethods.test_metaclass.<locals>.E.meth4  r  rB   r   Nr  r   s   @r@   r  r  3  r  rB   r  EBCAc                   6   <a a ] tR tRt oV V3R ltRtVtV ;t# )>ClassPropertiesAndMethods.test_metaclass.<locals>.autopropertyi8  c                  < / pVP                  4        F  w  rVVP                  R 4      '       d'   VR,          pVP                  VR4      w  rxTpWx3WE&   KB  VP                  R4      '       g   K[  VR,          pVP                  VR4      w  rxTpWx3WE&   K  	  VP                  4        F  w  pw  rx\        Wx4      W5&   K  	  \        S
V `  V WV4      # )_get_:r   NN_set_NN)r8   r  r   propertyr  r   )r`  r>   rr  r   hitsr#  valr   setr5  autopropertys   &&&&     r@   r   FClassPropertiesAndMethods.test_metaclass.<locals>.autoproperty.__new__;  s     $

HC~~g..!"g#'88C#>!$'H	00!"g#'88C#>!$'H	 !- (,zz|OC# ( 2DI (4\9=i<@O OrB   r   r  )r5  r   r  s   @@r@   r  r  8  s     O OrB   r  c                   ,   a  ] tR tRt o R tR tRtV tR# )r  iL  c                    V P                   ) # r   _A__xr   s   &r@   _get_x:ClassPropertiesAndMethods.test_metaclass.<locals>.A._get_xM  s    y rB   c                    V) V n         R # r   r  r;   xs   &&r@   _set_x:ClassPropertiesAndMethods.test_metaclass.<locals>.A._set_xO  s    2rB   __xN)r   r   r   r   r  r  r   r   r   s   @r@   r  r  L  s     ! rB   r  c                       ] tR tRtRtR# )@ClassPropertiesAndMethods.test_metaclass.<locals>.multimetaclassiW  r   Nrj  r   rB   r@   multimetaclassr  W      rB   r  c                   &   a  ] tR tRt o R tRtV tR# )r  iZ  c                    R # r  r   r   s   &r@   r  r  [  r  rB   r   Nr   r   r   r   r  r   r   r   s   @r@   r  r  Z  r  rB   c                   &   a  ] tR tRt o R tRtV tR# )r  i]  c                D    R V P                   P                  4       ,           # r  )r  r  r   s   &r@   r  :ClassPropertiesAndMethods.test_metaclass.<locals>.B._get_x^      T\\00222rB   r   Nr  r   s   @r@   r  r  ]       3 3rB   c                   &   a  ] tR tRt o R tRtV tR# )rO  i`  c                D    R V P                   P                  4       ,           # r  )r  r  r   s   &r@   r  :ClassPropertiesAndMethods.test_metaclass.<locals>.C._get_xa  r  rB   r   Nr  r   s   @r@   r   rO  `  r  rB   c                   &   a  ] tR tRt o R tRtV tR# )ri  ic  c                D    R V P                   P                  4       ,           # r  )r  r  r   s   &r@   r  :ClassPropertiesAndMethods.test_metaclass.<locals>.D._get_xd  r  rB   r   Nr  r   s   @r@   rk  ri  c  r  rB   c                   2   <a  ] tR tRt o ^ tV3R ltRtV tR# )3ClassPropertiesAndMethods.test_metaclass.<locals>.Tii  c                :   < S;P                   ^,          un         R# r  counter)r;   r<   Ts   &*r@   r5   <ClassPropertiesAndMethods.test_metaclass.<locals>.T.__init__k  s    		Q	rB   r   N)r   r   r   r   r  r5   r   r   )r   r  s   @r@   r  r  i  s     G rB   r  c                       ] tR tRtRtR# )rO  im  r   Nrj  r   rB   r@   r   rO  m  rl  rB   c                       ] tR tRtRtR# )rO  it  r   Nrj  r   rB   r@   r   rO  t      rB   z5calling object w/o call method should raise TypeErrorc                   &   a  ] tR tRt o R tRtV tR# )r  i|  c                 .    \         P                  ! V / VB # r   rq  )r<   r=   s   *,r@   r   ;ClassPropertiesAndMethods.test_metaclass.<locals>.A.__new__}  s    ||T4V44rB   r   Nrt  r   s   @r@   r  r  |       5 5rB   c                       ] tR tRtRtR# )r  i  r   Nrj  r   rB   r@   r  r    rl  rB   c                       ] tR tRtRtR# )rO  i  r   Nrj  r   rB   r@   r   rO    rl  rB   c                       ] tR tRtRtR# )ri  i  r   Nrj  r   rB   r@   rk  ri    rl  rB   c                   P   <a a ] tR tRt o]V V3R l4       t]R 4       tRtVt	V ;t
# )7ClassPropertiesAndMethods.test_metaclass.<locals>.AMetai  c                F   < SP                  R 4       \        SV `	  WW#4      # )AMetar   r  r   mclsr>   rr  nsr5  	new_callss   &&&&r@   r   ?ClassPropertiesAndMethods.test_metaclass.<locals>.AMeta.__new__  "      )wt5==rB   c                    / # r   r   )r  r>   rr  s   &&&r@   __prepare__CClassPropertiesAndMethods.test_metaclass.<locals>.AMeta.__prepare__  s    	rB   r   r   r   r   r   r  r   classmethodr
  r   r   r  r5  r   r  s   @@r@   r  r    s0     > >   rB   r  c                   V   <a a ] tR tRt o]V V3R l4       t]V 3R l4       tRtVt	V ;t
# )7ClassPropertiesAndMethods.test_metaclass.<locals>.BMetai  c                F   < SP                  R 4       \        SV `	  WW#4      # )BMetar  r  s   &&&&r@   r   ?ClassPropertiesAndMethods.test_metaclass.<locals>.BMeta.__new__  r  rB   c                0   < \         SV `  W4      pR VR&   V# )TBMeta_was_here)r  r
  r  r>   rr  r  r5  s   &&& r@   r
  CClassPropertiesAndMethods.test_metaclass.<locals>.BMeta.__prepare__  s"    W(5'+#$	rB   r   r  r  s   @@r@   r  r    s0     > >   rB   r  c                       ] tR tRtRtR# )r  i  r   Nrj  r   rB   r@   r  r    rl  rB   c                       ] tR tRtRtR# )r  i  r   Nrj  r   rB   r@   r  r    rl  rB   c                       ] tR tRtRtR# )rO  i  r   Nrj  r   rB   r@   r   rO    rl  rB   r  c                       ] tR tRtRtR# )4ClassPropertiesAndMethods.test_metaclass.<locals>.C2i  r   Nrj  r   rB   r@   C2r    rl  rB   r  c                       ] tR tRtRtR# )ri  i  r   Nrj  r   rB   r@   rk  ri    rl  rB   c                       ] tR tRtRtR# )r  i  r   Nrj  r   rB   r@   r  r    rl  rB   c                     < S# r   r   )r<   r=   markers   *,r@   func6ClassPropertiesAndMethods.test_metaclass.<locals>.func  s    MrB   c                       ] tR tRtRtR# )3ClassPropertiesAndMethods.test_metaclass.<locals>.Xi  r   Nrj  r   rB   r@   Xr%    rl  rB   r&  c                       ] tR tRtRtR# )3ClassPropertiesAndMethods.test_metaclass.<locals>.Yi  r   Nrj  r   rB   r@   Yr(    rl  rB   r)  c                       ] tR tRtRtR# )3ClassPropertiesAndMethods.test_metaclass.<locals>.Zi  r   Nrj  r   rB   r@   Zr+    rl  rB   r,  c                   L   <a a ] tR tRt oV V3R lt]V3R l4       tRtVtV ;t	# ):ClassPropertiesAndMethods.test_metaclass.<locals>.ANotMetai  c                D   < SP                  R 4       \        SV `	  V 4      # ANotMetar  r  r<   r=   r5  r  s   &*,r@   r   BClassPropertiesAndMethods.test_metaclass.<locals>.ANotMeta.__new__         ,wt,,rB   c                *   < SP                  R 4       / # r0  r   )r  r>   rr  prepare_callss   &&&r@   r
  FClassPropertiesAndMethods.test_metaclass.<locals>.ANotMeta.__prepare__  s    $$Z0	rB   r   
r   r   r   r   r   r  r
  r   r   r  r5  r   r  r7  s   @@r@   r1  r.    s#     -   rB   r1  c                   N   <a a ] tR tRt oV V3R lt]V V3R l4       tRtVtV ;t	# ):ClassPropertiesAndMethods.test_metaclass.<locals>.BNotMetai  c                D   < SP                  R 4       \        SV `	  V 4      # BNotMetar  r2  s   &*,r@   r   BClassPropertiesAndMethods.test_metaclass.<locals>.BNotMeta.__new__  r4  rB   c                D   < SP                  R 4       \        SV `	  W4      # r>  )r   r  r
  )r  r>   rr  r5  r7  s   &&&r@   r
  FClassPropertiesAndMethods.test_metaclass.<locals>.BNotMeta.__prepare__  s!    $$Z0w*477rB   r   r9  r:  s   @@r@   r?  r<    s#     - 8 8 8rB   r?  c                       ] tR tRtRtR# )r  i  r   Nrj  r   rB   r@   r  r    rl  rB   c                       ] tR tRtRtR# )r  i  r   Nrj  r   rB   r@   r  r    rl  rB   c                       ] tR tRtRtR# )rO  i  r   Nrj  r   rB   r@   r   rO    rl  rB   c                       ] tR tRtRtR# )r  i  r   Nrj  r   rB   r@   r  r    rl  rB   c                       ] tR tRtRtR# )ri  i  r   Nrj  r   rB   r@   rk  ri        rB   Nc                       ] tR tRtRtR# )r  i  r   Nrj  r   rB   r@   r  r    rl  rB   c                       ] tR tRtRtR# )3ClassPropertiesAndMethods.test_metaclass.<locals>.Fi  r   Nrj  r   rB   r@   FrK    rl  rB   rL  c                       ] tR tRtRtR# )4ClassPropertiesAndMethods.test_metaclass.<locals>.F2i!  r   Nrj  r   rB   r@   F2rN  !  rl  rB   rO  c                       ] tR tRtRtR# )r%  i,  r   Nrj  r   rB   r@   r&  r%  ,  rH  rB   c                       ] tR tRtRtR# )r%  i/  r   Nrj  r   rB   r@   r&  r%  /  rH  rB   r   i)rI   rG   r   r   re  r5  rp  r~  r>   rr  assertInr   r   rN   assertNotHasAttrr  r  r  r   r   r4  clearrK   assertRaisesr1   )r;   r   rD   rg  rk  rO   ru  r\   r  r  r  r  r  r  r  r  r"  r&  r)  r,  r1  r?  rL  rO  r  rz  r  r  r!  r  r7  s   &                       @@@@@@@r@   test_metaclass(ClassPropertiesAndMethods.test_metaclass  s   	%$ 	% Cq)	

2r*	( 	(	* 	Q'Ca(	< 	<	" 	Q'CQ'	 		 	 	" 	 	%"%faff%C2&	 		) 		1 	1	1 	1	1 	1 	V,	1 	1 	V,	O4 	O(	, 	
 Ca%b!#&	\9 		. 		3 	3	3 	3	3 	3 	'	 		! 	A&Ca!$A&CSii $ %	5 	5	 		! 		 	aa! 		D 			E 			% 	'I.	% 	 	'7+Y7	 	 	'7+Y7&

3	 	'7+Y7&4	T 	'7+Y7&

3	 	'7+Y7&

3 		$ 		$ 		T 	fa fa fa  	 		8 	8x 	8	( 	hQ(*}5*y1	( 	hQ(*j1=A*j19=	 	hQ(*j19=*j1=A	 	hR)*j19=*j1=A y))A  *	X 	hQ(*j19=*j1=A	! 	hQ(*j19=*j1=A	FH 	hR)*j19=*j1=A y))Asu  * y))CE1  *)o $l *))< *) *))s6   h5 iii.5iii	i+	.i?	c                  a	a
 . o
\        \        4      o	 ! V	V
3R  lRS	4      pV! R4      p^Vn        VP                  pV=V P                  S
. R
O4         ! R R\        P
                  \        4      pV P                  R4       R p ! R R4      p\        ^d4       Uu. uF  p\        V! 4       V3/ 4      NK  	  ppV P                  VP                  4       V4       R	#   \         d     Lgi ; iu upi )c                   X   <a  ] tR tRt o V3R ltVV3R ltVV3R ltVV3R ltRtV t	R# )<ClassPropertiesAndMethods.test_module_subclasses.<locals>.MMi6  c                *   < SP                  W4       R # r   )r5   )r;   r>   MTs   &&r@   r5   EClassPropertiesAndMethods.test_module_subclasses.<locals>.MM.__init__7  s    D'rB   c                L   < SP                  R V34       SP                  W4      # )rJ   )r   __getattribute__r;   r>   r\  logs   &&r@   r_  MClassPropertiesAndMethods.test_module_subclasses.<locals>.MM.__getattribute__9  s%    

It,-**466rB   c                R   < SP                  R W34       SP                  WV4       R# )r  N)r   __setattr__)r;   r>   r'  r\  ra  s   &&&r@   rd  HClassPropertiesAndMethods.test_module_subclasses.<locals>.MM.__setattr__<  s"    

It34t51rB   c                P   < SP                  R V34       SP                  W4       R# )delattrN)r   __delattr__r`  s   &&r@   rh  HClassPropertiesAndMethods.test_module_subclasses.<locals>.MM.__delattr__?  s     

It,-t*rB   r   N)
r   r   r   r   r5   r_  rd  rh  r   r   )r   r\  ra  s   @r@   MMrZ  6  s     (72+ +rB   rj  rD   c                       ] tR tRtRtR# )@ClassPropertiesAndMethods.test_module_subclasses.<locals>.ModuleiL  r   Nrj  r   rB   r@   Modulerl  L  rH  rB   rm  z?inheriting from ModuleType and str at the same time should failc                  l    R P                  \        P                  ! \        P                  ^
R7      4      # )r   )r   )joinrandomchoicesstringascii_lettersr   rB   r@   random_nameEClassPropertiesAndMethods.test_module_subclasses.<locals>.random_nameU  s"    776>>&*>*>"EFFrB   c                       ] tR tRtRtR# );ClassPropertiesAndMethods.test_module_subclasses.<locals>.AiW  r   Nrj  r   rB   r@   r  rw  W  rl  rB   r  N))r  r      rJ   r   )rg  r   )rI   r  r   rG   types
ModuleTypestrr   r   r  __subclasses__)r;   rj  rD   r  rm  rt  r  r   
subclassesr\  ra  s   &        @@r@   test_module_subclasses0ClassPropertiesAndMethods.test_module_subclasses2  s    #Y	+ 	+ 	+ sGEEE 3 	4
	%))3 
 II $ %	G	 	=B3ZHZd;=1$3Z
H))+Z8  		 Is   C C/C,+C,c                0  a  ! R  R\         4      oS! 4       pV P                  VP                  4       ^ 4       VP                  ^
4       V P                  VP                  4       ^
4        ! V3R lR\        S4      pV! 4       pV P                  \        VP                  4       4      . 4       RVR&   V P                  \        VP                  4       4      R.4       V P                  VR,          R4       V P                  VP                  4       ^ 4       VP                  ^
4       V P                  VP                  4       ^
4       V P                  VP                  V\        S\         34        ! R R\         4      p ! R R	V\
        4      pV P                  V! 4       P                  4       ^4       V P                  \        V! 4       4      ^4       V P                  V! 4       P                  4       ^*4       V P                  \        V! 4       4      ^*4       R
# )c                   2   a  ] tR tRt o R tR tR tRtV tR# )>ClassPropertiesAndMethods.test_multiple_inheritance.<locals>.Ci^  c                    ^ V n         R# r   rQ  r   s   &r@   r5   GClassPropertiesAndMethods.test_multiple_inheritance.<locals>.C.__init___  rT  rB   c                    V P                   # r   rQ  r   s   &r@   r   GClassPropertiesAndMethods.test_multiple_inheritance.<locals>.C.getstatea  rW  rB   c                    Wn         R # r   rQ  r+  s   &&r@   r   GClassPropertiesAndMethods.test_multiple_inheritance.<locals>.C.setstatec  rZ  rB   r[  Nr]  r   s   @r@   r   r  ^  r^  rB   r   c                   .   <a  ] tR tRt o V3R ltRtV tR# )>ClassPropertiesAndMethods.test_multiple_inheritance.<locals>.Dii  c                T   < \         P                  V 4       SP                  V 4       R # r   )r   r5   r   s   &r@   r5   GClassPropertiesAndMethods.test_multiple_inheritance.<locals>.D.__init__j  s    d#

4 rB   r   Nr   r   r   r   r5   r   r   r   r   s   @r@   rk  r  i  s     ! !rB   rk  worldhelloc                   ,   a  ] tR tRt o R tR tRtV tR# )AClassPropertiesAndMethods.test_multiple_inheritance.<locals>.Nodeix  c                4    \        V P                  4       4      # r   )r1   r   r   s   &r@   __int__IClassPropertiesAndMethods.test_multiple_inheritance.<locals>.Node.__int__y  s    488:&rB   c                    R # )23r   r   s   &r@   r   EClassPropertiesAndMethods.test_multiple_inheritance.<locals>.Node.foo{      rB   r   N)r   r   r   r   r  r   r   r   r   s   @r@   Noder  x  s     ' rB   r  c                   &   a  ] tR tRt o R tRtV tR# )AClassPropertiesAndMethods.test_multiple_inheritance.<locals>.Fragi}  c                    R # )42r   r   s   &r@   r   EClassPropertiesAndMethods.test_multiple_inheritance.<locals>.Frag.foo~  r  rB   r   Nr   r   s   @r@   Fragr  }        rB   r  N)r  r  )r~  rG   r   r   r   r7   r   r8   __mro__r  r1   )r;   rD   rk  rO   r  r  r   s   &     @r@   test_multiple_inheritance3ClassPropertiesAndMethods.test_multiple_inheritance\  s   	% 	% Cq)	

2r*	!a 	! Caffh,'
aggi+=*>?7W-q)	

2r*Qa$89	6 	
	4 	 	)2.TVb))2.TVb)rB   c                \    ! R  R\         4      pV P                  V! 4       P                  4       R4        ! R RV4      pV P                  V! 4       P                  4       R4       V P                  V! 4       P                  4       R4        ! R RV4      pV P                  V! 4       P                  4       R4       V P                  V! 4       P                  4       R4        ! R RW#4      pV P                  V! 4       P                  4       R4       V P                  V! 4       P                  4       R4       V P                  VP                  WBW1\         34        ! R R	W24      pV P                  V! 4       P                  4       R4       V P                  V! 4       P                  4       R4       V P                  VP                  WSW!\         34         ! R
 RWE4      pV P                  R4         ! R RWT4      pV P                  R4       R#   \         d     L,i ; i  \         d     R# i ; i)c                   &   a  ] tR tRt o R tRtV tR# )=ClassPropertiesAndMethods.test_diamond_inheritance.<locals>.Ai  c                    R # r  r   r   s   &r@   r   BClassPropertiesAndMethods.test_diamond_inheritance.<locals>.A.spam      3rB   r   Nr  r   s   @r@   r  r    s     &&rB   r  c                   ,   a  ] tR tRt o R tR tRtV tR# )=ClassPropertiesAndMethods.test_diamond_inheritance.<locals>.Bi  c                    R # r  r   r   s   &r@   booAClassPropertiesAndMethods.test_diamond_inheritance.<locals>.B.boo      #rB   c                    R # r  r   r   s   &r@   r   BClassPropertiesAndMethods.test_diamond_inheritance.<locals>.B.spam  r  rB   r   N)r   r   r   r   r  r   r   r   r   s   @r@   r  r    s     %&&rB   r  c                   &   a  ] tR tRt o R tRtV tR# )=ClassPropertiesAndMethods.test_diamond_inheritance.<locals>.Ci  c                    R # r  r   r   s   &r@   r  AClassPropertiesAndMethods.test_diamond_inheritance.<locals>.C.boo  r  rB   r   N)r   r   r   r   r  r   r   r   s   @r@   r   r    s     %%rB   r   c                       ] tR tRtRtR# )=ClassPropertiesAndMethods.test_diamond_inheritance.<locals>.Di  r   Nrj  r   rB   r@   rk  r        trB   rk  c                       ] tR tRtRtR# )=ClassPropertiesAndMethods.test_diamond_inheritance.<locals>.Ei  r   Nrj  r   rB   r@   r  r    r  rB   r  c                       ] tR tRtRtR# )=ClassPropertiesAndMethods.test_diamond_inheritance.<locals>.Fi  r   Nrj  r   rB   r@   rL  r        4rB   rL  z#expected MRO order disagreement (F)c                       ] tR tRtRtR# )=ClassPropertiesAndMethods.test_diamond_inheritance.<locals>.Gi  r   Nrj  r   rB   r@   Gr    r  rB   r  z#expected MRO order disagreement (G)N)r~  rG   r   r  r  r   r   )r;   r  r  r   rk  r  rL  r  s   &       r@   test_diamond_inheritance2ClassPropertiesAndMethods.test_diamond_inheritance  s   	' 	'S)	' 	' 	S)C(	& 	&S)C(S)C(Q1$89S)C(Q1$89	=A II;<	=A II;<  		  		s$   H -H HHH+*H+c           
          ! R  R\         4      p ! R R\         4      p ! R R\         4      p ! R RV4      p ! R R	V4      p ! R
 RWBWS4      pV P                  VP                  WdW%W\         34       R# )c                       ] tR tRtRtR# )<ClassPropertiesAndMethods.test_ex5_from_c3_switch.<locals>.Ai  r   Nrj  r   rB   r@   r  r    r  rB   r  c                       ] tR tRtRtR# )<ClassPropertiesAndMethods.test_ex5_from_c3_switch.<locals>.Bi  r   Nrj  r   rB   r@   r  r    r  rB   r  c                       ] tR tRtRtR# )<ClassPropertiesAndMethods.test_ex5_from_c3_switch.<locals>.Ci  r   Nrj  r   rB   r@   r   r    r  rB   r   c                       ] tR tRtRtR# )<ClassPropertiesAndMethods.test_ex5_from_c3_switch.<locals>.Xi  r   Nrj  r   rB   r@   r&  r        DrB   r&  c                       ] tR tRtRtR# )<ClassPropertiesAndMethods.test_ex5_from_c3_switch.<locals>.Yi  r   Nrj  r   rB   r@   r)  r    r  rB   r)  c                       ] tR tRtRtR# )<ClassPropertiesAndMethods.test_ex5_from_c3_switch.<locals>.Zi  r   Nrj  r   rB   r@   r,  r    s    $rB   r,  Nr~  rG   r  )r;   r  r  r   r&  r)  r,  s   &      r@   test_ex5_from_c3_switch1ClassPropertiesAndMethods.test_ex5_from_c3_switch  sQ    AQ1v$>?rB   c                    ! R  R\         4      p ! R RV4      p ! R RV4      p ! R RV4      p ! R R	V4      p ! R
 RWC4      p ! R RV4      p ! R RWg4      pV P                  VP                  WdW#V\         34       V P                  VP                  WuW!\         34       V P                  VP                  WWGWRW1\         3	4       R# )c                       ] tR tRtRtR# )9ClassPropertiesAndMethods.test_monotonicity.<locals>.Boati  r   Nrj  r   rB   r@   Boatr        DrB   r  c                       ] tR tRtRtR# )<ClassPropertiesAndMethods.test_monotonicity.<locals>.DayBoati  r   Nrj  r   rB   r@   DayBoatr    s    TrB   r  c                       ] tR tRtRtR# )>ClassPropertiesAndMethods.test_monotonicity.<locals>.WheelBoati  r   Nrj  r   rB   r@   	WheelBoatr    s    trB   r  c                       ] tR tRtRtR# )?ClassPropertiesAndMethods.test_monotonicity.<locals>.EngineLessi  r   Nrj  r   rB   r@   
EngineLessr    s    4rB   r  c                       ] tR tRtRtR# )CClassPropertiesAndMethods.test_monotonicity.<locals>.SmallMultihulli  r   Nrj  r   rB   r@   SmallMultihullr    s    trB   r  c                       ] tR tRtRtR# )CClassPropertiesAndMethods.test_monotonicity.<locals>.PedalWheelBoati  r   Nrj  r   rB   r@   PedalWheelBoatr        DrB   r  c                       ] tR tRtRtR# )CClassPropertiesAndMethods.test_monotonicity.<locals>.SmallCatamarani  r   Nrj  r   rB   r@   SmallCatamaranr    s    drB   r  c                       ] tR tRtRtR# );ClassPropertiesAndMethods.test_monotonicity.<locals>.Pedaloi  r   Nrj  r   rB   r@   Pedalor    s    TrB   r  Nr  )	r;   r  r  r  r  r  r  r  r  s	   &        r@   test_monotonicity+ClassPropertiesAndMethods.test_monotonicity  s     6 !d!##''+W+8Z82^29^9//7tVL	N//wfE	Gz	A	BrB   c           
          ! R  R\         4      p ! R R\         4      p ! R R\         4      p ! R RW4      p ! R R	W4      p ! R
 RWE4      pV P                  VP                  WdWQW#\         34       R# )c                       ] tR tRtRtR# )AClassPropertiesAndMethods.test_consistency_with_epg.<locals>.Panei  r   Nrj  r   rB   r@   Paner    r  rB   r  c                       ] tR tRtRtR# )KClassPropertiesAndMethods.test_consistency_with_epg.<locals>.ScrollingMixini  r   Nrj  r   rB   r@   ScrollingMixinr        drB   r  c                       ] tR tRtRtR# )IClassPropertiesAndMethods.test_consistency_with_epg.<locals>.EditingMixini  r   Nrj  r   rB   r@   EditingMixinr    s    DrB   r  c                       ] tR tRtRtR# )KClassPropertiesAndMethods.test_consistency_with_epg.<locals>.ScrollablePanei  r   Nrj  r   rB   r@   ScrollablePaner    s    4rB   r   c                       ] tR tRtRtR# )IClassPropertiesAndMethods.test_consistency_with_epg.<locals>.EditablePanei  r   Nrj  r   rB   r@   EditablePaner    s    trB   r  c                       ] tR tRtRtR# )SClassPropertiesAndMethods.test_consistency_with_epg.<locals>.EditableScrollablePanei  r   Nrj  r   rB   r@   EditableScrollablePaner    s    4rB   r  Nr  )r;   r  r  r  r   r  r  s   &      r@   test_consistency_with_epg3ClassPropertiesAndMethods.test_consistency_with_epg  sX     6 *V*(6(7T7343G^G/77%|f6	7rB   c           	       a  R pV 3R lp ! R R\         4      p ! R RV4      p ! R R\         4      pV! \        R\        R	W33/ 4       V! \        V\        R	W43/ 4       V! \        V\        R	W5V3/ 4        ! R
 R\         4      p ! R RV4      p ! R RV4      p ! R RWx4      p	 ! R RW4      p
V! \        V\        RW3/ 4       R# )zCCannot create a consistent method resolution order (MRO) for bases c                 B  <  V! V!   SP                  R V ,          4       R#   T  du   p\        P                  ! 4       '       dO   \        T4      P	                  T4      '       g)   SP                  R\        T4      : RT: 24        Rp?R#  Rp?R#  Rp?R# Rp?ii ; i)zExpected %szMessage z, expected N)r   r   check_impl_detailr|  r  )excexpectedcallabler<   msgr;   s   &&&* r@   raises?ClassPropertiesAndMethods.test_mro_disagreement.<locals>.raises  s    	/$ 		-#-.  8,,..s8..x88		#&s8X#7 8 8 9 /8s   # BABBc                       ] tR tRtRtR# ):ClassPropertiesAndMethods.test_mro_disagreement.<locals>.Ai  r   Nrj  r   rB   r@   r  r    r  rB   r  c                       ] tR tRtRtR# ):ClassPropertiesAndMethods.test_mro_disagreement.<locals>.Bi  r   Nrj  r   rB   r@   r  r    r  rB   r  c                       ] tR tRtRtR# ):ClassPropertiesAndMethods.test_mro_disagreement.<locals>.Ci  r   Nrj  r   rB   r@   r   r    r  rB   r   zduplicate base class Ar&  c                       ] tR tRtRtR# )CClassPropertiesAndMethods.test_mro_disagreement.<locals>.GridLayouti  r   Nrj  r   rB   r@   
GridLayoutr    s    $rB   r  c                       ] tR tRtRtR# )GClassPropertiesAndMethods.test_mro_disagreement.<locals>.HorizontalGridi  r   Nrj  r   rB   r@   HorizontalGridr    s    $rB   r  c                       ] tR tRtRtR# )EClassPropertiesAndMethods.test_mro_disagreement.<locals>.VerticalGridi  r   Nrj  r   rB   r@   VerticalGridr    s    rB   r   c                       ] tR tRtRtR# )?ClassPropertiesAndMethods.test_mro_disagreement.<locals>.HVGridi  r   Nrj  r   rB   r@   HVGridr"    r  rB   r#  c                       ] tR tRtRtR# )?ClassPropertiesAndMethods.test_mro_disagreement.<locals>.VHGridi  r   Nrj  r   rB   r@   VHGridr%    r  rB   r&  ConfusedGridN)r~  r   rI   )r;   mro_err_msgr  r  r  r   r  r  r   r#  r&  s   f          r@   test_mro_disagreement/ClassPropertiesAndMethods.test_mro_disagreement  s    0
	/ 	 	y2S1&"	&y+S1&"	&y+S1)R	) 	'&.Z.,:,8^88\8y+^f%5r	;rB   c                l   \        4       pV P                  VP                  \         4       V P                  \        V4      \         4       \        4       pV P	                  W4       V P                  VR 4        ^Vn        V P                  R4       V P                  \        4       R4        ! R R\         4      pV! 4       pV P                  VP                  / 4       ^Vn        V P                  VP                  ^4       V P                  VP                  R ^/4       R#   \        \        3 d     Li ; i)r   z1object() should not allow setting a foo attributerK   c                       ] tR tRtRtR# ):ClassPropertiesAndMethods.test_object_class.<locals>.Cdicti  r   Nrj  r   rB   r@   Cdictr-    rl  rB   r.  N)r~  rG   r5  rI   assertNotEqualrS  r   r   AttributeErrorr   rK   )r;   rD   rW   r.  r  s   &    r@   test_object_class+ClassPropertiesAndMethods.test_object_class  s    Hf-a&)HA!a'	KAE IIIJfh
3	F 	GR("eQZ0 	* 		s   8D D32D3c                X    ! R  R\         P                  4      p\         P                  ! R4      pV P                  VP                  \         P                  J 4       V P	                  VR4       Wn        V P                  VP                  VJ 4       V P                  VR4       \         P                  Vn        V P                  VP                  \         P                  J 4       V P	                  VR4        ! R R\        4      pV P                  \        4      ;_uu_ 4        V^n        RRR4        ! R R\        4      pV P                  \        4      ;_uu_ 4        VR	n        RRR4        ! R
 R\        4      pV P                  \        4      ;_uu_ 4        VRn        RRR4        ! R R\        4      pV P                  \        4      ;_uu_ 4        VRn        RRR4        ! R R\        4      pV P                  \        4      ;_uu_ 4        VRn        RRR4        ! R R\        4      pV P                  \        4      ;_uu_ 4        VRn        RRR4        ! R R\        4      p	V P                  \        4      ;_uu_ 4        V	\        4       n        RRR4       R#   + '       g   i     EL; i  + '       g   i     EL[; i  + '       g   i     EL3; i  + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)c                       ] tR tRt^tRtR# )jClassPropertiesAndMethods.test_object_class_assignment_between_heaptypes_and_nonheaptypes.<locals>.SubTypei  r   Nr   r   r   r   rD   r   r   rB   r@   SubTyper5    s    ArB   r7  rQ   rD   c                       ] tR tRtRtRtR# )hClassPropertiesAndMethods.test_object_class_assignment_between_heaptypes_and_nonheaptypes.<locals>.MyInti/  r   Nr   r   r   r   r   r   r   rB   r@   MyIntr9  /      IrB   r;  Nc                       ] tR tRtRtRtR# )jClassPropertiesAndMethods.test_object_class_assignment_between_heaptypes_and_nonheaptypes.<locals>.MyFloati4  r   Nr:  r   rB   r@   MyFloatr>  4  r<  rB   r?        ?c                       ] tR tRtRtRtR# )lClassPropertiesAndMethods.test_object_class_assignment_between_heaptypes_and_nonheaptypes.<locals>.MyComplexi9  r   Nr:  r   rB   r@   	MyComplexrB  9  r<  rB   rC  c                       ] tR tRtRtRtR# )hClassPropertiesAndMethods.test_object_class_assignment_between_heaptypes_and_nonheaptypes.<locals>.MyStri>  r   Nr:  r   rB   r@   MyStrrE  >  r<  rB   rF  c                       ] tR tRtRtRtR# )jClassPropertiesAndMethods.test_object_class_assignment_between_heaptypes_and_nonheaptypes.<locals>.MyBytesiC  r   Nr:  r   rB   r@   MyBytesrH  C  r<  rB   rI     ac                       ] tR tRtRtRtR# )jClassPropertiesAndMethods.test_object_class_assignment_between_heaptypes_and_nonheaptypes.<locals>.MyTupleiH  r   Nr:  r   rB   r@   MyTuplerL  H  r<  rB   rM  c                       ] tR tRtRtRtR# )nClassPropertiesAndMethods.test_object_class_assignment_between_heaptypes_and_nonheaptypes.<locals>.MyFrozenSetiM  r   Nr:  r   rB   r@   MyFrozenSetrO  M  r<  rB   rP  y      ?       @r   )rz  r{  
assertTruer5  rS  assertHasAttrr1   rU  r   r2   r   r|  bytestuple	frozenset)
r;   r7  rQ   r;  r?  rC  rF  rI  rM  rP  s
   &         r@   ?test_object_class_assignment_between_heaptypes_and_nonheaptypesYClassPropertiesAndMethods.test_object_class_assignment_between_heaptypes_and_nonheaptypes  s'   	e&& 	 S!u'7'778a%w./1c"&&u'7'778a%	C 	y))!QM *	e 	y))%SO *	 	y))!*V *	C 	y))!CM *	e 	y))$DN *	e 	y))"BL *	) 	y))$/IK! *)= *))
 *))
 *))
 *))
 *)
 *)
 *))sT    J"J6K
KK2LL"J3	6K	
K	K/	2L	L	L)	c                  a aaa  ! R  R\         4      pV! 4       pS P                  VR4       S P                  VR4        ! R R\         4      pV! 4       pS P                  VR4       S P                  VR4       ^Vn        S P                  VP                  ^4       RVn        S P                  VP                  R4       V=S P                  VR4        ! R R	\         4      pV! 4       pS P                  VR4       S P                  VR4       S P                  VR
4       S P                  VR4       ^Vn        ^Vn        ^Vn        S P                  VP                  ^4       S P                  VP                  ^4       S P                  VP
                  ^4        ! R R\         4      pV! ^4      pS P                  VR4       S P                  VR4       S P                  VP                  4       ^4        ^Vn        S P                  R4         ! R R\         4      pS P                  R4         ! R R\         4      pS P                  R4         ! R R\         4      pS P                  R4         ! R R\         4      pS P                  R4         ! R R\         4      pS P                  R4        ! R R\         4      p ! R R\         4      pV! 4       p^Vn        S P                  VP                  ^4        ! R R\         4      pV! 4       p^Vn        S P                  VP                  ^4       R:o ! V3R lR\         4      pV! 4       p^Vn        S P                  VP                  ^4       S P                  \        S^ ,          4      \        4         ! R  R\         4      pS P                  R!4        ! V3R" lR#\         4      o ! R$ R\         4      pV! 4       pS! 4       Vn        S! 4       Vn        S! 4       Vn        S P                  SP"                  ^4       ?\$        P&                  ! 4        S P                  SP"                  ^ 4        ! R% R&V4      p	V	! 4       pS! 4       Vn        S! 4       Vn        S P                  SP"                  ^4       ?\$        P&                  ! 4        S P                  SP"                  ^ 4        ! R' R(V	4      p
V
! 4       pS! 4       Vn        S! 4       Vn        S! 4       Vn        S P                  SP"                  ^4       ?\$        P&                  ! 4        S P                  SP"                  ^ 4        ! R) R*\         4      pV! 4       pS! 4       V.Vn        S P                  SP"                  ^4       Rp\$        P&                  ! 4        S P                  SP"                  ^ 4       \-        \.        R+4      '       d{    ! R, R-\         4      pV! 4       p\1        \.        P2                  ! 4       4      p\5        ^
4       F  pW8H   K	  	  \1        \.        P2                  ! 4       4      pS P                  VV4        ! V 3R. lR/\         4      p\$        P6                  ! R04      ;_uu_ 4       pV! 4       p?RRR4       S P                  VP9                  4       R14        ! R2 R3\         4      pS P;                  \        4      ;_uu_ 4        V! 4       =RRR4        ! R4 R3\         4      pS P=                  \        R54      ;_uu_ 4        V! 4       P                   RRR4        ! R6 R7\        4      o ! V3R8 lR3\         4      p^V! 4       n        S P=                  \        R94      ;_uu_ 4        V! 4       P                   RRR4       R#   \         d     ELi ; i  \         d     ELi ; i  \         d     ELi ; i  \         d     ELpi ; i  \         d     ELai ; i  \         d     ELRi ; i  \        \         3 d     ELdi ; i  + '       g   i     EL; i  + '       g   i     ELW; i  + '       g   i     EL$; i  + '       g   i     R# ; i);c                       ] tR tRt. tRtR# )0ClassPropertiesAndMethods.test_slots.<locals>.C0iU  r   Nr:  r   rB   r@   C0rZ  U  r<  rB   r[  rK   r   c                       ] tR tRtR.tRtR# )0ClassPropertiesAndMethods.test_slots.<locals>.C1i[  rD   r   Nr:  r   rB   r@   C1r]  [  	    IrB   r^  rD   Nc                       ] tR tRt. ROtRtR# )0ClassPropertiesAndMethods.test_slots.<locals>.C3ig  r   NrD   rW   r\   r:  r   rB   r@   C3ra  g      'IrB   rc  rW   r\   c                   6   a  ] tR tRt o RtR.tR tR tRtV t	R# )0ClassPropertiesAndMethods.test_slots.<locals>.C4iu  zValidate name mangling__ac                    Wn         R # r   _C4__ar;   r'  s   &&r@   r5   9ClassPropertiesAndMethods.test_slots.<locals>.C4.__init__x       rB   c                    V P                   # r   ri  r   s   &r@   r   4ClassPropertiesAndMethods.test_slots.<locals>.C4.getz      xxrB   )rg  N)
r   r   r   r   __doc__r   r5   r   r   r   r   s   @r@   C4rf  u  s     (I!   rB   rr  rg  z$Double underscored names not mangledc                       ] tR tRtR.tRtR# )/ClassPropertiesAndMethods.test_slots.<locals>.Ci  Nr   r:  r   rB   r@   r   rt    s	    !F	rB   r   z[None] slots not caughtc                       ] tR tRtR.tRtR# )rt  i  zfoo barr   Nr:  r   rB   r@   r   rt    s	    &K	rB   z['foo bar'] slots not caughtc                       ] tR tRtR.tRtR# )rt  i  zfoo barr   Nr:  r   rB   r@   r   rt    s	    'L	rB   z['foo\0bar'] slots not caughtc                       ] tR tRtR.tRtR# )rt  i  1r   Nr:  r   rB   r@   r   rt    s	     E	rB   z['1'] slots not caughtc                       ] tR tRtR.tRtR# )rt  i  r   r   Nr:  r   rB   r@   r   rt    s	    D	rB   z[''] slots not caughtc                       ] tR tRt. ROtRtR# )BClassPropertiesAndMethods.test_slots.<locals>.WithValidIdentifiersi  r   N)rD   a_b_aA0123456789Zr:  r   rB   r@   WithValidIdentifiersr{    s    :IrB   r  c                       ] tR tRtRtRtR# )rt  i  abcr   Nr:  r   rB   r@   r   rt        IrB   c                       ] tR tRtRtRtR# )rt  i  r  r   Nr:  r   rB   r@   r   rt    r  rB   c                      < ] tR tRt Z tRtR# )rt  i  r   Nr:  )slotss   r@   r   rt    s    IrB   c                   (    ] tR tRt]! ^4      .tRtR# )rt  i  r   N)r   r   r   r   chrr   r   r   rB   r@   r   rt    s     XJ	rB   z[chr(128)] slots not caughtc                   >   <a  ] tR tRt o ^ tV3R ltV3R ltRtV tR# )5ClassPropertiesAndMethods.test_slots.<locals>.Countedi  c                :   < S;P                   ^,          un         R# r  r  r;   Counteds   &r@   r5   >ClassPropertiesAndMethods.test_slots.<locals>.Counted.__init__      1$rB   c                :   < S;P                   ^,          un         R# r  r  r  s   &r@   __del__=ClassPropertiesAndMethods.test_slots.<locals>.Counted.__del__  r  rB   r   N)	r   r   r   r   r  r5   r  r   r   )r   r  s   @r@   r  r    s     G%% %rB   r  c                       ] tR tRt. ROtRtR# )rt  i  r   Nrb  r:  r   rB   r@   r   rt    rd  rB   c                       ] tR tRtRtR# )/ClassPropertiesAndMethods.test_slots.<locals>.Di  r   Nrj  r   rB   r@   rk  r    rl  rB   rk  c                       ] tR tRtR.tRtR# )/ClassPropertiesAndMethods.test_slots.<locals>.Ei  er   Nr:  r   rB   r@   r  r    r_  rB   r  c                       ] tR tRtRR.tRtR# )/ClassPropertiesAndMethods.test_slots.<locals>.Fi  rD   rW   r   Nr:  r   rB   r@   rL  r        c
IrB   rL  get_objectsc                   &   a  ] tR tRt o R tRtV tR# )/ClassPropertiesAndMethods.test_slots.<locals>.Gi   c                    R # )Fr   r   s   &&r@   __eq__6ClassPropertiesAndMethods.test_slots.<locals>.G.__eq__  s     rB   r   Nr   r   r   r   r  r   r   r   s   @r@   r  r     s     ! !rB   r  c                   <   <a  ] tR tRt o RR.tR tV3R ltRtV tR# )/ClassPropertiesAndMethods.test_slots.<locals>.Hi
  rD   rW   c                "    ^V n         ^V n        R# r  rD   rW   r   s   &r@   r5   8ClassPropertiesAndMethods.test_slots.<locals>.H.__init__  s    rB   c                x   < SP                  V P                  ^4       SP                  V P                  ^4       R# r  )rG   rD   rW   )self_r;   s   &r@   r  7ClassPropertiesAndMethods.test_slots.<locals>.H.__del__  s+      !,  !,rB   r  N)	r   r   r   r   r   r5   r  r   r   r2  s   @r@   Hr  
  s     c
I- -rB   r  stderrr   c                       ] tR tRtRtRtR# )/ClassPropertiesAndMethods.test_slots.<locals>.Xi  rD   r   Nr:  r   rB   r@   r&  r        IrB   r&  c                       ] tR tRtRtRtR# )r  i  rD   r   Nr:  r   rB   r@   r&  r    r  rB   z]'test.test_descr.ClassPropertiesAndMethods.test_slots.<locals>.X' object has no attribute 'a'c                       ] tR tRtRtR# )4ClassPropertiesAndMethods.test_slots.<locals>.SubStri#  r   Nrj  r   rB   r@   SubStrr  #  rl  rB   r  c                   ,   < ] tR tRt Z ! R4      3tRtR# )r  i%  r  r   Nr:  )r  s   r@   r&  r  %  s    IrB   z'X' object has no attribute 'a'r  ) r~  rS  rD   rG   rW   r\   r   _ClassPropertiesAndMethods__ar   r0  r   r  r   r4  rI   r|  UnicodeEncodeErrorr  r   
gc_collectzr  r   gcr  r  r  captured_outputgetvaluerU  assertRaisesRegexr  )r;   r[  r  r^  rc  rr  r   r  r\   rk  r  rL  sr  gorig_objectsr   new_objectsr  hr&  r  r  r  s   f                    @@@r@   
test_slots$ClassPropertiesAndMethods.test_slotsR  s   	 	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 (
 II45	8)F )
 II67	0"F "
 II./	/!F !
 II-.	;6 	;	 	C"	 	C" 	 	C"d58nc*	5'F '
 II34	%f 	%	( 	(Ciii!,!,	 	Cii!,!,	 	Ciii!,!,	# 	#Cy!n!,!, 2}%%!F ! Ar~~/0L2Y bnn./K\;7	- 	- $$X..!A / 	r*	 	~.. /	 	##N  5T  U  UCEE U	S 		' 	'##N4UVVCEE WVM  		  		  		  		  		  		F -. 		P /.. /.. U  U  U WVVs   6^ ^/ 0_ _ 2_% _7 `	 	`!`5a	a^,+^,/^>=^>___"!_"%_43_47``	``!`2	5a		a	a.	c                    ! R  R\         4      pV! 4       pV P                  VR4       V P                  VR4       ^*Vn        V P	                  VP
                  R^*/4        ! R R\         4      pV! 4       pV P                  VR4       V P                  VR4        ^*Vn        V P                  R4        ! R R	W14      pV! 4       pV P                  VR4       V P                  VR4       ^*Vn        V P	                  VP
                  R^*/4        ! R
 RW4      pV! 4       pV P                  VR4       V P                  VR4       ^*Vn        V P	                  VP
                  R^*/4       R#   \         d     Li ; i)c                       ] tR tRtR.tRtR# )7ClassPropertiesAndMethods.test_slots_special.<locals>.Di-  rK   r   Nr:  r   rB   r@   rk  r  -  	    #IrB   rk  rK   __weakref__r   c                       ] tR tRtR.tRtR# )7ClassPropertiesAndMethods.test_slots_special.<locals>.Wi5  r  r   Nr:  r   rB   r@   Wr  5  	    &IrB   r  z!shouldn't be allowed to set a.fooc                       ] tR tRt. tRtR# )8ClassPropertiesAndMethods.test_slots_special.<locals>.C1iA  r   Nr:  r   rB   r@   r^  r  A  r<  rB   r^  c                       ] tR tRt. tRtR# )8ClassPropertiesAndMethods.test_slots_special.<locals>.C2iI  r   Nr:  r   rB   r@   r  r  I  r<  rB   r  N)r~  rR  rS  r   rG   rK   r   r0  )r;   rk  rD   r  r^  r  s   &     r@   test_slots_special,ClassPropertiesAndMethods.test_slots_special+  sZ   	% 	%C1j)a/eR[1	( 	(C1m,a,	;AE II9:	 	D1j)1m,eR[1	 	D1j)1m,eR[1'  		s   E+ +E98E9c                  a   ! V 3R  lR\         4      p ! R R4      p ! R RW!RR7      pS P                  VP                  R,          \        P                  4       V! 4       pS P                  VP                  ^*4       S P                  VR4       ^*Vn        S P                  VP                  ^*4       S P                  \        4      ;_uu_ 4         ! R R	4      pR
R
R
4        ! R RVRR7      pS P                  VP                  VP                  R
R R,           4       S P                  VP                  R,          \        P                  4       V! 4       pS P                  VR4       RVn        S P                  VP                  R4       S P                  \        4      ;_uu_ 4         ! R R4      pR
R
R
4       R
#   + '       g   i     L; i  + '       g   i     R
# ; i)c                   6   <a a ] tR tRt oV V3R ltRtVtV ;t# );ClassPropertiesAndMethods.test_slots_special2.<locals>.MetaiS  c                F   < SP                  WC4       \        SV `	  WW#4      # r   )rR  r  r   )r   r>   rr  	namespaceattrr5  r;   s   &&&&&r@   r   CClassPropertiesAndMethods.test_slots_special2.<locals>.Meta.__new__T  s     d.ws%CCrB   r   r  r5  r   r;   s   @@r@   Metar  S  s     D DrB   r  c                   &   a  ] tR tRt o R tRtV tR# )9ClassPropertiesAndMethods.test_slots_special2.<locals>.C1iX  c                    ^*V n         R# )r  NrW   r   s   &r@   r5   BClassPropertiesAndMethods.test_slots_special2.<locals>.C1.__init__Y  s	    rB   r  Nr  r   s   @r@   r^  r  X  r  rB   r^  c                   8   a a ] tR tRt oR.tV 3R ltRtVtV ;t# )9ClassPropertiesAndMethods.test_slots_special2.<locals>.C2i[  r  c                $   < \         SV `  4        R # r   r  r5   )r;   r5  s   &r@   r5   BClassPropertiesAndMethods.test_slots_special2.<locals>.C2.__init__]  s     "rB   r   )	r   r   r   r   r   r5   r   r   r  r5  r   s   @@r@   r  r  [  s     ()I# #rB   r  r  )r`  r  c                        ] tR tRt^*tR.tRtR# )9ClassPropertiesAndMethods.test_slots_special2.<locals>.C3ig  r  r   N)r   r   r   r   r  r   r   r   rB   r@   rc  r  g  s     ",-	rB   rc  Nc                       ] tR tRtR.tRtR# )9ClassPropertiesAndMethods.test_slots_special2.<locals>.Q1ik  r   r   Nr:  r   rB   r@   Q1r  k  s
    '(IrB   r  r   qc                   *    ] tR tRt]! 4       tR.tRtR# )9ClassPropertiesAndMethods.test_slots_special2.<locals>.Q2iu  r   r   N)r   r   r   r   r~  r   r   r   rB   r@   Q2r  u  s    %x+,	rB   r  )rI   r&  rK   rz  MemberDescriptorTyperG   rW   rS  r  rU  r   r   )	r;   r  r^  r  r\   rc  r  r  r  s	   f        r@   test_slots_special2-ClassPropertiesAndMethods.test_slots_special2Q  sq   	D4 	D
	 		#/ 	# 	bkk/:#88	:Db!a1"-y)). . *
	)4n 	)"//#2*>*EFbkk.9#88	:Da0-y))- - *) *) *))s   G +G G	G$	c                   ^ RI p ! R RVP                  R7      p ! R R\        4      pVP                  V4       V! 4       pV P	                  WB4       V P                  \        VP                  P                  V^4       R# )r   Nc                       ] tR tRtRtRtR# )>ClassPropertiesAndMethods.test_slots_descriptor.<locals>.MyABCi}  rD   r   Nr:  r   rB   r@   MyABCr  }  r  rB   r  r_  c                       ] tR tRtRtR# )BClassPropertiesAndMethods.test_slots_descriptor.<locals>.Unrelatedi  r   Nrj  r   rB   r@   	Unrelatedr    rl  rB   r  )	r  ABCMetar~  registerr&  rU  r   rD   __set__)r;   r  r  r  us   &    r@   test_slots_descriptor/ClassPropertiesAndMethods.test_slots_descriptory  sb     		ckk 		 	y!Ka' 	)UWW__a;rB   c                \    ! R  R\         4      p ! R RV4      p ! R RV4      p^Vn        V P                  VP                  ^4       V P                  VP                  ^4       V P                  VP                  ^4        ! R R\         4      pV! 4       pV P                  VR4       ^Vn        V P                  VP                  ^4       R	 Vn        V P                  VP                  4       ^*4       R
 Vn        V P                  \        V4      R4       R Vn        V P                  \        V4      ^d4       V P                  VP                  ^4       V P                  VR4       R pWdn
        V P                  VP                  R4       ^Vn        V P                  VP                  ^4       R pWtn        V P                  \        4      ;_uu_ 4        RVn        RRR4       V P                  VP                  R4        ! R RV4      pV! 4       p^Vn        V P                  VP                  ^4        ! R R\        4      p	V P                  RV	! ^4      ,          R4       V P                  V	! ^4      R,          R4       V P                  ^V	! ^4      ,          ^4       V P                  V	! ^4      ^,          ^4       V P                  V	! ^4      V	! ^4      ,          ^4        ! R R\         4      p
 ! R RV
R7      pV P#                  V\         4       R#   + '       g   i     ELE; i)c                       ] tR tRtRtR# )2ClassPropertiesAndMethods.test_dynamics.<locals>.Di  r   Nrj  r   rB   r@   rk  r    rl  rB   rk  c                       ] tR tRtRtR# )2ClassPropertiesAndMethods.test_dynamics.<locals>.Ei  r   Nrj  r   rB   r@   r  r    rl  rB   r  c                       ] tR tRtRtR# )2ClassPropertiesAndMethods.test_dynamics.<locals>.Fi  r   Nrj  r   rB   r@   rL  r    rl  rB   rL  c                       ] tR tRtRtR# )2ClassPropertiesAndMethods.test_dynamics.<locals>.Ci  r   Nrj  r   rB   r@   r   r    rl  rB   r   foobarc                     ^*# r  r   r   s   &r@   <lambda>9ClassPropertiesAndMethods.test_dynamics.<locals>.<lambda>  s    rB   c                     R # )C()r   r   s   &r@   r  r    s    %rB   r  c                     ^d# r@  r   r   s   &r@   r  r    s    rB   r   c                      VR 8X  d   R # \         hr   r0  r;   r>   s   &&r@   	mygetattr:ClassPropertiesAndMethods.test_dynamics.<locals>.mygetattr  s    v~  rB   c                 H    VR 8X  d   \         h\        P                  WV4      # r  )r0  r~  rd  )r;   r>   r'  s   &&&r@   	mysetattr:ClassPropertiesAndMethods.test_dynamics.<locals>.mysetattr  s"    v~$$%%d%88rB   znot spamNc                       ] tR tRtRtR# )r  i  r   Nrj  r   rB   r@   rk  r    rl  rB   c                       ] tR tRtRtR# )2ClassPropertiesAndMethods.test_dynamics.<locals>.Ii  r   Nrj  r   rB   r@   Ir    rl  rB   r  rD   aac                       ] tR tRtRtR# )AClassPropertiesAndMethods.test_dynamics.<locals>.dynamicmetaclassi  r   Nrj  r   rB   r@   dynamicmetaclassr    rl  rB   r   c                       ] tR tRtRtR# ):ClassPropertiesAndMethods.test_dynamics.<locals>.someclassi  r   Nrj  r   rB   r@   	someclassr"    rl  rB   r#  r_  )r~  r   rG   rS  r	  methodr   r   r  r1   __getattr__r   newrd  rU  r0  rI   r/  )r;   rk  r  rL  r   rD   r  r  rO   r  r   r#  s   &           r@   test_dynamics'ClassPropertiesAndMethods.test_dynamics  s   	 		 		 	"""	 	Ca*1%"R('
a%($	Q%1%a(	! "(#	9 "~..AF / 	(	 	C"	 	QqT4(1c4(1Q4#1a#1adA&	t 		"2 	Iv.1 /..s   LL+	c                     ! R  R\         \        4      pV P                  R4         ! R R\        R4      pV P                  R4        ! R R4      p  ! R R\        \        4      4      pV P                  R	4         ! R
 R\        4      pV P                  R4         ! R R\        4      pV P                  R4        ! R R\
        4      p ! R R\
        4      p ! R R\        VR7      p ! R R\        VR7      p  ! R RWV4      pV P                  R4       R#   \         d     ELi ; i  \         d     Li ; i  \         d     Li ; i  \         d     Li ; i  \         d     Li ; i  \         d     R# i ; i)c                       ] tR tRtRtR# )0ClassPropertiesAndMethods.test_errors.<locals>.Ci  r   Nrj  r   rB   r@   r   r+    rH  rB   r   z5inheritance from both list and dict should be illegalc                       ] tR tRtRtR# )r+  i  r   Nrj  r   rB   r@   r   r+    rH  rB   Nz+inheritance from non-type should be illegalc                       ] tR tRtRtR# )6ClassPropertiesAndMethods.test_errors.<locals>.Classici  r   Nrj  r   rB   r@   Classicr.    rl  rB   r/  c                       ] tR tRtRtR# )r+  i  r   Nrj  r   rB   r@   r   r+    rH  rB   z,inheritance from CFunction should be illegalc                       ] tR tRt^tRtR# )r+  i  r   Nr:  r   rB   r@   r   r+    s    	rB   z__slots__ = 1 should be illegalc                       ] tR tRt^.tRtR# )r+  i  r   Nr:  r   rB   r@   r   r+    s	    C	rB   z!__slots__ = [1] should be illegalc                       ] tR tRtRtR# )1ClassPropertiesAndMethods.test_errors.<locals>.M1i  r   Nrj  r   rB   r@   ru  r4    rl  rB   ru  c                       ] tR tRtRtR# )1ClassPropertiesAndMethods.test_errors.<locals>.M2i  r   Nrj  r   rB   r@   r  r6    rl  rB   r  c                       ] tR tRtRtR# )1ClassPropertiesAndMethods.test_errors.<locals>.A1i  r   Nrj  r   rB   r@   A1r8    rl  rB   r9  r_  c                       ] tR tRtRtR# )1ClassPropertiesAndMethods.test_errors.<locals>.A2i  r   Nrj  r   rB   r@   A2r;    rl  rB   r<  c                       ] tR tRtRtR# )0ClassPropertiesAndMethods.test_errors.<locals>.Bi  r   Nrj  r   rB   r@   r  r>    rH  rB   r  z5finding the most derived metaclass should have failed)r7   r   r   r   r~  rI   r  )r;   r   r/  ru  r  r9  r<  r  s   &       r@   test_errors%ClassPropertiesAndMethods.test_errors  s   	OD$ 
 IIMN	EFD 
 IICD	 		FDI 
 IIDE	9F 
 II78	; F  
 II9:	 		 		2 		2 		OB 
 IIMNk  		  		  		  		  		   		sj   D D0 E >E E#  E4 D-,D-0D>=D>EEE E #E10E14FFc                  <  ! R  R\         4      pV! 4       pV P                  VP                  ^4      V^34       V P                  VP                  ^4      V^34       V P                  VP                  ^4      V^34        ! R RV4      pV! 4       pV P                  VP                  ^4      V^34       V P                  VP                  ^4      V^34       V P                  VP                  ^4      V^34       V P                  VP                  V^4      V^34       R p\	        V4      pV P                  VP                  ^ \        4      ! ^*4      \        ^*34       V P                  VP                  ^ 4      ! ^*4      \        ^*34       V P                  VP                  P                  V4       V P                  VP                  P                  V4       V P                  \        W3`
  P                  V4       V P                  \        W4`
  P                  V4       V P                  \        W3`  4       V34       V P                  \        W4`  4       V34       \	        ^4      P                  ^4      pV P                  \        V4        \	        V^R7       V P                  R4       \	        V4      pR\        P                  '       d   RMR	R
\        RRRVP                  /p	V P                  VP                   V	4       ^*Vn        V P                  VP"                  ^*4       V P                  VP                   R^*/V	C4       V=V P%                  VR4       R	#   \         d     Li ; i)c                   6   a  ] tR tRt o R t]! ]4      tRtV tR# )6ClassPropertiesAndMethods.test_classmethods.<locals>.Ci  c                     V # r   r   rD   s   *r@   r   :ClassPropertiesAndMethods.test_classmethods.<locals>.C.foo      rB   r   N	r   r   r   r   r   r  goor   r   r   s   @r@   r   rC         !c"CrB   r   c                       ] tR tRtRtR# )6ClassPropertiesAndMethods.test_classmethods.<locals>.Di  r   Nrj  r   rB   r@   rk  rL    rl  rB   rk  c                    W3# )f docstringr   )r   args   &&r@   f6ClassPropertiesAndMethods.test_classmethods.<locals>.f  s
    :rB   r  z)classmethod shouldn't accept keyword argsrq  rN  Nr   r   rP  r   r  )r~  rG   rI  r   r  r  r1   __self__r  rU  r   r   r   HAVE_PY_DOCSTRINGSr   r   rK   r  rS  )r;   r   r\   rk  rO   rP  ffrN   cmcm_dictr5  s   &         r@   test_classmethods+ClassPropertiesAndMethods.test_classmethods	  s   	# 	# CqAq6*qAq6*qAq6*	 	CqAq6*qAq6*qAq6*q!q!f-	 ^As+B/#r;Ar*S"I6 	++q00!4q00!4q)A40q)A40 1~%%a()T*	Ca  IIAB^!444 % s!1>>3 	g.r"sR&;7&;<Db#&)  		s   M M('M(c                   \         \        3 EF  pVR  4       pVR R l4       pW23 EF  pV P                  WR7      ;_uu_ 4        V P                  \        4      ;_uu_ 4        V=RRR4       \        VP                  P
                  4      pV P                  RVP                  4       V P                  VP
                  V4       V P                  RVP                  4       RR/pWdn        V P                  VP
                  V4       V P                  VP                  P
                  V4       V=V P                  VP
                  V4       VP                  P                  pV P                  RVP                  4       V P                  VP                  V4       V P                  RVP                  4       R	 pWn        V P                  VP                  V4       V P                  VP                  P                  V4       V=V P                  VP                  V4       RRR4       EK  	  EK!  	  R#   + '       g   i     EL; i  + '       g   i     EK1  ; i)
c                     R # r   r   rd  s   &r@   unannotatedXClassPropertiesAndMethods.test_classmethod_staticmethod_annotations.<locals>.unannotatedH  s    "&rB   c                $    V ^8  d   QhR\         /# )r   returnr1   )formats   "r@   __annotate__YClassPropertiesAndMethods.test_classmethod_staticmethod_annotations.<locals>.__annotate__K  s    ++#+rB   c                     R # r   r   rd  s   &r@   	annotatedVClassPropertiesAndMethods.test_classmethod_staticmethod_annotations.<locals>.annotatedJ  s    '+rB   )decor$  N__annotations__rD   rW   rb  c                  
    R ^/# )annotationsr   r   rB   r@   r  UClassPropertiesAndMethods.test_classmethod_staticmethod_annotations.<locals>.<lambda>d  s	    M1+=rB   )r  r  subTestrU  r0  rh  r   __wrapped__assertNotInrK   rG   rR  rb  r4  )	r;   rg  r\  re  r$  original_annotationsnew_annotationsoriginal_annotatenew_annotates	   &        r@   )test_classmethod_staticmethod_annotationsCClassPropertiesAndMethods.test_classmethod_staticmethod_annotationsF  s    ,/D& &+ +$2\\t\;;**>::'7 ; ,00B0B0R0R+S($$%6H$$V%;%;=QRMM"3V__E'*CjO-<*$$V%;%;_M$$V%7%7%G%GI]^.$$V%;%;=QR(.(:(:(G(G%$$^V__EMM&"5"57HIMM.&//B#=L*6'MM&"5"5|DMM&"4"4"A"ACTU+MM&"5"57HI9 <; 3 0 ;:: <;;s%   I	#H2&F8I	2I=	I	Ic                     ! R  R4      pV P                  VP                  P                  / 4       VP                  R,          pV P	                  V\
        4       V P                  VP                  / 4       R# )c                   &   a  ] tR tRt o R tRtV tR# )YClassPropertiesAndMethods.test_staticmethod_annotations_without_dict_access.<locals>.Spamin  c                    R # r   r   )r   r  ys   &&&r@   r   aClassPropertiesAndMethods.test_staticmethod_annotations_without_dict_access.<locals>.Spam.__new__o      rB   r   Nrt  r   s   @r@   Spamrw  n        rB   r|  r   N)rG   r   rh  rK   r&  r  )r;   r|  objs   &  r@   1test_staticmethod_annotations_without_dict_accessKClassPropertiesAndMethods.test_staticmethod_annotations_without_dict_accessl  s\    	 	 	55r:mmI&c<0,,b1rB   c                    \         P                  ! \        R 4      p\        R4      pV! 4       p\	        ^d4       F  pVP                  R4       K  	  V P                  V! 4       V,
          ^ ^
R7       R# gettotalrefcountN)delta)r   get_attributer  r  r  r5   assertAlmostEqual)r;   r  rV  refs_beforer   s   &    r@   %test_refleaks_in_classmethod___init__?ClassPropertiesAndMethods.test_refleaks_in_classmethod___init__w  s`    "006HI&(sAKK /1K?"MrB   r   Nr   c                   ^ RI pR	pR^{/pVP                  P                  ! V/ VB w  rEpV P                  WAP                  4       V P                  W%4       V P                  W64       VP                  4       P                  ! V/ VB w  rEpV P                  WAP                  4       V P                  W%4       V P                  W64       VP                  P                  R,          pV! VP                  .VO5/ VB w  rp
V P                  WP                  4       V P                  W4       V P                  W4        ! R RVP                  4      pV! V.VO5/ VB w  rp
V P                  W4       V P                  W4       V P                  W4       V P                  \        4      ;_uu_ 4       pV! 4        RRR4       V P                  \        XP                  4      R4       V P                  \        4      ;_uu_ 4       pV! VP                  4       4       RRR4       V P                  \        VP                  4      R4       V P                  \        4      ;_uu_ 4       pV! \        4       RRR4       RpV P                  \        VP                  4      V4       V P                  \        4      ;_uu_ 4       pVP                  R\        4       RRR4       V P                  \        VP                  4      V4       R#   + '       g   i     ELS; i  + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     Lr; i)
r   Nr  	classmethc                       ] tR tRtRtR# )AClassPropertiesAndMethods.test_classmethods_in_c.<locals>.SubSpami  r   Nrj  r   rB   r@   SubSpamr    r  rB   r  zGdescriptor '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'r   )r   r   r  rG   rK   rU  r   r|  	exceptionr7   r  )r;   r   rD   rO   r  r6  d1spam_cmx2r7  d2r  rV  expected_errmsgs   &             r@   test_classmethods_in_c0ClassPropertiesAndMethods.test_classmethods_in_c  s    	!CLMM++Q4!4	rMM*MMO--q6A6	rMM*--((5T]]4Q4!4
]]+  *dmm*W.q.A.
%  y))RI *'	(
 y))RDMMO$ *@	A
 y))RDM *" 	 	R\\*O<y))ROOD$' *R\\*O</ *)) *)) *) *)s0   .L  L!L(:L; L	L%	(L8	;M	c                Z    ! R  R\         4      pV! 4       pV P                  VP                  ^4      R4       V P                  VP                  ^4      R4       V P                  VP                  ^4      V^34        ! R RV4      pV! 4       pV P                  VP                  ^4      R4       V P                  VP                  ^4      R4       V P                  VP                  ^4      V^34       V P                  VP                  V^4      V^34       \	        R4      pV P                  VP
                  RRP                  /4       ^*Vn        V P                  VP                  ^*4       V P                  VP
                  R^*RRP                  /4       V=V P                  VR4       R# )c                   6   a  ] tR tRt o R t]! ]4      tRtV tR# )7ClassPropertiesAndMethods.test_staticmethods.<locals>.Ci  c                     V # r   r   rE  s   *r@   r   ;ClassPropertiesAndMethods.test_staticmethods.<locals>.C.foo  rG  rB   r   N)	r   r   r   r   r   r  rI  r   r   r   s   @r@   r   r    s     !s#CrB   r   c                       ] tR tRtRtR# )7ClassPropertiesAndMethods.test_staticmethods.<locals>.Di  r   Nrj  r   rB   r@   rk  r    rl  rB   rk  Nrq  r  r   )	r~  rG   rI  r   r  rK   rq  r  rS  )r;   r   r\   rk  rO   sms   &     r@   test_staticmethods,ClassPropertiesAndMethods.test_staticmethods  sX   	$ 	$ Cq4(q4(qAq7+	 	Cq4(q4(qAq6*q!q!f-$y$,,&?@r"sRDLL&IJDb#&rB   c                    \         P                  ! \        R 4      p\        R4      pV! 4       p\	        ^d4       F  pVP                  R4       K  	  V P                  V! 4       V,
          ^ ^
R7       R# r  )r   r  r  r  r  r5   r  )r;   r  r  r  r   s   &    r@   &test_refleaks_in_staticmethod___init__@ClassPropertiesAndMethods.test_refleaks_in_staticmethod___init__  s`    "006HI$&(sAKK /1K?"MrB   c                n   ^ RI pRpR^{/pVP                  P                  ! V/ VB w  rEpV P                  VR4       V P                  W%4       V P                  W64       VP                  4       P                  ! V/ VB w  rEpV P                  VR4       V P                  W%4       V P                  W64       R# )r   Nr  r   )r   r   
staticmethrG   )r;   r   rD   rO   r  r6  r  r  s   &       r@   test_staticmethods_in_c1ClassPropertiesAndMethods.test_staticmethods_in_c  s     	!CLMM,,a515	rD!MMO..7Q7	rD!rB   c                0  a  ! R  R4      oS! 4       pV P                  SP                  ^4      S^34       V P                  VP                  ^4      S^34       V P                  VP                  ^4      V^34        ! R RS4      pV! 4       pV P                  VP                  ^4      V^34       V P                  VP                  ^4      V^34       V P                  VP                  ^4      V^34       V P                  VP                  V^4      V^34        ! V3R lR4      pV P                  V! 4       P                  P                  SP                  4       V P	                  \        SP                  P                  S! 4       4      4      R4       R# )c                   6   a  ] tR tRt o R t]! ]4      tRtV tR# )1ClassPropertiesAndMethods.test_classic.<locals>.Ci  c                     V # r   r   rE  s   *r@   r   5ClassPropertiesAndMethods.test_classic.<locals>.C.foo  rG  rB   r   NrH  r   s   @r@   r   r    rJ  rB   r   c                       ] tR tRtRtR# )1ClassPropertiesAndMethods.test_classic.<locals>.Di  r   Nrj  r   rB   r@   rk  r    rl  rB   rk  c                   2   < ] tR tRt Z P                  tRtR# )1ClassPropertiesAndMethods.test_classic.<locals>.Ei  r   Nr   r   r   r   r   r   r  s   r@   r  r        %%CrB   r  <bound method N)rG   rI  r   __func__assertStartsWithr   r  )r;   r\   rk  rO   r  r   s   &    @r@   test_classic&ClassPropertiesAndMethods.test_classic  s>   	# 	# CqAq6*qAq6*qAq6*	 	CqAq6*qAq6*qAq6*q!q!f-	 	))1551d155==#568HIrB   c                H    ! R  R\         4      pV! 4       pV P                  VP                  ^ 4       V P                  VP                  ^4       ^
Vn        V P                  VP                  ^
4       V P                  VP                  ^4       V=V P                  VR4       R# )c                   b   a  ] tR tRt o  ! R R]4      tR tR tR tR t	]! ]]]	4      t
RtV tR	# )
2ClassPropertiesAndMethods.test_compattr.<locals>.Ci  c                   @   a  ] tR tRt o RR ltR	R ltR tR tRtV t	R# )
EClassPropertiesAndMethods.test_compattr.<locals>.C.computed_attributei  Nc                *    Wn         W n        W0n        R # r   )_computed_attribute__get_computed_attribute__set_computed_attribute__delete)r;   r   r  deletes   &&&&r@   r5   NClassPropertiesAndMethods.test_compattr.<locals>.C.computed_attribute.__init__  s    !$J!$J$*MrB   c                $    V P                  V4      # r   )r  )r;   r~  rI   s   &&&r@   r  MClassPropertiesAndMethods.test_compattr.<locals>.C.computed_attribute.__get__  s    ::c?*rB   c                $    V P                  W4      # r   )r  r;   r~  r'  s   &&&r@   r  MClassPropertiesAndMethods.test_compattr.<locals>.C.computed_attribute.__set__  s    ::c11rB   c                $    V P                  V4      # r   )r  r;   r~  s   &&r@   
__delete__PClassPropertiesAndMethods.test_compattr.<locals>.C.computed_attribute.__delete__  s    ==--rB   )__delete__get__setr  r   )
r   r   r   r   r5   r  r  r  r   r   r   s   @r@   computed_attributer    s     ++2. .rB   r  c                    ^ V n         R# r   _C__xr   s   &r@   r5   ;ClassPropertiesAndMethods.test_compattr.<locals>.C.__init__  s	    rB   c                :    V P                   pV^,           V n         V# r   r  r  s   & r@   __get_x:ClassPropertiesAndMethods.test_compattr.<locals>.C.__get_x	  s    HHQ3rB   c                    Wn         R # r   r  r  s   &&r@   __set_x:ClassPropertiesAndMethods.test_compattr.<locals>.C.__set_x  s    rB   c                
    V = R # r   r  r   s   &r@   
__delete_x=ClassPropertiesAndMethods.test_compattr.<locals>.C.__delete_x      HrB   r  N)r   r   r   r   r~  r  r5   	_C__get_x	_C__set_x_C__delete_xr  r   r   r   s   @r@   r   r    s3     
.V 
."7GZ@ArB   r   r  N)r~  rG   r  rS  rJ  s   &  r@   test_compattr'ClassPropertiesAndMethods.test_compattr  s    	A 	A. Ca a b!b!Ca%rB   c                6    ! R  R\         4      pV! 4       pV P                  VP                  ^4       V P                  VP                  V4        ! R RV4      pV! 4       pV P                  VP                  ^4       V P                  VP                  V4       R# )c                   ,   a  ] tR tRt o R tR tRtV tR# )2ClassPropertiesAndMethods.test_newslots.<locals>.Ci  c                >    \         P                  V 4      p^Vn        V# r   )r7   r   r   r   r;   s   & r@   r   :ClassPropertiesAndMethods.test_newslots.<locals>.C.__new__  s    ||C(rB   c                6    V P                   ^,           V n         R# r   Nr   r   s   &r@   r5   ;ClassPropertiesAndMethods.test_newslots.<locals>.C.__init__"  s    88a<rB   r  Nr   r   r   r   r   r5   r   r   r   s   @r@   r   r    s     ( (rB   r   c                       ] tR tRtRtR# )2ClassPropertiesAndMethods.test_newslots.<locals>.Di'  r   Nrj  r   rB   r@   rk  r  '  rl  rB   rk  N)r7   rG   r   r5  )r;   r   rD   rk  rW   s   &    r@   test_newslots'ClassPropertiesAndMethods.test_newslots  sz    	( 	( C"a(	 	C"a(rB   c                   V P                  \        \        P                  4       V P                  \        \        P                  R 4       V P                  \        \        P                  \        4       V P                  \        \        P                  \        4        ! R R\        4      pV P                  \        V4        ! R R\        4      pV P                  \        V4       R# )r   c                   .    ] tR tRt]P
                  tRtR# )1ClassPropertiesAndMethods.test_bad_new.<locals>.Ci3  r   N)r   r   r   r   r7   r   r   r   rB   r@   r   r  3  s    llGrB   r   c                   .    ] tR tRt]P
                  tRtR# )r  i6  r   N)r   r   r   r   r~  r   r   r   rB   r@   r   r  6  s    nnGrB   N)rU  r   r~  r   r7   r   s   & r@   test_bad_new&ClassPropertiesAndMethods.test_bad_new-  s    )V^^4)V^^R8)T\\6:)V^^T:	# 	#)Q'	% 	%)Q'rB   c                J    ! R  R\         4      p\         P                  V4       V P                  \        \         P                  V^4       \         P	                  V! 4       4       V P                  \        \         P                  V! 4       ^4        ! R R\         4      p\         P                  V4       \         P                  V^4       \         P	                  V! ^4      4       V P                  \        \         P                  V! ^4      ^4        ! R R\         4      p\         P                  V4       V P                  \        \         P                  V^4       \         P	                  V! ^4      4       \         P	                  V! ^4      ^4        ! R R\         4      p\         P                  V4       V P                  \        \         P                  V^4       \         P	                  V! ^4      4       V P                  \        \         P                  V! ^4      ^4       R# )c                       ] tR tRtRtR# )4ClassPropertiesAndMethods.test_object_new.<locals>.Ai;  r   Nrj  r   rB   r@   r  r  ;  rl  rB   r  c                   &   a  ] tR tRt o R tRtV tR# )r  iB  c                    Wn         R # r   r  r;   r   s   &&r@   r5   =ClassPropertiesAndMethods.test_object_new.<locals>.A.__init__C      rB   r  Nr  r   s   @r@   r  r  B        rB   c                   &   a  ] tR tRt o R tRtV tR# )r  iJ  c                ,    \         P                  V 4      # r   r~  r   r   r   s   &&r@   r   <ClassPropertiesAndMethods.test_object_new.<locals>.A.__new__K      ~~c**rB   r   Nrt  r   s   @r@   r  r  J  s     + +rB   c                   ,   a  ] tR tRt o R tR tRtV tR# )r  iR  c                ,    \         P                  V 4      # r   r  r  s   &&r@   r   r  S  r  rB   c                    Wn         R # r   r  r  s   &&r@   r5   r  U  r  rB   r  Nr  r   s   @r@   r  r  R  s     + rB   N)r~  r   rU  r   r5   r;   r  s   & r@   test_object_new)ClassPropertiesAndMethods.test_object_new:  s`   	 	q)V^^Q:)V__ac1=	 	 	qq!!)V__adA>	+ 	+ 	q)V^^Q:!!a 	 	
 	q)V^^Q:!)V__adA>rB   c                    ! R  R\         4      pV P                  \        V4        ! R RV4      p\        P                  ! 4       ;_uu_ 4        \        P
                  ! R\        4       V! ^4      pRRR4       V P                  XP                  ^4       V P                  VP                  V4       V=
V P                  \        V4       V=
\        P                  ! 4       ;_uu_ 4        \        P
                  ! R\        4       V! ^4      pRRR4       V P                  VP                  ^4       V P                  VP                  V4       R#   + '       g   i     L; i  + '       g   i     L]; i)c                   &   a  ] tR tRt o R tRtV tR# )=ClassPropertiesAndMethods.test_restored_object_new.<locals>.Ai^  c                    \         hr   AssertionError)r   r<   r=   s   &*,r@   r   EClassPropertiesAndMethods.test_restored_object_new.<locals>.A.__new___  s    $$rB   r   Nrt  r   s   @r@   r  r  ^       % %rB   r  c                   >   a  ] tR tRt o ]P
                  tR tRtV tR# )=ClassPropertiesAndMethods.test_restored_object_new.<locals>.Bib  c                    Wn         R # r   r  r  s   &&r@   r5   FClassPropertiesAndMethods.test_restored_object_new.<locals>.B.__init__d  r  rB   r  N)	r   r   r   r   r~  r   r5   r   r   r   s   @r@   r  r  b  s     nnG rB   r  errorN)r~  rU  r  warningscatch_warningssimplefilterDeprecationWarningrG   r   r5  r   )r;   r  r  rW   s   &   r@   test_restored_object_new2ClassPropertiesAndMethods.test_restored_object_new\  s
   	% 	% 	.!,	 	 $$&&!!'+=>!A ' 	"a(I.!,I$$&&!!'+=>!A ' 	"a( '& '&s   $E)$E"E	"E2	c           
         ! R  R\         4      p ! R RV4      p ! R RV4      p ! R RW#4      pV P                  VP                  4       V\         .4       V P                  VP                  V\         34       V P                  VP                  4       W!\         .4       V P                  VP                  W!\         34       V P                  VP                  4       W1\         .4       V P                  VP                  W1\         34       V P                  VP                  4       WBW1\         .4       V P                  VP                  WBW1\         34       V P                  V! 4       P	                  4       R4        ! R R	\
        4      p ! R
 RWBW1VR7      pV P                  VP                  \         WW$V34       V P                  V! 4       P	                  4       R4         ! R R\
        4      p ! R R\         VR7      p\         P                  V4      p^V^&   V P                  R4         ! R R\
        4      p ! R R\         VR7      pV P                  R4         ! R R\
        4      p ! R R\         VR7      pV P                  R4       R#   \         d     Lsi ; i  \         d     LRi ; i  \         d     R# i ; i)c                   &   a  ] tR tRt o R tRtV tR# )0ClassPropertiesAndMethods.test_altmro.<locals>.Aiv  c                    R # r  r   r   s   &r@   rP  2ClassPropertiesAndMethods.test_altmro.<locals>.A.fw      rB   r   Nr   r   r   r   rP  r   r   r   s   @r@   r  r"  v  r   rB   r  c                       ] tR tRtRtR# )0ClassPropertiesAndMethods.test_altmro.<locals>.Bix  r   Nrj  r   rB   r@   r  r(  x  rl  rB   r  c                   &   a  ] tR tRt o R tRtV tR# )0ClassPropertiesAndMethods.test_altmro.<locals>.Ciz  c                    R # r  r   r   s   &r@   rP  2ClassPropertiesAndMethods.test_altmro.<locals>.C.f{  r%  rB   r   Nr&  r   s   @r@   r   r*  z  r   rB   r   c                       ] tR tRtRtR# )0ClassPropertiesAndMethods.test_altmro.<locals>.Di|  r   Nrj  r   rB   r@   rk  r.  |  rl  rB   rk  c                   &   a  ] tR tRt o R tRtV tR# )?ClassPropertiesAndMethods.test_altmro.<locals>.PerverseMetaTypei  c                P    \         P                  V 4      pVP                  4        V# r   )rI   mroreverse)r   Ls   & r@   r2  CClassPropertiesAndMethods.test_altmro.<locals>.PerverseMetaType.mro  s    HHSM		rB   r   Nr   r   r   r   r2  r   r   r   s   @r@   PerverseMetaTyper0    s      rB   r7  c                       ] tR tRtRtR# )0ClassPropertiesAndMethods.test_altmro.<locals>.Xi  r   Nrj  r   rB   r@   r&  r9    rl  rB   r&  r_  c                   &   a  ] tR tRt o R tRtV tR# )9ClassPropertiesAndMethods.test_altmro.<locals>._metaclassi  c                    V \         \        .# r   )r   r~  r   s   &r@   r2  =ClassPropertiesAndMethods.test_altmro.<locals>._metaclass.mro  s     $//rB   r   Nr6  r   s   @r@   rg  r;    s     0 0rB   rg  c                       ] tR tRtRtR# )r9  i  r   Nrj  r   rB   r@   r&  r9    rH  rB   zdevious mro() return not caughtc                   &   a  ] tR tRt o R tRtV tR# )r;  i  c                    ^.# r   r   r   s   &r@   r2  r=    s	    3JrB   r   Nr6  r   s   @r@   rg  r;    s      rB   c                       ] tR tRtRtR# )r9  i  r   Nrj  r   rB   r@   r&  r9    rH  rB   z!non-class mro() return not caughtc                   &   a  ] tR tRt o R tRtV tR# )r;  i  c                    ^# r   r   r   s   &r@   r2  r=    s    rB   r   Nr6  r   s   @r@   rg  r;    s      rB   c                       ] tR tRtRtR# )r9  i  r   Nrj  r   rB   r@   r&  r9    rH  rB   z$non-sequence mro() return not caughtN)	r~  rG   r2  r  rP  rI   r   r   r   )	r;   r  r  r   rk  r7  r&  rg  r  s	   &        r@   test_altmro%ClassPropertiesAndMethods.test_altmrot  sG   	$ 	$	 		$ 	$	 	1f+.QK01.1Q6N31.1Q6N31v"67Q1$89#&	t 	
	A#3 	VQ1$;<#&	90T 0Fj  q!AAaD II78		;T Fj 
 II9:		>T Fj 
 II<=3  		  		  		s6   :J + J!  J2 JJ!J/.J/2K Kc                  a  ! R  R\         4      o ! V3R lRS4      pV! 4       pV P                  VP                  R4       ^Vn        V P                  VP                  R	4       V=V P                  VP                  R4       V P                  V^,          R
4       ^V^&   V P                  VP
                  R4       V^ V P                  VP                  ^4       V P                  VR,          R\        ^ ^
4      34       RVR&   V P                  VP
                  \        ^ ^
4      R34       VR V P                  VP                  \        ^ ^
4      4       R# )c                       ] tR tRtRtRtR# )5ClassPropertiesAndMethods.test_overloading.<locals>.Bi  z<Intermediate class because object doesn't have a __setattr__r   Nr   r   r   r   rq  r   r   rB   r@   r  rI    s    JrB   r  c                   R   <a  ] tR tRt o R tV3R ltV3R ltR tR tR t	Rt
V tR	# )
5ClassPropertiesAndMethods.test_overloading.<locals>.Ci  c                $    VR 8X  d   RV3# \         h)r   rJ   r  r  s   &&r@   r%  AClassPropertiesAndMethods.test_overloading.<locals>.C.__getattr__  s    5=%t,,((rB   c                J   < VR 8X  d   W3V n         R# SP                  WV4      # r   N)r  rd  )r;   r>   r'  r  s   &&&r@   rd  AClassPropertiesAndMethods.test_overloading.<locals>.C.__setattr__  s$    5=$(=DL==U;;rB   c                D   < VR 8X  d	   Wn         R# SP                  W4      # rP  )rg  rh  )r;   r>   r  s   &&r@   rh  AClassPropertiesAndMethods.test_overloading.<locals>.C.__delattr__  s    5=#'L==44rB   c                
    R V3# )getitemr   r"  s   &&r@   rt   AClassPropertiesAndMethods.test_overloading.<locals>.C.__getitem__  s    !3''rB   c                    W3V n         R # r   )setitem)r;   r#  r'  s   &&&r@   r   AClassPropertiesAndMethods.test_overloading.<locals>.C.__setitem__  s     #|rB   c                    Wn         R # r   )delitemr"  s   &&r@   __delitem__AClassPropertiesAndMethods.test_overloading.<locals>.C.__delitem__  s    "rB   )rg  r[  r  rX  N)r   r   r   r   r%  rd  rh  rt   r   r\  r   r   )r   r  s   @r@   r   rL    s(     )
<
5(,# #rB   r   r   rU  :r   
   NNry  )r   rx  )rU  rx  )rx     )r~  rG   r   r  rg  rX  r[  r]   )r;   r   rD   r  s   &  @r@   test_overloading*ClassPropertiesAndMethods.test_overloading  s#   	K 	K	# 	#0 C 23K0EE*20"H-bEB'49eArl";<$U1b\5$9:dGU1b\3rB   c           	         ! R  R4      pRP                  R \        R4       4       4      pRV R2p/ p\        W44       VR,          p\        ^4       F2  pV P                  V! V! 4       4      \	        \        R4      4      4       K4  	  R# )	c                   &   a  ] tR tRt o R tRtV tR# )FClassPropertiesAndMethods.test_load_attr_extended_arg.<locals>.Numbersi  c                6    \        VP                  R 4      4      # r  )r1   lstripr;   r  s   &&r@   r%  RClassPropertiesAndMethods.test_load_attr_extended_arg.<locals>.Numbers.__getattr__  s    4;;s+,,rB   r   Nr   r   r   r   r%  r   r   r   s   @r@   Numbersrd    s     - -rB   rk  , c              3   .   "   T F  pR VR 2x  K  	  R# 5i)zZ._03dNr   ).0ns   & r@   	<genexpr>HClassPropertiesAndMethods.test_load_attr_extended_arg.<locals>.<genexpr>  s     <AC#w-s   i  z"def number_attrs(Z):
    return [ z ]number_attrsN)ro  r  rb   rG   r7   )r;   rk  attrscoder  rs  r  s   &      r@   test_load_attr_extended_arg5ClassPropertiesAndMethods.test_load_attr_extended_arg  sx    	- 	- 		<s<<4UG2>T.)rA\')4d5:6FG rB   c           	     h  aa  ! R  R\         4      oS! ^4      oV P                  SP                  4       ^4        ! VV3R lRS4      pV! ^4      pV P                  VP                  4       ^4       V P                  VP                  4       ^4       V P                  VP	                  4       ^4        ! V3R lR\         4      pV P                  V! 4       P                  P
                  SP                  4       V P                  \        SP                  P                  S! ^4      4      4      R4       R# )c                   ,   a  ] tR tRt o R tR tRtV tR# )1ClassPropertiesAndMethods.test_methods.<locals>.Ci  c                    Wn         R # r   r  r  s   &&r@   r5   :ClassPropertiesAndMethods.test_methods.<locals>.C.__init__      rB   c                    V P                   # r   r|  r   s   &r@   r   5ClassPropertiesAndMethods.test_methods.<locals>.C.foo  s    vvrB   r|  N)r   r   r   r   r5   r   r   r   r   s   @r@   r   rz    s      rB   r   c                   L   < ] tR tRt Z P                  t ZP                  tRtR# )1ClassPropertiesAndMethods.test_methods.<locals>.Di  r   N)r   r   r   r   r   r  rI  r   )r   c1s   r@   rk  r    s    %%C&&CrB   rk  c                   2   < ] tR tRt Z P                  tRtR# )1ClassPropertiesAndMethods.test_methods.<locals>.Ei
  r   Nr  r  s   r@   r  r  
  r  rB   r  r  N)	r~  rG   r   r  rI  r  r  r   r  )r;   rk  r  r  r   r  s   &   @@r@   test_methods&ClassPropertiesAndMethods.test_methods  s    	 	
 qT1%	 	 	 qT1%1%1%	 	))1551d155==1#679IJrB   z)testing error message from implementationc                   \         P                  pR pV P                  \        4      ;_uu_ 4       pV! 4        RRR4       V P	                  XP
                  P                  ^ ,          V4       RpV P                  \        4      ;_uu_ 4       pV! ^ 4       RRR4       V P	                  VP
                  P                  ^ ,          V4       V P                  \        4      ;_uu_ 4       pVP                  ^ 4       RRR4       V P	                  VP
                  P                  ^ ,          V4       R#   + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     Lf; i)z*unbound method set.add() needs an argumentNzBdescriptor 'add' for 'set' objects doesn't apply to a 'int' object)r  r
   rU  r   rG   r  r<   r  )r;   set_addr  rV  s   &   r@   test_methods_in_c+ClassPropertiesAndMethods.test_methods_in_c  s    
 ''Fy))RI ***1-?^y))RAJ ***1-?y))ROOA ***1-? *)) *) *)s#   D0	E'E0E	E	E'	c                  a aaa R  pR pR pR pR pR pR pR-R lpR	 p	R
 p
V 3R lpV 3R lpR pR pR\         V\        4       / 3R\        V\        4       / 3R\        V\        4       RVRV/3R\        P
                  V\        4       / 3RW\        4       / 3RW\        R.4      / 3RW\        R/4      / 3RW\        4       RV/3RW\        4       RV/3R\        V\        4       / 3R\        V\        4       / 3R\        P                  V\        4       / 3R\        P                  V\        4       / 3R\        P                  V\        4       / 3R\        V\        4       / 3R \        V\        4       / 3.p ! VV 3R! lR"\        4      p ! V3R# lR$\        4      p ! R% R&\        4      o ! V3R' lR(\        4      pV EF  w  pppop ! R) R*V4      pVP!                  4        F  w  pp\#        VVV4       K  	  \#        VVV4       V! V! 4       4       . o ! R+ R*V4      pVP!                  4        F  w  pp\#        VVV4       K  	  \#        VVV! V4      4       V! V! 4       4       S P%                  S^.V4        ! R, R*V4      pVP!                  4        F  w  pp\#        VVV4       K  	  \#        VVV! 4       4       S P'                  SVV! 4       4       EK  	  R# )0c                 V    V ;_uu_ 4         R R R 4       R #   + '       g   i     R # ; ir   r   )managers   &r@   run_contextIClassPropertiesAndMethods.test_special_method_lookup.<locals>.run_context*  s     s   (	c                     V # r   r   r   s   &r@   idenBClassPropertiesAndMethods.test_special_method_lookup.<locals>.iden-  s    KrB   c                     R # )s   hellor   r   s   &r@   r  CClassPropertiesAndMethods.test_special_method_lookup.<locals>.hello/  s    rB   c                     . # r   r   r   s   &r@   	empty_seqGClassPropertiesAndMethods.test_special_method_lookup.<locals>.empty_seq1  s    IrB   c                     ^ # r!  r   r   s   &r@   zeroBClassPropertiesAndMethods.test_special_method_lookup.<locals>.zero3  s    rB   c                     R # )              ?r   r   s   &r@   complex_numIClassPropertiesAndMethods.test_special_method_lookup.<locals>.complex_num5  s    rB   c                     \         hr   )StopIterationr   s   &r@   rC  BClassPropertiesAndMethods.test_special_method_lookup.<locals>.stop7  s    rB   Nc                     R # )Tr   )r;   things   &&r@   return_trueIClassPropertiesAndMethods.test_special_method_lookup.<locals>.return_true9  s    rB   c                 "    \        \        V 4      # r   )rA  r1   r~  s   &r@   do_isinstanceKClassPropertiesAndMethods.test_special_method_lookup.<locals>.do_isinstance;      c3''rB   c                 "    \        \        V 4      # r   )
issubclassr1   r  s   &r@   do_issubclassKClassPropertiesAndMethods.test_special_method_lookup.<locals>.do_issubclass=  r  rB   c                 x   <  ! R  RV P                   \        4      pSP                  V! 4       R,          ^4       R# )c                       ] tR tRtRtR# )^ClassPropertiesAndMethods.test_special_method_lookup.<locals>.do_dict_missing.<locals>.DictSubi@  r   Nrj  r   rB   r@   DictSubr  @  rH  rB   r  hiN)r5  r   rG   )checkerr  r;   s   & r@   do_dict_missingMClassPropertiesAndMethods.test_special_method_lookup.<locals>.do_dict_missing?  s-    '++T WYt_a0rB   c                 ,   < SP                  VR 4       ^# )r  rG   )r  r#  r;   s   &&r@   some_numberIClassPropertiesAndMethods.test_special_method_lookup.<locals>.some_numberC  s    S$'rB   c                      R # r   r   r<   s   *r@   swallowEClassPropertiesAndMethods.test_special_method_lookup.<locals>.swallowF  s    DrB   c                     R # r  r   )r;   specs   &&r@   format_implIClassPropertiesAndMethods.test_special_method_lookup.<locals>.format_implG  s    rB   	__bytes____reversed____length_hint__r   __next__
__sizeof____instancecheck____missing____subclasscheck__	__enter____exit____complex__
__format__	__floor__	__trunc____ceil____dir__	__round__c                   D   <a  ] tR tRt o  Z3R lt Z3V3R lltRtV tR# )EClassPropertiesAndMethods.test_special_method_lookup.<locals>.Checkeric  c                F    VP                  R P                  V4      4       R# )z__getattr__ called with {0}N)r   ra  )r;   r  tests   &&&r@   r%  QClassPropertiesAndMethods.test_special_method_lookup.<locals>.Checker.__getattr__d  s    		7>>tDErB   c                |   < VS9  d!   VP                  R P                  V4      4       \        P                  W4      # )z __getattribute__ called with {0})r   ra  r~  r_  )r;   r  r  oks   &&&r@   r_  VClassPropertiesAndMethods.test_special_method_lookup.<locals>.Checker.__getattribute__f  s3    r>II@GGMN..t::rB   r   Nr   r   r   r   r%  r_  r   r   )r   r  r;   s   @r@   Checkerr  c  s     -1 F26 ; ;rB   r  c                   4   <a  ] tR tRt o R tV3R ltRtV tR# )JClassPropertiesAndMethods.test_special_method_lookup.<locals>.SpecialDescrij  c                    Wn         R # r   impl)r;   r  s   &&r@   r5   SClassPropertiesAndMethods.test_special_method_lookup.<locals>.SpecialDescr.__init__k       	rB   c                \   < SP                  ^4       V P                  P                  W4      # r   )r   r  r  )r;   r~  ownerrecords   &&&r@   r  RClassPropertiesAndMethods.test_special_method_lookup.<locals>.SpecialDescr.__get__m  s$    a yy((44rB   r  N)r   r   r   r   r5   r  r   r   )r   r  s   @r@   SpecialDescrr  j  s     !5 5rB   r  c                       ] tR tRtRtR# )IClassPropertiesAndMethods.test_special_method_lookup.<locals>.MyExceptionip  r   Nrj  r   rB   r@   MyExceptionr  p  rl  rB   r  c                   .   <a  ] tR tRt o V3R ltRtV tR# )FClassPropertiesAndMethods.test_special_method_lookup.<locals>.ErrDescrir  c                   < Shr   r   )r;   r~  r  r  s   &&&r@   r  NClassPropertiesAndMethods.test_special_method_lookup.<locals>.ErrDescr.__get__s  s	    !!rB   r   Nr   r   r   r   r  r   r   )r   r  s   @r@   ErrDescrr  r       " "rB   r  c                       ] tR tRtRtR# )?ClassPropertiesAndMethods.test_special_method_lookup.<locals>.Xiw  r   Nrj  r   rB   r@   r&  r  w  rH  rB   r&  c                       ] tR tRtRtR# )r  i  r   Nrj  r   rB   r@   r&  r    rH  rB   c                       ] tR tRtRtR# )r  i  r   Nrj  r   rB   r@   r&  r    rH  rB   r   r5  )rL   )rS  r  reversedr7   r  	getsizeofr   ra  mathfloortruncceildirroundr~  	Exceptionr8   r  rG   rU  )r;   r  r  r  r  r  r  rC  r  r  r  r  r  r  r  specialsr  r  r  r>   runner	meth_implenvr&  r  r~  r  r  r  s   f                         @@@r@   test_special_method_lookup4ClassPropertiesAndMethods.test_special_method_lookup&  s   							 		(	(	1	 	!	 %r2Xy#%<dCE4d353==$r: -ceRHO "& - "&+SUZ'4JKsu{T6JKG[#%<6;r:$**dCE26$**dCE26D#%4Yr2%sub1',	; 	;f 	;	56 	5	) 		"v 	" 19,D&)RG  YY[	c4% )AtY'13KFG  YY[	c4% )At\)4513KVaS$/G  YY[	c4% )AtXZ(k6137- 19rB   c                b    ! R  R\         4      pV! 4       pV! 4       pV P                  V'       * 4       V P                  \        V4      \        V4      4       \	        V4       \	        V4       V P                  W"4       V P                  W#8g  4       V P                  W"8g  4       V P                  W#8H  4       V P                  \        V4      P                  R4      ^ 4       V P                  \        V4      \        V4      4       V P                  RV4       \        ^
4       F  pV P                  WB4       K  	  V P                  ^
V4        ! R R\         4      pV! 4       pV! 4       pV P                  V'       * 4       V P                  \        V4      \        V4      4       \	        V4       \	        V4       V P                  Wf4       V P                  Wg4       V P                  Wf8g  4       V P                  Wg8H  4       V P                  \        V4      P                  R4      ^ 4       V P                  \        V4      \        V4      4       V P                  RV4       \        ^
4       F  pV P                  WF4       K  	  V P                  ^
V4        ! R R\         4      pV! ^ 4      p	V! ^4      p
V! R4      pV P                  V	4       V P                  V
'       * 4       V P                  \	        V	4      \	        ^ 4      4       V P                  W4       V P                  W4       V P                  W8g  4       V P                  V	'       * V
4       V P                  W8  4       V P                  W8*  4       V P                  W8  4       V P                  W8  4       V P                  \        V	4      R4       V P                  \        V	4      R	4       V! \        ^
4      4      pV P                  RV4       \        ^
4       F  pV P                  WL4       K  	  V P                  ^
V4       R
# )c                   &   a  ] tR tRt o R tRtV tR# )2ClassPropertiesAndMethods.test_specials.<locals>.Ci  c                >    ^ Tu;8:  d	   ^
8  d
   V#  \         h\         hr!  
IndexErrorrD  s   &&r@   rt   >ClassPropertiesAndMethods.test_specials.<locals>.C.__getitem__      ;B;q;  j rB   r   NrF  r   s   @r@   r   r         ! !rB   r   zC object at c                   &   a  ] tR tRt o R tRtV tR# )2ClassPropertiesAndMethods.test_specials.<locals>.Di  c                >    ^ Tu;8:  d	   ^
8  d
   V#  \         h\         hr!  r  rD  s   &&r@   rt   >ClassPropertiesAndMethods.test_specials.<locals>.D.__getitem__  r  rB   r   NrF  r   s   @r@   rk  r    r  rB   rk  zD object at c                   h   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tRtV tR# )6ClassPropertiesAndMethods.test_specials.<locals>.Proxyi  c                    Wn         R # r   r|  r  s   &&r@   r5   ?ClassPropertiesAndMethods.test_specials.<locals>.Proxy.__init__  r~  rB   c                "    V P                   '       # r   r|  r   s   &r@   r   ?ClassPropertiesAndMethods.test_specials.<locals>.Proxy.__bool__  s    #vv:%rB   c                ,    \        V P                  4      # r   )hashr  r   s   &r@   __hash__?ClassPropertiesAndMethods.test_specials.<locals>.Proxy.__hash__  s    DFF|#rB   c                     V P                   V8H  # r   r|  r   s   &&r@   r  =ClassPropertiesAndMethods.test_specials.<locals>.Proxy.__eq__      vv&rB   c                     V P                   V8g  # r   r|  r   s   &&r@   __ne__=ClassPropertiesAndMethods.test_specials.<locals>.Proxy.__ne__  r#  rB   c                     V P                   V8  # r   r|  r   s   &&r@   __ge__=ClassPropertiesAndMethods.test_specials.<locals>.Proxy.__ge__  r#  rB   c                     V P                   V8  # r   r|  r   s   &&r@   __gt__=ClassPropertiesAndMethods.test_specials.<locals>.Proxy.__gt__      vv~%rB   c                     V P                   V8*  # r   r|  r   s   &&r@   __le__=ClassPropertiesAndMethods.test_specials.<locals>.Proxy.__le__  r#  rB   c                     V P                   V8  # r   r|  r   s   &&r@   __lt__=ClassPropertiesAndMethods.test_specials.<locals>.Proxy.__lt__  r-  rB   c                (    R V P                   ,          # )zProxy:%sr|  r   s   &r@   r   >ClassPropertiesAndMethods.test_specials.<locals>.Proxy.__str__  s    !DFF**rB   c                (    R V P                   ,          # )z	Proxy(%r)r|  r   s   &r@   r   ?ClassPropertiesAndMethods.test_specials.<locals>.Proxy.__repr__  s    "TVV++rB   c                    WP                   9   # r   r|  rk  s   &&r@   rr   CClassPropertiesAndMethods.test_specials.<locals>.Proxy.__contains__  s    &rB   r|  N)r   r   r   r   r5   r   r  r  r%  r(  r+  r/  r2  r   r   rr   r   r   r   s   @r@   Proxyr    sF     &$'''&'&+,' 'rB   r:  zProxy:0zProxy(0)Nr1  )r~  assertFalser/  idr  rG   rQ  assertGreaterEqualr|  findr   rn  r  rR  )r;   r   r  c2r   rk  r  r  r:  p0p1p_1p10s   &            r@   test_specials'ClassPropertiesAndMethods.test_specials  sE   
	! 	! SSR BrFBrF+RR !"" 	B^ <a@R$r(+R rAMM!  R 	! 	! SSR BrFBrF+RR B#"" 	B^ <a@R$r(+R rAMM!  R 	'F 	'2 1X1XBiR b47+ B#"R$ ! !R),b:.E"IS!rAMM!! S!rB   c                   ^ RI p ! R R\        4      pV! 4       pVP                  ! V4      pV P                  V! 4       V4       ?\        P
                  ! 4        V P                  V! 4       R4       ? ! R R\        4      pV! 4       p VP                  ! V4       V P                  R4        ! R R	\        4      pV! 4       p	VP                  ! V	4      pV P                  V! 4       V	4       ?	\        P
                  ! 4        V P                  V! 4       R4       ?R#   \         d&   pT P                  R\        T4      4        Rp?LRp?ii ; i)
r   Nc                       ] tR tRtRtR# )2ClassPropertiesAndMethods.test_weakrefs.<locals>.Ci  r   Nrj  r   rB   r@   r   rH    rl  rB   r   c                       ] tR tRtR.tRtR# )7ClassPropertiesAndMethods.test_weakrefs.<locals>.NoWeaki  r   r   Nr:  r   rB   r@   NoWeakrJ    s	    IrB   rK  z!weakref.ref(no) should be illegalzweak referencec                       ] tR tRtRR.tRtR# )5ClassPropertiesAndMethods.test_weakrefs.<locals>.Weaki	  r   r  r   Nr:  r   rB   r@   WeakrM  	  s    .IrB   rN  )
weakrefr~  refrG   r   r  r   r   rR  r|  )
r;   rO  r   r\   rrK  nor  rN  yess
   &         r@   test_weakrefs'ClassPropertiesAndMethods.test_weakrefs  s   	 	CKKNa d#	 V 	 X	;KKO II9:	/6 	/fKKc"d#  	6MM*CH55	6s   	D E&EEc           
     D    ! R  R\         4      pV! 4       pV P                  VR4       ^*Vn        V P                  VP                  ^*4       V P                  VP                  ^*4       V=V P                  VR4       V P                  VR4       VP                  P                  V^d4       V P                  VP                  P                  V4      ^d4       VP                  P                  V4       V P                  VR4       VP                  R,          pV P                  V\        4       \        V4      pV P                  RV4       V P                  RV4       V P                  RV4       V P                  RV4       V P                  VP                  R4       V P                  VP                  VP                  R	,          4       V P                  VP                   VP                  R
,          4       V P                  VP"                  VP                  R,          4       R F(  p \%        W5^*4       V P'                  RV,          4       K*  	  ^*Vn        V P                  VP                  ^*4        ! R R\         4      pV! 4       p V F  p	\+        V	4       K  	  V P'                  R4       R#   \(         dS   p\+        T4      P-                  R4      ^ 8  d)   T P'                  RT: R\+        T4      : 24        Rp?K   Rp?K  Rp?ii ; i  \.         d     R# i ; i)c                   J   a  ] tR tRt o R tR tR t]! ]]]RR7      tRt	V t
R# )	4ClassPropertiesAndMethods.test_properties.<locals>.Ci	  c                    V P                   # r   r  r   s   &r@   getx9ClassPropertiesAndMethods.test_properties.<locals>.C.getx	  rp  rB   c                    Wn         R # r   r  rk  s   &&r@   setx9ClassPropertiesAndMethods.test_properties.<locals>.C.setx	  rm  rB   c                
    V = R # r   r  r   s   &r@   delx9ClassPropertiesAndMethods.test_properties.<locals>.C.delx	  r  rB   I'm the x property.docr  N)r   r   r   r   rZ  r]  r`  r  r  r   r   r   s   @r@   r   rX  	  s%      !tT/DEArB   r   r  r  rq  fgetfsetfdelrb  rZ  r]  r`  zIexpected AttributeError from trying to set readonly %r attr on a propertyreadonlyzwhen setting readonly attr z2 on a property, got unexpected AttributeError msg Nc                   (    ] tR tRt]! R 4      tRtR# )4ClassPropertiesAndMethods.test_properties.<locals>.DiB	  c                    ^^ ,          # r   r   )r  s   &r@   r  =ClassPropertiesAndMethods.test_properties.<locals>.D.<lambda>C	  s    QqSrB   r   N)r   r   r   r   r  rt   r   r   rB   r@   rk  rj  B	  s    "=1KrB   rk  z,expected ZeroDivisionError from bad property)re  rf  rg  )r~  rS  r  rG   r  r  r  r  rK   r&  r  r  rR  rq  r4  re  rf  rg  r  r   r0  r|  r>  ZeroDivisionError)
r;   r   rD   rawrt  r  r  rk  rO   r   s
   &         r@   test_properties)ClassPropertiesAndMethods.test_properties	  s   	F 	F Ca%"%b!Ca%a)	AsQ-	qa%jjoc8,Ci'fe$fe$fe$&;<chh

6 23chh

6 23chh

6 23*D72& 		 /156 7 + b)	2 	2 C	FA 
 IIDE+ " Ys8==,q0IIHLcRUhX Y Y 1Y$ ! 		s+   'J0	L 0L;ALLLLz)Docstrings are omitted with -O2 and abovec                ,   a   ! V 3R  lR\         4      pR# )c                      <a  ] tR tRt o R tR t]! ]4      t ZP                  ]P                  R4       ]! ]R7      t
 ZP                  ]
P                  R4       RtV tR# )?ClassPropertiesAndMethods.test_properties_doc_attrib.<locals>.EiQ	  c                    ^ # )getter methodr   r   s   &r@   getterFClassPropertiesAndMethods.test_properties_doc_attrib.<locals>.E.getterR	  s    rB   c                    R# )zsetter methodNr   )r  r'  s   &&r@   setterFClassPropertiesAndMethods.test_properties_doc_attrib.<locals>.E.setterU	      rB   ru  )rf  Nr   )r   r   r   r   rv  ry  r  proprG   rq  prop2r   r   r2  s   @r@   r  rs  Q	  sP      F#DT\\?;&)EU]]D11rB   r  Nr~  )r;   r  s   f r@   test_properties_doc_attrib4ClassPropertiesAndMethods.test_properties_doc_attribN	  s    
	2 
	2rB   c                Z   a  ^ RI o ! V3R lR\        4      pR#   \         d     R# i ; i)r   Nc                   >   < ] tR tRt]!  Z P
                  4      tRtR# )>ClassPropertiesAndMethods.test_testcapi_no_segfault.<locals>.Xie	  r   N)r   r   r   r   r  test_with_docstringpr   )	_testcapis   r@   r&  r  e	  s    Y::;rB   r&  )r  r~  ImportError)r;   r&  r  s   & @r@   test_testcapi_no_segfault3ClassPropertiesAndMethods.test_testcapi_no_segfault]	  s+    	<<F <  		s    **c                  aa  ! R  R\         4      oS! 4       pV P                  SP                  P                  R4       V P	                  VR4       RVn        V P                  VR4       V P                  VP                  ^*4       V P                  VP                  ^*4       V=V P	                  VR4       V P	                  VR4        ! V3R lRS4      pV! 4       p^Vn        V P                  VP                  ^4       V=V= ! R R\         4      oS! 4       pRVn        V P                  VP                  ^*4       V= ! V3R	 lR
S4      pV! 4       pRVn        V P                  VP                  ^ 4       V=R# )c                      a  ] tR tRt o ]! RR7      t]P                  R 4       t]P                  R 4       t]P                  R 4       tRt	V t
R# )	9ClassPropertiesAndMethods.test_properties_plus.<locals>.Cii	  r  rc  c                    V P                   # r   _foor   s   &r@   r   =ClassPropertiesAndMethods.test_properties_plus.<locals>.C.fook	      yy rB   c                &    \        V4      V n        R # r   r.   r  rk  s   &&r@   r   r  n	      J	rB   c                
    V = R # r   r  r   s   &r@   r   r  q	      IrB   r  N)r   r   r   r   r  r   rv  ry  deleterr   r   r   s   @r@   r   r  i	  sQ     w'CZZ! !ZZ' '[[ rB   r   r  r   r  c                   \   <a  ] tR tRt o  ZP                  P
                  R 4       tRtV tR# )9ClassPropertiesAndMethods.test_properties_plus.<locals>.Di	  c                0     V = R #   \         d     R # i ; ir   )r  r0  r   s   &r@   r   =ClassPropertiesAndMethods.test_properties_plus.<locals>.D.foo	  s    	% s    r   N)r   r   r   r   r   r  r   r   r  s   @r@   rk  r  	  s     UU]] rB   rk  c                      a  ] tR tRt o ]R 4       t]P                  R 4       t]P                  R 4       t]P                  RR l4       tRtV t	R# )	9ClassPropertiesAndMethods.test_properties_plus.<locals>.Ei	  c                    V P                   # r   r  r   s   &r@   r   =ClassPropertiesAndMethods.test_properties_plus.<locals>.E.foo	  r  rB   c                    \         hr   )RuntimeErrorrk  s   &&r@   r   r  	  s    ""rB   c                &    \        V4      V n        R # r   r  rk  s   &&r@   r   r  	  r  rB   Nc                
    V = R # r   r  rk  s   &&r@   r   r  	  r  rB   r  r   )
r   r   r   r   r  r   ry  r  r   r   r   s   @r@   r  r  	  sY     ! !ZZ# #ZZ' '[[ rB   r  c                      <a  ] tR tRt o  ZP                  P
                  R 4       t]P                  R 4       tRtV tR# )9ClassPropertiesAndMethods.test_properties_plus.<locals>.Fi	  c                
    V = R # r   r  r   s   &r@   r   =ClassPropertiesAndMethods.test_properties_plus.<locals>.F.foo	  r  rB   c                (    \        ^ V4      V n        R# r   )maxr  rk  s   &&r@   r   r  	  s    5M	rB   r  N)	r   r   r   r   r   r  ry  r   r   )r   r  s   @r@   rL  r  	  s5     UU]] ZZ* *rB   rL  Ni)r~  rG   r   rq  rS  rR  r  )	r;   r\   rk  rO   r  rL  rP  r   r  s	   &      @@r@   test_properties_plus.ClassPropertiesAndMethods.test_properties_plush	  sH   
	 
	 C0a'1f%$#Ea(a'	 	 C#EE	 	 C#E	* 	* C"ErB   c                `   \        4       pV P                  V/ 4       \        / 4      pV P                  V/ 4       \        ^^RR/4      pV P                  V^^RR/4       V P                  V\        \        VP                  4       4      4      4       V P                  V\        \	        VP                  4       4      4      4       \        R^R^/4      pV P                  V\        ^^R7      4       V P                  V\        R/ VB 4       V P                  V\        R^/^R7      4       V P                  V\        R.^R7      4       V P                  V\        RR.3/ VB 4       V P                  V\        R/ VB 4       ^ ^ RR	^ .R3 F'  p \        V4       V P                  R
V,          4       K)  	  V P                  \        4      ;_uu_ 4        \        / / 4       RRR4        ! R R4      p \        V! 4       4       V P                  R4       R Vn	        R Vn
        \        V! 4       4      pV P                  WP                   4        ! R R4      p\        V! RR4      V! RR4      V! RR4      V! RR4      .4      pV P                  VRRRR/4       \        \        \        ^4      \        ^^4      4      4      pT P                  T\        \        ^4       Uu. uF  qUV^,           3NK  	  up4      4       R.R.3 F'  p \        V4       V P                  RV,          4       K)  	  R#   \         d     EK  \         d)    TR	8X  d    EK  T P                  R
T,          4        EK  i ; i  + '       g   i     EL; i  \         d     ELi ; iu upi   \         d     K  i ; i)rn   rD   rW   onetwo)r  r  )r  )r  y                0zno TypeError from dict(%r)Nc                   &    ] tR tRt^^^^RR/tRtR# )AClassPropertiesAndMethods.test_dict_constructors.<locals>.Mappingi	  rD   r  r   N)r   r   r   r   r   r   r   rB   r@   Mappingr  	  s    a1c"%DrB   r  z*no TypeError from dict(incomplete mapping)c                 H    \        V P                  P                  4       4      # r   )r7   r   r   r   s   &r@   r  BClassPropertiesAndMethods.test_dict_constructors.<locals>.<lambda>	  s    D)9$:rB   c                 (    V P                   V,          # r   )r   rD  s   &&r@   r  r  	  s    diilrB   c                   ,   a  ] tR tRt o R tR tRtV tR# )JClassPropertiesAndMethods.test_dict_constructors.<locals>.AddressBookEntryi	  c                    Wn         W n        R # r   firstlast)r;   r  r  s   &&&r@   r5   SClassPropertiesAndMethods.test_dict_constructors.<locals>.AddressBookEntry.__init__	  s    "
 	rB   c                D    \        V P                  V P                  .4      # r   )r   r  r  r   s   &r@   r   SClassPropertiesAndMethods.test_dict_constructors.<locals>.AddressBookEntry.__iter__	  s    TZZ344rB   r  N)r   r   r   r   r5   r   r   r   r   s   @r@   AddressBookEntryr  	  s     !5 5rB   r  TimWarsawBarryPeterszno ValueError from dict(%r)r   )r  r   )r  r   )r  rG  r!  )tooshort)toolongzby 1)r   rG   r7   r8   r   r   r   
ValueErrorrU  r   rt   zipr  )r;   rO   badargr  r  r   bads   &      r@   test_dict_constructors0ClassPropertiesAndMethods.test_dict_constructors	  sI   FBHB!QS!"Q3,-Daggi12Daggi12%5#$DQA./DI1I&D%34D*156D,!=CCDDI1I&BaS$.FAV 		6?@ /  y))RL *	& 	&	DO IIBC::OLL)	5 	5 "5(3"7H5"5(3"7H57 8 	Whx@AU1XuQ{+,DE!H!=Hqac(H!=>? "?%<$==C?S	 		7#=> >e   ES= II:VCDDE *))  		2 ">  sZ   L/M31N NN/M0>M0M0M0/M03N	NNN-,N-c                  a ^pV P                  \        4       RR.4       ?^^RR^.RRR#^^/\        V P                  3 F  p\        V4       K  	  R p ! R R	\        4      pR
R.pV P                  V! \        V4      4      V4       V! 4       pV P                  V! \        V4      4      V4       ^Vn        R Vn        V P                  V! \        V4      4      VRR.,           4        ! R RV4      pRR.V,           pV P                  V! \        V4      4      V4       V! 4       p	V P                  V! \        V	4      4      V4       ^*V	n        R V	n        V P                  V! \        V	4      4      VRR.,           4        ! R R\        \        4      4      p
V
! R4      p^Vn
        ^Vn        . R$Op\        V4       Uu. uF  qV9  g   K  VNK  	  ppV P                  VRR.4        ! R RV
4      pV! R4      p^Vn
        ^Vn        V P                  VP                  R4       V P                  \        4      ;_uu_ 4        \        V4       RRR4       V P                  \        \	        4       4      \        \        4      4        ! V3R  lR!\        4      o ! V3R" lR	\        4      p\        V! 4       4       R# u upi   + '       g   i     L{; i)%rx  junkr;   y               @g       @2   2c                 `    V  Uu. uF  qP                  R 4      '       d   K  VNK  	  up# u upi rf  )r  )stringsr  s   & r@   interesting7ClassPropertiesAndMethods.test_dir.<locals>.interesting
  s%    &@w!ll3.?AAw@@@s   ++c                   *   a  ] tR tRt o ^tR tRtV tR# )-ClassPropertiesAndMethods.test_dir.<locals>.Ci	
  c                    R # r   r   r   s   &r@   Cmethod5ClassPropertiesAndMethods.test_dir.<locals>.C.Cmethod
      trB   r   N)r   r   r   r   Cdatar  r   r   r   s   @r@   r   r  	
       E##rB   r   r  r  c                     ^ # r!  r   r   s   &r@   r  4ClassPropertiesAndMethods.test_dir.<locals>.<lambda>
      rB   cdatacmethodc                   *   a  ] tR tRt o ^tR tRtV tR# )-ClassPropertiesAndMethods.test_dir.<locals>.Ai
  c                    R # r   r   r   s   &r@   Amethod5ClassPropertiesAndMethods.test_dir.<locals>.A.Amethod
  r  rB   r   N)r   r   r   r   Adatar  r   r   r   s   @r@   r  r  
  r  rB   r  r  r  c                     ^# )r   r   r   s   &r@   r  r  #
  r  rB   adataamethodc                       ] tR tRtRtR# )-ClassPropertiesAndMethods.test_dir.<locals>.Mi(
  r   Nrj  r   rB   r@   Mr  (
  rl  rB   r  rQ   rD   rW   c                   6   a  ] tR tRt o R t]! ]4      tRtV tR# ).ClassPropertiesAndMethods.test_dir.<locals>.M2i2
  c                    R # )Not a dict!r   r   s   &r@   getdict6ClassPropertiesAndMethods.test_dir.<locals>.M2.getdict3
  s    $rB   r   N)	r   r   r   r   r  r  rK   r   r   r   s   @r@   r  r  2
  s     %(HrB   r  m2r  Nc                   L   <a  ] tR tRt o R tR tV3R ltR tV3R ltRt	V t
R# )	3ClassPropertiesAndMethods.test_dir.<locals>.WrapperiC
  c                    Wn         R # r   _Wrapper__objr  s   &&r@   r5   <ClassPropertiesAndMethods.test_dir.<locals>.Wrapper.__init__D
       
rB   c                :    R \        V P                  4      ,          # )zWrapper(%s))r   r  r   s   &r@   r   <ClassPropertiesAndMethods.test_dir.<locals>.Wrapper.__repr__F
  s    $tDJJ'777rB   c                6   < S! V P                   V,          4      # r   r  )r;   r#  Wrappers   &&r@   rt   ?ClassPropertiesAndMethods.test_dir.<locals>.Wrapper.__getitem__H
  s    tzz#//rB   c                ,    \        V P                  4      # r   )r  r  r   s   &r@   r{   ;ClassPropertiesAndMethods.test_dir.<locals>.Wrapper.__len__J
  s    4::&rB   c                <   < S! \        V P                  V4      4      # r   )rJ   r  )r;   r>   r   s   &&r@   r%  ?ClassPropertiesAndMethods.test_dir.<locals>.Wrapper.__getattr__L
  s    wtzz4899rB   __objN)r   r   r   r   r5   r   rt   r{   r%  r   r   r   r   s   @r@   r   r  C
  s#     !80': :rB   r   c                   >   <a  ] tR tRt o V3R lt]! ]4      tRtV tR# )r  iO
  c                &   < S! \        V 4      4      # r   )rI   )r;   r   s   &r@   
__getclass8ClassPropertiesAndMethods.test_dir.<locals>.C.__getclassP
  s    tDz**rB   r   N)	r   r   r   r   _C__getclassr  r5  r   r   r  s   @r@   r   r  O
  s     + ,IrB   r   )r   rq  __package__
__loader____spec__)rG   r  rI   test_dirr~  r  r  r  r  r  rW   rD   rK   rU  r   Ellipsis)r;   r  rO  r  r   cstuffr\   r  astuffrD   r  	minstancedefault_attributesr  namesr  
m2instancer   s   &                @r@   r  "ClassPropertiesAndMethods.test_dir	  sr    01 aS1#sD$1tT]]RCH S
	A	$ 	$ 9%SV,f5CSV,f5 "	SV,f7K.KL	$ 	$ 9%.SV,f5CSV,f5"	SV,f7K.KL	S	 	cF			8	NJNq7I.INJc
+	) 	)
 X


,,m<y))
O *
 	VXH6
	:f 
	:	- 	-
 	ACK K *)s    J=J=KK	c                n  <aa	a
aa  ! R  R\         4      pV P                  V! 4       P                  ^4      R4        ! V3R lRV4      oV P                  S! 4       P                  ^4      R4        ! R RV4      p\        V4      Vn        V P                  V! 4       P                  ^4      R4        ! V	3R	 lR
VS4      o	V P                  S	! 4       P                  ^4      R4        ! V3R lR\        4      o ! V
V3R lRS	4      o
V P                  S
! 4       P                  ^4      R4        ! R RS
4      pS! V4      Vn        V P                  V! 4       P                  ^4      R4        \        S	^*4       V P                  R4        \        S	V! 4       4       V P                  R4        \        S	4      P                  ^4       V P                  R4        \        S	4      P                  V! 4       4       V P                  R4        ! R R\         4      p ! R RV4      pV! 4       pV P                  VP                  R4       V P                  \        WV`&  ^*4        ! R R\         4      p ! V3R lR V4      oV P                  SP                  4       VP                  4       V P                  \        4      ;_uu_ 4        \        V^R!7       R"R"R"4       R"#   \         d     EL`i ; i  \         d     ELOi ; i  \         d     EL5i ; i  \         d     ELi ; i  + '       g   i     R"# ; i)#c                   &   a  ] tR tRt o R tRtV tR# )0ClassPropertiesAndMethods.test_supers.<locals>.AiY
  c                    R V,          # )zA(%r)r   r;   rD   s   &&r@   rN   5ClassPropertiesAndMethods.test_supers.<locals>.A.methZ
  s    {"rB   r   Nr  r   s   @r@   r  r  Y
       # #rB   r  zA(1)c                   <   <a a ] tR tRt oVV 3R ltR tRtVtV ;t# )0ClassPropertiesAndMethods.test_supers.<locals>.Bi_
  c                *   < \        SV 4      V n        R # r   )r  r  )r;   r  r5  s   &r@   r5   9ClassPropertiesAndMethods.test_supers.<locals>.B.__init__`
  s    $Q~rB   c                T    R V,          V P                   P                  V4      ,           # )zB(%r)r  r  s   &&r@   rN   5ClassPropertiesAndMethods.test_supers.<locals>.B.methb
       {T\\%6%6q%999rB   )r  )	r   r   r   r   r5   rN   r   r   r  )r5  r   r  s   @@r@   r  r#  _
  s     .: :rB   r  zB(2)A(2)c                   &   a  ] tR tRt o R tRtV tR# )0ClassPropertiesAndMethods.test_supers.<locals>.Cig
  c                T    R V,          V P                   P                  V4      ,           # )zC(%r)r  r  s   &&r@   rN   5ClassPropertiesAndMethods.test_supers.<locals>.C.methh
  r(  rB   r   Nr  r   s   @r@   r   r*  g
  s     : :rB   r   zC(3)A(3)c                   6   <a a ] tR tRt oVV 3R ltRtVtV ;t# )0ClassPropertiesAndMethods.test_supers.<locals>.Din
  c                >   < R V,          \         SV `  V4      ,           # )zD(%r))r  rN   )r;   rD   rk  r5  s   &&r@   rN   5ClassPropertiesAndMethods.test_supers.<locals>.D.metho
  s    {U1d%8%;;;rB   r   )r   r   r   r   rN   r   r   r  )r5  r   rk  s   @@r@   rk  r.  n
       < <rB   rk  zD(4)C(4)B(4)A(4)c                   6   <a a ] tR tRt oV V3R ltRtVtV ;t# )6ClassPropertiesAndMethods.test_supers.<locals>.mysuperiv
  c                    < \         SV `  ! V!  # r   r  )r;   r<   r5  mysupers   &*r@   r5   ?ClassPropertiesAndMethods.test_supers.<locals>.mysuper.__init__w
  s    Wd4d;;rB   r   )r   r   r   r   r5   r   r   r  )r5  r   r5  s   @@r@   r5  r3  v
  r1  rB   r5  c                   0   <a  ] tR tRt o VV3R ltRtV tR# )0ClassPropertiesAndMethods.test_supers.<locals>.Eiz
  c                P   < R V,          S! SV 4      P                  V4      ,           # )zE(%r))rN   )r;   rD   r  r5  s   &&r@   rN   5ClassPropertiesAndMethods.test_supers.<locals>.E.meth{
  s$    {WQ%5%:%:1%===rB   r   Nr  )r   r  r5  s   @r@   r  r8  z
  s     > >rB   r  zE(5)D(5)C(5)B(5)A(5)c                   &   a  ] tR tRt o R tRtV tR# )0ClassPropertiesAndMethods.test_supers.<locals>.Fi
  c                    V P                   pR V: RVP                  P                  : R2VP                  V4      ,           # )zF(z)[])	_F__superr5  r   rN   )r;   rD   r  s   && r@   rN   5ClassPropertiesAndMethods.test_supers.<locals>.F.meth
  s-    LL&')=)=>JJrB   r   Nr  r   s   @r@   rL  r<  
  s     K KrB   rL  z!F(6)[mysuper]E(6)D(6)C(6)B(6)A(6)zshouldn't allow super(D, 42)zshouldn't allow super(D, C())z$shouldn't allow super(D).__get__(12)z%shouldn't allow super(D).__get__(C())c                   6   a  ] tR tRt o R t]! ]4      tRtV tR# )5ClassPropertiesAndMethods.test_supers.<locals>.DDbasei
  c                    ^*# r  r   r   s   &r@   rZ  :ClassPropertiesAndMethods.test_supers.<locals>.DDbase.getx
  s    2rB   r   N	r   r   r   r   rZ  r  r  r   r   r   s   @r@   DDbaserB  
  s     %ArB   rF  c                   6   a  ] tR tRt o R t]! ]4      tRtV tR# )4ClassPropertiesAndMethods.test_supers.<locals>.DDsubi
  c                    R # r  r   r   s   &r@   rZ  9ClassPropertiesAndMethods.test_supers.<locals>.DDsub.getx
  s    7rB   r   NrE  r   s   @r@   DDsubrH  
  s     *ArB   rK  r  c                   (    ] tR tRt]! R 4      tRtR# )3ClassPropertiesAndMethods.test_supers.<locals>.Basei
  c                    R # r  r   r   s   &r@   r  <ClassPropertiesAndMethods.test_supers.<locals>.Base.<lambda>
  s    %rB   r   N)r   r   r   r   r  aPropr   r   rB   r@   BaserM  
  s    /0ErB   rQ  c                   @   <a a ] tR tRt o]VV 3R l4       tRtVtV ;t# )2ClassPropertiesAndMethods.test_supers.<locals>.Subi
  c                   < \         SV `  # r   )r  rP  )klassSubr5  s   &r@   r  7ClassPropertiesAndMethods.test_supers.<locals>.Sub.test
  s    S--rB   r   )	r   r   r   r   r  r  r   r   r  )r5  r   rV  s   @@r@   rV  rS  
  s     . . .rB   rV  rR  N)r~  rG   rN   r  r  r?  r   r   r  r  r  rP  rU  )r;   r  r   rL  rF  rK  ddrQ  r  rk  r  rV  r5  r5  s   &       @@@@@r@   test_supers%ClassPropertiesAndMethods.test_supersV
  s   	# 	# 	!f-	: 	: 	!j1	: 	: Ah!j1	<1 	< 	!&89	<e 	<	> 	> 	> 	!&<=	K 	K aj!&IJ	6!RL II45	7!QSM II56	>!HR  II<=	?!HQS! II=>
	V 		F 	 Ww'u+R0
	16 	1	.$ 	.
 	TZZ0 y))$1 *)o  		  		  		  		D *))sT   ,K 
K- -K? L L#K*)K*-K<;K<?LLL L #L4	c                *7  aa  ! V3R  lR\         4      oV P                  \        S! ^4      ^	,           4      R4       V P                  \        S! R4      ^,           4      R4       S! R4      pV P                  VR4       V P                  \        V4      R4       V P                  \        V4      P                  \         4       V P                  \        V4      \        R4      4       V P                  V5P                  \         4       V P                  V^ ,	          P                  \         4       V P                  V^ ,          P                  \         4       V P                  S! ^ 4      ^,          P                  \         4       V P                  S! ^ 4      ^,	          P                  \         4        ! V3R lR\         4      oV P                  \        S! ^4      ^,           4      R4       V P                  \        ^S! R	4      ,           4      R
4       S! R4      pV P                  VR4       V P                  \        V4      R4       V P                  \        V4      \        R4      4       V P                  \        V4      P                  \         4       V P                  V5P                  \         4       V P                  V) P                  \         4       V P                  S! ^ 4      ) P                  \         4       V P                  V^ ,	          P                  \         4       V P                  V^ ,          P                  \         4       V P                  V^ ,
          P                  \         4       V P                  V^,          P                  \         4       V P                  V^,          P                  \         4       V P                  V^,          P                  \         4       V P                  ^V,          P                  \         4       V P                  V^ ,          P                  \         4       V P                  V^ ,          P                  \         4       V P                  VR-,          P                  \         4       V P                  S! ^ 4      ^,          P                  \         4       V P                  S! ^ 4      ^,	          P                  \         4       V P                  \        S! ^ 4      4      P                  \         4        ! R R\         4      pV! ^4      pV P                  V^ ,           P                  \         4       V P                  ^ V,           P                  \         4       V! R-4      pV P                  VP                  / 4       V P                  \        V4      R-4        ! R R\        4      pV P                  \        V! R4      4      R4       V! R4      pV P                  VR4       V P                  \        V4      R4       V P                  \        V4      P                  \        4       V P                  \        V4      \        R4      4       V P                  V5P                  \        4        ! R R\        4      pV! R.^4      pV P                  \        V4      R4       \        R.^4      pV P                  VP                  \        4       V P                  W4       V P                  \        V4      V4       V P                  \        V4      P                  \        4       V! V4      pV P                  \        V4      R4       V P                  W4       V P                  \        V4      V4       V P                  \        V4      P                  \        4       V P                  \        V4      \        V4      4       V P                  V5P                  \        4       V P                  V^ ,           P                  \        4       V P                  V^ ,           V4       V P                  V^ ,
          P                  \        4       V P                  V^ ,
          V4       V P                  V^,          P                  \        4       V P                  V^,          V4       V P                  V^,          P                  \        4       V P                  V^,          V4        ! R R\        4      pV! R/4      pV P                  VR/4       V P                  VP                  4       V! R04      4       V P                  VP                  4       P                  4       V! R/4      4       \        R4       FE  pV! \        V4      4      pVP                  4       p	V	P                  4       p
V P                  W4       KG  	  V! R14      pV P                  \        V4      R14       V P                  \        V4      P                  \        4       V P                  \        V4      \        R14      4       V P                  VR,          P                  \        4       V P                  V^,          P                  \        4       V P                  V^ ,          P                  \        4       V P                  VR2,           P                  \        4       V! R24      pV P                  \        V4      R24       V P                  \        V4      P                  \        4       V P                  W,           P                  \        4       V P                  V^ ,          P                  \        4       V P                  V^,          P                  \        4       V P                  V^,          P                  \        4       V P                  VR,          P                  \        4        ! R R\        4      pV! R4      pV P                  VR4       V P                  VP                  4       V! R4      4       V P                  VP                  4       P                  4       V! R4      4       \        R4       Fb  pV! RP                  \        \         \        V4      4      4      4      pVP                  4       pVP                  4       p	V P                  W4       Kd  	  V! R4      pV P                  \        V4      R4       V P                  \        V4      P                  \        4       R3pV! V4      pV P                  W4       V P                  \        V4      V4       V P                  \        V4      P                  \        4       V P                  \        V4      \        V4      4       V P                  V^/V,          ^4       V P                  V^/V,          ^4       V P                  VR,           P                  \        4       V P                  VR,           V4       V P                  RV,           P                  \        4       V P                  RV,           V4       V P                  V^ ,          P                  \        4       V P                  V^ ,          R4       V P                  V^,          P                  \        4       V P                  V^,          V4       V P                  V^,          P                  \        4       V P                  V^,          WU,           4       V P                  VR,          P                  \        4       V P                  VR,          V4       V P                  VR ,          P                  \        4       V P                  VR ,          R4       V P                  VP#                  4       P                  \        4       V P                  VP#                  4       V4       V P                  VP%                  4       P                  \        4       V P                  VP%                  4       V4       V P                  VP'                  4       P                  \        4       V P                  VP'                  4       V4       / pV P                  VP)                  V4      P                  \        4       V P                  VP)                  V4      V4       V P                  VP+                  R!R!4      P                  \        4       V P                  VP+                  R!R!4      V4       V P                  VP-                  \/        V4      4      P                  \        4       V P                  VP-                  \/        V4      4      V4       V P                  VP1                  \/        V4      4      P                  \        4       V P                  VP1                  \/        V4      4      V4       V P                  VP3                  \/        V4      4      P                  \        4       V P                  VP3                  \/        V4      4      V4       V P                  VP5                  4       P                  \        4       V P                  VP5                  4       V4        ! R" R#\        4      pV! R$4      p	V P                  V	R$4       V P                  V	P                  4       V! R%4      4       V P                  V	P                  4       P                  4       V! R$4      4       RpV! V4      p	V P                  \        V	4      V4       V P                  \        V	4      P                  \        4       V P                  \        V	4      \        V4      4       V P                  V	^/V,          ^4       V P                  V^/V	,          ^4       V P                  V	P#                  4       P                  \        4       V P                  V	P#                  4       V4       V P                  V	P%                  4       P                  \        4       V P                  V	P%                  4       V4       V P                  V	P'                  4       P                  \        4       V P                  V	P'                  4       V4       V P                  V	P+                  R!R!4      P                  \        4       V P                  V	P+                  R!R!4      V4       V P                  V	P+                  R&R&4      P                  \        4       V P                  V	P+                  R&R&4      V4       V P                  V	P3                  \/        V	4      4      P                  \        4       V P                  V	P3                  \/        V	4      4      V4       V P                  V	P-                  \/        V	4      4      P                  \        4       V P                  V	P-                  \/        V	4      4      V4       V P                  V	P1                  \/        V	4      4      P                  \        4       V P                  V	P1                  \/        V	4      4      V4       V P                  V	P5                  4       P                  \        4       V P                  V	P5                  4       V4       V P                  V	P7                  4       P                  \        4       V P                  V	P7                  4       V4       V P                  V	P9                  4       P                  \        4       V P                  V	P9                  4       V4       V P                  V	P;                  4       P                  \        4       V P                  V	P;                  4       V4       V P                  V	R,           P                  \        4       V P                  V	R,           V4       V P                  RV	,           P                  \        4       V P                  RV	,           V4       V P                  V	^ ,          P                  \        4       V P                  V	^ ,          R4       V P                  V	^,          P                  \        4       V P                  V	^,          V4       V P                  V	^,          P                  \        4       V P                  V	^,          WU,           4       V P                  V	R,          P                  \        4       V P                  V	R,          V4       V P                  V	R ,          P                  \        4       V P                  V	R ,          R4        ! R' R(\<        4      pV! \        ^4      4      pV P                  V\=        \        ^4      4      4       VP?                  R)4       V P                  V\=        \        ^4      4      R).,           4       ^V^&   V P                  V\=        \        ^4      4      4       VPA                  \        ^^4      4       V P                  V\=        \        ^4      4      4       . VR4R*% V P                  V\=        \        ^4      4      4       VR+ V P                  \/        V4      ^
4       V P                  V\=        \        ^
4      4      4       V P                  \=        V4      \=        \        ^
4      4      4       V P                  V^ ,          ^ 4       V P                  V^	,          ^	4       V P                  VR5,          ^ 4       V P                  VR-,          ^	4       V P                  VR,,          \=        \        ^4      4      4       R*# )6c                   4   <a  ] tR tRt o R tV3R ltRtV tR# )@ClassPropertiesAndMethods.test_basic_inheritance.<locals>.hexinti
  c                    \        V 4      # r   )hexr   s   &r@   r   IClassPropertiesAndMethods.test_basic_inheritance.<locals>.hexint.__repr__
      4y rB   c                :   < S! \         P                  W4      4      # r   )r1   rp   )r;   r   hexints   &&r@   rp   HClassPropertiesAndMethods.test_basic_inheritance.<locals>.hexint.__add__
  s    ckk$677rB   r   N)r   r   r   r   r   rp   r   r   )r   rc  s   @r@   rc  r]  
  s     !8 8rB   rc  0x10i  0x3efi90  c                   D   <a a ] tR tRt o. tR tV V3R lt]tRtVt	V ;t
# )AClassPropertiesAndMethods.test_basic_inheritance.<locals>.octlongi
  c                    \        V 4      # r   )octr   s   &r@   r   IClassPropertiesAndMethods.test_basic_inheritance.<locals>.octlong.__str__
  ra  rB   c                @   < V P                  \        SV `  V4      4      # r   )r5  r  rp   )r;   r   r5  octlongs   &&r@   rp   IClassPropertiesAndMethods.test_basic_inheritance.<locals>.octlong.__add__
  s    ~~eGT&B5&IJJrB   r   )r   r   r   r   r   r   rp   r   r   r   r  )r5  r   rm  s   @@r@   rm  rh  
  s     I!KHHrB   rm  0o10i  0o5675c                       ] tR tRtRtR# )CClassPropertiesAndMethods.test_basic_inheritance.<locals>.longclonei   r   Nrj  r   rB   r@   	longclonerr     rl  rB   rs  c                   6   a  ] tR tRt o R.tRR ltR tRtV tR# )CClassPropertiesAndMethods.test_basic_inheritance.<locals>.precfloati  r   c                &    \        V4      V n        R # r   )r1   r   )r;   r'  r   s   &&&r@   r5   LClassPropertiesAndMethods.test_basic_inheritance.<locals>.precfloat.__init__  s    I	rB   c                ,    R V P                   V 3,          # )r   r   r   s   &r@   r   LClassPropertiesAndMethods.test_basic_inheritance.<locals>.precfloat.__repr__  s    D 111rB   r   N)r   rx  )	r   r   r   r   r   r5   r   r   r   r   s   @r@   	precfloatru    s     I&2 2rB   rz  g?z1.1g    @c                   &   a  ] tR tRt o R tRtV tR# )DClassPropertiesAndMethods.test_basic_inheritance.<locals>.madcomplexi  c                @    R V P                   V P                  3,          # )z%.17gj%+.17gr   r   r   s   &r@   r   MClassPropertiesAndMethods.test_basic_inheritance.<locals>.madcomplex.__repr__  s    %DII(>>>rB   r   N)r   r   r   r   r   r   r   r   s   @r@   
madcomplexr|    s     ? ?rB   r  z4j-3c                   *   a  ] tR tRt o RtR tRtV tR# )BClassPropertiesAndMethods.test_basic_inheritance.<locals>.madtuplei3  Nc                    V P                   e   V P                   # \        V 4      pVP                  4        V P                  V4      V n         V P                   # r   )_revr7   r3  r5  r;   r4  s   & r@   revFClassPropertiesAndMethods.test_basic_inheritance.<locals>.madtuple.rev5  sB    99(99$J		 NN1-	yy rB   r  r   r   r   r   r  r  r   r   r   s   @r@   madtupler  3       D! !rB   r  i   NNNc                   *   a  ] tR tRt o RtR tRtV tR# )CClassPropertiesAndMethods.test_basic_inheritance.<locals>.madstringiV  Nc                    V P                   e   V P                   # \        V 4      pVP                  4        V P                  RP	                  V4      4      V n         V P                   # Nr   r  r7   r3  r5  ro  r  s   & r@   r  GClassPropertiesAndMethods.test_basic_inheritance.<locals>.madstring.revX  J    99(99$J		 NN2771:6	yy rB   r  r  r   s   @r@   	madstringr  V  r  rB   r  abcdefghijklmnopqrstuvwxyzzyxwvutsrqponmlkjihgfedcba   r   12345:r   r   Nr  c                   *   a  ] tR tRt o RtR tRtV tR# )DClassPropertiesAndMethods.test_basic_inheritance.<locals>.madunicodei  Nc                    V P                   e   V P                   # \        V 4      pVP                  4        V P                  RP	                  V4      4      V n         V P                   # r  r  r  s   & r@   r  HClassPropertiesAndMethods.test_basic_inheritance.<locals>.madunicode.rev  r  rB   r  r  r   s   @r@   
madunicoder    r  rB   r  ABCDEFFEDCBAxyc                       ] tR tRtRtR# )AClassPropertiesAndMethods.test_basic_inheritance.<locals>.sublisti  r   Nrj  r   rB   r@   sublistr    rl  rB   r  r  N:r^     N:Nr   Nr1  )
rn   r   r   r   r   r         	   r   )
r   r  r  r  r   r   r   r   r   rn   )rn   r   r   r   r   r   z     r  )!r1   rG   r   r4  r5  r  r|  r.   rK   r2   r   rT  r  r  ro  mapr  striprg  rstrip	translatereplaceljustr  rjustcenterlowerupper
capitalizetitler7   r   rI  )r;   rD   rs  rz  r  baser  r   rP   r  r   r  r  identitytabr  r  rc  rm  s   &               @@r@   test_basic_inheritance0ClassPropertiesAndMethods.test_basic_inheritance
  s   	8S 	8 	fQi!m,f5fTlQ./95ME"Q'c!f&&,a$u+.rnnc*qAv((#.qAv((#.vayB1137vayB1137	c 	 	WQZ!^,f5 	Q./:ENE"Q'a$u+.c!f&&,rnnc*rnnc*
{--s3qAv((#.qAv((#.q1u''-q1u''-qAv((#.qAv((#.q1u''-q1u''-q1u''-q2v((#.wqzR'22C8wqzR'22C8c'!*o//5	 	aLq1u''-q1u''- bMR(Q$	2 	2 	in-u5eG$q7+eAh((%0a$w-0rnne,	? 	? r1a&)r1~1!T*--w7qMa&)!T*--w7a$t*-1"1!a%**G4Q%!a%**G4Q%!a%**G4Q%!a%**G4Q%	!u 	! *+12(+@"AB1F(GHsAq"AAAQ"	 
 [!q;/eAh((%0a${"34adnne,q1u''/q1u''/q2v((%0RLq2&eAh((%0qu''/q1u''/q1u''/q1u''/adnne,	! 	! 2389),H"IJ	2N(OPsA"''#c58"456AAAQ"	 
 gQ)c!f&&,dO!Q&c!f&&,a$t*-!Qq)$1q)q2v((#.R&rAv((#.a&q1u''-Q#q1u''-Q%q1u''-Q,adnnc*1t$af&&,3$aggi))3/D)ahhj**C0T*ahhj**C0T*akk+.88#>[148aiiS)33S93,d3aggc!fo//5Q$/aggc!fo//5Q$/ahhs1v&00#6#a&)40aggi))3/D)	! 	! x H%*X"67
8(<=tQ&c!f&&,a$t*-!Qq)$1q)aggi))3/D)ahhj**C0T*ahhj**C0T*aiiS)33S93,d3aiid+55s;4.5ahhs1v&00#6#a&)40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''-Q,adnnc*1t$af&&,3$	d 	E!HDqN+	DqNgY67!DqN+	q"DrO,"#DrO,eHQ$DrO,a$uRy/21q!1q!3#2"2U1X/rB   c                d   V P                  \        R 4      ;_uu_ 4        \        ^R7       RRR4       V P                  \        R 4      ;_uu_ 4        \        ^R7       RRR4       V P                  \        R 4      ;_uu_ 4        \	        ^R7       RRR4       V P                  \        ^*RR7      \        R^*4      4       V P                  \        RR7      R4       V P                  \        RR	R
7      R4       V P                  \        R 4      ;_uu_ 4        \        \        ^4      R7       RRR4       V P                  \        R 4      ;_uu_ 4        \        RR7       RRR4       \        \        \        \        \        \        \        \        3 F%  p V! ^R7       V P                  RV,          4       K'  	  R#   + '       g   i     EL; i  + '       g   i     EL|; i  + '       g   i     EL]; i  + '       g   i     L; i  + '       g   i     L; i  \         d     K  i ; i)zkeyword argumentr|  Ni  r~  rw  r~  500   abcstrict)r~  errorsr  )sequence)bogus_keyword_argz4expected TypeError from bogus keyword argument to %rrH  )r  r   r1   r2   boolrG   r   r|  rT  r  r7   r   )r;   constructors   & r@   test_keywords'ClassPropertiesAndMethods.test_keywords  s   ##I/ABB!H C##I/ABBAJ C##I/ABB1I Cbs3WS"5EFC%0F8<eD##I/ABB58$ C##I/ABB)$ C  Wc3!4)K+a0 		P)* +) CBBBBBBBB
 CBBB  sM   F>GG&G:H	H >G	G#	&G7	:H
	H	 H/.H/c                :  a  ! V3R  lR\         4      oV P                  S! R4      R4       V P                  RS! R4      4       V P                  \        S! R4      4      R4       S! R4      ^S! R4      ^S! R4      ^/pV P                  VS! R4      ,          ^4       V P                  VS! R4      ,          ^4       V P                  VS! R	4      ,          ^4       V P                  S! R
4      V4       V P                  VP                  S! R4      4      ^4       R# )c                   >   <a  ] tR tRt o RtR tV3R ltR tRtV t	R# )FClassPropertiesAndMethods.test_str_subclass_as_dict_key.<locals>.cistri0  zuSubclass of str that computes __eq__ case-insensitively.

Also computes a hash code of the string in canonical form.
c                d    VP                  4       V n        \        V P                  4      V n        R # r   )r  	canonicalr  hashcoderk  s   &&r@   r5   OClassPropertiesAndMethods.test_str_subclass_as_dict_key.<locals>.cistr.__init__6  s    !& $T^^ 4rB   c                j   < \        VS4      '       g	   S! V4      pV P                  VP                  8H  # r   )rA  r  )r;   r   cistrs   &&r@   r  MClassPropertiesAndMethods.test_str_subclass_as_dict_key.<locals>.cistr.__eq__:  s,    !%//!%LE~~88rB   c                    V P                   # r   )r  r   s   &r@   r  OClassPropertiesAndMethods.test_str_subclass_as_dict_key.<locals>.cistr.__hash__?  s    }}$rB   )r  r  N)
r   r   r   r   rq  r5   r  r  r   r   )r   r  s   @r@   r  r  0  s     
59
% %rB   r  ABCr  aBcr  r  tHreetWoTHrEEONethrEEN)r|  rG   rR  r   )r;   rO   r  s   & @r@   test_str_subclass_as_dict_key7ClassPropertiesAndMethods.test_str_subclass_as_dict_key-  s    	%C 	%$ 	uu-e-U5\*E25\1eElAuW~qA5<!,5<!,5>*A.eElA&uW~.2rB   c                `  a
  ! R  R4      pV\         \        3 EF  p ! V
3R lRV4      o
S
! ^4      pS
! ^4      pS
! ^4      pV P                  V^4       ^V^V^V/pR
 F  pR
 F  pR F  p	V P                  \        RV	,          4      \        RV	,          4      RWx3,          4       V P                  \        RV	,          4      \        RV	,          4      RWx3,          4       V P                  \        RV	,          4      \        RV	,          4      RWx3,          4       K  	  K  	  K  	  EK  	  R	# )c                       ] tR tRtRtR# )CClassPropertiesAndMethods.test_classic_comparisons.<locals>.classiciO  r   Nrj  r   rB   r@   classicr  O  rl  rB   r  c                   p   <a  ] tR tRt o R tV3R ltV3R ltV3R ltV3R ltV3R lt	V3R lt
R	tV tR
# )=ClassPropertiesAndMethods.test_classic_comparisons.<locals>.CiS  c                &    \        V4      V n        R # r   r1   r'  rk  s   &&r@   r5   FClassPropertiesAndMethods.test_classic_comparisons.<locals>.C.__init__T      !$UDJrB   c                   < \        VS4      '       d   V P                  VP                  8H  # \        V\        4      '       g   \        V\        4      '       d   V P                  V8H  # \        # r   rA  r'  r1   r   r;   r   r   s   &&r@   r  DClassPropertiesAndMethods.test_classic_comparisons.<locals>.C.__eq__V  Q    !%++#zzU[[88!%--E31G1G#zzU22))rB   c                   < \        VS4      '       d   V P                  VP                  8g  # \        V\        4      '       g   \        V\        4      '       d   V P                  V8g  # \        # r   r  r  s   &&r@   r%  DClassPropertiesAndMethods.test_classic_comparisons.<locals>.C.__ne__\  r  rB   c                   < \        VS4      '       d   V P                  VP                  8  # \        V\        4      '       g   \        V\        4      '       d   V P                  V8  # \        # r   r  r  s   &&r@   r2  DClassPropertiesAndMethods.test_classic_comparisons.<locals>.C.__lt__b  Q    !%++#zzEKK77!%--E31G1G#zzE11))rB   c                   < \        VS4      '       d   V P                  VP                  8*  # \        V\        4      '       g   \        V\        4      '       d   V P                  V8*  # \        # r   r  r  s   &&r@   r/  DClassPropertiesAndMethods.test_classic_comparisons.<locals>.C.__le__h  r  rB   c                   < \        VS4      '       d   V P                  VP                  8  # \        V\        4      '       g   \        V\        4      '       d   V P                  V8  # \        # r   r  r  s   &&r@   r+  DClassPropertiesAndMethods.test_classic_comparisons.<locals>.C.__gt__n  r  rB   c                   < \        VS4      '       d   V P                  VP                  8  # \        V\        4      '       g   \        V\        4      '       d   V P                  V8  # \        # r   r  r  s   &&r@   r(  DClassPropertiesAndMethods.test_classic_comparisons.<locals>.C.__ge__t  r  rB   r'  Nr   r   r   r   r5   r  r%  r2  r/  r+  r(  r   r   r  s   @r@   r   r  S  -     ,****** *rB   r   c[x] %s c[y]x %s y
x=%d, y=%d	c[x] %s y	x %s c[y]Nr   r!   r#   r%   r'   r)   r+   )r1   r~  rG   rH   )r;   r  r  r  r?  c3r\   r  ry  opr   s   &         @r@   test_classic_comparisons2ClassPropertiesAndMethods.test_classic_comparisonsM  s   	 	 c6*D&*D &*P 1B1B1BR#B2q"%A A>((nr.A)B%)(R-%8%1QF%:< ((kB.>)?%)(R-%8%1QF%:< ((kB.>)?%)(R-%8%1QF%:< ? ! ] +rB   c                V  a  ! R  R\         4      pV! ^4      pV P                  VR4       V P                  RV4        ! R R\         4      pV! R4      pV P                  VR4       V P                  RV4        ! R R4      pV\        \        \        3 EF  p ! V3R lRV4      oS! ^4      pS! ^4      pS! ^4      p	V P                  V^4       ^V^V^V	/p
R F  pR F  pR F  pV P                  \        R	V,          4      \        R
V,          4      RW3,          4       V P                  \        RV,          4      \        R
V,          4      RW3,          4       V P                  \        RV,          4      \        R
V,          4      RW3,          4       K  	  K  	  K  	  EK  	  R# )c                       ] tR tRtRtR# ):ClassPropertiesAndMethods.test_rich_comparisons.<locals>.Zi  r   Nrj  r   rB   r@   r,  r    rl  rB   r,  c                   &   a  ] tR tRt o R tRtV tR# );ClassPropertiesAndMethods.test_rich_comparisons.<locals>.ZZi  c                F     \        W,
          4      R 8*  #    \        u # ; i)gư>)r.   r   r   s   &&r@   r  BClassPropertiesAndMethods.test_rich_comparisons.<locals>.ZZ.__eq__  s&    *t|,44*))s     r   Nr  r   s   @r@   ZZr    s     * *rB   r  gׇP  ?c                       ] tR tRtRtR# )@ClassPropertiesAndMethods.test_rich_comparisons.<locals>.classici  r   Nrj  r   rB   r@   r  r
    rl  rB   r  c                   p   <a  ] tR tRt o R tV3R ltV3R ltV3R ltV3R ltV3R lt	V3R lt
R	tV tR
# ):ClassPropertiesAndMethods.test_rich_comparisons.<locals>.Ci  c                &    \        V4      V n        R # r   r  rk  s   &&r@   r5   CClassPropertiesAndMethods.test_rich_comparisons.<locals>.C.__init__  r  rB   c                   < \        VS4      '       d   V P                  VP                  8H  # \        V\        4      '       g   \        V\        4      '       d   V P                  V8H  # \        # r   r  r  s   &&r@   r  AClassPropertiesAndMethods.test_rich_comparisons.<locals>.C.__eq__  r  rB   c                   < \        VS4      '       d   V P                  VP                  8g  # \        V\        4      '       g   \        V\        4      '       d   V P                  V8g  # \        # r   r  r  s   &&r@   r%  AClassPropertiesAndMethods.test_rich_comparisons.<locals>.C.__ne__  r  rB   c                   < \        VS4      '       d   V P                  VP                  8  # \        V\        4      '       g   \        V\        4      '       d   V P                  V8  # \        # r   r  r  s   &&r@   r2  AClassPropertiesAndMethods.test_rich_comparisons.<locals>.C.__lt__  r  rB   c                   < \        VS4      '       d   V P                  VP                  8*  # \        V\        4      '       g   \        V\        4      '       d   V P                  V8*  # \        # r   r  r  s   &&r@   r/  AClassPropertiesAndMethods.test_rich_comparisons.<locals>.C.__le__  r  rB   c                   < \        VS4      '       d   V P                  VP                  8  # \        V\        4      '       g   \        V\        4      '       d   V P                  V8  # \        # r   r  r  s   &&r@   r+  AClassPropertiesAndMethods.test_rich_comparisons.<locals>.C.__gt__  r  rB   c                   < \        VS4      '       d   V P                  VP                  8  # \        V\        4      '       g   \        V\        4      '       d   V P                  V8  # \        # r   r  r  s   &&r@   r(  AClassPropertiesAndMethods.test_rich_comparisons.<locals>.C.__ge__  r  rB   r  Nr  r  s   @r@   r   r    r  rB   r   r  r  r  r  r  Ny      ?        r   r  )r   rG   r1   r~  r7   rH   )r;   r,  r  r  zzr  r  r  r?  r  r\   r  ry  r  r   s   &             @r@   test_rich_comparisons/ClassPropertiesAndMethods.test_rich_comparisons  s   	 	aDD!q!	* 	* 	]T"r"	 	c640D&*D &*N 1B1B1BR#B2q"%A A>((nr.A)B)-hm)<)5)>@ ((kB.>)?)-hm)<)5)>@ ((kB.>)?)-hm)<)5)>@ ? ! [ 1rB   c                t   a  ^ RI Hp V 3R lpV! VP                  R4       V! \        P                  R4       R# )r   )FileIOc                 @   < SP                  V P                  V4       R # r   )rG   rq  )descrwhatr;   s   &&r@   check6ClassPropertiesAndMethods.test_descrdoc.<locals>.check  s    U]]D1rB   zTrue if the file is closedz!the real part of a complex numberN)_ior  closedr   r   )r;   r  r#  s   f  r@   test_descrdoc'ClassPropertiesAndMethods.test_descrdoc  s)    	2fmm9:gll?@rB   c                   a  ! R  R\         4      o ! V3R lR4      pV P                  VP                  R4       V P                  V! 4       P                  R4       R# )c                   &   a  ] tR tRt o R tRtV tR# )?ClassPropertiesAndMethods.test_doc_descriptor.<locals>.DocDescri  c                    V'       d   VP                   P                  R ,           pV'       d   VP                  pRV: RV: 2# )z	 instancezobject=z; type=)r5  r   )r;   r~  otypes   &&&r@   r  GClassPropertiesAndMethods.test_doc_descriptor.<locals>.DocDescr.__get__  s3    #--66DF!NNE/5u==rB   r   Nr  r   s   @r@   DocDescrr+    s     > >rB   r/  c                   (   < ] tR tRt Z ! 4       tRtR# )?ClassPropertiesAndMethods.test_doc_descriptor.<locals>.NewClassi  r   NrJ  )r/  s   r@   NewClassr1    s
    jGrB   r2  zobject=None; type=NewClassz'object=NewClass instance; type=NewClassN)r~  rG   rq  )r;   r2  r/  s   & @r@   test_doc_descriptor-ClassPropertiesAndMethods.test_doc_descriptor  sI    	>v 	>	! 	!))+GH++-VWrB   c                Z  a a  ! R  R\         4      p ! R R\         4      p ! R R\         4      p ! R RW#4      pWW43 FY  pWW43 FN  pV! 4       pWgn        S P                  VP                  V4       WWn        S P                  VP                  V4       KP  	  K[  	  V 3R lpV! V! 4       \        4       V! \        4       V4       V! V! 4       ^4       V! V! 4       \         4       V! \        4       \        4       V! \        4       \         4        ! R	 R
\        4      p	V! R\        4       V! ^\
        4       \        4       p
V! V
\        4       V! V
\        R4      4       ?
 ! R R\         4      p ! R R\         4      p ! R R\         4      p ! R R\         4      p ! R R\         4      p ! R RV4      p ! R RV4      p ! R RV4      p ! R RV4      p ! R R V4      p ! R! R"V4      pW3W3W3VV3VV33 F  w  rVV! 4       p^Vn        Wgn        S P                  VP                  VR#V: R$V: R%24       S P                  VP                  ^4       WWn        S P                  VP                  VR#V: R$V: R%24       S P                  VP                  ^4       K  	  WVVVVVV\        V	3
 F.  pWVVVVVV\        V	3
 F  pWVJ d   K
  V! V! 4       V4       K  	  K0  	   ! R& R'\         4      o ! V3R( lR)\         4      p\        ^d4       Uu. uF
  pV! 4       NK  	  pp?R# u upi )*c                       ] tR tRtRtR# )3ClassPropertiesAndMethods.test_set_class.<locals>.Ci  r   Nrj  r   rB   r@   r   r7    r  rB   r   c                       ] tR tRtRtR# )3ClassPropertiesAndMethods.test_set_class.<locals>.Di  r   Nrj  r   rB   r@   rk  r9    r  rB   rk  c                       ] tR tRtRtR# )3ClassPropertiesAndMethods.test_set_class.<locals>.Ei  r   Nrj  r   rB   r@   r  r;    r  rB   r  c                       ] tR tRtRtR# )3ClassPropertiesAndMethods.test_set_class.<locals>.Fi  r   Nrj  r   rB   r@   rL  r=    r  rB   rL  c                    <  Wn         SP                  R V : RV: 24        \        V R4       SP                  RV ,          4       R#   \         d     L4i ; i  \        \        3 d     R# i ; i)shouldn't allow z.__class__ = r5  z shouldn't allow del %r.__class__N)r5  r   r   rg  r0  )r  r   r;   s   &&r@   cant6ClassPropertiesAndMethods.test_set_class.<locals>.cant  sq    H 		AFGB;' 		<q@A   ~. s"   A	 A 	AAA/.A/c                       ] tR tRt. tRtR# )5ClassPropertiesAndMethods.test_set_class.<locals>.Inti  r   Nr:  r   rB   r@   IntrC    s    B	rB   rD  TNc                       ] tR tRtRR.tRtR# )3ClassPropertiesAndMethods.test_set_class.<locals>.Gi  rD   rW   r   Nr:  r   rB   r@   r  rF    r  rB   r  c                       ] tR tRtRR.tRtR# )3ClassPropertiesAndMethods.test_set_class.<locals>.Hi  rW   rD   r   Nr:  r   rB   r@   r  rH    r  rB   r  c                       ] tR tRtRR.tRtR# )3ClassPropertiesAndMethods.test_set_class.<locals>.Ii  rD   rW   r   Nr:  r   rB   r@   r  rJ    r  rB   r  c                       ] tR tRtRR.tRtR# )3ClassPropertiesAndMethods.test_set_class.<locals>.Ji  r\   rW   r   Nr:  r   rB   r@   JrL    r  rB   rM  c                       ] tR tRt. ROtRtR# )3ClassPropertiesAndMethods.test_set_class.<locals>.Ki   r   N)rD   rW   rO   r:  r   rB   r@   KrO     rd  rB   rP  c                       ] tR tRtR.tRtR# )3ClassPropertiesAndMethods.test_set_class.<locals>.Li"  r  r   Nr:  r   rB   r@   r4  rR  "  r_  rB   r4  c                       ] tR tRtR.tRtR# )3ClassPropertiesAndMethods.test_set_class.<locals>.Mi$  r  r   Nr:  r   rB   r@   r  rT  $  r_  rB   r  c                       ] tR tRtR.tRtR# )3ClassPropertiesAndMethods.test_set_class.<locals>.Ni&  r  r   Nr:  r   rB   r@   r8  rV  &  r  rB   r8  c                       ] tR tRtR.tRtR# )3ClassPropertiesAndMethods.test_set_class.<locals>.Pi(  rK   r   Nr:  r   rB   r@   PrX  (  r  rB   rY  c                       ] tR tRtRtR# )3ClassPropertiesAndMethods.test_set_class.<locals>.Qi*  r   Nrj  r   rB   r@   Qr[  *  rl  rB   r\  c                       ] tR tRtRR.tRtR# )3ClassPropertiesAndMethods.test_set_class.<locals>.Ri,  rK   r  r   Nr:  r   rB   r@   Rr^  ,  s    #]3IrB   r_  z
assigning z as __class__ for z silently failedc                       ] tR tRtRtR# )3ClassPropertiesAndMethods.test_set_class.<locals>.OiB  r   Nrj  r   rB   r@   Ora  B  rl  rB   rb  c                   .   <a  ] tR tRt o V3R ltRtV tR# )3ClassPropertiesAndMethods.test_set_class.<locals>.AiD  c                   < SV n         R # r   r  )r;   rb  s   &r@   r  ;ClassPropertiesAndMethods.test_set_class.<locals>.A.__del__E  s
    !"rB   r  Nr   r   r   r   r  r   r   )r   rb  s   @r@   r  rd  D  s     # #rB   r  )
r~  r5  r4  r7   r1   r  rI   rD   rG   r  )r;   r   rk  r  rL  r   cls2r  r@  rD  or  r  r  rM  rP  r4  r  r8  rY  r\  r_  r  r   rb  s   f                       @r@   test_set_class(ClassPropertiesAndMethods.test_set_class  s   :Ca
E"akk40!akk3/ # 	B 	QS$TVQQS!QS&VXtTVV&#&T3QHQQT
	# 	#	# 	#	# 	#	# 	#	( 	(	 		 		( 	(	% 	%	 		4 	4 &1&1&1a&1a&AICAACKMM!++tIMqQSQSS!$KMM!++sILaPRQSS!$ B Aq!Q44CaAq!Qc9;SUD! : 5	 		# 	#  *%*QQS*% &s   L(c                  a aa  ! R  R\         4      pV! 4       pR^/Vn        S P                  VP                  ^4       V 3R loS! VR4       S! V. 4       S! V^4       V= ! R R\         4      oVVV 3R lp ! R R	\        S4      p ! R
 RS\        4      p ! R R\         VR7      p ! R R\         VR7      pWV3 F5  pV! V4       VP                  p	 RV	R&   S P                  RV,          4       K7  	   ! R R\        P                  S4      p
 ! R RS\        P                  4      pW3 F"  pV! R4      pV! V4       RVP                  R&   K$  	  R p ! R R\        S4      p ! R RS\        4      p\        VV3 FU  pV! 4       pR^/Vn        S P                  VP                  ^4       S P                  V! V4      V! \        4       4      4       KW  	  R#   \         d     EK,  i ; i)c                       ] tR tRtRtR# )2ClassPropertiesAndMethods.test_set_dict.<locals>.CiL  r   Nrj  r   rB   r@   r   rn  L  r  rB   r   rW   c                 x   <  Wn         SP                  R V : RV: 24       R#   \        \        3 d     R# i ; i)r?  z.__dict__ = N)rK   r   r0  r   )r  r   r;   s   &&r@   r@  5ClassPropertiesAndMethods.test_set_dict.<locals>.cantP  s:    J!
 		4HI #I. s   $ 99Nc                       ] tR tRtRtR# )5ClassPropertiesAndMethods.test_set_dict.<locals>.Basei\  r   Nrj  r   rB   r@   rQ  rr  \  rl  rB   rQ  c                *  < S! V / 4        V = SP                  RV ,          4       SP                   R,          p VP	                  V / 4       SP                  RV ,          4       R#   \        \        3 d     LSi ; i  \        \        3 d     R# i ; i)z:
x has to be an instance of a class inheriting from Base.
zshouldn't allow del %r.__dict__rK   z&dict_descr allowed access to %r's dictN)rK   r   r0  r   r  )r  
dict_descrrQ  r@  r;   s   & r@   verify_dict_readonlyEClassPropertiesAndMethods.test_set_dict.<locals>.verify_dict_readonly^  s     BKAJ 		;a?@z2JH""1b) 		BQFG #I.  #I. s"   A& A= &A:9A:=BBc                       ] tR tRtRtR# )6ClassPropertiesAndMethods.test_set_dict.<locals>.Meta1ir  r   Nrj  r   rB   r@   Meta1rx  r  rl  rB   ry  c                       ] tR tRtRtR# )6ClassPropertiesAndMethods.test_set_dict.<locals>.Meta2it  r   Nrj  r   rB   r@   Meta2r{  t  rl  rB   r|  c                       ] tR tRtRtR# )2ClassPropertiesAndMethods.test_set_dict.<locals>.Div  r   Nrj  r   rB   r@   rk  r~  v  rl  rB   rk  r_  c                       ] tR tRtRtR# )2ClassPropertiesAndMethods.test_set_dict.<locals>.Eix  r   Nrj  r   rB   r@   r  r  x  rl  rB   r  eggsr   z%r's __dict__ can be modifiedc                       ] tR tRtRtR# )8ClassPropertiesAndMethods.test_set_dict.<locals>.Module1i  r   Nrj  r   rB   r@   Module1r    rl  rB   r  c                       ] tR tRtRtR# )8ClassPropertiesAndMethods.test_set_dict.<locals>.Module2i  r   Nrj  r   rB   r@   Module2r    rl  rB   r  c                 <     V = R #   \        \        3 d     R# i ; i)TF)rK   r   r0  )r  s   &r@   can_delete_dict@ClassPropertiesAndMethods.test_set_dict.<locals>.can_delete_dict  s*    J  ~. s    c                       ] tR tRtRtR# );ClassPropertiesAndMethods.test_set_dict.<locals>.Exception1i  r   Nrj  r   rB   r@   
Exception1r    rl  rB   r  c                       ] tR tRtRtR# );ClassPropertiesAndMethods.test_set_dict.<locals>.Exception2i  r   Nrj  r   rB   r@   
Exception2r    rl  rB   r  rD   )r~  rK   rG   rW   rI   r   r   rz  r{  r  rD   r  )r;   r   rD   ru  ry  r|  rk  r  r   
class_dictr  r  r{  r   r  r  r  ExceptionTyper  rQ  r@  s   f                  @@r@   test_set_dict'ClassPropertiesAndMethods.test_set_dictJ  s   C1X
a 	J 	QQQ
J	6 		H(	D$ 		D$ 		% 		% 	7C %JA%+
6" 		9C?@ 	e&& 		dE,, 	!*JV$C %#)CLL  +		D 		y 	&
J>MAqAJQSS!$_Q/1NO	 ?=  s   GG,+G,c                  a  ! V3R  lR\         4      oV P                  \        S! ^4      S! ^4      ,           4      R4       V P                  \        S! ^4      ^,           4      R4       V P                  \        ^S! ^4      ,           4      R4       V P                  \        S! ^4      S! ^4      ,          4      R4       V P                  \        ^S! ^4      ,          4      R4       V P                  \        S! ^4      ^,          4      R4       V P                  \        \        S! ^4      S! ^4      S! ^4      4      4      R4       V P                  \        \        S! ^4      S! ^4      ^4      4      R4       V P                  \        \        S! ^4      ^^4      4      R4       V P                  \        \        ^S! ^4      ^4      4      R4       V P                  \        \        ^^S! ^4      4      4      R4        ! R R\        4      pR# )c                   X   <a  ] tR tRt o R tV3R lt]tRV3R lltRV3R lltRt	V t
R# )	BClassPropertiesAndMethods.test_binary_operator_override.<locals>.Ii  c                &    R \        V 4      ,          # )zI(%r)r`  r   s   &r@   r   KClassPropertiesAndMethods.test_binary_operator_override.<locals>.I.__repr__  s    T**rB   c                F   < S! \        V 4      \        V4      ,           4      # r   r`  )r;   r   r  s   &&r@   rp   JClassPropertiesAndMethods.test_binary_operator_override.<locals>.I.__add__  s    TSZ/00rB   Nc           	        < Vf%   S! \        \        V 4      \        V4      4      4      # S! \        \        V 4      \        V4      \        V4      4      4      # r   r   r1   r;   r   r   r  s   &&&r@   __pow__JClassPropertiesAndMethods.test_binary_operator_override.<locals>.I.__pow__  sB    ;STCJ788STCJCABBrB   c           	        < Vf&   S! \        \        V4      \        V 4      V4      4      # S! \        \        V4      \        V 4      \        V4      4      4      # r   r  r  s   &&&r@   __rpow__KClassPropertiesAndMethods.test_binary_operator_override.<locals>.I.__rpow__  sD    ;SUSY<==SUSYCABBrB   r   r   )r   r   r   r   r   rp   r   r  r  r   r   )r   r  s   @r@   r  r    s&     +1HC
C CrB   r  zI(3)zI(8)3c                   &   a  ] tR tRt o R tRtV tR# )BClassPropertiesAndMethods.test_binary_operator_override.<locals>.Si  c                D    V P                  4       VP                  4       8H  # r   )r  r   s   &&r@   r  IClassPropertiesAndMethods.test_binary_operator_override.<locals>.S.__eq__  s    zz|u{{}44rB   r   Nr  r   s   @r@   Sr    r  rB   r  N)r1   rG   r   r   r|  )r;   r  r  s   & @r@   test_binary_operator_override7ClassPropertiesAndMethods.test_binary_operator_override  s   	C 	C" 	adQqTk*F3adQh0a!A$h0adadl+V4a1Q4i&1adai&1c!A$!ad34f=c!A$!a016:c!A$1o.7c!QqT1o.7c!Q!o.4	5 	5rB   c                    ! R  R\         4      p ! R RV4      p ! R RV4      p ! R RW#4      pV! 4       p\        V4      pR Vn        V P                  \        V4      ^*4       R	 Vn        V P                  \        V4      R
4       R Vn        V P                  \        V4      ^4       R Vn        V P                  \        V4      ^d4       RVn        V P	                  \
        \        V4       V=V P                  \        V4      ^4       RVn        V P	                  \
        \        V4       V=V P                  \        V4      R
4       RVn        V P	                  \
        \        V4       V=V P                  \        V4      ^*4       RVn        V P	                  \
        \        V4       V=V P                  \        V4      V4       ^*Vn        ^*Vn        V P                  VP                  ^*4       V P                  VP                  ^*4       R pWqn        V P                  VP                  ^4       V P                  VP                  ^*4       R pWn	        V P                  VP                  R4       V P                  VP                  ^4       V P                  VP                  ^*4       V=V P                  VP                  ^*4       V=V P                  VP                  R4       V P                  VP                  ^*4       V=	 VP                   V P                  R4        ! R R\         4      p ! R RV4      p?\        P                  ! 4        R Vn        R#   \         d     LGi ; i)c                       ] tR tRtRtR# )>ClassPropertiesAndMethods.test_subclass_propagation.<locals>.Ai  r   Nrj  r   rB   r@   r  r    rl  rB   r  c                       ] tR tRtRtR# )>ClassPropertiesAndMethods.test_subclass_propagation.<locals>.Bi  r   Nrj  r   rB   r@   r  r    rl  rB   r  c                       ] tR tRtRtR# )>ClassPropertiesAndMethods.test_subclass_propagation.<locals>.Ci  r   Nrj  r   rB   r@   r   r    rl  rB   r   c                       ] tR tRtRtR# )>ClassPropertiesAndMethods.test_subclass_propagation.<locals>.Di  r   Nrj  r   rB   r@   rk  r    rl  rB   rk  c                     ^*# r  r   r   s   &r@   r  EClassPropertiesAndMethods.test_subclass_propagation.<locals>.<lambda>  s    "rB   c                     R # ):  r   r   s   &r@   r  r    r  rB   r  c                     ^# )   r   r   s   &r@   r  r    r  rB   c                     ^d# r@  r   r   s   &r@   r  r    r  rB   Nc                 >    VR 8X  d   ^# \         P                  W4      # r  )r~  r_  r  s   &&r@   r_  MClassPropertiesAndMethods.test_subclass_propagation.<locals>.__getattribute__  s    u}**466rB   c                 *    VR9   d   R# \        V4      h)r   r  )r   r   r  r  r  s   &&r@   r%  HClassPropertiesAndMethods.test_subclass_propagation.<locals>.__getattr__  s    -- &&rB   r  zd.foo should be undefined nowc                       ] tR tRtRtR# )r  i
  r   Nrj  r   rB   r@   r  r  
  rl  rB   c                       ] tR tRtRtR# )r  i  r   Nrj  r   rB   r@   r  r    rl  rB   c                      R # r   r   rE  s   *r@   r  r    s    4rB   )r~  r  r  rG   rU  r   r   r  r_  r%  r   r   r0  r   r  r   )	r;   r  r  r   rk  rO   	orig_hashr_  r%  s	   &        r@   test_subclass_propagation3ClassPropertiesAndMethods.test_subclass_propagation  s   	 		 		 		 	CG	$
a"%%
a#&%
a#&%
a#&
)T1-Ja#&
)T1-Ja#&
)T1-Ja"%
)T1-Ja),##	7 .##	' $)###E(#M	7EE II56	 		 	'  		s   
M! !M/.M/c                8   ^ RI p ! R R\        4      pRpV! V4      pV P                  VP                  V4      VP                  V4      4        ! R R\        4      pV! ^*4      p VP                  V4       V P                  R4       R#   \         d     R# i ; i)r   Nc                       ] tR tRtRtR# )BClassPropertiesAndMethods.test_buffer_inheritance.<locals>.MyBytesi  r   Nrj  r   rB   r@   rI  r    rl  rB   rI  r  c                       ] tR tRtRtR# )@ClassPropertiesAndMethods.test_buffer_inheritance.<locals>.MyInti   r   Nrj  r   rB   r@   r;  r     rl  rB   r;  z2subclass of int should not have a buffer interface)binasciirS  rG   b2a_hexr1   r   r   )r;   r  rI  r  rQ   r;  s   &     r@   test_buffer_inheritance1ClassPropertiesAndMethods.test_buffer_inheritance  s     		e 	DM 	))!,h.>.>t.DE	C 	"I	QIIJK 		s   &"B
 
BBc                <  a ^ RI o ! V3R lR\        4      pV! R4      pV P                  \        V4      V4       V P                  \        \        V4      4      \        4       V P                  \        \	        V4      4      \        4       V P                  \        V4      ^A4       V P                  \        V4      R4       V P                  \	        V4      R4       V P                  VP                  4       R4       V P                  VP                  4       R4       R# )r   Nc                   4   <a  ] tR tRt o V3R ltR tRtV tR# )GClassPropertiesAndMethods.test_str_of_str_subclass.<locals>.octetstringi-  c                b   < SP                  V P                  R 4      4      P                  R 4      # )ascii)r  encodedecode)r;   r  s   &r@   r   OClassPropertiesAndMethods.test_str_of_str_subclass.<locals>.octetstring.__str__.  s(    ''G(<=DDWMMrB   c                    V R ,           # )z reprr   r   s   &r@   r   PClassPropertiesAndMethods.test_str_of_str_subclass.<locals>.octetstring.__repr__0  s    g~%rB   r   N)r   r   r   r   r   r   r   r   )r   r  s   @r@   octetstringr  -  s     N& &rB   r  r  41zA repr)r  r|  rG   rI   r   ordr   r   )r;   r  ri  r  s   &  @r@   test_str_of_str_subclass2ClassPropertiesAndMethods.test_str_of_str_subclass)  s    	&# 	& a+.c!fs+d1g,Q&Q&a(+d+x0rB   c                     ! R  R\         4      p ! R R4      pV! R4      Vn        V P                  \        V4      \         4       V P                  \        V! 4       4      \         4       R# )c                       ] tR tRtRtR# )LClassPropertiesAndMethods.test_repr_with_module_str_subclass.<locals>.StrSubi?  r   Nrj  r   rB   r@   StrSubr  ?  rl  rB   r  c                       ] tR tRtRtR# )JClassPropertiesAndMethods.test_repr_with_module_str_subclass.<locals>.SomeiA  r   Nrj  r   rB   r@   Somer  A  rl  rB   r  exampleN)r|  r   r&  r   )r;   r  r  s   &  r@   "test_repr_with_module_str_subclass<ClassPropertiesAndMethods.test_repr_with_module_str_subclass=  sN    	S 		 	 +d4j#.d46lC0rB   c                    R  pV P                  VP                  ^*R7      ^*4       \        4       p\        P                  VRRRR7       V P                  VR4       R# )c                     V # r   r   rE  s   &r@   rP  ;ClassPropertiesAndMethods.test_keyword_arguments.<locals>.fI  s    (rB   rE  u   abc½€latin1r  )encodingr  s   abc?N)rG   r  	bytearrayr5   )r;   rP  bas   &  r@   test_keyword_arguments0ClassPropertiesAndMethods.test_keyword_argumentsG  sT    b)2.[2$,Y 	 	@[)rB   c                     ! R  R\         4      pV! 4       Vn        V P                  \        4      ;_uu_ 4        V! 4       ! 4        RRR4       R#   + '       g   i     R# ; i)c                       ] tR tRtRtR# )8ClassPropertiesAndMethods.test_recursive_call.<locals>.AiT  r   Nrj  r   rB   r@   r  r  T  rl  rB   r  N)r~  r  rU  RecursionErrorr
  s   & r@   test_recursive_call-ClassPropertiesAndMethods.test_recursive_callP  s@    	 	 S
~..CE /...s   AA!	c                ,  a . o ! V3R  lR\         4      pV! 4       pV P                  S. 4       ?\        P                  ! 4        V P                  S^.4        ! R R\         4      pV! 4       pV^  V P	                  R4       R#   \
         d     R# i ; i)c                   .   <a  ] tR tRt o V3R ltRtV tR# )5ClassPropertiesAndMethods.test_delete_hook.<locals>.Ci^  c                *   < SP                  ^4       R# r  r6  )r;   ra  s   &r@   r  =ClassPropertiesAndMethods.test_delete_hook.<locals>.C.__del___  s    

1rB   r   Nrg  )r   ra  s   @r@   r   r  ^  s      rB   r   c                       ] tR tRtRtR# )5ClassPropertiesAndMethods.test_delete_hook.<locals>.Dig  r   Nrj  r   rB   r@   rk  r  g  r  rB   rk  z$invalid del() didn't raise TypeErrorN)r~  rG   r   r  r   r   )r;   r   r\   rk  rO   ra  s   &    @r@   test_delete_hook*ClassPropertiesAndMethods.test_delete_hook[  s    	 	 Cb!qc"C1ii>? $s   .B BBc                    ! R  R\         4      pV! 4       p \        V4       V P                  R4        ! R R\        4      pV! 4       p \        V4       V P                  R4       R#   \         d     LBi ; i  \         d     R# i ; i)c                       ] tR tRtRtR# )?ClassPropertiesAndMethods.test_hash_inheritance.<locals>.mydictip  r   Nrj  r   rB   r@   mydictr	  p  rl  rB   r	  z#hash() of dict subclass should failc                       ] tR tRtRtR# )?ClassPropertiesAndMethods.test_hash_inheritance.<locals>.mylistiz  r   Nrj  r   rB   r@   mylistr	  z  rl  rB   r	  z#hash() of list subclass should failN)r   r  r   r   r7   )r;   r	  rO   r	  s   &   r@   test_hash_inheritance/ClassPropertiesAndMethods.test_hash_inheritancem  s    	T 	H	=G II;<	T 	H	=G II;<  		  		s#   A) A: )A76A7:B	B	c                   R ^,            V P                  R4       RP                  R4       V P                  R4       RP	                  ^ .4       V P                  R4       RP                  R4       V P                  R4       RR,           V P                  R	4       R
/ ,           V P                  R4       RR,           V P                  R4       RR,           V P                  R4       RR,           V P                  R4       RR,           V P                  R4       V P                  RP                  4       ^4       V P                  RP                  4       ^ 4       V P                  R^,          R4       V P                  RR,          R4       R#   \         d     ELi ; i  \         d     ELui ; i  \         d     ELdi ; i  \         d     ELTi ; i  \         d     ELLi ; i  \         d     ELDi ; i  \         d     EL<i ; i  \         d     EL4i ; i  \         d     EL,i ; i  \         d     EL$i ; i)rD   z'' + 5 doesn't raise TypeErrorr   z%''.split('') doesn't raise ValueErrorz$''.join([0]) doesn't raise TypeError5z'''.rindex('5') doesn't raise ValueErrorz%(n)sNz&'%(n)s' % None doesn't raise TypeErrorz%(nz&'%(n' % {} '' doesn't raise ValueErrorz%*sr  z''%*s' % ('abc') doesn't raise TypeErrorz%*.*sz,'%*.*s' % ('abc', 5) doesn't raise TypeErrorz%sz%'%s' % (1, 2) doesn't raise TypeError%z#'%' % None doesn't raise ValueError534253534253xz%c)r  r   rn   r   )r   r   splitr  ro  rindexrG   isdigitr   s   &r@   test_str_operations-ClassPropertiesAndMethods.test_str_operations  s   1Wii89XXb\ii?@WWaS\ii>?YYs^iiABt^ii@ARZii@Ae_iiABz!iiFGF]ii?@4Zii=>))+Q/**,a06*S)U $ 4 $ 4 $ 4 $ $ $ 4s   	F F$ F6  G 	G 	G, 6	G> 	H *	H" 	H4 F! F!$F32F36GGGGG)(G),G;:G;>HHHH"H10H14IIc                d     ! R  R4      pV! 4       pV! 4       pW2n         W#n        \        V4      pR# )c                       ] tR tRtRtR# )?ClassPropertiesAndMethods.test_deepcopy_recursive.<locals>.Nodei  r   Nrj  r   rB   r@   r  r	    rl  rB   r  N)rW   rD   r   )r;   r  rD   rW   r  s   &    r@   test_deepcopy_recursive1ClassPropertiesAndMethods.test_deepcopy_recursive  s-    	 	FFQKrB   c                6   ^ RI Hp VP                  V4      p\        V4       V P	                  VR4       V P	                  VR4       V P	                  VR4       V P                  VP                  4       ^Vn        V P                  VP                  R^/4       R# )r   )r{  r   __file__r   N)	rz  r{  r   r|  rS  r;  rK   r   rG   )r;   r  rQ   s   &  r@   test_uninitialized_modules4ClassPropertiesAndMethods.test_uninitialized_modules  sz    )IIaLAa,a,a'$eQZ0rB   c                  a  ! V3R  lR\         4      p ! R RV4      oV P                  V! R4      . R
O4       V P                  S! R4      . R
O4       S! R4      pV P                  VP                  R4       V! ^4      pV P                  VS4       V P                  VP                  ^4       S! ^4      pV P                  VS4       V P                  VP                  ^4        ! R R\         4      pV P                  V! ^^4      V^^34        ! R RV4      oV P                  S! ^^4      S^^34        ! R R\         4      pV P                  V! ^^4      W^^34        ! R	 RV4      oV P                  S! ^^4      SS^^34       R# )c                   .   <a  ] tR tRt o V3R ltRtV tR# )3ClassPropertiesAndMethods.test_funny_new.<locals>.Ci  c                   < \        V\        4      '       d   . RO# \        V\        4      '       d   \        P	                  S4      # \        P	                  V 4      # )rn   r   )rA  r|  r1   r~  r   )r   rO  rk  s   &&r@   r   ;ClassPropertiesAndMethods.test_funny_new.<locals>.C.__new__  s?    c3''	)9S))&..2C+C#^^C00rB   r   Nrt  )r   rk  s   @r@   r   r 	    s     1 1rB   r   c                   &   a  ] tR tRt o R tRtV tR# )3ClassPropertiesAndMethods.test_funny_new.<locals>.Di  c                    Wn         R # r   r  r;   rO  s   &&r@   r5   <ClassPropertiesAndMethods.test_funny_new.<locals>.D.__init__  r  rB   r  Nr  r   s   @r@   rk  r$	    r   rB   rk  rx  Nc                   0   a  ] tR tRt o ]R 4       tRtV tR# )r 	  i  c                     V # r   r   r  s   *r@   r   r"	        rB   r   N)r   r   r   r   r  r   r   r   r   s   @r@   r   r 	    s      rB   c                       ] tR tRtRtR# )r$	  i  r   Nrj  r   rB   r@   rk  r$	    rl  rB   c                   0   a  ] tR tRt o ]R 4       tRtV tR# )r 	  i  c                     V # r   r   r  s   *r@   r   r"	    r*	  rB   r   N)r   r   r   r   r  r   r   r   r   s   @r@   r   r 	    s      rB   c                       ] tR tRtRtR# )r$	  i  r   Nrj  r   rB   r@   rk  r$	    rl  rB   r   )r~  rG   r   r&  )r;   r   rO   rk  s   &  @r@   test_funny_new(ClassPropertiesAndMethods.test_funny_new  sb   	1 	1
	 	 	3+3+dG%aDa#"aDa#"	 	 	1a1a),	 	1a1a),	 	 	1a1A,/	 	1a1aA,/rB   c                    ! R  R\         4      pV! 4       pTpVR,          pV P                  W2R34       TpV^,          pV P                  W2^34       TpV^,          pV P                  W2^34       TpVR,          pV P                  W2R34       TpVR,          pV P                  W2R34       TpVR,          pV P                  W2R34       R# )c                   &   a  ] tR tRt o R tRtV tR# )2ClassPropertiesAndMethods.test_imul_bug.<locals>.Ci  c                    W3# r   r   r   s   &&r@   ry   ;ClassPropertiesAndMethods.test_imul_bug.<locals>.C.__imul__  s
    }$rB   r   N)r   r   r   r   ry   r   r   r   s   @r@   r   r3	    r  rB   r   r@  Nr   l                r~  rG   )r;   r   r  ry  s   &   r@   test_imul_bug'ClassPropertiesAndMethods.test_imul_bug  s    	% 	% C	SH%	QF#	QF#	VK(	T	I&	U
J'rB   c                  a  ^ RI p ! V 3R lR\        4      pV! ^*4      pVP                  ^4       S P                  VP                  ^4       S P                  VP                  4       ^*4       VP                  V4      pS P                  VP                  ^4       S P                  VP                  4       ^4       VP                  V4      pS P                  VP                  ^4       S P                  VP                  4       ^4       R# )r   Nc                   N   <a  ] tR tRt o R	R ltR	R ltR tR tV3R ltRt	V t
R# )
7ClassPropertiesAndMethods.test_copy_setstate.<locals>.Ci  Nc                    Wn         Wn        R # r   )r   _C__foor  s   &&r@   r5   @ClassPropertiesAndMethods.test_copy_setstate.<locals>.C.__init__  s     
rB   c                    Wn         R # r   r  r  s   &&r@   setfoo>ClassPropertiesAndMethods.test_copy_setstate.<locals>.C.setfoo  r  rB   c                    V P                   # r   )r=	  r   s   &r@   getfoo>ClassPropertiesAndMethods.test_copy_setstate.<locals>.C.getfoo  r0  rB   c                    V P                   .# r   r  r   s   &r@   __getstate__DClassPropertiesAndMethods.test_copy_setstate.<locals>.C.__getstate__  s    z!rB   c                h   < SP                  \        V4      ^4       V^ ,          ;V n        V n        R# r  )rG   r  r=	  r   )r  lstr;   s   &&r@   __setstate__DClassPropertiesAndMethods.test_copy_setstate.<locals>.C.__setstate__  s)      S1-*-a&0eirB   )__foor   r   )r   r   r   r   r5   r@	  rC	  rF	  rJ	  r   r   r2  s   @r@   r   r;	    s#     !""1 1rB   r   )r   r~  r@	  rG   r   rC	  r   )r;   r   r   rD   rW   s   f    r@   test_copy_setstate,ClassPropertiesAndMethods.test_copy_setstate	  s    	1 	1 bE	#R(IIaL#R(MM!#R(rB   c                .   V P                  RR4       V P                  R \        ^4      ,          R4       V P                  \        P                  R \        ^4      4      R4        ! R R\        4      pV P                  V! R 4      R,          R4       V P                  V! R 4      \        ^4      ,          R4       V P                  V! R 4      P                  \        ^4      4      R4       V P                  RR4       V P                  R\        ^4      ,          R4       V P                  \        P                  R\        ^4      4      R4        ! R R\        4      pV P                  V! R4      R,          R4       V P                  V! R4      \        ^4      ,          R4       V P                  V! R4      P                  \        ^4      4      R4       V P                  . ROR,          ^^.4       V P                  . RO\        ^4      ,          ^^.4       V P                  \
        P                  . RO\        ^4      4      ^^.4        ! R R	\
        4      pV P                  V! . RO4      R,          ^^.4       V P                  V! . RO4      \        ^4      ,          ^^.4       V P                  V! . RO4      P                  \        ^4      4      ^^.4       V! . RO4      p^^.V\        ^^4      &   V P                  V. RO4       ^^.V\        ^ ^^4      &   V P                  V. RO4       VP                  \        ^^4      ^^.4       V P                  V. RO4       VP                  \        ^ ^^4      ^^.4       V P                  V. RO4       R
# )r  :Nr   Nhellc                   &   a  ] tR tRt o R tRtV tR# )0ClassPropertiesAndMethods.test_slices.<locals>.Si+  c                ,    \         P                  W4      # r   )r|  rt   r  s   &&r@   rt   <ClassPropertiesAndMethods.test_slices.<locals>.S.__getitem__,  s    t//rB   r   NrF  r   s   @r@   r  rR	  +  s     0 0rB   r  :Nr   Nc                   &   a  ] tR tRt o R tRtV tR# )0ClassPropertiesAndMethods.test_slices.<locals>.Ti5  c                ,    \         P                  W4      # r   )rT  rt   r  s   &&r@   rt   <ClassPropertiesAndMethods.test_slices.<locals>.T.__getitem__6  s    ((11rB   r   NrF  r   s   @r@   r  rV	  5       2 2rB   r  c                   &   a  ] tR tRt o R tRtV tR# )0ClassPropertiesAndMethods.test_slices.<locals>.Li?  c                ,    \         P                  W4      # r   )r7   rt   r  s   &&r@   rt   <ClassPropertiesAndMethods.test_slices.<locals>.L.__getitem__@  s    ''00rB   r   NrF  r   s   @r@   r4  r[	  ?  r  rB   r4  Nr   r	  )rn   r   r   )r   rn   r   )r   r   rn   )r   r   rn   )rG   r]   r|  rt   rT  r7   r   )r;   r  r  r4  rD   s   &    r@   test_slices%ClassPropertiesAndMethods.test_slices$  s    	f-q*F3%(;VD	0 	0 	7B07E!H-v67//a96Be,q*E2**7E!H=uE	2 	2 	7B/7E!H-u57//a95Aqe,q*QqE2))'58<qeD	1 	1 	7B!A/7E!H-!u57//a9Aa5AgJA%1+G$qE%1a.G$	eAqkAa5)G$	eAq!nqe,G$rB   c                   a  ! V3R  lR\         4      oS! 4       p^*Vn        ?\        P                  ! 4        V P	                  \        SP                  4      ^4       S=R# )c                   2   <a  ] tR tRt o . tV3R ltRtV tR# )>ClassPropertiesAndMethods.test_subtype_resurrection.<locals>.CiS  c                >   < SP                   P                  V 4       R # r   )	containerr   r   s   &r@   r  FClassPropertiesAndMethods.test_subtype_resurrection.<locals>.C.__del__V  s    ""4(rB   r   N)r   r   r   r   rd	  r  r   r   r  s   @r@   r   rb	  S  s     I) )rB   r   N)r~  r  r   r  rG   r  rd	  r  )r;   r\   r   s   & @r@   test_subtype_resurrection3ClassPropertiesAndMethods.test_subtype_resurrectionP  sP    	) 	) C
 Q[[)1- IrB   c                ^     ! R  R\         4      pRp\        R4       F  pV! V4      pK  	  ?R# )c                   ,   a  ] tR tRt o R.tR tRtV tR# )9ClassPropertiesAndMethods.test_slots_trash.<locals>.trashin  r  c                    Wn         R # r   r|  r  s   &&r@   r5   BClassPropertiesAndMethods.test_slots_trash.<locals>.trash.__init__p  r~  rB   r|  N)r   r   r   r   r   r5   r   r   r   s   @r@   trashrj	  n  s     I rB   rm	  NiP  )r~  r  )r;   rm	  ri  r   s   &   r@   test_slots_trash*ClassPropertiesAndMethods.test_slots_trashi  s/    
	F 	 uAaA rB   c                :    ! R  R\         4      p ! R R\         4      p ! R RW4      p\        P                  ! 4       '       d'   V P                  VP                  VP                  4       V P                  VR4       V P                  VR4       ^V! 4       n        R# )	c                       ] tR tRtRtRtR# )DClassPropertiesAndMethods.test_slots_multiple_inheritance.<locals>.Aiy  r   Nr:  r   rB   r@   r  rr	  y      IrB   r  c                       ] tR tRtRtR# )DClassPropertiesAndMethods.test_slots_multiple_inheritance.<locals>.Bi{  r   Nrj  r   rB   r@   r  ru	  {  rl  rB   r  c                       ] tR tRtRtRtR# )DClassPropertiesAndMethods.test_slots_multiple_inheritance.<locals>.Ci}  r   Nr:  r   rB   r@   r   rw	  }  rs	  rB   r   rK   r  N)r~  r   r  rG   __basicsize__rR  r  )r;   r  r  r   s   &   r@   test_slots_multiple_inheritance9ClassPropertiesAndMethods.test_slots_multiple_inheritancew  sv    	 		 		 	$$&&Q__aoo>1j)1m,rB   c                     ! R  R\         4      pV! 4       pV P                  V^,          R4       V P                  VR,          R4       V P                  ^V,          R4       V P                  RV,          R4       R# )c                   ,   a  ] tR tRt o R tR tRtV tR# ).ClassPropertiesAndMethods.test_rmul.<locals>.Ci  c                    R # )r   r   r   s   &&r@   r}   6ClassPropertiesAndMethods.test_rmul.<locals>.C.__mul__      rB   c                    R # )rmulr   r   s   &&r@   r   7ClassPropertiesAndMethods.test_rmul.<locals>.C.__rmul__  s    rB   r   N)r   r   r   r   r}   r   r   r   r   s   @r@   r   r}	    s      rB   r   r   g@r	  Nr6	  rJ  s   &  r@   	test_rmul#ClassPropertiesAndMethods.test_rmul  sg    	 	
 C1e$3&1f%Q'rB   c                D     ! R  R\         4      pV! 4       pV^,          pR# )c                   &   a  ] tR tRt o R tRtV tR# ).ClassPropertiesAndMethods.test_ipow.<locals>.Ci  c                    R # r   r   r   s   &&r@   __ipow__7ClassPropertiesAndMethods.test_ipow.<locals>.C.__ipow__  r{  rB   r   Nr   r   r   r   r	  r   r   r   s   @r@   r   r	    r}  rB   r   Nr~  rJ  s   &  r@   	test_ipow#ClassPropertiesAndMethods.test_ipow  s     	 	 C	arB   c                     ! R  R4      p ! R RV4      p ! R RV4      pV! 4       pV! 4       pV! 4       pWE,          pV P                  V^4       We,          pV P                  V^4       R# )c                   &   a  ] tR tRt o R tRtV tR# )FClassPropertiesAndMethods.test_ipow_returns_not_implemented.<locals>.Ai  c                    \         # r   r   r   s   &&r@   r	  OClassPropertiesAndMethods.test_ipow_returns_not_implemented.<locals>.A.__ipow__  r   rB   r   Nr	  r   s   @r@   r  r	    r   rB   r  c                   &   a  ] tR tRt o R tRtV tR# )FClassPropertiesAndMethods.test_ipow_returns_not_implemented.<locals>.Bi  c                    ^# r   r   r   s   &&r@   r  OClassPropertiesAndMethods.test_ipow_returns_not_implemented.<locals>.B.__rpow__      rB   r   Nr   r   r   r   r  r   r   r   s   @r@   r  r	          rB   r  c                   &   a  ] tR tRt o R tRtV tR# )FClassPropertiesAndMethods.test_ipow_returns_not_implemented.<locals>.Ci  c                    ^# r  r   r   s   &&r@   r  NClassPropertiesAndMethods.test_ipow_returns_not_implemented.<locals>.C.__pow__  r	  rB   r   Nr   r   r   r   r  r   r   r   s   @r@   r   r	    r	  rB   r   Nr  )r;   r  r  r   rD   rW   r\   s   &      r@   !test_ipow_returns_not_implemented;ClassPropertiesAndMethods.test_ipow_returns_not_implemented  si    	& 	&	 		 	 CCC	A	ArB   c                p     ! R  R4      p\        4       pV! 4       pW#,          pV P                  V^4       R# )c                   &   a  ] tR tRt o R tRtV tR# )1ClassPropertiesAndMethods.test_no_ipow.<locals>.Bi  c                    ^# r   r   r   s   &&r@   r  :ClassPropertiesAndMethods.test_no_ipow.<locals>.B.__rpow__  r	  rB   r   Nr	  r   s   @r@   r  r	    r	  rB   r  Nr6	  )r;   r  rD   rW   s   &   r@   test_no_ipow&ClassPropertiesAndMethods.test_no_ipow  s3    	 	 HC	ArB   c                   R pV P                  \        4      ;_uu_ 4       pV^,          pR R R 4       V P                  R\        XP                  4      4       V P                  \        4      ;_uu_ 4       pV^,          pR R R 4       V P                  R\        VP                  4      4       R #   + '       g   i     L; i  + '       g   i     LJ; i)Nz#unsupported operand type(s) for **=z"unsupported operand type(s) for **)rU  r   rR  r|  r  )r;   r  rV  ry  s   &   r@   test_ipow_exception_text2ClassPropertiesAndMethods.test_ipow_exception_text  s    y))R!GA *;S=NOy))RQA *:C<MN *) *)s   
B-4
C -B=	 C	c                Z   V P                  \        R \        4       P                  4       V P                  \        R\        4       P                  ^^^4       V P                  \        R \        4       P                  4       V P                  \        R\        4       P                  ^^^4       R# )z expected 1 or 2 arguments, got 0z expected 1 or 2 arguments, got 3N)r  r   r1   r  r  r   s   &r@   test_pow_wrapper_error_messages9ClassPropertiesAndMethods.test_pow_wrapper_error_messages  s    yA"u}}	. 	yA"u}}aA	7 	yA"u~~	/ 	yA"u~~q!Q	8rB   c                  a  ! R  R\         4      p ! V3R lR\         4      o ! R RV4      p ! R RV4      pV! 4       pV! 4       pV3Vn        S3Vn        V P                  VP                  4       ^4       V P                  VP                  4       ^4       V P                  VP                  ^4       V P                  VP                  ^4       V P                  SP                  4       V.4        V=V P                  R4        RVn        V P                  R	4        V3Vn        V P                  R4        W3Vn        V P                  R4        V3Vn        V P                  R4       R#   \        \        3 d     L|i ; i  \         d,   p\        T4      R
8X  d   T P                  R4        Rp?LRp?ii ; i  \         d     Li ; i  \         d     Li ; i  \         d     R# i ; i)c                       ] tR tRtRtR# )7ClassPropertiesAndMethods.test_mutable_bases.<locals>.Ci  r   Nrj  r   rB   r@   r   r	    rl  rB   r   c                   <   <a a ] tR tRt oVV 3R ltR tRtVtV ;t# )8ClassPropertiesAndMethods.test_mutable_bases.<locals>.C2i  c                4   < VR 8X  d   ^# \         SV `  V4      # rE  )r  r_  )r;   r  r  r5  s   &&r@   r_  IClassPropertiesAndMethods.test_mutable_bases.<locals>.C2.__getattribute__  s    3; T;DAArB   c                    ^# r   r   r   s   &r@   rN   =ClassPropertiesAndMethods.test_mutable_bases.<locals>.C2.meth  r	  rB   r   )	r   r   r   r   r_  rN   r   r   r  )r5  r   r  s   @@r@   r  r	    s     B
 rB   r  c                       ] tR tRtRtR# )7ClassPropertiesAndMethods.test_mutable_bases.<locals>.Di  r   Nrj  r   rB   r@   rk  r	    rl  rB   rk  c                       ] tR tRtRtR# )7ClassPropertiesAndMethods.test_mutable_bases.<locals>.Ei  r   Nrj  r   rB   r@   r  r	    rl  rB   r  z&shouldn't be able to delete .__bases__z)shouldn't be able to set .__bases__ to ()z/a new-style class can't have only classic basesz'wrong error message for .__bases__ = ()Nz.shouldn't be able to create inheritance cyclesz#didn't detect repeated base classesr   )
r~  rL   rG   rN   rD   r}  r   r   r0  r|  )r;   r   rk  r  rO   r  r  r  s   &      @r@   test_mutable_bases,ClassPropertiesAndMethods.test_mutable_bases  s   	 		 		 		 	CCde1%1%a a **,qc2	@ II>?	CAK
 IIAB	H$AK
 IIFG	=&AK II;<	H$AK IIFGC >* 		  	E3xLL		CD	E  		  		  		s`   1E- F F= 8G G -F FF:!F55F:=G
GGGG.-G.c                   \         P                  P                  4        Uu. uF  p\        V\        4      '       g   K  VNK  	  ppV FY  p\
        P                  VR 4       V\
        Jg   K%  V\        J d   ^pM^pV P                  \        VP                  4      W14       K[  	   ! R R\        4      p ! R R\
        4      p ! R RV4      p \        3Vn
        V P                  R4        \        3\        n
        V P                  R4        V\        3Vn
        V P                  R	4       R
# u upi   \         d     LUi ; i  \         d     LDi ; i  \         d     R
# i ; i)rL   c                       ] tR tRtRtR# )7ClassPropertiesAndMethods.test_builtin_bases.<locals>.Li#  r   Nrj  r   rB   r@   r4  r	  #  rl  rB   r4  c                       ] tR tRtRtR# )7ClassPropertiesAndMethods.test_builtin_bases.<locals>.Ci&  r   Nrj  r   rB   r@   r   r	  &  rl  rB   r   c                       ] tR tRtRtR# )7ClassPropertiesAndMethods.test_builtin_bases.<locals>.Di)  r   Nrj  r   rB   r@   rk  r	  )  rl  rB   rk  z/shouldn't turn list subclass into dict subclassz-shouldn't be able to assign to list.__bases__z#best_base calculation found wantingN)builtinsrK   valuesrA  rI   r~  r_  ExceptionGrouprG   r  rL   r7   r   r   r   )r;   tpbuiltin_types	num_basesr4  r   rk  s   &      r@   test_builtin_bases,ClassPropertiesAndMethods.test_builtin_bases  sH    '/&7&7&>&>&@ 2&@&r40 &@ 2B##B4' !I !I  R\\!2IB  	 		 		 		I'AK IIGH	G"WDN IIEF	=d)AK II;<O2,  		  		  		s@   D/D/D4 -E E 4EEEEE%$E%c           
     j   V P                  \        4      ;_uu_ 4         ! R  R\        R4      4      pRRR4       V P                  \        4      ;_uu_ 4         ! R R\        \        R4      4      pRRR4       V P                  \        4      ;_uu_ 4         ! R R\        R4      \        4      pRRR4        ! R R\        4      pV P                  \        4      ;_uu_ 4         ! R RV\        R4      4      pRRR4       V P                  \        4      ;_uu_ 4         ! R R\        R4      V4      pRRR4        ! R	 R\        4      pV P                  \        4      ;_uu_ 4        \        R4      3Vn        RRR4       V P                  \        4      ;_uu_ 4        \        \        R4      3Vn        RRR4       V P                  \        4      ;_uu_ 4        \        R4      \        3Vn        RRR4       V P                  \        4      ;_uu_ 4        V\        R4      3Vn        RRR4       V P                  \        4      ;_uu_ 4        \        R4      V3Vn        RRR4       R#   + '       g   i     ELD; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL_; i  + '       g   i     EL7; i  + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     R# ; i)
c                       ] tR tRtRtR# )>ClassPropertiesAndMethods.test_unsubclassable_types.<locals>.XiC  r   Nrj  r   rB   r@   r&  r	  C  rH  rB   r&  Nc                       ] tR tRtRtR# )r	  iF  r   Nrj  r   rB   r@   r&  r	  F  rH  rB   c                       ] tR tRtRtR# )r	  iI  r   Nrj  r   rB   r@   r&  r	  I  rH  rB   c                       ] tR tRtRtR# )>ClassPropertiesAndMethods.test_unsubclassable_types.<locals>.OiK  r   Nrj  r   rB   r@   rb  r	  K  rl  rB   rb  c                       ] tR tRtRtR# )r	  iN  r   Nrj  r   rB   r@   r&  r	  N  rH  rB   c                       ] tR tRtRtR# )r	  iQ  r   Nrj  r   rB   r@   r&  r	  Q  rH  rB   c                       ] tR tRtRtR# )r	  iT  r   Nrj  r   rB   r@   r&  r	  T  rl  rB   )rU  r   rI   r~  rL   )r;   r&  rb  s   &  r@   test_unsubclassable_types3ClassPropertiesAndMethods.test_unsubclassable_typesA  s   y))DJ  * y))FDJ  * y))DJ  *	 	y))AtDz  * y))DJ  *	 	y))t*+AK *y)) $t*,AK *y))t*f,AK *y))T$Z-AK *y))t*a-AK *)9 *)) *)) *))
 *)) *)) *)))))))))))))sw   I.JJ%J* J>*K!K&K:LL!.I?	J	J'	*J;	>K	K#	&K7	:L	L	!L2	c                  a
  ! V
3R  lR\         4      o
 ! R R\         4      p ! R R\        4      p ! R R\        4      p ! R R	V4      p ! R
 RV4      p ! R RVS
R7      p ! R RWAR7      pVP                  pVP                  p	 V3Vn        V P	                  R4       R#   \
         d=    T P                  TP                  T4       T P                  TP                  T	4        R# i ; i)c                   <   <a a ] tR tRt oVV 3R ltR tRtVtV ;t# )OClassPropertiesAndMethods.test_mutable_bases_with_failing_mro.<locals>.WorkOnceic  c                4   < ^ V n         \        SV `  SWV4      # r!  )flagr  r   )r;   r>   rr  r  WorkOncer5  s   &&&&r@   r   WClassPropertiesAndMethods.test_mutable_bases_with_failing_mro.<locals>.WorkOnce.__new__d  s     	Xt4XtBOOrB   c                    V P                   ^ 8  d   \        R4      hV ;P                   ^,          un         \        P                  V 4      # )r   bozo)r	  r  rI   r2  r   s   &r@   r2  SClassPropertiesAndMethods.test_mutable_bases_with_failing_mro.<locals>.WorkOnce.mrog  s3    99q=&v..IINI88D>)rB   )r	  )	r   r   r   r   r   r2  r   r   r  )r5  r   r	  s   @@r@   r	  r	  c  s     P* *rB   r	  c                   &   a  ] tR tRt o R tRtV tR# )QClassPropertiesAndMethods.test_mutable_bases_with_failing_mro.<locals>.WorkAlwaysin  c                ,    \         P                  V 4      # r   )rI   r2  r   s   &r@   r2  UClassPropertiesAndMethods.test_mutable_bases_with_failing_mro.<locals>.WorkAlways.mroo  s    
 xx~%rB   r   Nr6  r   s   @r@   
WorkAlwaysr	  n  s     & &rB   r	  c                       ] tR tRtRtR# )HClassPropertiesAndMethods.test_mutable_bases_with_failing_mro.<locals>.Civ  r   Nrj  r   rB   r@   r   r	  v  rl  rB   r   c                       ] tR tRtRtR# )IClassPropertiesAndMethods.test_mutable_bases_with_failing_mro.<locals>.C2iy  r   Nrj  r   rB   r@   r  r	  y  rl  rB   r  c                       ] tR tRtRtR# )HClassPropertiesAndMethods.test_mutable_bases_with_failing_mro.<locals>.Di|  r   Nrj  r   rB   r@   rk  r	  |  rl  rB   rk  c                       ] tR tRtRtR# )HClassPropertiesAndMethods.test_mutable_bases_with_failing_mro.<locals>.Ei  r   Nrj  r   rB   r@   r  r	    rl  rB   r  c                       ] tR tRtRtR# )HClassPropertiesAndMethods.test_mutable_bases_with_failing_mro.<locals>.Fi  r   Nrj  r   rB   r@   rL  r	    rl  rB   rL  r_  c                       ] tR tRtRtR# )HClassPropertiesAndMethods.test_mutable_bases_with_failing_mro.<locals>.Gi  r   Nrj  r   rB   r@   r  r	    rl  rB   r  zexception not propagatedN)rI   r~  r  rL   r   r  rG   )r;   r	  r   r  rk  r  rL  r  E_mro_beforeD_mro_beforer	  s   &         @r@   #test_mutable_bases_with_failing_mro=ClassPropertiesAndMethods.test_mutable_bases_with_failing_mroa  s    		*t 		*	& 	&	 		 		 		 		X 		 	 yyyy	2%AK
 II01	  	6QYY5QYY5	6s   	B$ $AC+*C+c                     ! R  R\         4      p ! R R\         4      p ! R RW4      p ! R RW4      p ! R R	W44      p W!3Vn        V P                  R
4       R#   \         d     R# i ; i)c                       ] tR tRtRtR# )JClassPropertiesAndMethods.test_mutable_bases_catch_mro_conflict.<locals>.Ai  r   Nrj  r   rB   r@   r  r	    rl  rB   r  c                       ] tR tRtRtR# )JClassPropertiesAndMethods.test_mutable_bases_catch_mro_conflict.<locals>.Bi  r   Nrj  r   rB   r@   r  r	    rl  rB   r  c                       ] tR tRtRtR# )JClassPropertiesAndMethods.test_mutable_bases_catch_mro_conflict.<locals>.Ci  r   Nrj  r   rB   r@   r   r	    rl  rB   r   c                       ] tR tRtRtR# )JClassPropertiesAndMethods.test_mutable_bases_catch_mro_conflict.<locals>.Di  r   Nrj  r   rB   r@   rk  r 
    rl  rB   rk  c                       ] tR tRtRtR# )JClassPropertiesAndMethods.test_mutable_bases_catch_mro_conflict.<locals>.Ei  r   Nrj  r   rB   r@   r  r
    rl  rB   r  zdidn't catch MRO conflictN)r~  rL   r   r   )r;   r  r  r   rk  r  s   &     r@   %test_mutable_bases_catch_mro_conflict?ClassPropertiesAndMethods.test_mutable_bases_catch_mro_conflict  so    	 		 		 		 		 		3&AK II12  		s   A A+*A+c                     ! R  R\         4      pVP                  pRVn        V P                  VP                  VP                  3VR34       RVn        V P                  VP                  VP                  3VR34       R# )c                       ] tR tRtRtR# )7ClassPropertiesAndMethods.test_mutable_names.<locals>.Ci  r   Nrj  r   rB   r@   r   r
    rl  rB   r   rk  zD.EN)r~  r   r   rG   )r;   r   r   s   &  r@   test_mutable_names,ClassPropertiesAndMethods.test_mutable_names  si    	 	 ll
!,,

3c3Z@
!,,

3c5\BrB   c                h   a  ! V3R  lR\         4      p ! R R4      oV! R4      Sn        RSn        R# )c                   .   <a  ] tR tRt o V3R ltRtV tR# )<ClassPropertiesAndMethods.test_evil_type_name.<locals>.Nastyi  c                   < R Sn         R# )r   N)r   r   s   &r@   r  DClassPropertiesAndMethods.test_evil_type_name.<locals>.Nasty.__del__  s
    $
rB   r   Nrg  r  s   @r@   Nastyr
    s     % %rB   r
  c                       ] tR tRtRtR# )8ClassPropertiesAndMethods.test_evil_type_name.<locals>.Ci  r   Nrj  r   rB   r@   r   r
    rl  rB   r   r  normalN)r|  r   )r;   r
  r   s   & @r@   test_evil_type_name-ClassPropertiesAndMethods.test_evil_type_name  s-    	%C 	%	 	 5\

rB   c                >    ! R  R\         4      pV P                  V! ^4      ^,          R4       V P                  ^V! ^4      ,          R4        ! R R\        4      pV P                  V! 4       ^,          R4       V P                  ^V! 4       ,          R4        ! R R	V4      pV P                  V! 4       V! 4       ,          R
4       V P                  V! 4       V! 4       ,          R4        ! R RV4      pV P                  VP                  VP                  4       V P                  V! 4       ^,          R4       V P                  ^V! 4       ,          R4       V P                  V! 4       V! 4       ,          R4       V P                  V! 4       V! 4       ,          R4       R# )c                   ,   a  ] tR tRt o R tR tRtV tR# );ClassPropertiesAndMethods.test_subclass_right_op.<locals>.Bi  c                    R # )B.__floordiv__r   r   s   &&r@   __floordiv__HClassPropertiesAndMethods.test_subclass_right_op.<locals>.B.__floordiv__      'rB   c                    R # )B.__rfloordiv__r   r   s   &&r@   __rfloordiv__IClassPropertiesAndMethods.test_subclass_right_op.<locals>.B.__rfloordiv__      (rB   r   Nr   r   r   r   r
  r
  r   r   r   s   @r@   r  r
         () )rB   r  r
  r
  c                   ,   a  ] tR tRt o R tR tRtV tR# );ClassPropertiesAndMethods.test_subclass_right_op.<locals>.Ci  c                    R # )C.__floordiv__r   r   s   &&r@   r
  HClassPropertiesAndMethods.test_subclass_right_op.<locals>.C.__floordiv__  r
  rB   c                    R # )C.__rfloordiv__r   r   s   &&r@   r
  IClassPropertiesAndMethods.test_subclass_right_op.<locals>.C.__rfloordiv__  r!
  rB   r   Nr"
  r   s   @r@   r   r%
    r#
  rB   r   r'
  r*
  c                   ,   a  ] tR tRt o R tR tRtV tR# );ClassPropertiesAndMethods.test_subclass_right_op.<locals>.Di  c                    R # )D.__floordiv__r   r   s   &&r@   r
  HClassPropertiesAndMethods.test_subclass_right_op.<locals>.D.__floordiv__  r
  rB   c                    R # )D.__rfloordiv__r   r   s   &&r@   r
  IClassPropertiesAndMethods.test_subclass_right_op.<locals>.D.__rfloordiv__  r!
  rB   r   Nr"
  r   s   @r@   rk  r-
    r#
  rB   rk  r/
  r2
  c                       ] tR tRtRtR# );ClassPropertiesAndMethods.test_subclass_right_op.<locals>.Ei  r   Nrj  r   rB   r@   r  r5
    rl  rB   r  N)r1   rG   r~  r
  )r;   r  r   rk  r  s   &    r@   test_subclass_right_op0ClassPropertiesAndMethods.test_subclass_right_op  sD   	) 	) 	1$45ad$56	) 	) 	#34ac#45	) 	) 	%56%67	 	 	!//:#34ac#45%56%56rB   z)testing an internal kind of method objectc                .   . ROp^R^R^R/pV P                  \        P                  V4      V4       V P                  / P                  V4      V4       \        P                  R,          pV P                  VP	                  R\        4      ! V4      V4       V P                  VP	                  / 4      ! V4      V4        VP	                  RR4       V P                  R4        VP	                  ^*4       V P                  R4        VP	                  R^*4       V P                  R4        VP	                  R\        4       V P                  R4       R#   \         d     L~i ; i  \         d     Lli ; i  \         d     LYi ; i  \         d     R# i ; i)rn   Nfromkeysz0shouldn't have allowed descr.__get__(None, None)z(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)r   )rG   r   r9
  rK   r  r   r   r1   )r;   rO  rM   r!  s   &   r@   test_meth_class_get-ClassPropertiesAndMethods.test_meth_class_get  st    $4D)s+S1S)3/ j) 	tT237=r*3/5	JMM$% IIHI	BMM" II@A	HMM$# IIFG	IMM$$ IIGH+  		  		  		  		sH   >E "E# E4 )F E E #E10E14FFFFc                
    ! R  R\         4      p ! R R4      pV! 4       pV! V4      pV P                  W24       V P                  WB4        ! R RV4      pV! 4       pV! V4      pV P                  W24       V P                  WB4        ! R R\         4      pV! 4       pV! V4      pV P                  W24       V P                  WB4        ! R RV4      pV! 4       pV! V4      pV P                  W24       V P                  WB4       R# )	c                   ,   a  ] tR tRt o R tR tRtV tR# )<ClassPropertiesAndMethods.test_isinst_isclass.<locals>.Proxyi,  c                    Wn         R # r   _Proxy__objr  s   &&r@   r5   EClassPropertiesAndMethods.test_isinst_isclass.<locals>.Proxy.__init__-  r  rB   c                    VP                  R 4      '       d   \        P                  W4      # \        V P                  V4      # _Proxy__r  r~  r_  rJ   rA
  r  s   &&r@   r_  MClassPropertiesAndMethods.test_isinst_isclass.<locals>.Proxy.__getattribute__/  3    ??:..!224>>"4::t44rB   r  Nr   r   r   r   r5   r_  r   r   r   s   @r@   r:  r>
  ,       !5 5rB   r:  c                       ] tR tRtRtR# )8ClassPropertiesAndMethods.test_isinst_isclass.<locals>.Ci5  r   Nrj  r   rB   r@   r   rL
  5  rl  rB   r   c                       ] tR tRtRtR# )8ClassPropertiesAndMethods.test_isinst_isclass.<locals>.Di<  r   Nrj  r   rB   r@   rk  rN
  <  rl  rB   rk  c                       ] tR tRtRtR# )rL
  iC  r   Nrj  r   rB   r@   r   rL
  C  rl  rB   c                       ] tR tRtRtR# )rN
  iJ  r   Nrj  r   rB   r@   rk  rN
  J  rl  rB   N)r~  r&  )r;   r:  r   rD   park  s   &     r@   test_isinst_isclass-ClassPropertiesAndMethods.test_isinst_isclass*  s    	5F 	5	 	C1Xa#b$	 	C1Xa#b$	 	C1Xa#b$	 	C1Xa#b$rB   c                   a  ! R  R\         4      p ! R R\         4      p ! V3R lRV4      oS! 4       pV! V4      pV P                  SP                  R,          ! V4      R4       R# )	c                   ,   a  ] tR tRt o R tR tRtV tR# )9ClassPropertiesAndMethods.test_proxy_super.<locals>.ProxyiS  c                    Wn         R # r   r@
  r  s   &&r@   r5   BClassPropertiesAndMethods.test_proxy_super.<locals>.Proxy.__init__T  r  rB   c                    VP                  R 4      '       d   \        P                  W4      # \        V P                  V4      # rD
  rF
  r  s   &&r@   r_  JClassPropertiesAndMethods.test_proxy_super.<locals>.Proxy.__getattribute__V  rH
  rB   r  NrI
  r   s   @r@   r:  rV
  S  rJ
  rB   r:  c                   &   a  ] tR tRt o R tRtV tR# )5ClassPropertiesAndMethods.test_proxy_super.<locals>.Bi\  c                    R # )zB.fr   r   s   &r@   rP  7ClassPropertiesAndMethods.test_proxy_super.<locals>.B.f]  r	  rB   r   Nr&  r   s   @r@   r  r\
  \  s      rB   r  c                   6   <a a ] tR tRt oVV 3R ltRtVtV ;t# )5ClassPropertiesAndMethods.test_proxy_super.<locals>.Ci`  c                .   < \         SV `  4       R ,           # )z->C.f)r  rP  )r;   r   r5  s   &r@   rP  7ClassPropertiesAndMethods.test_proxy_super.<locals>.C.fa  s    Q')G33rB   r   )r   r   r   r   rP  r   r   r  )r5  r   r   s   @@r@   r   r`
  `  s     4 4rB   r   rP  zB.f->C.fN)r~  rG   rK   )r;   r:  r  r~  r  r   s   &    @r@   test_proxy_super*ClassPropertiesAndMethods.test_proxy_superQ  sV    	5F 	5	 		4 	4 c#JC+Z8rB   c                     \         P                  \        R ^*4       V P                  R4        \         P                  \        R4       V P                  R4       R#   \         d     L;i ; i  \         d     R# i ; i)r   z"Carlo Verre __setattr__ succeeded!r  z"Carlo Verre __delattr__ succeeded!N)r~  rd  r|  r   r   rh  r   s   &r@   test_carloverre)ClassPropertiesAndMethods.test_carloverreh  ss    	<sE2. II:;	<sG, II:;  		  		s"   A A- A*)A*-A<;A<c                     ! R  R\         4      p ! R R4      p ! R RW!4      pV! R\        3/ 4      p RVn        R	#   \         d    T P	                  R4        R	# i ; i)
c                   &   a  ] tR tRt o R tRtV tR# )HClassPropertiesAndMethods.test_carloverre_multi_inherit_valid.<locals>.Aix  c                2    \         P                  WV4       R # r   )rI   rd  r   r#  r'  s   &&&r@   rd  TClassPropertiesAndMethods.test_carloverre_multi_inherit_valid.<locals>.A.__setattr__y  s      51rB   r   Nr   r   r   r   rd  r   r   r   s   @r@   r  rj
  x  rY	  rB   r  c                       ] tR tRtRtR# )HClassPropertiesAndMethods.test_carloverre_multi_inherit_valid.<locals>.Bi|  r   Nrj  r   rB   r@   r  rp
  |  rl  rB   r  c                       ] tR tRtRtR# )HClassPropertiesAndMethods.test_carloverre_multi_inherit_valid.<locals>.Ci  r   Nrj  r   rB   r@   r   rr
    rl  rB   r   rk  Tz1setattr through direct base types should be legalN)rI   r~  r  r   r   r;   r  r  r   r~  s   &    r@   #test_carloverre_multi_inherit_valid=ClassPropertiesAndMethods.test_carloverre_multi_inherit_validw  sa    	2 	2	 		 	 fY#	KCH 	KIIIJ	Ks   > AAc                     ! R  R\         4      p ! R R4      p ! R RW!4      pV! R\        3/ 4      p RVn        V P                  R4       R	#   \         d     R	# i ; i)
c                   &   a  ] tR tRt o R tRtV tR# )JClassPropertiesAndMethods.test_carloverre_multi_inherit_invalid.<locals>.Ai  c                2    \         P                  WV4       R # r   )r~  rd  rl
  s   &&&r@   rd  VClassPropertiesAndMethods.test_carloverre_multi_inherit_invalid.<locals>.A.__setattr__  s    ""3U3rB   r   Nrn
  r   s   @r@   r  rx
    s     4 4rB   r  c                       ] tR tRtRtR# )JClassPropertiesAndMethods.test_carloverre_multi_inherit_invalid.<locals>.Bi  r   Nrj  r   rB   r@   r  r|
    rl  rB   r  c                       ] tR tRtRtR# )JClassPropertiesAndMethods.test_carloverre_multi_inherit_invalid.<locals>.Ci  r   Nrj  r   rB   r@   r   r~
    rl  rB   r   rk  Tz6setattr through indirect base types should be rejectedN)rI   r~  r  r   r   rs
  s   &    r@   %test_carloverre_multi_inherit_invalid?ClassPropertiesAndMethods.test_carloverre_multi_inherit_invalid  sf    	4 	4	 		 	 fY#	PCH IINO  		s   A AAc                r   a ^ RI o ! V3R lR4      p ! R R\        4      pV! 4       pV! V4      Vn        ?R# )r   Nc                   4   <a  ] tR tRt o V3R ltR tRtV tR# )AClassPropertiesAndMethods.test_weakref_segfault.<locals>.Provokeri  c                6   < SP                   ! V4      V n         R # r   rP  )r;   	referrentrO  s   &&r@   r5   JClassPropertiesAndMethods.test_weakref_segfault.<locals>.Provoker.__init__  s    ";;y1rB   c                &    V P                  4       pR # r   r
  r  s   & r@   r  IClassPropertiesAndMethods.test_weakref_segfault.<locals>.Provoker.__del__  s    HHJrB   r
  N)r   r   r   r   r5   r  r   r   )r   rO  s   @r@   Provokerr
    s     2 rB   r
  c                       ] tR tRtRtR# )=ClassPropertiesAndMethods.test_weakref_segfault.<locals>.Oopsi  r   Nrj  r   rB   r@   Oopsr
    rl  rB   r
  )rO  r~  whatever)r;   r
  r
  ri  rO  s   &   @r@   test_weakref_segfault/ClassPropertiesAndMethods.test_weakref_segfault  s5     		 		6 	 Fa[
rB   cpuc                L    R  p\        R4       F  pVP                  pK  	  RpR# )c                      R # r   r   r   rB   r@   r  AClassPropertiesAndMethods.test_wrapper_segfault.<locals>.<lambda>  s    4rB   i@B N)r  r  )r;   rP  r   s   &  r@   test_wrapper_segfault/ClassPropertiesAndMethods.test_wrapper_segfault  s%    
 wA

A  rB   c           	         ! R  R4      p\        V! 4       4      ;_uu_ 4        V P                  \        4      ;_uu_ 4        \        R4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)c                   &   a  ] tR tRt o R tRtV tR# )>ClassPropertiesAndMethods.test_file_fault.<locals>.StdoutGuardi  c                P    \         P                  \         n        \        R V 24      h)zPremature access to sys.stdout.)r  
__stdout__stdoutr  rh  s   &&r@   r%  JClassPropertiesAndMethods.test_file_fault.<locals>.StdoutGuard.__getattr__  s      ^^
"%DTF#KLLrB   r   Nrj  r   s   @r@   StdoutGuardr
    s     M MrB   r
  zOops!N)r   rU  r  print)r;   r
  s   & r@   test_file_fault)ClassPropertiesAndMethods.test_file_fault  sU    	M 	M
 []++""<00g 1 ,+00 ,++s#   A2A	A2A/*A22B	c                ,  aa  ! V3R  lR\         4      p ! R R\         4      o ! V3R lR\         4      oS! 4       p^ VP                  V! 4       &   V P                  VP                  ^4       \        P
                  ! 4        V P                  VR4       R# )c                   4   <a  ] tR tRt o R tV3R ltRtV tR# )HClassPropertiesAndMethods.test_vicious_descriptor_nonsense.<locals>.Evili  c                    \        R 4      # )r  )r  r   s   &r@   r  QClassPropertiesAndMethods.test_vicious_descriptor_nonsense.<locals>.Evil.__hash__  s    F|#rB   c                2   <  S= ^ #   \         d     ^ # i ; ir!  )r  r0  r  s   &&r@   r  OClassPropertiesAndMethods.test_vicious_descriptor_nonsense.<locals>.Evil.__eq__  s)      & s    r   N)r   r   r   r   r  r  r   r   r  s   @r@   Evilr
    s     $ rB   r
  c                   *   a  ] tR tRt o RR ltRtV tR# )IClassPropertiesAndMethods.test_vicious_descriptor_nonsense.<locals>.Descri  Nc                    ^# r   r   )r;   obrI   s   &&&r@   r  QClassPropertiesAndMethods.test_vicious_descriptor_nonsense.<locals>.Descr.__get__  r	  rB   r   r   r  r   s   @r@   Descrr
    s      rB   r
  c                   (   < ] tR tRt Z ! 4       tRtR# )EClassPropertiesAndMethods.test_vicious_descriptor_nonsense.<locals>.Ci  r   N)r   r   r   r   r  r   )r
  s   r@   r   r
    s
    7DrB   r   r  N)r~  rK   rG   r  r   r  rS  )r;   r
  r\   r   r
  s   &  @@r@    test_vicious_descriptor_nonsense:ClassPropertiesAndMethods.test_vicious_descriptor_nonsense  sp    		6 			F 		 	 C

46#a(rB   c                z     ! R  R\         4      p V! 4        V P                  R4       R#   \         d     R# i ; i)c                   &   a  ] tR tRt o R tRtV tR# )0ClassPropertiesAndMethods.test_init.<locals>.Fooi  c                    ^
# )r^  r   r   s   &r@   r5   9ClassPropertiesAndMethods.test_init.<locals>.Foo.__init__  r  rB   r   Nr  r   s   @r@   Foor
    r  rB   r
  z'did not test __init__() for None returnN)r~  r   r   )r;   r
  s   & r@   	test_init#ClassPropertiesAndMethods.test_init  s<    	& 		AE II?@  		s   + ::c                   V P                  \        4      ;_uu_ 4        W8   R R R 4       V P                  \        4      ;_uu_ 4        W8   R R R 4       V P                  \        4      ;_uu_ 4        W8*   R R R 4       V P                  \        4      ;_uu_ 4        W8   R R R 4       R #   + '       g   i     L; i  + '       g   i     Ly; i  + '       g   i     Lb; i  + '       g   i     R # ; ir   rU  r   r;   rD   rW   s   &&&r@   assertNotOrderable,ClassPropertiesAndMethods.assertNotOrderable  s    y))E *y))E *y))F *y))F *) *))))))))s/   B+B>2CC$+B;	>C	C!	$C5	c                   . pV P                  VP                  VP                  8H  4       V P                  VP                  VP                  8g  4       V P                  VP                  . P                  8H  4       V P                  VP                  . P                  8g  4       V P                  VP                  VP                  8H  4       V P                  VP                  VP                  8g  4       V P	                  VP                  VP                  4       V P                  VP                  P                  R 4       V P                  VP                  P                  V4       V P                  VP                  P                  \        4       V P                  VP                  P                  \        P                  P                  4       \        VP                  4       R# )rp   N)rQ  rp   r;  r}   r
  rG   r   r4  rS  __objclass__r7   rq  r  r;   r   s   & r@   test_method_wrapper-ClassPropertiesAndMethods.test_method_wrapper  s6    		QYY./aii/0bjj01		RZZ/0aii/0		QYY./		1995++Y7aii((!,aii,,d3**DLL,@,@AQYYrB   c                t   . pV P                  VP                  VP                  8H  4       V P                  VP                  VP                  8g  4       V P                  VP                  . P                  8H  4       V P                  VP                  . P                  8g  4       V P                  VP                  VP                  8H  4       V P                  VP                  VP                  8g  4       V P	                  VP                  VP                  4       V P                  VP                  P                  R 4       V P                  VP                  P                  V4       V P                  VP                  P                  \        P                  P                  4       \        VP                  4       R# )r   N)rQ  r   r;  popr
  rG   r   r4  rS  rq  r7   r  r
  s   & r@   test_builtin_function_or_method9ClassPropertiesAndMethods.test_builtin_function_or_method  s    AHH,-QXX-.RYY./BII-.QUU*+AEE)*!((3**H5ahh''+))4;;+>+>?QXXrB   c                   V P                  \        P                  \        P                  8H  4       V P                  \        P                  \        P                  8g  4       V P                  \        P                  \        P                  8H  4       V P                  \        P                  \        P                  8g  4       V P                  \        P                  \        P                  4       V P                  \        P                  P                  R 4       V P                  \        P                  P                  \        4       V P                  \        P                  \        P                  8H  4       V P                  \        P                  \        P                  8g  4       V P                  \        P                  \        P                  8H  4       V P                  \        P                  \        P                  8g  4       V P                  \        P                  \        P                  4       V P                  \        P                  P                  R4       V P                  \        P                  P                  \        4       R# )rp   r   N)rQ  r7   rp   r;  r}   r
  rG   r   r4  r
  r   r
  r   s   &r@   !test_special_unbound_method_types;ClassPropertiesAndMethods.test_special_unbound_method_types  sh   45565645dll;..	:dll//6 	t{{233401txx/0T[[9--x8dkk..5rB   c                v  a  R  pV 3R lp\         P                  ^,           p\         P                  pR	 EF   w  rVp\        RR
WQ/4      pV! 4       p	V! WiV	4       V! WiV4       V! WiV4       RVR,          ,           p
\        RR
W/4      pV! 4       pV! WlV4       V! WiV4       V! WlV	4       V! WlV4       V! WlV4       V! WcV4       V! WdV4       V'       g   K  V! WyV	4       V! WyV4       V! WyV4       RVR,          ,           p\        RR
W/4      pV! 4       pV! WV	4       V! WV4       V! WV4       EK  	  R# )c                     \         # r   r   r   s   &&r@   specialmethodEClassPropertiesAndMethods.test_not_implemented.<locals>.specialmethod6  s    !!rB   c                 
  < SP                  WVR 7      ;_uu_ 4        SP                  \        4      ;_uu_ 4        \        V RVRV/4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i))r?   r  ry  r  ry  N)rl  rU  r   rb   )r?   r  ry  r;   s   &&&r@   r#  =ClassPropertiesAndMethods.test_not_implemented.<locals>.check9  sZ    $q11!!),,TCC+, - 21,, 211s"   A1A	A1A.)A11B	Nr  __r:r   NNr  __ir   ))rp   zx + yzx += y)__sub__zx - yzx -= y)r}   zx * yzx *= y)
__matmul__zx @ yzx @= y)__truediv__zx / yzx /= y)r
  zx // yzx //= y)__mod__zx % yzx %= y)
__divmod__zdivmod(x, y)N)r  zx ** yzx **= y)
__lshift__zx << yzx <<= y)
__rshift__zx >> yzx >>= y)__and__zx & yzx &= y)__or__zx | yzx |= y)__xor__zx ^ yzx ^= yr   )r  r  rI   )r;   r
  r#  N1N2r>   r?   iexprr  rD   rnamer  rW   inamer   r\   s   f               r@   test_not_implemented.ClassPropertiesAndMethods.test_not_implemented2  sD   	"	- [[1_[["GD  S"t34AA$1$2$2DH$ES"u45AA$1$1$1$2$2$A$Aue"e#e#R(b5"89Ce"e#e#S"GrB   c                t     ! R  R\         4      pV! 4       p^VR&   V P                  VP                  ^4       R# )c                   &   a  ] tR tRt o R tRtV tR# )6ClassPropertiesAndMethods.test_assign_slice.<locals>.Cit  c                    W n         R # r   r  )r;   idxr'  s   &&&r@   r   BClassPropertiesAndMethods.test_assign_slice.<locals>.C.__setitem__u  r-  rB   r  N)r   r   r   r   r   r   r   r   s   @r@   r   r
  t  r!  rB   r   :rn   r   NN)r~  rG   r'  )r;   r   r\   s   &  r@   test_assign_slice+ClassPropertiesAndMethods.test_assign_sliceo  s4    
	# 	# C#!$rB   c                |  a  ! R  R\         4      pV! R4      o ! V3R lR\         4      pV! 4       pV P                  VP                  S4       ^*Vn        V P                  VP                  ^*4        ! R R\        4      p ! R RVR7      p^*Vn        V! R4      Vn        V P                  VP                  ^*4       R	# )
c                   ,   a  ] tR tRt o R tR tRtV tR# )<ClassPropertiesAndMethods.test_set_and_no_get.<locals>.Descri  c                    Wn         R # r   r>   r  s   &&r@   r5   EClassPropertiesAndMethods.test_set_and_no_get.<locals>.Descr.__init__  r  rB   c                6    W!P                   V P                  &   R # r   )rK   r>   r  s   &&&r@   r  DClassPropertiesAndMethods.test_set_and_no_get.<locals>.Descr.__set__  s    */TYY'rB   r
  N)r   r   r   r   r5   r  r   r   r   s   @r@   r
  r
    s     !0 0rB   r
  rD   c                      < ] tR tRt Z tRtR# )8ClassPropertiesAndMethods.test_set_and_no_get.<locals>.Xi  r   Nr6  r!  s   r@   r&  r
    s    ArB   r&  c                       ] tR tRtRtR# );ClassPropertiesAndMethods.test_set_and_no_get.<locals>.Metai  r   Nrj  r   rB   r@   r  r
    rl  rB   r  c                       ] tR tRtRtR# )r
  i  r   Nrj  r   rB   r@   r&  r
    rl  rB   r_  N)r~  r4  rD   rG   rI   )r;   r
  r&  r  r  r!  s   &    @r@   test_set_and_no_get-ClassPropertiesAndMethods.test_set_and_no_get|  s    	0F 	0 c
	 	 Cacc5!b!	4 		$ 	sb!rB   c                v  aa  ! R  R\         4      pV! 4       o ! V3R lR\         4      p ! V3R lR\         4      p ! V3R lR\         4      pV P                  \        \        V! 4       R4       V P	                  SP
                  ^4       V P                  \        \        V! 4       R4       V P	                  SP
                  ^4       V P                  \        \        V! 4       R4       V P	                  SP
                  ^4        ! V3R	 lR
\         4      oV P                  \        \        S! 4       R4       R# )c                   .   a  ] tR tRt o ^ tRR ltRtV tR# )@ClassPropertiesAndMethods.test_getattr_hooks.<locals>.Descriptori  Nc                   a  V 3R  lpV# )c                 L   < S;P                   ^,          un         \        V 4      hr   )r  r0  )r>   r;   s   &r@   rv  XClassPropertiesAndMethods.test_getattr_hooks.<locals>.Descriptor.__get__.<locals>.getter  s    LLA%L(..rB   r   )r;   r~  objtyperv  s   f&& r@   r  HClassPropertiesAndMethods.test_getattr_hooks.<locals>.Descriptor.__get__  s    / rB   r   r   )r   r   r   r   r  r  r   r   r   s   @r@   
Descriptorr     s     G rB   r  c                      < ] tR tRt Z tRtR# )7ClassPropertiesAndMethods.test_getattr_hooks.<locals>.Ai  r   N)r   r   r   r   r_  r   r
  s   r@   r  r    s	    $rB   r  c                      < ] tR tRt Z tRtR# )7ClassPropertiesAndMethods.test_getattr_hooks.<locals>.Bi  r   N)r   r   r   r   r%  r   r
  s   r@   r  r
    s    KrB   r  c                   $   < ] tR tRt Z t Z tRtR# )7ClassPropertiesAndMethods.test_getattr_hooks.<locals>.Ci  r   N)r   r   r   r   r_  r%  r   r
  s   r@   r   r    s    $KrB   r   r  c                   4   <a  ] tR tRt o R tV3R ltRtV tR# )FClassPropertiesAndMethods.test_getattr_hooks.<locals>.EvilGetattributei  c                    \        V4      hr   r  r  s   &&r@   r%  RClassPropertiesAndMethods.test_getattr_hooks.<locals>.EvilGetattribute.__getattr__  s    $T**rB   c                l   < S= \        ^4       F  p\        P                  ! 4        K  	  \	        V4      h)r   )r%  r  r  collectr0  )r;   r>   r   EvilGetattributes   && r@   r_  WClassPropertiesAndMethods.test_getattr_hooks.<locals>.EvilGetattribute.__getattribute__  s+    $0qAJJL "$T**rB   r   Nr  )r   r  s   @r@   r  r    s     ++ +rB   r  N)r~  rU  r0  rJ   rG   r  )r;   r  r  r  r   r  r!  s   &    @@r@   test_getattr_hooks,ClassPropertiesAndMethods.test_getattr_hooks  s    	 	 	% 	%	  	 	  	  	.'13?*.'13?*.'13?*	+v 	+ 	.'3C3EvNrB   c                b    V P                  \        \        P                  \        \        4       R # r   )rU  r   rI   r_  r7   r   s   &r@   test_type___getattribute__4ClassPropertiesAndMethods.test_type___getattribute__  s    )T%:%:D$GrB   c                2   V P                  \        \        \        R 4        ! R R\        4      pV P                  \        \        VR 4        ! R R\        4      pV P                  \        4      ;_uu_ 4        V=RRR4       R#   + '       g   i     R# ; i)__abstractmethods__c                       ] tR tRtRtR# )<ClassPropertiesAndMethods.test_abstractmethods.<locals>.metai  r   Nrj  r   rB   r@   metar    rl  rB   r  c                       ] tR tRtRtR# )9ClassPropertiesAndMethods.test_abstractmethods.<locals>.Xi  r   Nrj  r   rB   r@   r&  r     rl  rB   r&  N)rU  r0  rJ   rI   r~  r  )r;   r  r&  s   &  r@   test_abstractmethods.ClassPropertiesAndMethods.test_abstractmethods  sj    .'49NO	4 	.'49NO	 	~..% /...s   8BB	c                @   V P                  \        R 4      ;_uu_ 4        \        R R^^/4      pRRR4        ! R R\        4      pV P                  \        R 4      ;_uu_ 4        V! R R/ 4      pRRR4       R#   + '       g   i     LR; i  + '       g   i     R# ; i)MyClassNc                   2   a a ] tR tRt oV 3R ltRtVtV ;t# )4ClassPropertiesAndMethods.test_gh55664.<locals>.metai  c                .   < ^V^&   \         SV `  WW#4      # r  )r  r   r  s   &&&&r@   r   <ClassPropertiesAndMethods.test_gh55664.<locals>.meta.__new__  s    1wt5==rB   r   r  r  s   @@r@   r  r&    s     > >rB   r  r   )assertWarnsRegexRuntimeWarningrI   )r;   r$  r  s   &  r@   test_gh55664&ClassPropertiesAndMethods.test_gh55664  sz     "">9==9b1a&1G >	>4 	>
 "">9==9b"-G >= >= >==s   A9$B9B		B	c                    ! R  R4      pV! 4       pV P                  V\        4       V P                  \        4      ;_uu_ 4        \        P	                  V4       RRR4       V P                  \        4      ;_uu_ 4        \        P                  VR4       RRR4       R#   + '       g   i     LN; i  + '       g   i     R# ; i)c                       ] tR tRt]tRtR# ):ClassPropertiesAndMethods.test_proxy_call.<locals>.FakeStri  r   N)r   r   r   r   r|  r5  r   r   rB   r@   FakeStrr/    r  rB   r0  Nr  )r&  r|  rU  r   r	  rp   )r;   r0  fake_strs   &  r@   test_proxy_call)ClassPropertiesAndMethods.test_proxy_call  s    	 	 9h, y))IIh * y))KK%( *)	 *) *))s   B! B4!B1	4C	c                    ! R  R4      pV! 4       p\        ^4       F>  pV P                  \        4      ;_uu_ 4        \        P	                  V4       RRR4       K@  	  \        ^4       F>  pV P                  \        4      ;_uu_ 4        \
        P                  V4       RRR4       K@  	  \        ^4       F>  pV P                  \        4      ;_uu_ 4        \
        P                  V4       RRR4       K@  	  \        ^4       F>  pV P                  \        4      ;_uu_ 4        \
        P                  V4       RRR4       K@  	  ^ RI	H
p \        ^4       F:  pV P                  \        4      ;_uu_ 4        VP                  W"4       RRR4       K<  	  R#   + '       g   i     EK  ; i  + '       g   i     EKT  ; i  + '       g   i     EK  ; i  + '       g   i     K  ; i  + '       g   i     K  ; i)c                       ] tR tRtRtR# )RClassPropertiesAndMethods.test_specialized_method_calls_check_types.<locals>.Thingi  r   Nrj  r   rB   r@   Thingr6    rl  rB   r7  N)deque)r  rU  r   r7   sortr|  r	  r  r  collectionsr8  r   )r;   r7  r  r   r8  s   &    r@   )test_specialized_method_calls_check_typesCClassPropertiesAndMethods.test_specialized_method_calls_check_types  sY   	 	rA""9--		%  .-  rA""9--		%  .-  rA""9--		%  .-  rA""9--		%  .-  	&rA""9--U* .- ! .-- .-- .-- .--
 .--s;   F
F,G$G7G*F),F>GG'*G;c                     ! R  R4      pVP                   Vn        V! 4       pV P                  \        \        V4       V P                  \        \
        V4       R# )c                       ] tR tRtRtR# )7ClassPropertiesAndMethods.test_repr_as_str.<locals>.Fooi  r   Nrj  r   rB   r@   r
  r?    rl  rB   r
  N)r   r   rU  r  r|  r   )r;   r
  r   s   &  r@   test_repr_as_str*ClassPropertiesAndMethods.test_repr_as_str  sB    
	 	{{e.#s3.$4rB   c                     ! R  R\         4      pV! 4       p^*Vn        V P                  VR,          ^*4       V P                  W") 4       R# )c                   F    ] tR tRt]P
                  t]P                  tRt	R# )>ClassPropertiesAndMethods.test_mixing_slot_wrappers.<locals>.Xi  r   N)
r   r   r   r   r   r   rd  r   __neg__r   r   rB   r@   r&  rD    s    **KiiGrB   r&  ry  N)r   ry  rG   )r;   r&  r  s   &  r@   test_mixing_slot_wrappers3ClassPropertiesAndMethods.test_mixing_slot_wrappers  sB    	  	  C3$BrB   c                0    ! R  R\         4      pV! 4       pV P                  \        4      ;_uu_ 4        W"8H   RRR4       V P                  \        4      ;_uu_ 4        W",            RRR4       R#   + '       g   i     L@; i  + '       g   i     R# ; i)c                   F    ] tR tRt]P
                  t]P                  tRtR# )BClassPropertiesAndMethods.test_wrong_class_slot_wrapper.<locals>.Ai  r   N)r   r   r   r   r|  r  rp   r   r   rB   r@   r  rJ    s    ZZFkkGrB   r  N)r1   rU  r   )r;   r  rD   s   &  r@   test_wrong_class_slot_wrapper7ClassPropertiesAndMethods.test_wrong_class_slot_wrapper  sc    	" 	" Cy))F *y))E *) *))))s   A1	B1B	B	c                    V P                  \        4      ;_uu_ 4       p ! R  R4      pRRR4       \        XP                  4      pV P	                  RV4       R#   + '       g   i     L9; i)c                        ] tR tRtR.tRtRtR# )EClassPropertiesAndMethods.test_slot_shadows_class_variable.<locals>.Xi*  r   Nr   )r   r   r   r   r   r   r   r   rB   r@   r&  rO  *  s    "G	rB   r&  Nz0'foo' in __slots__ conflicts with class variable)rU  r  r|  r  rG   )r;   rV  r&  rQ   s   &   r@    test_slot_shadows_class_variable:ClassPropertiesAndMethods.test_slot_shadows_class_variable(  sN    z**b  + KQO +*s   AA*	c                    ! R  R4      pRVn         V P                  VP                   R4       V P                  \        4      ;_uu_ 4       p\	        \
        4      P                  R,          P                  \
        R4       RRR4       V P                  R\        XP                  4      4       V P                  \        4      ;_uu_ 4       p\	        V4      P                  R,          P                  V4       RRR4       V P                  R\        VP                  4      4       V P                  VP                   R4       R#   + '       g   i     L; i  + '       g   i     Lf; i)c                       ] tR tRtRtRtR# )1ClassPropertiesAndMethods.test_set_doc.<locals>.Xi1  elephantr   NrJ  r   rB   r@   r&  rT  1  s    rB   r&  bananarq  blahNz7cannot set '__doc__' attribute of immutable type 'list'z7cannot delete '__doc__' attribute of immutable type 'X')rq  rG   rU  r   rI   r7   rK   r  rR  r|  r  r  )r;   r&  rV  s   &  r@   test_set_doc&ClassPropertiesAndMethods.test_set_doc0  s    	 		H-y))RJ	*224@ *OQTUWUaUaQbcy))RGY'2215 *OQTUWUaUaQbcH- *) *)s   5E
,EE	E$	c                   \         P                  \        P                  \        P                  \
        P                  .p. ROp\        W4       F1  w  r4V P                  \        V4      P                  VR,           4       K3  	  V FM  pVP                  P                  R,           VP                  ,           pV P                  VP                  V4       KO  	  V P                  \         P                  P                  R4       V P                  \        P                  P                  R4       V P                  \        P                  P                  R4       V P                  \
        P                  P                  R4        ! R R4      pV P                  \        4      ;_uu_ 4        V=R	R	R	4       V P                  \        \        P                  R
,          P                   \         R4        ! R R4      sV P                  \"        P                  R4       V P                  \"        P$                  P                  R4       R	#   + '       g   i     L; i)r$  _descriptor.z	str.lowerzcomplex.realz
float.realzint.__add__c                       ] tR tRtRtR# )2ClassPropertiesAndMethods.test_qualname.<locals>.XiP  r   Nrj  r   rB   r@   r&  r^  P  rl  rB   r&  Nr   Oinkc                   *    ] tR tRt ! R R4      tRtR# )r)  iY  c                       ] tR tRtRtR# )Y.InsideiZ  r   Nrj  r   rB   r@   Insiderb  Z  rH  rB   rc  r   N)r   r   r   r   rc  r   r   rB   r@   r)  r)  Y  s     rB   r)  rb  )r$  membergetsetwrapper)r|  r  r   r   r2   r1   rp   r  rG   rI   r   r
  r   rU  r   rK   r  r)  rc  )r;   descriptorsrz  rO   rp  qualnamer&  s   &      r@   test_qualname'ClassPropertiesAndMethods.test_qualname?  s   yy',,

CKKH9 +DAT!W--q=/@A , A~~22S81::EHQ^^X6  	//=22NC00,?11=A	 	y)) * 	)T]]>%B%J%Jv	'	 	 	-..
; *)s   %II	c                   R R/p\        RRV4      pV P                  VP                  R4       V P                  R VP                  4       V P                  VR R/4       R ^/pV P                  \        \         RRV4       R# )r   z	some.namer
  Nr   )rI   rG   r   rn  rK   rU  r   )r;   r  r	  s   &  r@   test_qualname_dict,ClassPropertiesAndMethods.test_qualname_dict_  sw    k*%R +65nk:;a )T5"b9rB   c                2    ! R  R\         4      pV! 4       p^*Vn        \        P                  ! V4      p?\        P
                  ! 4        V P                  V! 4       4       \        P                  ! 4        F  pV P                  \        V4      V4       K   	  R# )c                   &   a  ] tR tRt o R tRtV tR# )<ClassPropertiesAndMethods.test_cycle_through_dict.<locals>.Xik  c                <    \         P                  V 4       W n        R # r   )r   r5   rK   r   s   &r@   r5   EClassPropertiesAndMethods.test_cycle_through_dict.<locals>.X.__init__l  s    d# $rB   )rK   Nr  r   s   @r@   r&  rp  k  s     % %rB   r&  N)r   r  rO  rP  r   r  assertIsNoner  r  assertIsNotrI   )r;   r&  r  wrri  s   &    r@   test_cycle_through_dict1ClassPropertiesAndMethods.test_cycle_through_dicti  so    	% 	% C[[^"$!AT!Wa( "rB   c           	     V    ! R  R4      pV P                  \        V^4       V P                  \        V^R7        ! R R4      p ! R R4      p ! R RW#4      pW#V3 FH  pV! ^4       V! ^^R7       V P                  \        V^^^4       V P                  \        V^^^R	7       KJ  	  R
# )c                       ] tR tRtRtR# )[ClassPropertiesAndMethods.test_object_new_and_init_with_parameters.<locals>.OverrideNeitheriz  r   Nrj  r   rB   r@   OverrideNeitherrz  z  rl  rB   r{  rR  c                   *   a  ] tR tRt o RR ltRtV tR# )WClassPropertiesAndMethods.test_object_new_and_init_with_parameters.<locals>.OverrideNewi~  c                6    \         P                  ! V .VO5/ VB # r   r  )r   r   r  r<   r   s   &&&*,r@   r   _ClassPropertiesAndMethods.test_object_new_and_init_with_parameters.<locals>.OverrideNew.__new__  s    ~~c9D9D99rB   r   Nr!  rt  r   s   @r@   OverrideNewr}  ~  s     : :rB   r  c                   *   a  ] tR tRt o RR ltRtV tR# )XClassPropertiesAndMethods.test_object_new_and_init_with_parameters.<locals>.OverrideIniti  c                6    \         P                  ! V .VO5/ VB # r   )r~  r5   )r;   r   r  r<   r=   s   &&&*,r@   r5   aClassPropertiesAndMethods.test_object_new_and_init_with_parameters.<locals>.OverrideInit.__init__  s    t=d=f==rB   r   Nr!  r  r   s   @r@   OverrideInitr    s     > >rB   r  c                       ] tR tRtRtR# )XClassPropertiesAndMethods.test_object_new_and_init_with_parameters.<locals>.OverrideBothi  r   Nrj  r   rB   r@   OverrideBothr    rl  rB   r  r  Nr
  )r;   r{  r  r  r  cases   &     r@   (test_object_new_and_init_with_parametersBClassPropertiesAndMethods.test_object_new_and_init_with_parametersx  s    	 	)_a8)_;	: 	:	> 	>	; 	|;DGqMiq!Q7iq!;	 <rB   c                     ! R  R4      p ! R RV4      pV P                  RVP                  4       V P                  RVP                  4       R# )c                       ] tR tRtRtR# )\ClassPropertiesAndMethods.test_subclassing_does_not_duplicate_dict_descriptors.<locals>.Basei  r   Nrj  r   rB   r@   rQ  r    rl  rB   rQ  c                       ] tR tRtRtR# )[ClassPropertiesAndMethods.test_subclassing_does_not_duplicate_dict_descriptors.<locals>.Subi  r   Nrj  r   rB   r@   rV  r    rl  rB   rV  rK   N)rR  rK   rn  )r;   rQ  rV  s   &  r@   4test_subclassing_does_not_duplicate_dict_descriptorsNClassPropertiesAndMethods.test_subclassing_does_not_duplicate_dict_descriptors  s>    	 		$ 	j$--0S\\2rB   c                  <  ! R  R4      pV P                  \        V! 4       P                  4      R4        ! R R4      p ! R RV4      p ! R RV4      pV! 4       pV! 4       pV! 4       p\        WG4      pV P                  \        VP                  4      R	4       V P                  \        VP                  4      R
4       V P                  \        VP                  4      R4       V P                  \        VP                  4      R4        ! R R4      pV! 4       p	V P                  \        V	P                  4      R4       V P                  \        VP                  4      R4        ! R R4      p
V
! 4       p\	        4       p\
        P                  ! W4      pV P                  \        V4      R4       RVn        V P                  \        V4      R4       RVn        V P                  \        V4      R4       R# )c                   &   a  ] tR tRt o R tRtV tR# )=ClassPropertiesAndMethods.test_bound_method_repr.<locals>.Fooi  c                    R # r   r   r   s   &r@   r$  DClassPropertiesAndMethods.test_bound_method_repr.<locals>.Foo.method  r{  rB   r   Nr   r   r   r   r$  r   r   r   s   @r@   r
  r    r}  rB   r
  z4<bound method .*Foo\.method of <.*Foo object at .*>>c                   &   a  ] tR tRt o R tRtV tR# )>ClassPropertiesAndMethods.test_bound_method_repr.<locals>.Basei  c                    R # r   r   r   s   &r@   r$  EClassPropertiesAndMethods.test_bound_method_repr.<locals>.Base.method  r{  rB   r   Nr  r   s   @r@   rQ  r    r}  rB   rQ  c                       ] tR tRtRtR# )BClassPropertiesAndMethods.test_bound_method_repr.<locals>.Derived1i  r   Nrj  r   rB   r@   Derived1r    rl  rB   r  c                   &   a  ] tR tRt o R tRtV tR# )BClassPropertiesAndMethods.test_bound_method_repr.<locals>.Derived2i  c                    R # r   r   r   s   &r@   r$  IClassPropertiesAndMethods.test_bound_method_repr.<locals>.Derived2.method  r{  rB   r   Nr  r   s   @r@   Derived2r    r}  rB   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 .*>>c                   0   a  ] tR tRt o ]R 4       tRtV tR# )r  i  c                    R # r   r   rd  s   &r@   r$  r    r{  rB   r   N)r   r   r   r   r  r$  r   r   r   s   @r@   r
  r    s      rB   z/<bound method .*Foo\.method of <class '.*Foo'>>c                   &   a  ] tR tRt o R tRtV tR# )DClassPropertiesAndMethods.test_bound_method_repr.<locals>.MyCallablei  c                    R # r   r   r&	  s   &&r@   r  MClassPropertiesAndMethods.test_bound_method_repr.<locals>.MyCallable.__call__  r{  rB   r   N)r   r   r   r   r  r   r   r   s   @r@   
MyCallabler    r}  rB   r  z*<bound method \? of <object object at .*>>r>   z,<bound method name of <object object at .*>>rh  z0<bound method qualname of <object object at .*>>N)	assertRegexr   r$  r  r~  rz  
MethodTyper   r   )r;   r
  rQ  r  r  r  derived1derived2super_d2r   r  r"  instancer$  r5  s   &             r@   test_bound_method_repr0ClassPropertiesAndMethods.test_bound_method_repr  s   	 	 	cell+C	E	 		t 		t 	 v::,dkk*E	Ghoo.I	Khoo.M	Ohoo.I	K	 	 ecjj)>	@cjj)>	@	 	 |8!!$1f9	;f;	=&f?	ArB   zneed the _testcapi modulec                N   a  ! R  R4      o ! V3R lR4      pVP                    R# )c                   .    ] tR tRt]P
                  tRtR# )6ClassPropertiesAndMethods.test_bpo25750.<locals>.Descri  r   N)r   r   r   r   r  bad_getr  r   r   rB   r@   r
  r    s    ''GrB   r
  c                   8   <a  ] tR tRt o  Z! 4       tR tRtV tR# )2ClassPropertiesAndMethods.test_bpo25750.<locals>.Xi  c                l    R V n         \        R4       Uu. uF  p^V,          NK  	  upV n        R # u upi )Ni'  )r!  r  rI	  )r   r   s   & r@   r   :ClassPropertiesAndMethods.test_bpo25750.<locals>.X.__new__  s,     	).u6A1a4466s   1r   N)r   r   r   r   r!  r   r   r   )r   r
  s   @r@   r&  r    s     GE7 7rB   r&  Nr
  )r;   r&  r
  s   & @r@   test_bpo25750'ClassPropertiesAndMethods.test_bpo25750  s     
	( 	(	7 	7 	
rB   c                    ! R  R4      pV P                  VP                  4       . 4        ! R RV4      pV P                  VP                  4       V.4       ?\        P                  ! 4        V P                  VP                  4       . 4       R# )c                       ] tR tRtRtR# )>ClassPropertiesAndMethods.test_remove_subclass.<locals>.Parenti  r   Nrj  r   rB   r@   Parentr    rl  rB   r  c                       ] tR tRtRtR# )=ClassPropertiesAndMethods.test_remove_subclass.<locals>.Childi  r   Nrj  r   rB   r@   Childr    rl  rB   r  N)rG   r}  r  r  )r;   r  r  s   &  r@   test_remove_subclass.ClassPropertiesAndMethods.test_remove_subclass  sq    
	 	..0"5	F 	..05':


..0"5rB   c                     ! R  R4      p ! R R4      pV! 4       pV! 4       pVP                   P                  WB4      Vn         V P                  VP                  4       V4       R# )c                   &   a  ] tR tRt o R tRtV tR# )FClassPropertiesAndMethods.test_instance_method_get_behavior.<locals>.Ai  c                    V # r   r   r   s   &r@   rN   KClassPropertiesAndMethods.test_instance_method_get_behavior.<locals>.A.meth  s    rB   r   Nr  r   s   @r@   r  r    r  rB   r  c                       ] tR tRtRtR# )FClassPropertiesAndMethods.test_instance_method_get_behavior.<locals>.Bi  r   Nrj  r   rB   r@   r  r    rl  rB   r  N)rN   r  rG   )r;   r  r  rD   rW   s   &    r@   !test_instance_method_get_behavior;ClassPropertiesAndMethods.test_instance_method_get_behavior  sP    	 		 	 CC%1%rB   c                \    ! R  R4      pV P                  \        R4      ;_uu_ 4        V! 4       P                   RRR4        ! R R4      pV P                  \        R4      ;_uu_ 4        V! 4       P                   RRR4       R#   + '       g   i     LT; i  + '       g   i     R# ; i)c                   6   a  ] tR tRt o R t]R 4       tRtV tR# )EClassPropertiesAndMethods.test_attr_raise_through_property.<locals>.Ai  c                    \        R 4      hFOOr  r  s   &&r@   r%  QClassPropertiesAndMethods.test_attr_raise_through_property.<locals>.A.__getattr__  s     ''rB   c                $    V P                  R 4      # )asdf)r%  r   s   &r@   r   IClassPropertiesAndMethods.test_attr_raise_through_property.<locals>.A.foo  s    ''//rB   r   N)	r   r   r   r   r%  r  r   r   r   r   s   @r@   r  r    s     ( 0 0rB   r  r  Nc                   @   a  ] tR tRt o ]R 4       t]R 4       tRtV tR# )EClassPropertiesAndMethods.test_attr_raise_through_property.<locals>.Bi	  c                    \        R 4      hr  r  r  s   &&r@   r%  QClassPropertiesAndMethods.test_attr_raise_through_property.<locals>.B.__getattr__
  s     ''rB   c                    \        R 4      h)BAR)NotImplementedErrorr   s   &r@   r   IClassPropertiesAndMethods.test_attr_raise_through_property.<locals>.B.foo  s    )%00rB   r   N)	r   r   r   r   r  r%  r   r   r   r   s   @r@   r  r  	  s+     ( ( 1 1rB   r  r  )r  r  r   r  )r;   r  r  s   &  r@    test_attr_raise_through_property:ClassPropertiesAndMethods.test_attr_raise_through_property  sw    	0 	0 ##J66CGG 7	1 	1 ##$7??CGG @? 76 @??s   B+BB	B+	r   )r   r   r   r   r:  rK  rV  r  r  r  r  r  r  r)  r1  rV  r   thread_unsafer  r  r  r  r'  r?  rX  rs  r  refcount_testr  r  r3   r  r   r  r  r  r  r  r  r  expectedFailurer  r  r  rE  r`  rv  r  r  r  rD  rT  ro  r  flagsoptimizer  cpython_onlyr  r  r  r  rY  r  r  r  r  r  r'  r3  rj  r  r  r  r  r  r  r  skip_wasi_stack_overflowskip_emscripten_stack_overflowr  r  r	  r	  r	  r	  r/	  r7	  rM	  r^	  rf	  rn	  ry	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r	  r
  r
  r
  r6
  r:
  rR
  rc
  rf
  rt
  r
  r
  requires_resourcer
  r
  r
  r
  r
  r
  r
  r
  r
  r
  r
  r  r  r!  r+  r2  r;  r@  rF  rK  rP  rX  ri  rl  rv  r  r  r  r  r  r  r  r  r   r   r  r  s   @@r@   r  r    s    2/h0Tl
(9T'*R"=J@B*7#;J10;0z V Vp$2L&-P<"A/F:Ox;'z$JL	2 N N =>__Y$&(CD/= E ?/=b'0 N N =>__Y$&(CD  E ? J* &D)$ 
( 
( ?D ) ).E>N/4bHK* DE@ F@,f8P`"D>=F~ __SYY''1,@B2B2 < <AFM?^Zxn`_0X
+63@><@K@ZAXWrWPr 5DK(Z.1(1* %%'++- . (@$=.,*\
1%0N(4)6*%X2 ++-%%'
 ( .
(,O8?HB*=X(@42l30C17f DE)I F)IV%%N9.<K"P&& %%'++-u% & . (	)B
A$&6&;$z%":%ONH	&.) +6 ++-%%'5 ( .5 
P.<@:)<(35An __Y$&(CD E6"& rB   r  c                     a  ] tR tRt o R t]P                  ! ]! ]R4      ;'       d    ]P                  ! 4       R4      R 4       t
]P                  ! ]! ]R4      ;'       d    ]P                  ! 4       R4      R 4       t]P                  ! ]! ]R4      ;'       d    ]P                  ! 4       R4      R 4       tR tR	 tR
tV tR# )DictProxyTestsi  c                0     ! R  R\         4      pWn        R# )c                   &   a  ] tR tRt o R tRtV tR# )DictProxyTests.setUp.<locals>.Ci  c                    R # r   r   r   s   &r@   rN   $DictProxyTests.setUp.<locals>.C.meth  r{  rB   r   Nr  r   s   @r@   r   r    r}  rB   r   N)r~  r   r   s   & r@   setUpDictProxyTests.setUp  s    	 	 rB   gettracez#trace function introduces __local__c                    V P                   P                  P                  4       pV P                  V\        4       \	        V4      pVP                  4        V P                  V. RO4       R# )rK   NrK   rq  r   r   r   r  rN   )r   rK   r   assertNotIsInstancer7   r9  rG   )r;   r  r   s   &  r@   test_iter_keysDictProxyTests.test_iter_keys  sQ     VV__!!#  T*Bx		  ( 	)rB   c                    V P                   P                  P                  4       pV P                  V\        4       \	        V4      pV P                  \        V4      ^4       R# )r  N)r   rK   r	  r  r7   rG   r  )r;   r  r	  s   &  r@   test_iter_valuesDictProxyTests.test_iter_values*  sG     VV__##%  T*bVa(rB   c                    V P                   P                  P                  4       pV P                  V\        4       V Uu. uF  q"^ ,          NK  	  ppVP                  4        V P                  V. RO4       R# u upi )r   Nr  )r   rK   r8   r  r7   r9  rG   )r;   r  itemr   s   &   r@   test_iter_itemsDictProxyTests.test_iter_items3  se     VV__""$  T*$&'BDQB'		  ( 	) (s   A8c                     ! R  R\         4      p ! R R\        4      p ! R RVR7      pV P                  \        VP                  4      \        VP                  4      4       R# )c                       ] tR tRtRtR# )7DictProxyTests.test_dict_type_with_metaclass.<locals>.BiB  r   Nrj  r   rB   r@   r  r  B  rl  rB   r  c                       ] tR tRtRtR# )7DictProxyTests.test_dict_type_with_metaclass.<locals>.MiD  r   Nrj  r   rB   r@   r  r  D  rl  rB   r  c                       ] tR tRtRtR# )7DictProxyTests.test_dict_type_with_metaclass.<locals>.CiF  r   Nrj  r   rB   r@   r   r
  F  r  rB   r   r_  N)r~  rI   rG   rK   )r;   r  r  r   s   &   r@   test_dict_type_with_metaclass,DictProxyTests.test_dict_type_with_metaclass@  sJ    	 		 		! 	 	ajj)4

+;<rB   c                (   \        V P                  P                  4      pV P                  VR 4       V P	                  VR4       V P                  P                  P                  4        F&  w  r#V P                  RP                  W#4      V4       K(  	  R# )zmappingproxy()z
{!r}: {!r}N)r   r   rK   r  assertEndsWithr8   rR  ra  )r;   rQ  r   r   s   &   r@   	test_reprDictProxyTests.test_reprK  sl     !a1As#FFOO))+DAMM,--a3Q7 ,rB   r  N)r   r   r   r   r  r3   r  r   r  r  r  r  r  r  r  r   r   r   s   @r@   r  r    s      __WS*-@@#,,.=?	)?	) __WS*-@@#,,.=?)?) __WS*-@@#,,.=?	)?	)	=8 8rB   r  c                   &   a  ] tR tRt o R tRtV tR# )AAAPTypesLongInitTestiV  c                     ! R  R\         4      p \        ^ V! 4       ^ 4       \        P                  \        4       R#     L; i)c                   &   a  ] tR tRt o R tRtV tR# )>AAAPTypesLongInitTest.test_pytype_long_ready.<locals>.UserLongib  c                    R # r   r   r;   r<   s   &*r@   r  FAAAPTypesLongInitTest.test_pytype_long_ready.<locals>.UserLong.__pow__c  r{  rB   r   Nr	  r   s   @r@   UserLongr  b  r}  rB   r  N)r~  r   rI   r2  rT  )r;   r  s   & r@   test_pytype_long_ready,AAAPTypesLongInitTest.test_pytype_long_ready[  s8    	v 		8:q! 		s	   > Ar   N)r   r   r   r   r  r   r   r   s   @r@   r  r  V  s     
 rB   r  c                   &   a  ] tR tRt o R tRtV tR# )	MiscTestsio  c                    \         P                  ! R 4      p\        RV4      w  r#pVP                  4       pV P	                  VR4       VP                  4       pV P	                  VR4       V P	                  VR4       V P	                  VR4       R# )a  
        class MyKey(object):
            def __hash__(self):
                return hash('mykey')

            def __eq__(self, other):
                X.__bases__ = (Base2,)

        class Base(object):
            mykey = 'from Base'
            mykey2 = 'from Base'

        class Base2(object):
            mykey = 'from Base2'
            mykey2 = 'from Base2'

        X = type('X', (Base,), {MyKey(): 5})

        bases_before = ",".join([c.__name__ for c in X.__bases__])
        print(f"before={bases_before}")

        # mykey is initially read from Base, however, the lookup will be perfomed
        # again if specialization fails. The second lookup will use the new
        # mro set by __eq__.
        print(X.mykey)

        bases_after = ",".join([c.__name__ for c in X.__bases__])
        print(f"after={bases_after}")

        # mykey2 is read from Base2 because MyKey.__eq__ has set __bases_
        print(f"mykey2={X.mykey2}")
        z-czRuntimeWarning: .*Xzbefore=Basezafter=Base2zmykey2=from Base2N)textwrapdedentr   r  r  )r;   ru  r  outerrs   &    r@   test_type_lookup_mro_reference(MiscTests.test_type_lookup_mro_referencep  s        @ 'tT2jjl34jjlm,m,12rB   r   N)r   r   r   r   r$  r   r   r   s   @r@   r  r  o  s     *3 *3rB   r  c                      a  ] tR tRt o R/ RRR3R ltR tR tRR lt]R 4       t	]
P                  R 4       t]
P                  R	 4       tR
 tR tRtV tR# )PicklingTestsi  Nc                   V^8  EdQ   VP                  V4      pV'       dM   V P                  V^ ,          \        P                  4       V P                  V^,          \	        V4      W434       MQV P                  V^ ,          \        P
                  4       V P                  V^,          \	        V4      3V,           4       V P                  V^,          V4       Ve$   V P                  \        V^,          4      V4       MV P                  V^,          4       Ve%   V P                  \        V^,          4      V4       R# V P                  V^,          4       R# \	        V4      P                  p	\        P                  \	        V4      T	V	\        J d   RMV	! V4      33pVe
   W3,          pV P                  VP                  V4      V4       V P                  VP                  4       V4       R# r  )__reduce_ex__rG   copyreg__newobj_ex__rI   
__newobj__assertListEqualr7   rs  assertDictEqualr   __base___reconstructorr~  
__reduce__)
r;   protor~  r<   r=   r  	listitems	dictitemsreduce_value	base_types
   &&&&&&&&  r@   _check_reducePicklingTests._check_reduce  s   A:,,U3L  a'2G2GH  a49d2KL  a'2D2DE  a49,2EF\!_e4$$$T,q/%:IF!!,q/2$$$T,q/%:IF!!,q/2S	**I#22!#Y&%.&%8TinNOL  (S..u5|DS^^-|<rB   c           	     	  aaa \        \        P                  ^,           4      pR)oRR*RR+/oRR,/o ! V3R lR4      pV! 4       pV F  pV P                  WCS4       K  	  SP	                  4        F  w  rV\        W5V4       K  	  V F  pV P                  WCSSR7       K  	   ! R R4      pV! 4       pV FC  pV^8  g   K  V P                  \        4      ;_uu_ 4        VP                  V4       R	R	R	4       KE  	   ! VV3R
 lR4      pV! 4       pV F  pV^8  g   K  V P                  WCSS4       K!  	   ! V3R lR4      p	 ! V3R lR4      p
 ! R R4      p ! R R4      pV F[  pWW3 FP  pV! 4       pV^8  g   K  V P                  \        \        34      ;_uu_ 4        VP                  V4       R	R	R	4       KR  	  K]  	   ! V3R lR4      pV! 4       pV F  pV P                  WCS4       K  	   ! R R4      pV! 4       pV FC  pV^8  g   K  V P                  \        4      ;_uu_ 4        VP                  V4       R	R	R	4       KE  	   ! V3R lR4      pV! 4       pV F  pV P                  WCSR7       K  	   ! R R4      pV! 4       pV F  pV P                  WCRR7       K  	   ! R R4      pV! 4       pV Fy  pV P                  \        4      ;_uu_ 4        VP                  V4       R	R	R	4       V^8  g   KC  V P                  \        4      ;_uu_ 4        VP                  4        R	R	R	4       K{  	   ! V3R lR 4      pV! 4       pV F  pV^8  d   V P                  WCR	S3R7       K!  V P                  \        4      ;_uu_ 4        VP                  V4       R	R	R	4       V P                  \        4      ;_uu_ 4        VP                  4        R	R	R	4       K  	   ! R! R"\        4      pV! R#R-/4      pV F  pV P                  WC\        V4      R$7       K!  	   ! R% R&\        4      pV! R'.4      pV F  pV P                  WC\        V4      R(7       K!  	  R	#   + '       g   i     EK  ; i  + '       g   i     EK  ; i  + '       g   i     EK  ; i  + '       g   i     EL; i  + '       g   i     EK  ; i  + '       g   i     EL0; i  + '       g   i     EK  ; i).rn   baconfishcheesec                   .   <a  ] tR tRt o V3R ltRtV tR# )%PicklingTests.test_reduce.<locals>.C1i  c                   < S# r   r   r  s   &r@   __getnewargs__4PicklingTests.test_reduce.<locals>.C1.__getnewargs__  s    rB   r   Nr   r   r   r   r@  r   r   r   r<   s   @r@   r^  r>    s      rB   r^  r*  c                   &   a  ] tR tRt o R tRtV tR# )%PicklingTests.test_reduce.<locals>.C2i  c                    R # zbad argsr   r   s   &r@   r@  4PicklingTests.test_reduce.<locals>.C2.__getnewargs__      !rB   r   NrB  r   s   @r@   r  rE         " "rB   r  Nc                   0   <a  ] tR tRt o VV3R ltRtV tR# )%PicklingTests.test_reduce.<locals>.C3i  c                   < SS3# r   r   )r;   r<   r=   s   &r@   __getnewargs_ex__7PicklingTests.test_reduce.<locals>.C3.__getnewargs_ex__  s    f~%rB   r   Nr   r   r   r   rN  r   r   )r   r<   r=   s   @r@   rc  rL    s     & &rB   rc  c                   .   <a  ] tR tRt o V3R ltRtV tR# )%PicklingTests.test_reduce.<locals>.C4i  c                   < SR 3# )zbad dictr   r  s   &r@   rN  7PicklingTests.test_reduce.<locals>.C4.__getnewargs_ex__  s    j))rB   r   NrP  rC  s   @r@   rr  rR    s     * *rB   rr  c                   .   <a  ] tR tRt o V3R ltRtV tR# )%PicklingTests.test_reduce.<locals>.C5i  c                   < R S3# )z	bad tupler   )r;   r=   s   &r@   rN  7PicklingTests.test_reduce.<locals>.C5.__getnewargs_ex__  s    #V,,rB   r   NrP  )r   r=   s   @r@   C5rV    s     - -rB   rY  c                   &   a  ] tR tRt o R tRtV tR# )%PicklingTests.test_reduce.<locals>.C6i  c                    R# )Nr   r   r   s   &r@   rN  7PicklingTests.test_reduce.<locals>.C6.__getnewargs_ex__      	rB   r   NrP  r   s   @r@   C6r[    r  rB   r_  c                   &   a  ] tR tRt o R tRtV tR# )%PicklingTests.test_reduce.<locals>.C7i  c                    R # rG  r   r   s   &r@   rN  7PicklingTests.test_reduce.<locals>.C7.__getnewargs_ex__  rI  rB   r   NrP  r   s   @r@   C7ra    rJ  rB   rd  c                   .   <a  ] tR tRt o V3R ltRtV tR# )%PicklingTests.test_reduce.<locals>.C9i  c                   < S/ 3# r   r   r  s   &r@   rN  7PicklingTests.test_reduce.<locals>.C9.__getnewargs_ex__  s    bz!rB   r   NrP  rC  s   @r@   C9rf    r  rB   ri  c                   &   a  ] tR tRt o R tRtV tR# )&PicklingTests.test_reduce.<locals>.C10i  c                    \         hr   r  r   s   &r@   rN  8PicklingTests.test_reduce.<locals>.C10.__getnewargs_ex__        rB   r   NrP  r   s   @r@   C10rk         ! !rB   ro  c                   .   <a  ] tR tRt o V3R ltRtV tR# )&PicklingTests.test_reduce.<locals>.C11i  c                   < S# r   r   r+  s   &r@   rF	  3PicklingTests.test_reduce.<locals>.C11.__getstate__  s    rB   r   Nr   r   r   r   rF	  r   r   r   r  s   @r@   C11rr    s      rB   rw  c                   &   a  ] tR tRt o R tRtV tR# )&PicklingTests.test_reduce.<locals>.C12i
  c                    R # )not dictr   r   s   &r@   rF	  3PicklingTests.test_reduce.<locals>.C12.__getstate__  rI  rB   r   Nru  r   s   @r@   C12ry  
  rJ  rB   r}  r{  c                   &   a  ] tR tRt o R tRtV tR# )&PicklingTests.test_reduce.<locals>.C13i  c                    \         hr   r  r   s   &r@   rF	  3PicklingTests.test_reduce.<locals>.C13.__getstate__  rn  rB   r   Nru  r   s   @r@   C13r    rp  rB   r  c                   @   <a  ] tR tRt o ]!  Z4      tV3R ltRtV tR# )&PicklingTests.test_reduce.<locals>.C14i  c                R   < SP                  4        F  w  r\        WV4       K  	  R # r   r8   r  )r;   r>   r'  r  s   &  r@   r5   /PicklingTests.test_reduce.<locals>.C14.__init__  s    #(;;=KDD. $1rB   r   N)	r   r   r   r   rT  r   r5   r   r   rv  s   @r@   C14r    s     eI/ /rB   r  c                       ] tR tRtRtR# )&PicklingTests.test_reduce.<locals>.C15i,  r   Nrj  r   rB   r@   C15r  ,  rl  rB   r  quebec)r4  c                       ] tR tRtRtR# )&PicklingTests.test_reduce.<locals>.C16i2  r   Nrj  r   rB   r@   C16r  2  rl  rB   r  yukon)r3  )ir   i7iioi)r  pickleHIGHEST_PROTOCOLr7  r8   r  rU  r   r)  r  r  r1  r   r7   )r;   	protocolsr^  r~  r2  r>   r'  r  rc  rr  rY  r_  rd  r   ri  ro  rw  r}  r  r  r  r  r<   r=   r  s   &                     @@@r@   test_reducePicklingTests.test_reduce  s*   &11A56	4.4 	 	 dEu40  !;;=KDCu% )Eu4u= 	" 	" dEz&&y11%%e, 21 
	& 	& dEz""5tV< 	* 	*	- 	-	 		" 	" Er~eA:**Iz+BCC))%0 DC & 	" 	" dEu40 	! 	! eEz&&z22%%e, 32 
	 	 eEu7 	" 	" eEu< 	! 	! eE"":..!!%( /qy&&z22NN$ 32	 	/ 	/ eEz""5dE]"C&&y11%%e, 2&&y11NN$ 21 	$ 	8T"#EuT#Y? 	$ 	7)nEuT#Y? A 2116 DCC  322, /.. 322 211111sT   Q"Q4	/R	RR2SSQ14R	RR/2SSS-c                    \        \        P                  ^,           4      p ! R R4      pV F&  pV^8  d   / MRpV P                  W2! 4       VR7       K(  	  R# )rn   c                   ,   a  ] tR tRt o R tR tRtV tR# )7PicklingTests.test_special_method_lookup.<locals>.Pickyi:  c                    / # r   r   r   s   &r@   rF	  DPicklingTests.test_special_method_lookup.<locals>.Picky.__getstate__;  r^  rB   c                *    VR9   d   \        V4      hR# )r@  N)r@  rN  r  rh  s   &&r@   r%  CPicklingTests.test_special_method_lookup.<locals>.Picky.__getattr__>  s    BB(..rB   r   N)r   r   r   r   rF	  r%  r   r   r   s   @r@   Pickyr  :  s      rB   r  Nr*  )r  r  r  r7  )r;   r  r  protocolr  s   &    r@   r  (PicklingTests.test_special_method_lookup8  sQ    &11A56		 	 "H"a-BTEx> "rB   c           	     L   Vf   RP                  W4      p\        V4      P                  \        P                  J d   \	        R4      hV P                  WVR7       V P                  \        V4      \        V4      VR7       \        VR4      '       dQ   V P                  VP                  VP                  VR7       V P                  VP                  VP                  VR7       \        VR4      '       d   V P                  VP                  VP                  VR7       VP                   FQ  pV P                  \        W4      \        W$4      VR7       V P                  \        WR4      \        W$R4      VR7       KS  	  V P                  \        V4      \        V4      VR7       R# )zKUtility method to verify if two objects are copies of each others.
        Nz{!r} is not a copy of {!r})r  rK   r   zCobject passed to _assert_is_copy must override the __repr__ method.)ra  rI   r   r~  r  rt  r4  r   r.  rK   r-  r   rG   rJ   r   )r;   r~  objcopyr  slots   &&&& r@   _assert_is_copyPicklingTests._assert_is_copyF  sb    ;.55cCC90
  = > >3/d3igC83
##  w/?/?S IS\\7+;+;E3$$  0A0As K  C&(>C ! I  D!9!(!=3 ! H &
 	cDMs;rB   c                   a   ! R R4      o V 3R l\         P                  ! \        \        P                  ^,           4      \        P
                  \        P                  0\        P                  \        P                  04       4       # )zLUtility method to generate the many possible pickle configurations.
        c                   6   a  ] tR tRt o RtR tR tR tRtV t	R# )<PicklingTests._generate_pickle_copiers.<locals>.PickleCopierid  z&This class copies object using pickle.c                *    Wn         W n        W0n        R # r   )r2  dumpsloads)r;   r2  r  r  s   &&&&r@   r5   EPicklingTests._generate_pickle_copiers.<locals>.PickleCopier.__init__f  s    "
"
"
rB   c                V    V P                  V P                  WP                  4      4      # r   )r  r  r2  r  s   &&r@   r   APicklingTests._generate_pickle_copiers.<locals>.PickleCopier.copyj  s    zz$**S**"=>>rB   c                    R P                  V P                  V P                  P                  V P                  P                  V P
                  P                  V P
                  P                  4      # )z0PickleCopier(proto={}, dumps={}.{}, loads={}.{}))ra  r2  r  r   r   r  r   s   &r@   r   EPicklingTests._generate_pickle_copiers.<locals>.PickleCopier.__repr__l  sQ     K

 $

 5 5tzz7N7N $

 5 5tzz7N7NPQrB   )r  r  r2  N)
r   r   r   r   rq  r5   r   r   r   r   r   s   @r@   PickleCopierr  d  s     4#?Q QrB   r  c              3   0   <"   T F  pS! V!  x  K  	  R # 5ir   r   )ro  r<   r  s   & r@   rq  9PicklingTests._generate_pickle_copiers.<locals>.<genexpr>t  s$      ED )-d#Ds   )		itertoolsproductr  r  r  r  _dumpsr  _loads)r  s   @r@   _generate_pickle_copiers&PicklingTests._generate_pickle_copiers`  sb    	Q 	Q E$$U6+B+BQ+F%G&,llFMM%B&,llFMM%BDE 	ErB   c                    ! R  R4      s V P                  \        4      ;_uu_ 4        \        P                  ! \        4       ^ 4       RRR4        ! R R\         4      sV P                  \        4      ;_uu_ 4        \        P                  ! \        4       ^ 4       RRR4        ! R R4      s  ! R R\         4      s ! R R\         4      sV P                  4        F  pV P                  VR	7      ;_uu_ 4        \        4       pVP                  V4      pV P                  W#4       ^*Vn        VP                  V4      pV P                  W#4       \        4       p^*Vn        ^dVn        VP                  V4      pV P                  W#4       \        4       p^*Vn        R
Vn        VP                  V4      pV P                  W#4       RRR4       K  	  R#   + '       g   i     EL; i  + '       g   i     ELR; i  + '       g   i     EK/  ; i)c                       ] tR tRtR.tRtR# )r   i  rD   r   Nr:  r   rB   r@   r   r     r_  rB   r   Nc                       ] tR tRtRtR# )rk  i  r   Nrj  r   rB   r@   rk  rk    rl  rB   rk  c                   <   a  ] tR tRt o RtR.tR tR tR tRt	V t
R# )	r   i  z7A class with __getstate__ and __setstate__ implemented.rD   c                    \        V R / 4      P                  4       p\        V 4      P                   F4  pVP                  P                  RR4       F  p \        W4      W&   K  	  K6  	  V#   \         d     K)  i ; i)rK   r   r   )rJ   r   rI   r  rK   r   r0  )r;   r  r   r  s   &   r@   rF	  C.__getstate__  su    j"5::<:--C # 0 0b A!*1$*=EK !B .   . ! !s   A++A:9A:c                P    VP                  4        F  w  r#\        WV4       K  	  R # r   r  )r;   r  r   r   s   &&  r@   rJ	  C.__setstate__  s    !KKMDADQ' *rB   c                X    \        V 4      P                  : R V P                  4       : R2# )z()<r)   )rI   r   rF	  r   s   &r@   r   
C.__repr__  s     %)$Z%8%8$:K:K:MNNrB   r   N)r   r   r   r   rq  r   rF	  rJ	  r   r   r   r   s   @r@   r   r     s%     EI(O OrB   c                       ] tR tRtRtRtR# )rk  i  z!A subclass of a class with slots.r   NrJ  r   rB   r@   rk  rk    s    /rB   c                        ] tR tRtRtR.tRtR# )r  i  zA subclass with an extra slot.rW   r   N)r   r   r   r   rq  r   r   r   rB   r@   r  r    s    ,IrB   r  )pickle_copierr   )r   rU  r   r  r  rk  r  r  rl  r   r  rD   rW   )r;   r  r  ry  s   &   r@   test_pickle_slotsPicklingTests.test_pickle_slotsy  s   	 	y))LLa  *	 	y))LLa  *	O 	O$	 	
	 	
 "::<MM::C!&&q)$$Q*!&&q)$$Q*C!&&q)$$Q*C!&&q)$$Q*' ;: =K *)) *))@ ;::s$    G< G%9C
G9G"	%G6	9Hc                `    ! R  R4      s  ! R R\        4      s ! R R\        4      s ! R R\        4      s ! R R	\        4      s\         \        \        \
        \        3pV P                  4       p\        P                  ! W4       F  w  r4V P                  W4R
7      ;_uu_ 4        \        VR/ 4      pV! VP                  / VB pVP                  pVP                  V4      pV P                  Wh4       V^8  dO   VP                   '       g=   VP"                  P%                  4        VP                  V4      p	V P                  Wi4       RRR4       K  	  V F  pV P                  VR7      ;_uu_ 4        \        VR/ 4      pV! VP                  / VB p\'        V4      pV P                  Wh4       VP                   '       g7   VP"                  P%                  4        \'        V4      p	V P                  Wi4       RRR4       K  	  R#   + '       g   i     EK  ; i  + '       g   i     K  ; i)c                   D   a a ] tR tRt oRtRtRtV 3R ltR tRt	Vt
V ;t# )r^  i  z:The state of this class is copyable via its instance dict.Tc                <   < \         SV `  4        Wn        W n        R # r   )r  r5   rD   rW   )r;   rD   rW   r5  s   &&&r@   r5   C1.__init__  s     "rB   c                @    R V P                   : RV P                  : R2# )zC1(rl  r  r  r   s   &r@   r   C1.__repr__  s    '+vvtvv66rB   r  r	  )r   r   r   r   rq  ARGSNEED_DICT_COPYINGr5   r   r   r   r  r  s   @@r@   r^  r^    s"     HD $7 7rB   r^  c                   `   a a ] tR tRt oRtR	tRtV 3R ltV 3R lt]	R 4       t
R tRtVtV ;t# )
r  i  z,A list subclass copyable via __getnewargs__.Fc                >   < \         SV `  V 4      pWn        W#n        V# r   r  r   rD   rW   )r   rD   rW   r;   r5  s   &&& r@   r   
C2.__new__  s     ws+rB   c                F   < \         SV `  4        V P                  R 4       R# r<  N)r  r5   r   )r;   r<   r5  s   &*r@   r5   C2.__init__  s     " H%rB   c                    V P                   # r   r  rd  s   &r@   r@  C2.__getnewargs__      xxrB   c                Z    R V P                   : RV P                  : R\        V 4      : R2# )zC2(rl  )<r)   rD   rW   r7   r   s   &r@   r   C2.__repr__      +/664664:FFrB   r  r	  )r   r   r   r   rq  r  r  r   r5   r  r@  r   r   r   r  r  s   @@r@   r  r    s=     :D %
&
    G GrB   r  c                   N   a  ] tR tRt o RtR
tRtR t]R 4       t	R t
R tRtV tR	# )rc  i  z*A list subclass copyable via __getstate__.Fc                @    Wn         W n        V P                  R 4       R# r  )rD   rW   r   r
  s   &&&r@   r5   C3.__init__  s     H%rB   c                    V P                   # r   r  rd  s   &r@   rF	  C3.__getstate__  r  rB   c                &    Vw  r#W n         W0n        R # r   r  )r;   r  rD   rW   s   &&  r@   rJ	  C3.__setstate__  s    rB   c                Z    R V P                   : RV P                  : R\        V 4      : R2# )zC3(rl  r  r)   r  r   s   &r@   r   C3.__repr__  r  rB   r  Nr	  )r   r   r   r   rq  r  r  r5   r  rF	  rJ	  r   r   r   r   s   @r@   rc  rc    s=     8D %&    G GrB   rc  c                   T   a a ] tR tRt oRtRtRtV 3R lt]R 4       t	R t
RtVtV ;t# )	rr  i  z,An int subclass copyable via __getnewargs__.Fc                >   < \         SV `  W4      pWn        W$n        V# r   r  r   rD   rW   r'  r;   r5  s   &&&& r@   r   
C4.__new__       ws2rB   c                    V P                   # r   r  rd  s   &r@   r@  C4.__getnewargs__   r  rB   c                Z    R V P                   : RV P                  : R\        V 4      : R2# )zC4(rl  r  r)   rD   rW   r1   r   s   &r@   r   C4.__repr__      +/664663t9EErB   r  )r  r  rn   )r   r   r   r   rq  r  r  r   r  r@  r   r   r   r  r  s   @@r@   rr  rr    s8     :(D %
    F FrB   rr  c                   d   a a ] tR tRt oRtR	tR^/tRtR^ /V 3R llt]	R 4       t
R tRtVtV ;t# )
rY  i  z/An int subclass copyable via __getnewargs_ex__.r'  Fc               >   < \         SV `  W4      pWn        W$n        V# r   r  r  s   &&&$ r@   r   
C5.__new__  r  rB   c                2    V P                   V P                  3# r   )r  KWARGSrd  s   &r@   rN  C5.__getnewargs_ex__  s    #**--rB   c                Z    R V P                   : RV P                  : R\        V 4      : R2# )zC5(rl  r  r)   r  r   s   &r@   r   C5.__repr__  r  rB   r  r	  )r   r   r   r   rq  r  r  r  r   r  rN  r   r   r   r  r  s   @@r@   rY  rY    sH     =Dq\F %A 
 . .F FrB   rY  )r   r  r  Nrd  )r^  r7   r  rc  r1   rr  rY  r  r  r  rl  rJ   r  r2  r   r  r  rK   rT  r   )
r;   test_classespickle_copiersr   r  r=   r~  r2  r  objcopy2s
   &         r@   test_reduce_copying!PicklingTests.test_reduce_copying  s   		7 		7	G 	G*	G 	G*	F 	F 	F 	F  BB+668"+"3"3L"QC#CC h3388.v.%++',,S1$$S2
 A:c&;&;&;$$**,,11':H((7 DC #R"  C#&& h3388.v."3-$$S2
 ,,,$$**,'0H((7 '&  ! DCC" '&&s    'A&H<H5BHHH-c                   aa  ! R  R\         4      o ! VV3R lR4      o^ RIpVP                  S3RR^*/3RR3pV P                  S! 4       P	                  ^4      V4       R# )c                       ] tR tRtRtR# )(PicklingTests.test_issue24097.<locals>.Si<  r   Nrj  r   rB   r@   r  r  <  rl  rB   r  c                   D   <a  ] tR tRt o  Z! R4      .tVV3R ltRtV tR# )(PicklingTests.test_issue24097.<locals>.Ai>  r   c                N   < VR 8X  d   S! R 4      .SP                   R&   ^*# \        h)r   r  )__slotnames__r0  )r;   r  r  r  s   &&r@   r%  4PicklingTests.test_issue24097.<locals>.A.__getattr__@  s'    6>*+F)AOOA&((rB   r   N)r   r   r   r   r  r%  r   r   )r   r  r  s   @r@   r  r  >  s     vYKM) )rB   r  Nr   )r|  r*  r,  rG   r)  )r;   r*  r  r  r  s   &  @@r@   test_issue24097PicklingTests.test_issue24097:  s\    	 		) 	) 	&&tfb\.BD$O**1-x8rB   c                T   \        4       P                  4        V P                  \        4      ;_uu_ 4        \        4       P                  ^ 4       RRR4       \        4       P	                  ^ 4       V P                  \        4      ;_uu_ 4        \        4       P	                  4        RRR4       V P                  \        4      ;_uu_ 4        \        4       P	                  R4       RRR4       R#   + '       g   i     L; i  + '       g   i     Ld; i  + '       g   i     R# ; ir   )r~  r1  rU  r   r)  r   s   &r@   test_object_reduce PicklingTests.test_object_reduceK  s     	y))H" * 	q!y))H""$ *y))H""4( *) *) *))))s#   C0DD0D 	D	D'	r   r   )r   r   r   r   r7  r  r  r  r  r  r   r  r  r  r	  r  r   r   r   s   @r@   r'  r'    s     -/$ $=<y@v?<4 E E0 A+ A+F z8 z8x9") )rB   r'  c                   D   a  ] tR tRt o ]P
                  R 4       tRtV tR# )SharedKeyTestsiY  c                r    ! R  R4      p ! R RV4      p\        ^4       Uu. uF  q1! 4       V! 4       3NK  	   pV! 4       V! 4       rTV P                  \        P                  ! \	        V4      4      \        P                  ! \	        V4      4      4       V P                  \        P                  ! \	        V4      4      \        P                  ! R^/4      4       \        ^4      w  Vn        Vn        Vn        Vn	        Vn
        Vn        V P                  \        P                  ! \	        V4      4      \        P                  ! \	        V4      4      4       V! 4       pV P                  \        P                  ! \	        V4      4      \        P                  ! \	        V4      4      4       V P                  \        P                  ! \	        V4      4      \        P                  ! R^/4      4       V P                  \        P                  ! \	        V4      4      \        P                  ! R^/4      4       R# u upi )c                       ] tR tRtRtR# ))SharedKeyTests.test_subclasses.<locals>.Ai^  r   Nrj  r   rB   r@   r  r  ^  rl  rB   r  c                       ] tR tRtRtR# ))SharedKeyTests.test_subclasses.<locals>.Bi`  r   Nrj  r   rB   r@   r  r  `  rl  rB   r  rD   N)r  rG   r  r  vars
assertLessr  ry  r  wr   r  r/  assertGreater)r;   r  r  r  rD   rW   r7  s   &      r@   test_subclassesSharedKeyTests.test_subclasses[  si   	 		 	 #2Y'Y!#qsY'sAC1tAw/tAw1GHd1g.s1g0FG (-Qx$QS!#qsACCMM$q'2CMM$q'4JKS3==a13==b3JKd2h/Aw1GHd1g.s1g0FG 	(s   H4r   N)	r   r   r   r   r   r  r  r   r   r   s   @r@   r  r  Y  s     H HrB   r  c                   0   a  ] tR tRt o RtR tR tRtV tR# )DebugHelperMetais  z4
Sets default __doc__ and simplifies repr() output.
c                \    VP                  R 4      f   WR &   \        P                  WW#4      # )rq  )r   rI   r   )r  r>   rr  rt  s   &&&&r@   r   DebugHelperMeta.__new__w  s*    99Y'#)||D55rB   c                ,    \        V P                  4      # r   )r   r   rd  s   &r@   r   DebugHelperMeta.__repr__{  s    CLL!!rB   r   N)	r   r   r   r   rq  r   r   r   r   r   s   @r@   r  r  s  s     6" "rB   r  c                   f   a  ] tR tRt o RtR tR tR tR tR t	R t
R	 tR
 tR tR tR tRtV tR# )MroTesti  z
Regressions for some bugs revealed through
mcsl.mro() customization (typeobject.c: mro_internal()) and
cls.__bases__ assignment (typeobject.c: type_set_bases()).
c                "    ^ V n         RV n        R# )r   FN)stepreadyr   s   &r@   r  MroTest.setUp  s    	
rB   c                f    V P                   V8  pV'       d   V ;P                   ^,          un         V# r   )r$  )r;   limitrets   && r@   
step_untilMroTest.step_until  s%    yy5 IINI
rB   c                D   a   ! V 3R lR\         4      p ! R RVR7      pR# )z=
type_set_bases must be aware that type->tp_mro can be NULL.
c                   .   <a  ] tR tRt o V3R ltRtV tR# )4MroTest.test_incomplete_set_bases_on_self.<locals>.Mi  c                   < SP                  ^4      '       d*   V P                  e   Q hV ;P                  R,          un        \        P	                  V 4      # )rn   r   )r*  r  rL   rI   r2  r  s   &r@   r2  8MroTest.test_incomplete_set_bases_on_self.<locals>.M.mro  s>    ??1%%;;...MMR'Mxx}$rB   r   Nr6  r2  s   @r@   r  r.    s     % %rB   r  c                       ] tR tRtRtR# )4MroTest.test_incomplete_set_bases_on_self.<locals>.Ai  r   Nrj  r   rB   r@   r  r2    rl  rB   r  r_  Nr  r;   r  r  s   f  r@   !test_incomplete_set_bases_on_self)MroTest.test_incomplete_set_bases_on_self  s    	% 	%	! 	rB   c                   a a  ! VV 3R lR\         4      p ! R RVR7      o ! R RS4      pV;P                  R	,          un        R# )
z/
Deep reentrancy must not over-decref old_mro.
c                   0   <a  ] tR tRt o VV3R ltRtV tR# )/MroTest.test_reent_set_bases_on_base.<locals>.Mi  c                   < V P                   eB   V P                  R8X  d1   SP                  ^
4      '       d   S;P                  R,          un        \        P                  V 4      # )Nr  r   )r  r   r*  rL   rI   r2  )r   r  r;   s   &r@   r2  3MroTest.test_reent_set_bases_on_base.<locals>.M.mro  sC    ;;*s||s/Br**r)xx}$rB   r   Nr6  )r   r  r;   s   @r@   r  r9    s     % %rB   r  c                       ] tR tRtRtR# )/MroTest.test_reent_set_bases_on_base.<locals>.Ai  r   Nrj  r   rB   r@   r  r=    rl  rB   r  r_  c                       ] tR tRtRtR# )/MroTest.test_reent_set_bases_on_base.<locals>.Bi  r   Nrj  r   rB   r@   r  r?    rl  rB   r  Nr   )r  rL   )r;   r  r  r  s   f  @r@   test_reent_set_bases_on_base$MroTest.test_reent_set_bases_on_base  s:    	% 	% 	%	! 		 		rrB   c                p   a   ! V 3R lR\         4      p ! R RVR7      p ! R RV4      p ! R R	V4      pR
# )zE
Similar to test_reent_set_bases_on_base, but may crash differently.
c                   .   <a  ] tR tRt o V3R ltRtV tR# )6MroTest.test_reent_set_bases_on_direct_base.<locals>.Mi  c                   < V P                   ^ ,          pV\        Jd1   SP                  ^4      '       d   V;P                   R,          un         \        P	                  V 4      # )r   r   )rL   r~  r*  rI   r2  )r   r  r;   s   & r@   r2  :MroTest.test_reent_set_bases_on_direct_base.<locals>.M.mro  sD    }}Q'v%q))",xx}$rB   r   Nr6  r2  s   @r@   r  rD         % %rB   r  c                       ] tR tRtRtR# )6MroTest.test_reent_set_bases_on_direct_base.<locals>.Ai  r   Nrj  r   rB   r@   r  rI    rl  rB   r  r_  c                       ] tR tRtRtR# )6MroTest.test_reent_set_bases_on_direct_base.<locals>.Bi  r   Nrj  r   rB   r@   r  rK    rl  rB   r  c                       ] tR tRtRtR# )6MroTest.test_reent_set_bases_on_direct_base.<locals>.Ci  r   Nrj  r   rB   r@   r   rM    rl  rB   r   Nr3  )r;   r  r  r  r   s   f    r@   #test_reent_set_bases_on_direct_base+MroTest.test_reent_set_bases_on_direct_base  s3    	% 	%	! 		 		 	rB   c                ,  a aa  ! VVV 3R lR\         4      p ! R RVR7      p ! R RV4      o ! R R	V4      oR
S n        S P                  \        4      ;_uu_ 4        S;P                  R,          un        RRR4       R#   + '       g   i     R# ; i)a  
type_set_bases must check for an inheritance cycle not only through
MRO of the type, which may be not yet updated in case of reentrance,
but also through tp_base chain, which is assigned before diving into
inner calls to mro().

Otherwise, the following snippet can loop forever:
    do {
        // ...
        type = type->tp_base;
    } while (type != NULL);

Functions that rely on tp_base (like solid_base and PyType_IsSubtype)
would not be happy in that case, causing a stack overflow.
c                   2   <a  ] tR tRt o VVV3R ltRtV tR# )5MroTest.test_reent_set_bases_tp_base_cycle.<locals>.Mi  c                   < SP                   '       d3   V P                  R 8X  d	   S3Sn        V P                  R8X  d	   S3Sn        \        P	                  V 4      # )B1B2r%  r   rL   rI   r2  )r   rT  rU  r;   s   &r@   r2  9MroTest.test_reent_set_bases_tp_base_cycle.<locals>.M.mro  sD    :::||t+(*u||t+(*uxx}$rB   r   Nr6  )r   rT  rU  r;   s   @r@   r  rR    s     % %rB   r  c                       ] tR tRtRtR# )5MroTest.test_reent_set_bases_tp_base_cycle.<locals>.Ai  r   Nrj  r   rB   r@   r  rY    rl  rB   r  r_  c                       ] tR tRtRtR# )6MroTest.test_reent_set_bases_tp_base_cycle.<locals>.B1i  r   Nrj  r   rB   r@   rT  r[    rl  rB   rT  c                       ] tR tRtRtR# )6MroTest.test_reent_set_bases_tp_base_cycle.<locals>.B2i  r   Nrj  r   rB   r@   rU  r]    rl  rB   rU  TNr   )r  r%  rU  r   rL   )r;   r  r  rT  rU  s   f  @@r@   "test_reent_set_bases_tp_base_cycle*MroTest.test_reent_set_bases_tp_base_cycle  so     	% 	% 	%	! 		 		 	 
y))LLBL *)))s   BB	c                  a aa  ! VVV 3R lR\         4      p ! R RVR7      p ! R RV4      p ! R R	V4      o ! R
 RV4      oRS n        V3Sn        S3Vn        S P                  SP                  S34       S P                  SP	                  4       S.4       S P                  VP	                  4       . 4       S P                  VP                  S34       S P                  SP	                  4       V.4       R# )aL  
type_set_bases must check for reentrancy upon finishing its job
by updating tp_subclasses of old/new bases of the type.
Otherwise, an implicit inheritance cycle through tp_subclasses
can break functions that recurse on elements of that field
(like recurse_down_subclasses and mro_hierarchy) eventually
leading to a stack overflow.
c                   2   <a  ] tR tRt o VVV3R ltRtV tR# );MroTest.test_tp_subclasses_cycle_in_update_slots.<locals>.Mi  c                   < SP                   '       d!   V P                  R 8X  d   RSn         S3Sn        \        P	                  V 4      # r   FrV  )r   rU  r   r;   s   &r@   r2  ?MroTest.test_tp_subclasses_cycle_in_update_slots.<locals>.M.mro  s5    :::#,,#"5!&DJ#%%AKxx}$rB   r%  Nr6  )r   rU  r   r;   s   @r@   r  rb    s     % %rB   r  c                       ] tR tRtRtR# );MroTest.test_tp_subclasses_cycle_in_update_slots.<locals>.Ai  r   Nrj  r   rB   r@   r  rh    rl  rB   r  r_  c                       ] tR tRtRtR# )<MroTest.test_tp_subclasses_cycle_in_update_slots.<locals>.B1i  r   Nrj  r   rB   r@   rT  rj    rl  rB   rT  c                       ] tR tRtRtR# )<MroTest.test_tp_subclasses_cycle_in_update_slots.<locals>.B2i  r   Nrj  r   rB   r@   rU  rl    rl  rB   rU  c                       ] tR tRtRtR# );MroTest.test_tp_subclasses_cycle_in_update_slots.<locals>.Ci   r   Nrj  r   rB   r@   r   rn     rl  rB   r   TN)r  r%  rL   rG   r}  )r;   r  r  rT  rU  r   s   f   @@r@   (test_tp_subclasses_cycle_in_update_slots0MroTest.test_tp_subclasses_cycle_in_update_slots  s    	% 	% 	%	! 		 		 		 	 
etre,**,qc2**,b1t,))+bT2rB   c                  a aaa  ! R R\         4      o ! VVVV 3R lR\        4      p ! R RVR7      p ! R R	V4      p ! R
 RV4      o ! R RV4      oRS n        S P                  S4      ;_uu_ 4        V3Sn        RRR4       S3Vn        S P                  SP                  S34       S P                  SP                  \        \        P                  S4      4      4       R#   + '       g   i     Lo; i)zl
The same as test_tp_subclasses_cycle_in_update_slots, but tests
a code path executed on error (goto bail).
c                       ] tR tRtRtR# )=MroTest.test_tp_subclasses_cycle_error_return_path.<locals>.Ei  r   Nrj  r   rB   r@   r  rs    rl  rB   r  c                   4   <a  ] tR tRt o VVVV3R ltRtV tR# )=MroTest.test_tp_subclasses_cycle_error_return_path.<locals>.Mi  c                   < SP                   '       d6   V P                  R 8X  d%   SP                  S38X  d	   RSn         M
S3Sn        Sh\        P	                  V 4      # rd  rV  )r   rU  r   r  r;   s   &r@   r2  AMroTest.test_tp_subclasses_cycle_error_return_path.<locals>.M.mro  sH    :::#,,#"5{{re+%*
')exx}$rB   rf  Nr6  )r   rU  r   r  r;   s   @r@   r  ru    s     % %rB   r  c                       ] tR tRtRtR# )=MroTest.test_tp_subclasses_cycle_error_return_path.<locals>.Ai  r   Nrj  r   rB   r@   r  ry    rl  rB   r  r_  c                       ] tR tRtRtR# )>MroTest.test_tp_subclasses_cycle_error_return_path.<locals>.B1i!  r   Nrj  r   rB   r@   rT  r{  !  rl  rB   rT  c                       ] tR tRtRtR# )>MroTest.test_tp_subclasses_cycle_error_return_path.<locals>.B2i#  r   Nrj  r   rB   r@   rU  r}  #  rl  rB   rU  c                       ] tR tRtRtR# )=MroTest.test_tp_subclasses_cycle_error_return_path.<locals>.Ci%  r   Nrj  r   rB   r@   r   r  %  rl  rB   r   TN)
r  r  r%  rU  rL   rG   r  rT  rI   r2  )r;   r  r  rT  rU  r   r  s   f   @@@r@   *test_tp_subclasses_cycle_error_return_path2MroTest.test_tp_subclasses_cycle_error_return_path  s    
		 		% 	% 	%	! 		 		 		 	 
q!!%AK "tre,E$((1+$67 "!s   6	C&&C6	c                D   a   ! V 3R lR\         4      p ! R RVR7      pR# )z
Extending an uninitialized type with type->tp_mro == NULL must
throw a reasonable TypeError exception, instead of failing
with PyErr_BadInternalCall.
c                   .   <a  ] tR tRt o V3R ltRtV tR# ))MroTest.test_incomplete_extend.<locals>.Mi6  c                   < V P                   fC   V P                  R8w  d2   SP                  \        4      ;_uu_ 4         ! R RV 4      pR R R 4       \        P                  V 4      #   + '       g   i     L%; i)Nr&  c                       ] tR tRtRtR# )8MroTest.test_incomplete_extend.<locals>.M.mro.<locals>.Xi:  r   Nrj  r   rB   r@   r&  r  :  s     rB   )r  r   rU  r   rI   r2  )r   r&  r;   s   & r@   r2  -MroTest.test_incomplete_extend.<locals>.M.mro7  sS    ;;&3<<3+>**955! ! 6 xx}$	 65s   A''A7	r   Nr6  r2  s   @r@   r  r  6  rG  rB   r  c                       ] tR tRtRtR# ))MroTest.test_incomplete_extend.<locals>.Ai?  r   Nrj  r   rB   r@   r  r  ?  rl  rB   r  r_  Nr3  r4  s   f  r@   test_incomplete_extendMroTest.test_incomplete_extend0  s    	% 	%	! 	rB   c                D   a   ! V 3R lR\         4      p ! R RVR7      pR# )zt
Attribute lookup on a super object must be aware that
its target type can be uninitialized (type->tp_mro == NULL).
c                   6   <a a ] tR tRt oV V3R ltRtVtV ;t# )(MroTest.test_incomplete_super.<locals>.MiG  c                   < V P                   f0   SP                  \        4      ;_uu_ 4        \        W `   R R R 4       \
        P                  V 4      #   + '       g   i     L%; ir   )r  rU  r0  r  xxxrI   r2  )r   r5  r;   s   &r@   r2  ,MroTest.test_incomplete_super.<locals>.M.mroH  sD    ;;&**>::c+ ; xx}$ ;:s   
AA$	r   )r   r   r   r   r2  r   r   r  r  s   @@r@   r  r  G  s     % %rB   r  c                       ] tR tRtRtR# )(MroTest.test_incomplete_super.<locals>.AiO  r   Nrj  r   rB   r@   r  r  O  rl  rB   r  r_  Nr3  r4  s   f  r@   test_incomplete_superMroTest.test_incomplete_superB  s    
	% 	%	! 	rB   c                   aa  ! R R4      o ! VV3R lR\         4      oV P                  \        4      ;_uu_ 4         ! R RSR7      pRRR4       R#   + '       g   i     R# ; i)	zr
gh-92112: A custom mro() returning a result conflicting with
__bases__ and deleting itself caused a double free.
c                       ] tR tRtRtR# )/MroTest.test_disappearing_custom_mro.<locals>.BiW  r   Nrj  r   rB   r@   r  r  W  rl  rB   r  c                   0   <a  ] tR tRt o VV3R ltRtV tR# )/MroTest.test_disappearing_custom_mro.<locals>.MiZ  c                   < S= S3# r   )r2  )r   r  r  s   &r@   r2  3MroTest.test_disappearing_custom_mro.<locals>.M.mro[  s    EtrB   r   Nr6  )r   r  r  s   @r@   r  r  Z  s      rB   r  c                       ] tR tRtRtR# )/MroTest.test_disappearing_custom_mro.<locals>.Ai`  r   Nrj  r   rB   r@   r  r  `  rH  rB   r  r_  N)r  rU  r   )r;   r  r  r  s   & @@r@   test_disappearing_custom_mro$MroTest.test_disappearing_custom_mroR  sL    
	 		 	 	
 y))a  *)))s   AA%	)r%  r$  N)r   r   r   r   rq  r  r*  r5  r@  rN  r^  ro  r  r  r  r  r   r   r   s   @r@   r"  r"    sI     &("H"3H 8D$  rB   r"  __main__)&r	  r*  r  r  r  r  rp  rr  r  r   rz  r3   r  rO  r   r   
contextlibr   r  r   test.support.script_helperr   r  r  r   r4   r   r  r  r  r  r'  r  rI   r  r"  r   mainr   rB   r@   <module>r     sA     	      
       &  7
uDH%% uDp{I 1 1 {I|S=8X&& =8@H-- 2+3!! +3\y)H%% y)xHX&& H4	"d 	"bh bJ zMMO [z  I
  Is$   D* D9 *	D65D69	EE