+
    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H	t	 ]	P                  ! R4      t]	P                  ! R4      t^ RIHt ^ RIHt ^ RIHt ] P&                  R 4       t]P-                  4        U Uu. uF  w  r]! V]4      '       g   K  VNK  	  upp t] Uu. uF  p]! V]4      '       g   K  VNK  	  upt]! ]4      P-                  4        UUu. uF!  w  r1]! V]4      '       g   K  VRH9  g   K  VNK#  	  uppt. ]O]Ot ] hu upp i u upi u uppi   ]  d   t!]!t" Rt!A!MRt!A!ii ; i]#R	 ]$R
 ]%R ]&R ]'R ](R /t). R ])P-                  4        4       OR ] 4       Ot*]PV                  ! 4       PX                  t-. P\                  t/]0Pb                  t2]3! 4       Ph                  t5]3Pl                  t7]-]Pp                  ]/]Pr                  ]:Pv                  R,          ]Px                  ]Pz                  P|                  ]P~                  ]Pz                  P                  ]P                  ]2]P                  ]5]P                  ]7]P                  ]E! ]PV                  PX                  4      R]F! ]PV                  PX                  4      R]G! ]PV                  PX                  4      R/tH]I]P                  ]P                  ]P                  .tM]	P                  ! RR4      ;_uu_ 4        ^ RIOtPRRR4       M  + '       g   i     M; i]]]]P.tQ]3! 4       tR] ! 4       tSR tT]RRRR]U]V.R ]W! RIR4       4       ORNRNRN]P                  ^,           N]P                  N]P                  ) ^,
          N]P                  ) ^,
          N]W! RIR4      O^R,          NRNRNRJNRNRKNtY^ R]S3tZ^ R]R3t[^ R]S33t\^ R]R33t]]^! R 4      t_]^! RL4      t`]P                  ! / 4      tbRMRNRORP]Z][RQRRRS]\]]]_]`. . RTO^.RU^^/./ ^^^^^^	/^^.^RU^^^//]c! 4       0 RVm]d! ^04      RU0]d! . 4      ]d! ]d! ^04      RU04      ]e! R 4      ]b]P                  ! 4       .tg/ th]i! R!]h]h4       ]P                  ! 4       ]hR",          ]hR#,          .tkAh]P                  P-                  4        UUu. uF  w  rET! T!  NK  	  Mu uppi upptm]P                  P-                  4        UUu. uF  w  rET! T!  NK  	  Mu uppi uppto. ]mO]oOtp]P                  ! R$4      .tr]Z][]\]].ts]U]V]R]P                  ^,           ]P                  ) ^,
          ^R,          .tt]! 4       ;_uu_ 4        ]Y Uu. uF  pT]t9  g   K  TNK  	  Mu upi uptu. R% ]g 4       OR& ]g 4       Otv]g Uu. uF  pT]v9  g   K  TNK  	  Mu upi uptwRRR4       M  + '       g   i     M; i. ]uO]vOtx. ]tO]wO]O]HO]*O]MO]QO]kOR' ]P                   4       OR( ]P                   4       O]P                  O]PV                  PX                  N]TN]P                  O]P                  O]P                  O]pO]rOt}. ]YOR) ]g 4       O]O]*O]MO]P                  O]PV                  PX                  N]P                  O]P                  O]mO]rO]P                  N]EP                   N]EP                  N]EP                  N]EP                  N]P                  N]-N]/N]2N]5N]7Nt]t]! ]EP                  4      ;_uu_ 4       t]EP                  4       tRRR4       M  + '       g   i     M; i]! ]EP                  4      ;_uu_ 4       t]EP                  4       t]EP                  R*R+4      tRRR4       M  + '       g   i     M; iR,]EP                   R-] R.]EP                   R-] R/2	tAAARWR0 lt] P&                  R1 4       t] P&                  R2 4       t] P&                  R3R/R4 l4       t ! R5 R6]EP$                  4      t ! R7 R8]4      t ! R9 R:]4      t ! R; R<]4      t ! R= R>]4      t ! R? R@]4      t ! RA RB]4      t ! RC RD]4      t ! RE RF]4      t]RG8X  d   ]EP:                  ! 4        R# R# )X    N)import_helper_testinternalcapi_interpreters)NotShareableError)_code_definitions)_crossinterp_definitionsc               #      "   \         P                  ! 4       ;_uu_ 4        \         P                  ! R \        R7       Rx  RRR4       R#   + '       g   i     R# ; i5i)ignore)categoryN)warningscatch_warningsfilterwarningsBytesWarning     ,/usr/lib/python3.14/test/test_crossinterp.pyignore_byteswarningr      s5     		 	 	"	"<@ 
#	"	"	"s   A!A
AA		Ac                     V \         .3# NCAUGHTmsgs   &r   <lambda>r   /   s
    cF8_r   c                     V \         .3# r   r   r   s   &r   r   r   0   s
    #xr   c                     R V R R R 3# r   r   r   s   &r   r   r   1   s    c4t<r   c                     R R^^V 3# )utf-8 r   r   s   &r   r   r   2   s    gr1a%=r   c                     R R^^V 3# )r   r   r   r   s   &r   r   r   3   s    gsAq#%>r   c                     R ^^V 3# )r   r   r   s   &r   r   r   4   s    Q3r   c              #   >   "   T F  w  rV! V! R 4      !  x  K  	  R# 5ierror!Nr   ).0clssigs   &  r   	<genexpr>r(   7   s     N*Mhcc3x=*Ms   c              #   L   "   T F  pV\         9  g   K  V! R 4      x  K  	  R# 5ir#   )EXCEPTIONS_WITH_SPECIAL_SIG)r%   r&   s   & r   r(   r(   8   s&      1	/	/ c(mms   $$fromkeysemptymodr   c                      R # r   r   r   r   r   r   r   b   s    $r   TFc              #   J   "   T F  pVP                  ^RRR7      x  K  	  R# 5i   littleT)signedNto_bytesr%   is   & r   r(   r(   l   s)      ! jjHTj**   !#  hello world   你好世界          皙?      ?ȑݚ?r   zt
try:
    raise Exception
except Exception as exc:
    TRACEBACK = exc.__traceback__
    FRAME = TRACEBACK.tb_frame
FRAME	TRACEBACKr$   c              #   P   "   T F  p\        V4      \        J g   K  Vx  K  	  R # 5ir   )type
memoryviewr%   os   & r   r(   r(      s     	A'47j+@!!'s   &
&c              #   j   "   T F)  p\        V4      \        J g   K  V\        9  g   K%  Vx  K+  	  R # 5ir   )rC   tupleTUPLES_WITHOUT_EQUALITYrE   s   & r   r(   r(      s4      
D'!W "#+B"B !'s   33
3c              #   8   "   T F  qP                   x  K  	  R # 5ir   __code__r%   fs   & r   r(   r(      s     ).Qjj.   c              #   8   "   T F  qP                   x  K  	  R # 5ir   rK   rM   s   & r   r(   r(      s     -,Qjj,rO   c              #   z   "   T F1  q\         \        \        39  g   \        V4      \        J g   K-  Vx  K3  	  R # 5ir   )MEMORYVIEW_EMPTYMEMORYVIEW_NOT_EMPTYMAPPING_PROXY_EMPTYrC   dictrE   s   & r   r(   r(     s9      #A1 ( 
aD	 a#s   *;
;zfrom z# from z0
#######################################
# from z

z1

#######################################
# from 
c                    V f   \         P                  pM'\        V \        4      '       d   T pR p MV P                  p\        P
                  ! V4      p\         P                  Vn        \        \        VP                  4       V eI   VP                  P                  4        F*  w  r4VP                  R4      '       d   K  \        WV4       K,  	  V# )N_)DEFS__name__
isinstancestrr   create_module__file__exec	DEFS_TEXT__dict__items
startswithsetattr)modulemodnamedefsnamevalues   &    r   	load_defsrj   <  s     ~--	FC	 	 //&&w/DMMDMDMM"==..0KDs##F%(	 1
 Kr   c               #   b  "   R p V \         P                  9  dA   \        P                  ! 4       ;_uu_ 4        \        P                  ! V 4      x  RRR4       R# \        P
                  ! V 4      ;_uu_ 4       pVx  RRR4       R#   + '       g   i     R# ; i  + '       g   i     R# ; i5i__main__N)sysmodulesr   isolated_modules
add_modulemodule_restored)rf   mods     r   using___main__rt   \  sy      Gckk!++--**733 .- **733sI 43 .-- 433s4   5B/B(B/8B=
B/B		B/B,	&	B/c              #      "   \         P                  ! 4       ;_uu_ 4        \         P                  ! V 4      x  R R R 4       R #   + '       g   i     R # ; i5ir   )r   rp   rq   )rf   s   &r   temp_modulerv   h  s5      
	'	'	)	)&&w// 
*	)	)	)s   AA
AA		Aprepc             #   &  "   V'       d3   \         P                  ! V \        4      ;_uu_ 4        V x  R R R 4       R # \         P                  ! 4       ;_uu_ 4        V x  R R R 4       R #   + '       g   i     R # ; i  + '       g   i     R # ; i5ir   )r   ready_to_importr`   rp   )rf   rw   s   &$r   missing_defs_modulerz   p  s_      **7I>>M ?> ++--M .- ?>> .--s3   ,BA)'BA=
B)A:	4	B=B		Bc                      a  ] tR tRt o RtR tR tR tR tRR/R lt	RR/R	 lt
R
 tRR/R ltRRRR/R ltRRRR/R ltRRRR/R ltRRR/R lltR tRtV tR# )_GetXIDataTestsi{  Nc                6   V P                  VP                  VP                  4       V P                  VP                  VP                  4       V P                  VP                  VP                  4       V P                  VP                  VP                  4       R # r   )assertEqualrZ   rL   __defaults____kwdefaults__)selffunc1func2s   &&&r   assert_functions_equal&_GetXIDataTests.assert_functions_equal  sl     	88++U-?-?@--u/C/CDr   c                   VP                   pVP                   p\        V\        4      '       Ed   V P                  \	        V4      \	        V4      4       V P                  \        V4      ^4       V P                  \        V4      \        V4      4       V P                  V^ ,          V^ ,          4       V^,          pV^,          pV P                  \        V4      \        V4      4       \        WV4       F:  w  rxV P                  \	        V4      \	        V4      4       V P                  Wx4       K<  	  R# V P                  W44       R# )r0   N)	argsr[   ExceptionGroupassertIsrC   r~   lenzipassert_exc_equal)	r   exc1exc2args1args2group1group2grouped1grouped2s	   &&&      r   assert_exc_args_equal%_GetXIDataTests.assert_exc_args_equal  s    				dN++MM$u+tE{3SZ+SZU4U1XuQx01XF1XFS[#f+6&)&&9" d4j$t*5%%h9	 ': U*r   c                   V P                  \        V4      \        V4      4       \        V4      P                  \        P                  Jd   V P	                  W4       V P                  W4       VP                  e'   V P	                  VP                  VP                  4       V P	                  \        VRR 4      \        VRR 4      4       VP                  f(   V P                  VP                  VP                  4       M&V P                  VP                  VP                  4       VP                  f)   V P                  VP                  VP                  4       R # V P                  VP                  VP                  4       R # )N	__notes__)r   rC   __eq__objectr~   r   __traceback__getattr	__cause__r   __context__)r   r   r   s   &&&r   r    _GetXIDataTests.assert_exc_equal  s   d4j$t*-:FMM1T(""4.)T//1C1CDD+t,D+t,	

 >>!MM$..$..9!!$..$..A#MM$**D,<,<=!!$"2"2D4D4DEr   c                f   \        V4      pVP                  \        P                  Jd   V P                  W4       R # V\        P
                  J d   V P                  W4       R # \        V\        4      '       d   V P                  W4       R # V\        P                  J d   \        V4      hV\        P                  J d   \        V4      hV\        P                  J d   \        V4      hVP                  \        38X  d)   V P                  VP                  VP                  4       R # \        V4      hr   )rC   r   r   r~   typesFunctionTyper   r[   BaseExceptionr   
MethodTypeNotImplementedErrorBuiltinMethodTypeMethodWrapperType	__bases__ra   )r   objexpectedr&   s   &&& r   assert_equal_or_equalish(_GetXIDataTests.assert_equal_or_equalish  s    8n::V]]*S+E&&&''6-00!!#0E$$$%c**E+++%c**E+++%c**]]vi'S\\8+<+<=%c**r   modec               N    V P                  V4      p\        P                  W4      # r   )_resolve_moder   get_crossinterp_datar   r   r   s   &&$r   
get_xidata_GetXIDataTests.get_xidata  s#    !!$' 55c@@r   c               F    V P                  V4      pV P                  W4      # r   )r   _get_roundtripr   s   &&$r   get_roundtrip_GetXIDataTests.get_roundtrip  s#    !!$'""3--r   c                V    \         P                  W4      p\         P                  V4      # r   )r   r   restore_crossinterp_data)r   r   r   xids   &&& r   r   _GetXIDataTests._get_roundtrip  s#    44S? 99#>>r   c                   V P                  V4      pV FP  pV P                  \        V4      4      ;_uu_ 4        V P                  W24      pV P	                  WC4       R R R 4       KR  	  R #   + '       g   i     Kg  ; ir   )r   subTestreprr   r   )r   valuesr   r   gots   &&$  r   assert_roundtrip_identical*_GetXIDataTests.assert_roundtrip_identical  s]    !!$'Cd3i(())#4c' )( (((s   #A**A;
expecttypec          	     p   V P                  V4      pV F  pV P                  \        V4      4      ;_uu_ 4        V P                  WB4      pWTJ d    R R R 4       KG  T P	                  \        V4      Vf   \        V4      MT4       V P                  WT4       R R R 4       K  	  R #   + '       g   i     K  ; ir   )r   r   r   r   r   rC   r   r   r   r   r   r   r   s   &&$$  r   assert_roundtrip_equal&_GetXIDataTests.assert_roundtrip_equal  s    !!$'Cd3i(())#4: )( d3i+5+=d3i:O--c7 )( (((s   B$;B$$B5c          	     r   V P                  V4      pV F  pV P                  \        V4      4      ;_uu_ 4        V P                  WB4      pV P	                  WT4       T P                  \        V4      Vf   \        V4      MT4       V P                  WT4       R R R 4       K  	  R #   + '       g   i     K  ; ir   )r   r   r   r   assertIsNotr   rC   r   r   s   &&$$  r   $assert_roundtrip_equal_not_identical4_GetXIDataTests.assert_roundtrip_equal_not_identical  s    !!$'Cd3i(())#4  *d3i+5+=d3i:O--c7 )( (((   AB%%B6c          	     r   V P                  V4      pV F  pV P                  \        V4      4      ;_uu_ 4        V P                  WB4      pV P	                  WT4       T P                  \        V4      Vf   \        V4      MT4       V P                  WT4       R R R 4       K  	  R #   + '       g   i     K  ; ir   )r   r   r   r   r   r   rC   assertNotEqualr   s   &&$$  r   assert_roundtrip_not_equal*_GetXIDataTests.assert_roundtrip_not_equal  s    !!$'Cd3i(())#4  *d3i+5+=d3i:O##C- )( (((r   c          
        V P                  V4      pV F  pV P                  \        V4      4      ;_uu_ 4        V P                  \        4      ;_uu_ 4       p\
        P                  WC4       R R R 4       Ve'   V P                  XP                  P                  V4       R R R 4       K  	  R #   + '       g   i     LH; i  + '       g   i     K  ; ir   )
r   r   r   assertRaisesr   r   r   assertIsInstance	exceptionr   )r   r   exctyper   r   cms   &&&$  r   assert_not_shareable$_GetXIDataTests.assert_not_shareable  s    !!$'Cd3i((&&'899R%::3E :&))",,*@*@'J	 )( 99 )((s#   C B--2C -B=8C  Cc                &    Vf   V P                   pV# r   )MODE)r   r   s   &&r   r   _GetXIDataTests._resolve_mode  s    <99Dr   r   r   )rZ   
__module____qualname____firstlineno__r   r   r   r   r   r   r   r   r   r   r   r   r   r   __static_attributes____classdictcell____classdict__s   @r   r|   r|   {  s     DE+&F0+&Ad A. .?( (	8T 	8d 	8	826	8CG	8	.(,	.9=	.K K r   r|   c                     a  ] tR tRt o RtR tR tR tR tR t	R t
R	 tR
R/R l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R tR tR tR
R/R l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(R) t)R* t*R+ t+R,t,V t-R-# ).PickleTestsi
  picklec                    \        4       ;_uu_ 4        \         F4  pV\        9   d   V P                  V.4       K"  V P	                  V.4       K6  	  R R R 4       R #   + '       g   i     R # ; ir   )r   	SHAREABLE
PICKLEABLEr   r   )r   r   s   & r   test_shareablePickleTests.test_shareable  sL     "" *$//6--se4	 ! #"""s   ?AA-	c                   \        4       ;_uu_ 4        \         F  p\        V4      \        P                  J d   V P                  V.4       K4  V\        9   dc   V P                  \        V4      4      ;_uu_ 4        V P                  V4      pV P                  \        V4      \        V4      4       R R R 4       K  V P                  V.4       K  	  R R R 4       R #   + '       g   i     K  ; i  + '       g   i     R # ; ir   )r   NOT_SHAREABLErC   r   MappingProxyTyper   r   r   r   r   r   )r   r   r   s   &  r   test_not_shareablePickleTests.test_not_shareable  s     ""$9 6 66--se4J&d3i00 #005d3ic;	 10 --se4 % #"
 100 #""s$   A(C/;6C1 C/C,&	C//D 	c                >    V P                  . . RO^.R^^/..4       R# )   Nr   r0      r0   r   r   s   &r   	test_listPickleTests.test_list$  s+    11S$A3
 	r   c                L    V P                  / ^^^^^^	/^^.^R^^^//.4       R# )r   Nr   r   r   s   &r   	test_dictPickleTests.test_dict+  s>    111aAQa!Q(3
 	r   c                Z    V P                  \        4       0 Rm\        ^04      R0.4       R# )r   N   r   r0   r   r   )r   set	frozensetr   s   &r   test_setPickleTests.test_set2  s+    11Es^T"3
 	r   c                   V P                  VP                  4       . pVP                  P                  4        F,  w  r4W1P                  9   d   K  VP	                  V! V!  4       K.  	  V P                  V4       . pVP                  P                  4        F,  w  r4W1P                  9  d   K  VP	                  V! V!  4       K.  	  V P                  V4       R # r   )r   TOP_CLASSESrb   CLASSES_WITHOUT_EQUALITYappendr   r   r   rg   	instancesr&   r   s   &&   r   assert_class_defs_same"PickleTests.assert_class_defs_same;  s    ''(8(89	))//1IC333S$Z( 2 	11)< 	))//1IC777S$Z( 2 	##I.r   c                    VP                    F  pK  	  V P                  VP                   4       . pVP                   P                  4        F  w  r5VP                  V! V!  4       K  	  V P                  V4       R # r   )r  r   rb   r  )r   rg   rs   r&   r  r   s   &&&   r   assert_class_defs_other_pickle*PickleTests.assert_class_defs_other_pickleN  sd    ##C#!!$"2"23	))//1ICS$Z( 2!!),r   failFc          
        VP                    F  pK  	  . pVP                   P                  4        F  w  rFV P                  \        V4      4      ;_uu_ 4        \	        W$P
                  V4       V P                  V4      pV! V!  pV P                  V4      p	VP                  WGW34       R R R 4       K  	  V EFd  w  rGrV P                  \        V4      4      ;_uu_ 4        \        W$P
                  4       V'       dG   V P                  \        4      ;_uu_ 4        \        P                  V4       R R R 4        R R R 4       K  \        P                  V4      p
V P                  W4       V P                  W4       T
p\        P                  V	4      p
V P                  W4       V P                  \!        V
4      V4       WAP"                  9   d   V P                  W4       M3WAP$                  9   d   V P'                  W4       MV P                  W4       R R R 4       EKg  	  R #   + '       g   i     EK  ; i  + '       g   i     EL; i  + '       g   i     EK  ; ir   )r  rb   r   r   rd   rZ   r   r  delattrr   r   r   r   r   r   r   rC   r  BUILTIN_SUBCLASSESr~   )r   rg   rs   r  r&   r  r   r   instinstxidr   gotclss   &&&$        r    assert_class_defs_other_unpickle,PickleTests.assert_class_defs_other_unpickleY  s   ##C# 	))//1ICd3i((\\3/ooc*Dz//$/  413 )( 2 (1#Cdd3i((\\***+<==)BB3G > )( (@@E  *##C-'@@I  +d3i0777''2333$$S/''2' )( (1 )(( >== )((s8   AH" ;IH71	ICI"H47I	IIc                    V P                  VP                  4       . pVP                  P                  4        F  w  r4VP                  V! V!  4       K  	  V P                  V4       R # r   )r   r  rb   r  r  s   &&   r   assert_class_defs_not_shareable+PickleTests.assert_class_defs_not_shareable~  sV    !!$"2"23	))//1ICS$Z( 2!!),r   c                0    V P                  \        4       R # r   )r  rg   r   s   &r   test_user_class_normal"PickleTests.test_user_class_normal  s    ##D)r   c                    \        4       ;_uu_ 4       p\        V4      pV P                  V4       R R R 4       R #   + '       g   i     R # ; ir   )rt   rj   r  r   rs   rg   s   &  r   test_user_class_in___main__'PickleTests.test_user_class_in___main__  s3    S>D''- 	   :A	c                    \        4       ;_uu_ 4       p\        R 4      pVP                  Vn        V P                  V4       RRR4       R#   + '       g   i     R# ; irl   rt   rj   r^   r  r  s   &  r   -test_user_class_not_in___main___with_filename9PickleTests.test_user_class_not_in___main___with_filename  s?    Z(D==CL006	    .AA	c                    \        4       ;_uu_ 4       p\        R 4      pRVn        RVn        V P                  V4       RRR4       R#   + '       g   i     R# ; irl   r"  r  s   &  r   0test_user_class_not_in___main___without_filename<PickleTests.test_user_class_not_in___main___without_filename  sB    Z(D DMCL006	    +AA	c                    \        4       ;_uu_ 4       p\        R 4      pVP                  Vn        V P                  W!4       RRR4       R#   + '       g   i     R# ; irl   rt   rj   r^   r  r  s   &  r   6test_user_class_not_in___main___unpickle_with_filenameBPickleTests.test_user_class_not_in___main___unpickle_with_filename  s?    Z(D==CL11$<	 r%  c                    \        4       ;_uu_ 4       p\        R 4      pRVn        RVn        V P                  W!RR7       RRR4       R#   + '       g   i     R# ; irm   NT)r  r+  r  s   &  r   9test_user_class_not_in___main___unpickle_without_filenameEPickleTests.test_user_class_not_in___main___unpickle_without_filename  sG    Z(D DMCL11$$1G	    -A

A	c                    \        R 4      ;_uu_ 4       p\        V4      pV P                  V4       RRR4       R#   + '       g   i     R# ; i__spam__N)rv   rj   r  r  s   &  r   test_user_class_in_module%PickleTests.test_user_class_in_module  s5    $$S>D''- %$$$	   ;A	c                    \        R 4      ;_uu_ 4       p\        VP                  4      pV P                  V4       RRR4       R#   + '       g   i     R# ; ir4  )rv   rj   rZ   r  r  s   &  r   +test_user_class_not_in_module_with_filename7PickleTests.test_user_class_not_in_module_with_filename  s<    $$S\\*D 006	 %$$$   'AA	c                    \        R 4      ;_uu_ 4       p\        VP                  4      pRVn        V P	                  V4       RRR4       R#   + '       g   i     R# ; ir4  )rv   rj   rZ   r^   r  r  s   &  r   .test_user_class_not_in_module_without_filename:PickleTests.test_user_class_not_in_module_without_filename  sA    $$S\\*D DM006 %$$$   .AA	c                    \        R RR7      ;_uu_ 4       p\        V4      pV P                  V4       RRR4       R#   + '       g   i     R# ; ir5  T)rw   Nrz   rj   r  r   rf   rg   s   &  r   ,test_user_class_module_missing_then_imported8PickleTests.test_user_class_module_missing_then_imported  s8     $777W%D006 8777	   =A	c                    \        R 4      ;_uu_ 4       p\        V4      pV P                  V4       RRR4       R#   + '       g   i     R# ; ir4  rC  rD  s   &  r   ,test_user_class_module_missing_not_available8PickleTests.test_user_class_module_missing_not_available  s6     ,,W%D006 -,,,r8  c                    \         P                  ! 4       pV P                  \        4      ;_uu_ 4        V P	                  V4       R R R 4       R #   + '       g   i     R # ; ir   )rg   
EggsNestedr   r   r   )r   eggss   & r   test_nested_classPickleTests.test_nested_class  s=     011t$ 2111s   AA 	c                <    V P                  VP                  4       R # r   )r   TOP_FUNCTIONSr   rg   s   &&r   assert_func_defs_same!PickleTests.assert_func_defs_same  s    ''(:(:;r   c                b    VP                    F  pK  	  V P                  VP                   4       R # r   )rQ  r   )r   rg   rs   funcs   &&& r   assert_func_defs_other_pickle)PickleTests.assert_func_defs_other_pickle  s$    &&D&!!$"4"45r   c          
        VP                    F  pK  	  . pVP                    F^  pV P                  V4      ;_uu_ 4        \        W$P                  V4       V P	                  V4      pVP                  WF34       R R R 4       K`  	  V F  w  rFV P                  V4      ;_uu_ 4        \        W$P                  4       V'       dG   V P                  \        4      ;_uu_ 4        \        P                  V4       R R R 4        R R R 4       K  \        P                  V4      pV P                  Wt4       V P                  Wt4       R R R 4       K  	  R #   + '       g   i     EK=  ; i  + '       g   i     Lu; i  + '       g   i     EK  ; ir   )rQ  r   rd   rZ   r   r  r  r   r   r   r   r   r   )r   rg   rs   r  rV  capturedr   r   s   &&&$    r   assert_func_defs_other_unpickle+PickleTests.assert_func_defs_other_unpickle  s   &&D& &&Dd##]]D1ood+% $# ' "IDd##]]+**+<==)BB3G > $# (@@E  +##C. $# " $## >= $##s5   :E$;E5E"5	E57E5E"E2-E55Fc                <    V P                  VP                  4       R # r   )r   rQ  rR  s   &&r   assert_func_defs_not_shareable*PickleTests.assert_func_defs_not_shareable  s    !!$"4"45r   c                n    V P                  \        P                  4       V P                  \        4       R # r   )r   rg   rQ  rS  r   s   &r   test_user_function_normal%PickleTests.test_user_function_normal  s$    ##D$6$67""4(r   c                    \        4       ;_uu_ 4       p\        V4      pV P                  V4       R R R 4       R #   + '       g   i     R # ; ir   )rt   rj   rS  r  s   &  r   test_user_func_in___main__&PickleTests.test_user_func_in___main__  s3    S>D&&t, r   c                    \        4       ;_uu_ 4       p\        R 4      pVP                  Vn        V P                  V4       RRR4       R#   + '       g   i     R# ; irl   rt   rj   r^   r^  r  s   &  r   ,test_user_func_not_in___main___with_filename8PickleTests.test_user_func_not_in___main___with_filename  s?    Z(D==CL//5	 r%  c                    \        4       ;_uu_ 4       p\        R 4      pRVn        RVn        V P                  V4       RRR4       R#   + '       g   i     R# ; irl   rg  r  s   &  r   /test_user_func_not_in___main___without_filename;PickleTests.test_user_func_not_in___main___without_filename  sB    Z(D DMCL//5	 r)  c                    \        4       ;_uu_ 4       p\        R 4      pVP                  Vn        V P                  W!4       RRR4       R#   + '       g   i     R# ; irl   rt   rj   r^   r[  r  s   &  r   5test_user_func_not_in___main___unpickle_with_filenameAPickleTests.test_user_func_not_in___main___unpickle_with_filename
  s?    Z(D==CL00;	 r%  c                    \        4       ;_uu_ 4       p\        R 4      pRVn        RVn        V P                  W!RR7       RRR4       R#   + '       g   i     R# ; ir/  rn  r  s   &  r   8test_user_func_not_in___main___unpickle_without_filenameDPickleTests.test_user_func_not_in___main___unpickle_without_filename  sG    Z(D DMCL000F	 r2  c                    \        R 4      ;_uu_ 4       p\        V4      pV P                  V4       RRR4       R#   + '       g   i     R# ; ir4  )rv   rj   rS  r  s   &  r   test_user_func_in_module$PickleTests.test_user_func_in_module  s5    $$S>D&&t, %$$$r8  c                    \        R 4      ;_uu_ 4       p\        VP                  4      pV P                  V4       RRR4       R#   + '       g   i     R# ; ir4  )rv   rj   rZ   r^  r  s   &  r   *test_user_func_not_in_module_with_filename6PickleTests.test_user_func_not_in_module_with_filename  s<    $$S\\*D //5	 %$$$r<  c                    \        R 4      ;_uu_ 4       p\        VP                  4      pRVn        V P	                  V4       RRR4       R#   + '       g   i     R# ; ir4  )rv   rj   rZ   r^   r^  r  s   &  r   -test_user_func_not_in_module_without_filename9PickleTests.test_user_func_not_in_module_without_filename$  sA    $$S\\*D DM//5 %$$$r@  c                    \        R RR7      ;_uu_ 4       p\        V4      pV P                  V4       RRR4       R#   + '       g   i     R# ; irB  rz   rj   r^  rD  s   &  r   +test_user_func_module_missing_then_imported7PickleTests.test_user_func_module_missing_then_imported*  s8     $777W%D//5 8777rG  c                    \        R 4      ;_uu_ 4       p\        V4      pV P                  V4       RRR4       R#   + '       g   i     R# ; ir4  r~  rD  s   &  r   +test_user_func_module_missing_not_available7PickleTests.test_user_func_module_missing_not_available0  s6     ,,W%D//5 -,,,r8  c                D    V P                  \        P                  4       R # r   )r   rg   NESTED_FUNCTIONSr   s   &r   test_nested_function PickleTests.test_nested_function5  s    !!$"7"78r   c                    V P                  \        P                  ! R 4      .4       V P                  \        P                  ! R ^*4      .4       R# r#   )r   rg   MimimalErrorr   	RichErrorr   s   &r   test_user_exception_normal&PickleTests.test_user_exception_normal:  sF    ##h'%
 	 	11NN8R(3
 	r   c                h   R p \         h  \          d   pTp Rp?MRp?ii ; i\        Y.3\        Y.3\        RTRRR3\        RR^^T3\
        RR^^T3\        R^^T3/p. p\         F4  pTP                  T4      ;'       g    T3pTP                  T! T!  4       K6  	  T P                  T4       R# r$   Nr   r   r   )	ExceptionBaseExceptionGroupr   UnicodeErrorUnicodeEncodeErrorUnicodeDecodeErrorUnicodeTranslateErrorEXCEPTION_TYPESgetr  r   r   r   exccaughtspecial
exceptionsr&   r   s   &       r   test_builtin_exception"PickleTests.test_builtin_exceptionB  s    	O 	F	 hS(O4dD$7"aC 8#q!S 9!B1c?
 
"C;;s#--vDc4j) # 	##J/   
 !!r   N).rZ   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r#  r'  r,  r0  r6  r:  r>  rE  rI  rN  rS  rW  r[  r^  ra  rd  rh  rk  ro  rr  ru  rx  r{  r  r  r  r  r  r   r   r   s   @r   r   r   
  s     D55/&	-#3% #3J-*.
77=H.
7777
%<6/ /06)-
66<G-
6666
9
0 0r   r   c                   x   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R tR tRtV tR# )MarshalTestsiX  marshalc                d    V P                  R RR\        .4       V P                  \        .4       R# )TFN)r   Ellipsisr   NotImplementedr   s   &r   test_simple_builtin_singletons+MarshalTests.test_simple_builtin_singletons\  s9    ''	)
 	 	!!#
 	r   c                   V P                  . \        RR4      O\        P                  ^,           N\        P                  N\        P                  ) ^,
          N\        P                  ) ^,
          N^R,          NRNRNRNRNRNRNR \        RR4       4       ORNRNR	NR
N4       V P	                  \
        \        P                  ! 4       .4       R# )r   r8   r;   r<   r=   r?   c              3   J   "   T F  pVP                  ^RRR7      x  K  	  R# 5ir/   r3   r5   s   & r   r(   ;MarshalTests.test_simple_builtin_objects.<locals>.<genexpr>y  s)      '%! jjHTj22%r7      hello worldr9   r:   r   Ny      ?       @      ȑݚ)r   rangern   maxsizer   OBJECTr   SimpleNamespacer   s   &r   test_simple_builtin_objects(MarshalTests.test_simple_builtin_objectsg  s   ## %
2s^%
 KK!O%
 KK	%

 [[L1%
 [[L1%
 tG%
 %
 %
 %
 %
 %
 %
"'R~'#%
& '%
* +%
, -%
. /%
 	2 	!!!!##
 	r   c                Z    V P                  \        4       \        R 4      .\        R7       R# )r  r   N)r   	bytearraybytesr   s   &r   test_bytearrayMarshalTests.test_bytearray  s,    ##Kn%%
  	$ 	r   c                    V P                  RRRR\        . RO4      .4       V P                  RRR	\        \        ^.4      \        ^.4      \        ^.4      .4      .4       R# )
r   Nr   r   helloworldr   Tr  r   r  r   r0   r      r  r  )      )r   r   r   s   &r   'test_compound_immutable_builtin_objects4MarshalTests.test_compound_immutable_builtin_objects  sh    ##i %
 	 	##$y!~y!~y!~FG%
 	r   c                    V P                  . . RO/ ^^^^^^	/\        4       0 Rm.4       V P                  ^.^.^..^RR/^RR//R0.4       R# )r   aTbFNr   r   )r   r   r   s   &r   %test_compound_mutable_builtin_objects2MarshalTests.test_compound_mutable_builtin_objects  ss    ##1aAE
%
 
	 	##S1#sOdQe-L%
 	r   c                j    \        4       pV P                  V3\        V.4      V.VR /R V/V0.4       R# )TN)r   r   r   )r   boguss   & r   ,test_compound_builtin_objects_with_bad_items9MarshalTests.test_compound_builtin_objects_with_bad_items  sC    !!HugGDM5MG#
 	r   c                    V P                  . R  \        P                   4       OR \        P                   4       O4       R# )c              3   8   "   T F  qP                   x  K  	  R # 5ir   rK   rM   s   & r   r(   1MarshalTests.test_builtin_code.<locals>.<genexpr>       1.Qjj.rO   c              3   8   "   T F  qP                   x  K  	  R # 5ir   rK   rM   s   & r   r(   r         5"4Qjj"4rO   N)r   rg   	FUNCTIONSFUNCTION_LIKEr   s   &r   test_builtin_codeMarshalTests.test_builtin_code  s9    ## %
1$..1%
5$"4"45%
 	r   c                   a \         .o\        pV P                  V3R  lV 4       4       V P                  V3R lV 4       4       R# )c              3   :   <"   T F  pVS9  g   K  Vx  K  	  R # 5ir   r   r%   r&   	shareables   & r   r(   1MarshalTests.test_builtin_type.<locals>.<genexpr>  s       ";#%(	%9 #&#   	
c              3   :   <"   T F  pVS9   g   K  Vx  K  	  R # 5ir   r   r  s   & r   r(   r    s       (=u+.)+; ),ur  N)StopIterationBUILTIN_TYPESr   r   )r   r   r  s   & @r   test_builtin_typeMarshalTests.test_builtin_type  sH    
	 !! "; "; 	;'' (=u (= 	=r   c                    \         \        P                  \        P                  \        P
                  .pV F  pK  	  V P                  V4       R # r   r   rn   is_finalizingexitr   r   r   r   	functionsrV  s   &  r   test_builtin_function"MarshalTests.test_builtin_function  >    HH22	
	 DI 	!!),r   c                R   R p \         h  \          d   pTp Rp?MRp?ii ; i\        Y.3\        Y.3\        RR^^T3\        RR^^T3\
        R^^T3/p. p\         F4  pTP                  T4      ;'       g    T3pTP                  T! T!  4       K6  	  T P                  T4       R# r  
r  r  r   r  r  r  r  r  r  r   r  s   &       r   r  #MarshalTests.test_builtin_exception      	O 	F	 hS(O"aC 8#q!S 9!B1c?
 
"C;;s#--vDc4j) # 	!!*-r  c                    \         P                  ! R R4      ;_uu_ 4        ^ RIpRRR4       V P                  \        \
        \        X.4       R#   + '       g   i     L3; ir,   r   Nr   ry   r,   r   rn   rg   unittestr   r,   s   & r   test_moduleMarshalTests.test_module  I     **:r:: ; 	!!	#
 	 ;:   AA 	c                    V P                  \        P                  4       . p\        P                  P                  4        F  w  r#VP	                  V! V!  4       K  	  V P                  V4       R # r   )r   rg   r  rb   r  r   r  r&   r   s   &   r   test_user_classMarshalTests.test_user_class  sV    !!$"2"23	))//1ICS$Z( 2!!),r   c                D    V P                  \        P                  4       R # r   )r   rg   rQ  r   s   &r   test_user_functionMarshalTests.test_user_function
  s    !!$"4"45r   c                ~    V P                  \        P                  ! R 4      \        P                  ! R ^*4      .4       R# r#   )r   rg   r  r  r   s   &r   test_user_exception MarshalTests.test_user_exception  s1    !!h'NN8R(#
 	r   r   N)rZ   r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r   r  r  r   r   r   s   @r   r  r  X  sU     D	>(&	=
-.. -6 r   r  c                   6   a  ] tR tRt o RtR tR tR tRtV t	R# )	CodeTestsi  codec                    V P                  . R  \        P                   4       OR \        P                   4       O4       R# )c              3   8   "   T F  qP                   x  K  	  R # 5ir   rK   rM   s   & r   r(   /CodeTests.test_function_code.<locals>.<genexpr>  r  rO   c              3   8   "   T F  qP                   x  K  	  R # 5ir   rK   rM   s   & r   r(   r    r  rO   N)r   rg   r  r  r   s   &r   test_function_codeCodeTests.test_function_code  s9    11 3
1$..13
5$"4"453
 	r   c                h    V P                  . \        P                  O\        P                  O4       R # r   r   rg   r  r  r   s   &r   test_functionsCodeTests.test_functions  s/    !! #
^^#
#
 	r   c                `    V P                  R RR\        \        RRRR. / \        4       .4       R # NTF'  spam   spamr   r   r  r  r   r   s   &r   test_other_objectsCodeTests.test_other_objects$  ;    !!H#
 	r   r   N)
rZ   r   r   r   r   r  r  r  r   r   r   s   @r   r	  r	    s     D r   r	  c                   6   a  ] tR tRt o RtR tR tR tRtV t	R# )ShareableFuncTestsi5  rV  c                h    V P                  . \        P                  O\        P                  O4       R # r   )r   rg   STATELESS_FUNCTIONSr  r   s   &r   test_stateless!ShareableFuncTests.test_stateless9  s3    ## %
%%%
 %
 	r   c                V    V P                  . R  \        P                   4       O4       R# )c              3   T   "   T F  pV\         P                  9  g   K  Vx  K   	  R # 5ir   )rg   r!  rM   s   & r   r(   8ShareableFuncTests.test_not_stateless.<locals>.<genexpr>B  s%      4A$222 a   (
(N)r   rg   r  r   s   &r   test_not_stateless%ShareableFuncTests.test_not_stateless@  s*    !! #
4 4#
 	r   c                `    V P                  R RR\        \        RRRR. / \        4       .4       R # r  r  r   s   &r   r  %ShareableFuncTests.test_other_objectsF  r  r   r   N)
rZ   r   r   r   r   r"  r(  r  r   r   r   s   @r   r  r  5  s     D r   r  c                   v   a  ] tR tRt o Rt. ROt. RO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# )PureShareableScriptTestsiW  zscript-purec                `    V P                  . V P                  O\        P                  R 7       R# r  Nr   VALID_SCRIPTSr   CodeTyper   s   &r   test_valid_str'PureShareableScriptTests.test_valid_strx  s/    '' )
)
nn 	( 	&r   c                @    V P                  . V P                  O4       R # r   r   INVALID_SCRIPTSr   s   &r   test_invalid_str)PureShareableScriptTests.test_invalid_str}  s#    !! #
!!#
 	r   c                n    V P                  . R  V P                   4       O\        P                  R7       R# )c              3   B   "   T F  qP                  R 4      x  K  	  R# 5iutf8Nencoder%   ss   & r   r(   <PureShareableScriptTests.test_valid_bytes.<locals>.<genexpr>  s     ;(:1hhv(:   r  Nr0  r   s   &r   test_valid_bytes)PureShareableScriptTests.test_valid_bytes  s4    '' )
;(:(:;)
nn 	( 	&r   c                N    V P                  . R  V P                   4       O4       R# )c              3   B   "   T F  qP                  R 4      x  K  	  R# 5ir<  r>  r@  s   & r   r(   >PureShareableScriptTests.test_invalid_bytes.<locals>.<genexpr>  s     =(<1hhv(<rC  Nr6  r   s   &r   test_invalid_bytes+PureShareableScriptTests.test_invalid_bytes  s(    !! #
=(<(<=#
 	r   c                V    V P                  . R  \        P                   4       O4       R# )c              3   8   "   T F  qP                   x  K  	  R # 5ir   rK   rM   s   & r   r(   APureShareableScriptTests.test_pure_script_code.<locals>.<genexpr>  s     ="<Qjj"<rO   N)r   rg   PURE_SCRIPT_FUNCTIONSr   s   &r   test_pure_script_code.PureShareableScriptTests.test_pure_script_code  s(    11 3
=$"<"<=3
 	r   c                V    V P                  . R  \        P                   4       O4       R# )c              3   h   "   T F(  pV\         P                  9  g   K  VP                  x  K*  	  R # 5ir   rg   rN  rL   rM   s   & r   r(   CPureShareableScriptTests.test_impure_script_code.<locals>.<genexpr>  +      6"7Q$444 ajj"7   22Nr   rg   SCRIPT_FUNCTIONSr   s   &r   test_impure_script_code0PureShareableScriptTests.test_impure_script_code  s,    !! #
6$"7"7 6#
 	r   c                    V P                  . R  \        P                   4       OR \        P                   4       O4       R# )c              3   h   "   T F(  pV\         P                  9  g   K  VP                  x  K*  	  R # 5ir   )rg   rX  rL   rM   s   & r   r(   ;PureShareableScriptTests.test_other_code.<locals>.<genexpr>  s)      1.Q$/// ajj.rV  c              3   8   "   T F  qP                   x  K  	  R # 5ir   rK   rM   s   & r   r(   r]    r  rO   Nr  r   s   &r   test_other_code(PureShareableScriptTests.test_other_code  s?    !! #
1$.. 1#
 6$"4"45#
 	r   c                h    V P                  . \        P                  O\        P                  R 7       R# r/  )r   rg   rN  r   r2  r   s   &r   test_pure_script_function2PureShareableScriptTests.test_pure_script_function  s/    '' )
'')
nn 	( 	&r   c                V    V P                  . R  \        P                   4       O4       R# )c              3   T   "   T F  pV\         P                  9  g   K  Vx  K   	  R # 5ir   rg   rN  rM   s   & r   r(   GPureShareableScriptTests.test_impure_script_function.<locals>.<genexpr>  '      6.A$444 a.r'  NrW  r   s   &r   test_impure_script_function4PureShareableScriptTests.test_impure_script_function  s,    !! #
6.. 6#
 	r   c                v    V P                  . R  \        P                   4       O\        P                  O4       R# )c              3   T   "   T F  pV\         P                  9  g   K  Vx  K   	  R # 5ir   )rg   rX  rM   s   & r   r(   ?PureShareableScriptTests.test_other_function.<locals>.<genexpr>  s%      1A$/// ar'  Nr  r   s   &r   test_other_function,PureShareableScriptTests.test_other_function  s:    !! #
1 1#
 #
 	r   c                Z    V P                  R RR\        \        R. / \        4       .	4       R # )NTFr   r  r   s   &r   r  +PureShareableScriptTests.test_other_objects  s2    !!H
#
 
	r   r   N)r   r  z# a commentzprint("spam")zraise Exception("spam")z0if True:
            do_something()
            zif True:
            def spam(x):
                return x
            class Spam:
                def eggs(self):
                    return 42
            x = Spam().eggs()
            raise ValueError(spam(x))
            )z    passz----zZif True:
            def spam():
                # no body
            spam()
            )rZ   r   r   r   r   r1  r7  r3  r8  rD  rI  rO  rY  r_  rb  ri  rn  r  r   r   r   s   @r   r-  r-  W  sT     DM&O&

&


&
 r   r-  c                   0   a  ] tR tRt o RtR tR tRtV tR# )ShareableScriptTestsi  scriptc                V    V P                  . R  \        P                   4       O4       R# )c              3   h   "   T F(  pV\         P                  9  g   K  VP                  x  K*  	  R # 5ir   rS  rM   s   & r   r(   ?ShareableScriptTests.test_impure_script_code.<locals>.<genexpr>  rU  rV  N)r   rg   rX  r   s   &r   rY  ,ShareableScriptTests.test_impure_script_code  s,    11 3
6$"7"7 63
 	r   c                v    V P                  . R  \        P                   4       O\        P                  R7       R# )c              3   T   "   T F  pV\         P                  9  g   K  Vx  K   	  R # 5ir   rf  rM   s   & r   r(   CShareableScriptTests.test_impure_script_function.<locals>.<genexpr>  rh  r'  r  N)r   rg   rX  r   r2  r   s   &r   ri  0ShareableScriptTests.test_impure_script_function  s:    '' )
6.. 6)
 nn 	( 	&r   r   N)	rZ   r   r   r   r   rY  ri  r   r   r   s   @r   rs  rs    s     D& &r   rs  c                   0   a  ] tR tRt o RtR tR tRtV tR# )ShareableFallbackTestsi  fallbackc                0    V P                  \        4       R # r   r   r   r   s   &r   r   %ShareableFallbackTests.test_shareable      ##I.r   c                  aa . \         O\        P                  O\        No. \        O\
        N\        N\        N\        No\        4       ;_uu_ 4        V P                  . VV3R  l\         4       O4       V P                  . V3R l\         4       O4       V P                  . V3R l\         4       O\        N4       RRR4       R#   + '       g   i     R# ; i)c              3   d   <"   T F%  pVS9   g   K  VS9  g   K  V\         Jg   K!  Vx  K'  	  R # 5ir   rT   )r%   rF   ignoredokays   & r   r(   <ShareableFallbackTests.test_not_shareable.<locals>.<genexpr>  s:      4]$Y #$G#3 22 !]s   	000
0c              3   R   <"   T F  pVS9   g   K  V\         Jg   K  Vx  K  	  R # 5ir   r  )r%   rF   r  s   & r   r(   r    s.      D]'\ &'/B&B !]s   	''
'c              3   8   <"   T F  qS9  g   K  Vx  K  	  R # 5ir   r   )r%   rF   r  s   & r   r(   r    s     <]tm!!]s   
N)r   rg   r!  LAMBDArI   r  METHODBUILTIN_METHODMETHOD_WRAPPERr   r   r   r   r   rT   )r   r  r  s   &@@r   r   )ShareableFallbackTests.test_not_shareable  s    

%%
 


$

 
 	

 
 !""'' )4] 4) 
 ++ -D] D-  %% '<]<'#'  #"""s   A+CC	r   N)	rZ   r   r   r   r   r   r   r   r   r   s   @r   r~  r~    s     D/ r   r~  c                      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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# )ShareableTypeTestsi  xidatac                0    V P                  \        4       R # r   r  r   s   &r   r   !ShareableTypeTests.test_shareable  r  r   c                b    V P                  . RO4       V P                  \        \        .4       R # )N)NTF)r   r   r  r  r   s   &r   test_singletons"ShareableTypeTests.test_singletons  s0    '' )
 	
 	!!#
 	r   c                ,    V P                  R R.4       R# )r  r  Nr   r   s   &r   
test_typesShareableTypeTests.test_types  s    ##%
 	r   c                N    R  \        RR4       4       pV P                  V4       R# )c              3   J   "   T F  pVP                  ^RRR7      x  K  	  R# 5ir/   r3   r5   s   & r   r(   0ShareableTypeTests.test_bytes.<locals>.<genexpr>  s)      +)a **Q*66)r7   r8   Nr  )r  r   )r   r   s   & r   
test_bytesShareableTypeTests.test_bytes  s%    + S>+##F+r   c                ,    V P                  . RO4       R# )r9   N)r9   r:   r   r  r   s   &r   	test_strsShareableTypeTests.test_strs  s    ## %
 	r   c                    \         P                  \         P                  ) ^,
          .p\        P                  ! \	        RR4      V4      pV P                  V4       R# )r   r8   Nr  )rn   r  	itertoolschainr  r   )r   boundsr   s   &  r   test_intShareableTypeTests.test_int  s?    ++|a/0r38##F+r   c                    \         P                  ^,           \         P                  ) ^,
          ^R,          .pV P                  V\        4       R# )r   r;   N)rn   r  r   OverflowError)r   intss   & r   test_non_shareable_int)ShareableTypeTests.test_non_shareable_int  s;    KK!O[[L1tG

 	!!$6r   c                ,    V P                  . RO4       R# )r<   N)r<   r=   r  r?   r  r  r   s   &r   
test_floatShareableTypeTests.test_float$  s    ## %
 	r   c                R    V P                  . RO4       V P                  . RO4       R# )r   N)r   r  r  r  )r  r  r  r  r   s   &r   
test_tupleShareableTypeTests.test_tuple-  s*    ## %
 	 	## %
 	r   c           
        \         \        .pV F  p\        ^ RV.4      pV P                  \	        V4      4      ;_uu_ 4        V P                  \        4      ;_uu_ 4        V P                  V4       RRR4       RRR4       \        ^ RV3.4      pV P                  R\	        V4      ,           4      ;_uu_ 4        V P                  \        4      ;_uu_ 4        V P                  V4       RRR4       RRR4       K  	  R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     LD; i  + '       g   i     EK<  ; i)r   r>   Nznested )	EXCEPTIONr  rH   r   r   r   r   r   )r   non_shareablesrA  ri   s   &   r   *test_tuples_containing_non_shareable_types=ShareableTypeTests.test_tuples_containing_non_shareable_types;  s    
  A1c1+&Ed5k**&&'899OOE* : + 1b1$-(Ei$u+566&&'899OOE* : 76   :9 +* :9 766sH   D D 2D:D9D&*D9 DDD#&D61D99Ec                0    V P                  \        4       R # r   )r   r   r   s   &r   r   %ShareableTypeTests.test_not_shareableM      !!-0r   c                :    V P                  \        4       .4       R # r   )r   r   r   s   &r   test_objectShareableTypeTests.test_objectP  s    !!H#
 	r   c                    V P                  . R  \        P                   4       OR \        P                   4       O4       R# )c              3   8   "   T F  qP                   x  K  	  R # 5ir   rK   rM   s   & r   r(   /ShareableTypeTests.test_code.<locals>.<genexpr>X  r  rO   c              3   8   "   T F  qP                   x  K  	  R # 5ir   rK   rM   s   & r   r(   r  Y  r  rO   Nr  r   s   &r   	test_codeShareableTypeTests.test_codeU  s9    !! #
1$..1#
5$"4"45#
 	r   c                    \         P                   F  pK  	  V P                  . \         P                  O\         P                  P                  N\
        N4       R # r   )rg   r  r   SpamOkayr  r  )r   rV  s   & r   test_function_object'ShareableTypeTests.test_function_object\  sJ    NNDN
 	!! #
^^#
MM#
 #
 	r   c                    \         \        P                  \        P                  \        P
                  .pV F  pK  	  V P                  V4       R # r   r  r  s   &  r   r  (ShareableTypeTests.test_builtin_functionh  r  r   c                    V P                  \        P                  4       V P                  \        P                  4       R # r   )r   rg   r  FUNCTION_LIKE_APPLIEDr   s   &r   test_function_like%ShareableTypeTests.test_function_liket  s*    !!$"4"45!!$"<"<=r   c                h   \         P                  ! 4       P                  \        P                  . P
                  \        P                  \        P                  R ,          \        P                  \        P                  P                  \        P                  \        P                  P                  \        P                  \        P                   \        P"                  \%        4       P&                  \        P(                  \$        P*                  \        P,                  /pVP/                  4        F  w  r#K  	  V P1                  . VO\3        \         P                  P                  4      N\5        \         P                  P                  4      N\7        \         P                  P                  4      N4       R# )r+   N)rg   r  r  r   r   r  r   rU   ra   ClassMethodDescriptorTyper   rL   GetSetDescriptorType__globals__MemberDescriptorTyper\   joinMethodDescriptorTyper   __str__r   __init__WrapperDescriptorTyperb   r   staticmethodclassmethodproperty)r   	_wrappersr   r   s   &   r   test_builtin_wrapper'ShareableTypeTests.test_builtin_wrapperx  s   MMO  %"2"2IIu..MM*%u'F'F'')C)C**E,F,FHHe00He55OOU88	
	 '__.MC. 	!! #
#
++,#
 **+#
 T]]''(	#
 	r   c                    \         P                  ! R R4      ;_uu_ 4        ^ RIpRRR4       V P                  \        \
        \        X.4       R#   + '       g   i     L3; ir  r  r  s   & r   r  ShareableTypeTests.test_module  r  r  c                    V P                  \        P                  4       . p\        P                  P                  4        F  w  r#VP	                  V! V!  4       K  	  V P                  V4       R # r   )r   rg   CLASSESrb   r  r  s   &   r   
test_classShareableTypeTests.test_class  sR    !!$,,/	++-ICS$Z( .!!),r   c                0    V P                  \        4       R # r   )r   r  r   s   &r   r  $ShareableTypeTests.test_builtin_type  r  r   c                R    V P                  \        P                  ! R 4      .4       R# r#   )r   rg   r  r   s   &r   test_exception!ShareableTypeTests.test_exception  s#    !!h'#
 	r   c                R   R p \         h  \          d   pTp Rp?MRp?ii ; i\        Y.3\        Y.3\        RR^^T3\        RR^^T3\
        R^^T3/p. p\         F4  pTP                  T4      ;'       g    T3pTP                  T! T!  4       K6  	  T P                  T4       R# r  r  r  s   &       r   r  )ShareableTypeTests.test_builtin_exception  r  r  c                    / p\        R W4       V P                  \        \        P                  ! 4       \        P
                  ! 4       VR,          VR,          .4       R# )zif True:
            try:
                raise Exception
            except Exception as exc:
                TRACEBACK = exc.__traceback__
                FRAME = TRACEBACK.tb_frame
            r@   rA   N)r_   r   rT   r   r  CellType)r   nss   & r   test_builtin_objects'ShareableTypeTests.test_builtin_objects  sU      	 	!!!!#NNwK{O	#
 		r   r   N)rZ   r   r   r   r   r   r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   s   @r   r  r    s     D/	,
,
7+$1


->* -1
.* r   r  rm   )DynamicClassAttribute_GeneratorWrapperr  r  r  s   spamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamspamr   r  r  r  r  r  r  r   r   r   r   )
contextlib	importlibimportlib.utilr  rn   r   r  r   test.supportr   import_moduler   r   r   testr   	code_defsr   rg   contextmanagerr   __builtins__rb   r[   rC   BUILTINS_TYPES
issubclassr   r  varsOTHER_TYPESr  r  r  r   r  r   r  r  r  r  r*   BUILTIN_EXCEPTIONSr  r  r  r  r  r\   r  METHOD_DESCRIPTOR_WRAPPERr   r  r  r  WRAPPER_DESCRIPTORr   r   rU   ra   r  r   rL   r  r  r  r  r   r  r  r  r  BUILTIN_WRAPPERSr   r  r  r   BUILTIN_FUNCTIONSry   r,   EMPTYMODMODULESr  r  r  r  r  r  r  BUILTIN_SIMPLETUPLE_EXCEPTIONTUPLE_OBJECTTUPLE_NESTED_EXCEPTIONTUPLE_NESTED_OBJECTrD   rR   rS   r   rT   r   r   r  r  BUILTIN_CONTAINERSr  r_   r  BUILTIN_OTHERr  USER_TOP_INSTANCESNESTED_CLASSESUSER_NESTED_INSTANCESUSER_INSTANCESr  USER_EXCEPTIONSrI   _UNSHAREABLE_SIMPLE_SHAREABLE_SIMPLE_SHAREABLE_CONTAINERS_UNSHAREABLE_CONTAINERSr   r  r  r  r  r   rQ  NoneTypeEllipsisTypeNotImplementedTypeGenericAlias	UnionTyper   rY   openr^   infileread_code_defs_text
_defs_textreplacer`   rj   rt   rv   rz   TestCaser|   r   r  r	  r  r-  rs  r~  r  rZ   main)rX   rF   r&   ncr  s   000000r   <module>r(     s
       
    &!//0CD ++O< + / 1   !- 2 2 4L 4
1d8K!! 4L"0 6.3 m4 3. 6!%[..0 M0TQa& JJ q0 M
O M6M  F 40<=>7 N*E*K*K*MN1 1  
		HH !!__ 
EE++MM*u>>	!;!;	""E$>$>u99E++33##$d""#TT]] $  HH**  "":r22 3222 	 
K	

	R~     KK!O!" KK#$ 	[[L1%& 	[[L1'( 2s^)* tG+. /0 12 	34 56 7: c9%3S9,/ #y) c? !*- ,,R0  S$A1aAQa!Q Es^TbMy!~t$%cN	I% L     
NNwK{O  )-(8(8(>(>(@A(@ae(@A +/+>+>+D+D+FG+F41A+FG 
 	h 	  
KK!O[[L1tG  $2 :Nq%88 N :	A'	A
D' 
D
 += B*<Q"#+@"@  !q*< B 	  	
     *$..) .$,,- 
^^ 	MM   
!$ 
%( 
\\)* +. /8#     
 	MM 
 
  " 
NN#$ 
%& 
'( 
)* 
OO+, 
-0 12 34 56 78 9
F 	)

kkmO 	$--FJ##GY7J     	  
	 OZ@   0 0   Lh'' L^K0/ K0\
y? yx B Dd dN&3 &"!_ !Hb bJ zMMO s   DD(D>D D8DDD% %D8,D33D8/K==L	R,S%V/	U)"U)(!V/		VV	V//V?	\++\;	%^^	