python (3.12.0)

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

Α˜ešãó2—ddlmZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
mZddlm
Z
ddlmZej dk(ZdZdZefd	„Zd
„Zd„ZGd„d
ej.«ZGd„dej.«Zedk(rej6«yy)é)ÚabcN)Úsupport)Ú
import_helper)Úassert_python_okÚbig)ÚbÚBÚhÚHÚiÚIÚlÚLÚqÚQÚnÚN)Úú@ú=ú<ú>ú!c#óNK—tD]}|D]}|dvr|dvrŒ||f–—ŒŒy­w)N©rr)rr)Ú
integer_codes)Ú
byteordersÚcodeÚ	byteorders   úD/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_struct.pyÚiter_integer_formatsr!s@èø€Üò"ˆØ#ò	"ˆIØ Ñ*¨t°zÑ/AØØ˜	/Ó!ñ	"ñ"ùs‚#%có—|ddd…S)Néÿÿÿÿ©)Úss r Ústring_reverser&s€Ø‰TˆrˆT‰7€Nócó(—tr|St|«S©N)ÚISBIGENDIANr&)Úvalues r Úbigendian_to_nativer,s€Ý؈ä˜eÓ$Ð$r'có†—eZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
d	„Zd
„Zd„Z
d„Zd
„Zd„Zd„Zd„Zd„Zd„Zd„Zej.d„«Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zej.d„«Z ej.d„«Z!ej.d„«Z"d„Z#ej.d „«Z$ej.d!„«Z%y")#Ú
StructTestcód—|jtjdd«ddk(t«y)Nz=iér)ÚassertEqualÚstructÚpackr*©Úselfs r Útest_isbigendianzStructTest.test_isbigendian%s'€Ø×Ñœ&Ÿ+™+ d¨AÓ.¨qÑ1°QÑ6¼ÕEr'cóL—|jtjtjd«tjd«}|j	|dztjd««d}d}tj|«}tj|«}|j	|dz|«|jtjtj
dd«|jtjtj
dddd«|jttjftj
dd«|jttjftj
dd«|jtjtjd	d
«tj
ddd
«}|jtjtjd|«|jtjtjd|«y)NÚZréÚiiizcbxxxxxxhhhhiillffd?z3c3b18x12h6i6l6f3d3?ÚfooÚPÚdsflapÚiir0é)ÚassertRaisesr2ÚerrorÚcalcsizer1r3Ú	TypeErrorÚunpack)r5ÚszÚfmtÚfmt3Úsz3r%s      r Útest_consistencezStructTest.test_consistence(se€Ø×Ñœ&Ÿ,™,¬¯©¸Ô=ä
_‰_˜SÓ
!ˆØ×ј˜a™¤§¡°Ó!7Ô8à$ˆØ%ˆÜ
_‰_˜SÓ
!ˆÜo‰o˜dÓ#ˆØ×ј˜a™ Ô%à×Ñœ&Ÿ,™,¬¯©°U¸AÔ>Ø×Ñœ&Ÿ,™,¬¯©°S¸!¸QÀÔBØ×Ñœ9¤f§l¡lÐ3´V·[±[À#ÀuÔMØ×Ñœ9¤f§l¡lÐ3´V·[±[À#ÀuÔMØ×Ñœ&Ÿ,™,¬¯
©
°s¸GÔDÜK‰K˜˜a Ó#ˆØ×Ñœ&Ÿ,™,¬¯
©
°u¸aÔ@Ø×Ñœ&Ÿ,™,¬¯
©
°s¸AÕ>r'c
óJ—d}d}d}d}d}d}d}d}dD]
}	d	D]}
|	|
z}
tj|
||||||||«	}tj|
|«\}}
}}}}}}|j||«|j|
|«|j||«|j||«|j||«|jt	d
|z«t	d
|z««|jt	d
|z«t	d
|z««|j||«ŒŒy)Nóar0éÿiÿÿigoƒÀÊ!	@T)rrrrrr)z	xcbhilfd?z	xcBHILfd?éd)r2r3rDr1Úint)r5Úcrr
rrÚfr=ÚtÚprefixÚformatr%ÚcpÚbpÚhpÚipÚlpÚfpÚdpÚtps                    r Útest_transitivenesszStructTest.test_transitiveness=s0€ØˆØ
ˆØˆØˆØˆØˆØˆØˆà3ó	(ˆFØ4ó
(Ø &™Ü—K‘K ¨¨1¨a°°A°q¸!¸QÓ?Ü17·±¸vÀqÓ1IÑ.B˜˜B  B¨¨BØ× Ñ   QÔ'Ø× Ñ   QÔ'Ø× Ñ   QÔ'Ø× Ñ   QÔ'Ø× Ñ   QÔ'Ø× Ñ ¤ S¨2¡X£´°C¸!±G³Ô=Ø× Ñ ¤ S¨2¡X£´°C¸!±G³Ô=Ø× Ñ   QÖ'ò
(ñ	(r'có —gd‘d‘d‘d‘d‘d‘d‘d‘d	‘d
‘d‘d‘d
‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d‘d ‘d!‘d"gd#d#d$f‘d%‘}|D]¼\}}}}}d&|z|fd'|z|fd(|z|fd)|ztxr|xs|ffD]‹\}}tj||«}	|j|	|«|jtj|«t|	««tj||	«d*}
|
|k7sŒ{|j|«ŒŒ¾y)+N)rOrKrKrKr)ÚxcrKóar_r)ÚcxrKóarar)r%rKrKrKr)Ú0só
helloworldr'r'r0)Ú1srcóhrer0)Ú9srcó	helloworlrgr0)Ú10srcrcrcr)Ú11srcóhelloworldrjr0)Ú20srcóhelloworldrlr0)réórnr)riùÿÿÿóùror)r	rmrnrnr)r	éùroror)r
é¼ó¼ó¼r)r
iDýÿÿóýDóDýr)rrqrrrsr)riDýrtrur)ré€,ó,€ó€,r)ré€âÓûóûÓâ€ó€âÓûr)r
rvrwrxr)r
ì€b§wrzr{r)rrvrwrxr)rryrzr{r)rrvrwrxr)rr|rzr{r)rPç@s@s@r)r=r}s@s@r)rPçÀsÀsÀr)r=r~sÀsÀr)ú?rór€r)rr9órr0)rTrrrrr€r0)r)r0rrr0rrrrr)r*r2r3r1rBÚlenrDÚ
assertTrue)r5ÚtestsrFÚargrÚlilÚasyÚxfmtÚexpÚresÚrevs           r Útest_new_featureszStructTest.test_new_featuresUsS€ð&
Ø&ð&
à+ð&
ð
,ð&
ð
'ð	&
ð

/ð&
ð
1ð
&
ð
Að&
ð
Dð&
ð
Hð&
ð
Vð&
ð
&ð&
ð
+ð&
ð
&ð&
ð
,ð&
ð
4ð&
ð 
/ð!&
ð"
4ð#&
ð$
6ð%&
ð&
Cð'&
ð(
Jð)&
ð*
Cð+&
ð,
Uð-&
ð.
Cð/&
ð0
Jð1&
ð2
Cð3&
ð4
Uð5&
ð6
>ð7&
ð8
<ð9&
ð<
Eð=&
ð>
@ð?&
ðB
&ðC&
ðD
&ðE&
ðF
)ðG&
ðH"e˜U AÐ&ðI&
ðJ
)ðK&
ˆðP(-ò	)Ñ#ˆCc˜3 Ø!$ S¡¨# °°S±¸#°ÀÀSÁÈ#ÀØ!$ S¡¬+Ò*=¸#Ò*DÀÐ Eð Gò
)‘sä—k‘k $¨Ó,Ø× Ñ   cÔ*Ø× Ñ ¤§¡°Ó!6¼¸C»ÔAÜ—m‘m D¨#Ó.¨qÑ1ؘ#“:Ø—O‘O CÕ(ñ
)ñ	)r'cóª—dddddddddddœ
}td«D]4\}}||z}tj|«}|j|||«Œ6d}|D]Q}dD]J}tj||d	z«}tj||dz«}	|j||	«ŒLŒS|jtjd
«d«|j	dtjd««|j	dtjd««|j	tjd«tjd
««|j	tjd
«tjd««|j	dtjd««|j	tjd«tjd««|jtjd«tjd
««|jtjd«tjd««y)Nr0r?éé)
rr	r
rrr
rrrr©rrrr)ÚbBÚhHÚiIÚlLÚnNÚqQrrrr
rrrrr<)r!r2rBr1ÚassertLessEqualÚassertGreaterEqual)
r5Ú
expected_sizerrrSÚsizeÚnative_pairsÚformat_pairÚsigned_sizeÚ
unsigned_sizes
          r Ú
test_calcsizezStructTest.test_calcsizeŠsÜ€à˜Ø˜Ø˜Ø˜Ø˜ñˆ
ô 4Ð4HÓIò	8‰OˆD)ؘt‘^ˆFÜ—?‘? 6Ó*ˆDØ×Ñ˜T =°Ñ#6Õ7ð	8ð:ˆØ'ò	=ˆKØ$ò
=	Ü$Ÿo™o¨i¸+Àa¹.Ñ.HÓIÜ &§¡°	¸KȹNÑ0JÓ K
Ø× Ñ  ¨mÕ<ñ
=ð	=ð	
×ÑœŸ™¨Ó-¨qÔ1Ø×јQ¤§¡°Ó 4Ô5Ø×јQ¤§¡°Ó 4Ô5Ø×ÑœVŸ_™_¨SÓ1´6·?±?À3Ó3GÔHØ×ÑœVŸ_™_¨SÓ1´6·?±?À3Ó3GÔHØ×јQ¤§¡°Ó 4Ô5Ø×ÑœVŸ_™_¨SÓ1´6·?±?À3Ó3GÔHØ×Ѥ§¡°Ó 4´f·o±oÀcÓ6JÔKØ×Ѥ§¡°Ó 4´f·o±oÀcÓ6JÕKr'c󪇇‡—ddlŠGˆˆˆfd„dtj«Št«D]"\}}||zЉ‰«}|j	«Œ$y)Nrcóx•‡—eZdZˆˆfd„Zej
ejW°jfd„Zˆfd„Z	ˆxZ
S)ú+StructTest.test_integers.<locals>.IntTestercóV•—t‰|d¬«||_|d|_|dd|_|jt
vrt
d|jz«‚tj|«|_	|jdz|_
|jtd«vr:d|_d|jd	z
z|_
d|jd	z
zd	z
|_y|jtd
«vr&d|_d|_
d|jzd	z
|_yt
d
|jz«‚)NÚtest_one)Ú
methodNamer#z"unrecognized packing byteorder: %srÚbhilqnTr?r0ÚBHILQNFrzunrecognized format code: %s)ÚsuperÚ__init__rSrrrÚ
ValueErrorr2rBÚbytesizeÚbitsizeÚtupleÚsignedÚ	min_valueÚ	max_value)r5rSÚ	IntTesterÚ	__class__s  €€r r©z4StructTest.test_integers.<locals>.IntTester.__init__±sø€Üi Ñ/¸:Ð/ÔFØ$”Ø" 2™J”	Ø!'¨¨ ”Ø—~‘~¬Ñ3Ü$Ð%IØ%)§^¡^ñ&4ó5ð5ä &§¡°Ó 7”
Ø#Ÿ}™}¨qÑ0”Ø—9‘9¤ h£Ñ/Ø"&D”KØ'(¨4¯<©<¸©>Ñ':Ð%;D”NØ%&¨¯©°a©Ñ%8¸1Ñ%<D•NØ—Y‘Y¤%¨£/Ñ1Ø"'D”KØ%&D”NØ%&¨¯©¡_°qÑ%8D•Nä$Ð%CØ%)§Y¡Yñ&/ó0ð0r'có:—|j}|j|cxkr|jkrBnn>|}|jr|dkr|d|jzz
}|j|d«d|z}t
|«dzrd|z}|jd«}||«}d|jt
|«z
z|z}|jdk(s|jdvrtst|«}|jt
|«|j«|||«}|j||«|||«d}|j||«|jtjt f||d	|z«y|jt"t$tjf|||«y)
Nrr0z%xÚ0Úasciir€r)rrrr)rSr¯r°r®r¬r˜r‚Úencoder«rr*r&r1r@r2rArCÚ
OverflowErrorrª)	r5Úxr3rDÚ	unhexlifyrSÚexpectedÚgotÚ	retrieveds	         r r¤z4StructTest.test_integers.<locals>.IntTester.test_oneÇss€ðŸ™Ø—>‘> QÔ8¨$¯.©.×8Ø HØ—{’{ q¨1¢uØ  A¨¯©Ñ$5Ñ5˜Ø×+Ñ+¨H°aÔ8Ø# h™Hܘ8“} qÒ(Ø#&¨¡>˜Ø'Ÿ™¨wÓ7HÙ(¨Ó2HØ '¨4¯=©=¼3¸x»=Ñ+HÑ IØ (ñ!)HàŸ™¨#Ò-ØŸ™¨.Ñ8ÅÜ#1°(Ó#;˜Ø×$Ñ$¤S¨£]°D·M±MÔBñ˜v q›/CØ×$Ñ$ S¨(Ô3ñ!' v¨sÓ 3°AÑ 6IØ×$Ñ$ Q¨	Ô2ð×%Ñ%¤v§|¡|´YÐ&?ÀÈØAHÈ3ÁõPð×%Ñ%¤}´jÄ&Ç,Á,Ð&OØ&*¨F°Aõ7r'cóH•—ddlm}g}t|jdz«D]}|j	d|z«Œt|j«D]=}d}t|j
«D]}|dz|d«z}Œ|j	|«Œ?|j
ddtjd	zg«|D])}||fD]}d
D]}||z}	|j|	«ŒŒ!Œ+Gd„d«}
Gd
„dt«}Gd„dt«}|jttjftj|j d«|jttjftj|j |«|jttjftj|j d«|jttjftj|j |
««|jttjftj|j |««|d«|d«|d«|d«|d«|d«fD]}
	tj‰|
«Œ|d«|d«|d«|ddi«|gd¢«fD]B}
|jttjftj|j |
«ŒDy#|j#d«YŒ xYw)Nr)Ú	randranger9r0réi,i`®
rŽ)r#rr0có—eZdZd„Zy)úAStructTest.test_integers.<locals>.IntTester.run.<locals>.NotAnIntcó—y©Né*r$r4s r Ú__int__zIStructTest.test_integers.<locals>.IntTester.run.<locals>.NotAnInt.__int__ó€Ø!r'N)Ú__name__Ú
__module__Ú__qualname__rÅr$r'r ÚNotAnIntrÁ
s„ó"r'rÊcó—eZdZd„Zd„Zy)úBStructTest.test_integers.<locals>.IntTester.run.<locals>.Indexablecó—||_yr)©Ú_value)r5r+s  r r©zKStructTest.test_integers.<locals>.IntTester.run.<locals>.Indexable.__init__s	€Ø&+˜r'có—|jSr)rÎr4s r Ú	__index__zLStructTest.test_integers.<locals>.IntTester.run.<locals>.Indexable.__index__s€Ø#Ÿ{™{Ð*r'N)rÇrÈrÉr©rÑr$r'r Ú	IndexablerÌs„ò,ó+r'rÒcó—eZdZd„Zd„Zy)úAStructTest.test_integers.<locals>.IntTester.run.<locals>.BadIndexcó—t‚r))rCr4s r rÑzKStructTest.test_integers.<locals>.IntTester.run.<locals>.BadIndex.__index__s€Ü'˜r'có—yrÃr$r4s r rÅzIStructTest.test_integers.<locals>.IntTester.run.<locals>.BadIndex.__int__rÆr'N)rÇrÈrÉrÑrÅr$r'r ÚBadIndexrÔs„ò(ó"r'r×za stringy@E@é
érÄrMéz:integer code pack failed on object with '__index__' methodrKrÚa)r0r?r9)Úrandomr¾Úranger¬Úappendr«ÚextendÚsysÚmaxsizer¤Úobjectr@rCr2rAr3rSÚfail)r5r¾Úvaluesr‰rÚvalÚjÚbaseÚincrr¸rÊrÒr×ÚobjrSs              €r Úrunz/StructTest.test_integers.<locals>.IntTester.runís»ø€Ý,ðÜ  §¡°Ñ!1Ó2ò,CØ—M‘M ! s¡(Õ+ð,ô˜tŸ|™|Ó,ò'AØCÜ" 4§=¡=Ó1ò:˜Ø" a™x©9°S«>Ñ9™ð:à—M‘M #Õ&ð	'ð—
‘
˜s F¬C¯K©K¸©MÐ:Ô;ð#ò-DØ $˜u d˜{ò-˜Ø$,ò-˜DØ # d¡
˜AØ ŸM™M¨!Õ,ñ-ñ-ð-÷"ñ"ô+¤ô+ô"œvô"ð×!Ñ!¤9¬f¯l©lÐ";Ü"(§+¡+¨t¯{©{Ø",ô.ð×!Ñ!¤9¬f¯l©lÐ";Ü"(§+¡+¨t¯{©{Ø"+ô-ð×!Ñ!¤9¬f¯l©lÐ";Ü"(§+¡+¨t¯{©{Ø"'ô)ð×!Ñ!¤9¬f¯l©lÐ";Ü"(§+¡+¨t¯{©{Ù"*£*ô.ð×!Ñ!¤9¬f¯l©lÐ";Ü"(§+¡+¨t¯{©{Ù"*£*ô.ñ
& a›L©)°B«-¹À2»Ù% b›M©9°S«>¹9ÀS»>ðKò=Cð=ÜŸ™ F¨CÕ0ð=ñ& d›O©Y°s«^¹YÀt»_Ù% s¨A hÓ/±º9Ó1EðGò+Cà×%Ñ%¤y´&·,±,Ð&?Ü&,§k¡k°4·;±;Ø&)õ+ñ+øð=ØŸ	™	ð#<ö=úsÊLÌL!)rÇrÈrÉr©r2r3rDr¹r¤rêÚ
__classcell__)r²r±ÚbinasciirSs@€€€r r±r¢°s3ù„õ
0ð,(.§{¡{Ø)/¯©Ù,4×,>Ñ,>ó$
7÷LR
+ðR
+r'r±)rìÚunittestÚTestCaser!rê)r5rrrQr±rìrSs    @@@r Ú
test_integerszStructTest.test_integers¬sUú€ã÷O	+ðO	+œ×)Ñ)ôO	+ôb 4Ó5ò	‰OˆD)ؘt‘^ˆFÙ˜&Ó!ˆAØ
E‰EGñ	r'cóć—ˆfd„}dD]U}dD]N}||z}|tj|«|tj|d«|tj|d«ŒPŒWy)NcóÈ•—‰jtj«5}||i|¤Žddd«‰jdt	j
««y#1swYŒ/xYw)Nzbad char in struct format)r@r2rAÚassertInÚstrÚ	exception)ÚfuncÚargsÚkwargsÚcmr5s    €r ÚassertStructErrorz2StructTest.test_nN_code.<locals>.assertStructErrorHsQø€Ø×"Ñ"¤6§<¡<Ó0ð
&°BÙdÐ%˜fÒ%÷
&àM‰MÐ5´s¸2¿<¹<Ó7HÕI÷
&ð
&ús¡	AÁA!r•rrr')r2rBr3rD)r5rùrrrSs`    r Útest_nN_codezStructTest.test_nN_codeFs`ø€ô	Jðò	>ˆDØ1ò
>	Ø" 4™Ù!¤&§/¡/°6Ô:Ù!¤&§+¡+¨v°qÔ9Ù!¤&§-¡-°¸Õ=ñ	
>ñ	>r'cóÀ—dD]Y\}}}}tj||«}|j||«tj||«\}|j||«Œ[y)N))Úpóabcr€r')Ú1prýr€r')Ú2prýsarK)Ú3prýsabsab)Ú4prýsabcrý)Ú5prýsabcrý)Ú6prýsabcrý)Ú1000psèxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxsèÿxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxsÿxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)r2r3r1rD)r5rÚinputrºÚexpectedbackr»s      r Útest_p_codezStructTest.test_p_codeSsa€ð4Dò	0Ñ/ˆD%˜ <ô—+‘+˜d EÓ*ˆCØ×Ñ˜S (Ô+Ü—]‘] 4¨Ó-‰FˆSØ×Ñ˜S ,Õ/ñ	0r'cóÔ—tdd«D]Â}d}||dzz
|k7r|dz}||dzz
|k7rŒ||z
}tjd|«}tjd|«d}|j	||«tjd|«}|j	|t|««tjd|«d}|j	||«ŒÄd}t
j|d	«}tjd|«}tjd|«d}|j	||«d
}t
j|d«}|jttjd|«y)Nr0é!gà?r}z<frz>fiÿÿÿéhiÿÿÿég)
rÝr2r3rDr1r&ÚmathÚldexpr@r·)r5rçÚdeltaÚsmallerÚpackedÚunpackedÚ	bigpackedrs        r Útest_705836zStructTest.test_705836csP€ô˜!˜R“Lò	-ˆDàˆEؘ ™Ñ$¨Ò,ؘ‘𘠙Ñ$¨Ó,à˜U‘lˆGä—[‘[  wÓ/ˆFÜ—}‘} T¨6Ó2°1Ñ5ˆHð
×Ñ˜T 8Ô,ÜŸ™ D¨'Ó2ˆIØ×Ñ˜Y¬°vÓ(>Ô?Ü—}‘} T¨9Ó5°aÑ8ˆHØ×Ñ˜T 8Õ,ð	-ð$ˆÜj‰j˜˜hÓ'ˆÜ—‘˜T 3Ó'ˆÜ—=‘=  vÓ.¨qÑ1ˆØ×ј˜hÔ'ðˆÜj‰j˜˜hÓ'ˆØ×Ñœ-¬¯©°d¸CÕ@r'có²—t«D]j\}}||z}|jtjtj|d«|jtjtj|d«Œl|jtjtjdd«|jtjtjdd«y)Nçð?gø?r<)r!r@r2rAr3)r5rrrSs    r Útest_1530559zStructTest.test_1530559„s–€Ü3Ó5ò	F‰OˆD)Ø Ñ%ˆFØ×ÑœfŸl™l¬F¯K©K¸ÀÔEØ×ÑœfŸl™l¬F¯K©K¸ÀÕEð	Fð	
×Ñœ&Ÿ,™,¬¯©°S¸#Ô>Ø×Ñœ&Ÿ,™,¬¯©°S¸#Õ>r'c	ó²—d}d}tj|«}ttfD]ñ}||«}|j	|j|«d«|j	|j|d«d«|j	|j|d«d«t
d«D]+}|j	|j||«|||dzf«Œ-t
dt|«d	z«D].}|jtj|j
||«Œ0ŒóttfD]}||«}|j	tj
||«d«|j	tj
||d«d«|j	tj
||d«d«t
d«D]0}|j	tj
|||«|||dzf«Œ2t
dt|«d	z«D]3}|jtjtj
|||«Œ5Œ|j	|j|d¬
«d«y)Ns	abcd01234Ú4s)óabcdr?)scd01rŽ)s0123ér0)ÚbufferÚoffset)
r2ÚStructÚbytesÚ	bytearrayr1Úunpack_fromrÝr‚r@rA)r5Útest_stringrFr%ÚclsÚdatars       r Útest_unpack_fromzStructTest.test_unpack_fromŒs$€Ø"ˆØˆÜM‰M˜#ÓˆÜœ9Ð%ò	HˆCÙ{Ó#ˆDØ×Ñ˜QŸ]™]¨4Ó0°*Ô=Ø×Ñ˜QŸ]™]¨4°Ó3°ZÔ@Ø×Ñ˜QŸ]™]¨4°Ó3°ZÔ@ܘ1“Xò
IØ× Ñ  §¡¨t°QÓ!7¸$¸qÀÀ1Á¸+¸ÕHð
Iä˜1œc +Ó.°Ñ2Ó3ò
HØ×!Ñ!¤&§,¡,°·
±
¸tÀQÕGñ
Hð	Hôœ9Ð%ó	RˆCÙ{Ó#ˆDØ×ÑœV×/Ñ/°°TÓ:¸JÔGØ×ÑœV×/Ñ/°°T¸1Ó=¸zÔJØ×ÑœV×/Ñ/°°T¸1Ó=¸zÔJܘ1“Xò
SØ× Ñ ¤×!3Ñ!3°C¸¸qÓ!AÀDÈÈ1ÈQÉ3ÀKÀ>ÕRð
Sä˜1œc +Ó.°Ñ2Ó3ò
RØ×!Ñ!¤&§,¡,´×0BÑ0BÀCÈÈqÕQò
Rð	Rð	
×јŸ™¨kÀ!˜ÓDØ#õ	%r'cóâ—d}tjdd«}d}tj|«}|j|d|«|j	«dt|«}|j
||«|j|d|«|j	«dt|«dz}|j
||dd|z«tjdd«}|jttjf|j|d|«|jttjf|j|d|«|}|jttjftjd	|d«y)
NóReykjavik rocks, eow!ród                                                                                                    Ú21srrØó
          r?r')Úarrayr2rÚ	pack_intoÚtobytesr‚r1r@rªrArC)r5r!Úwritable_bufrFr%Úfrom_bufÚ	small_bufÚsbs        r Útest_pack_intozStructTest.test_pack_into§sB€Ø.ˆÜ—{‘{ 3¨Ó1ˆ؈ÜM‰M˜#Óˆð	
‰L ! [Ô1Ø×'Ñ'Ó)Ð*;¬3¨{Ó+;Ð<ˆØ×ј ;Ô/ð	
‰L " kÔ2Ø×'Ñ'Ó)Ð*>¬3¨{Ó+;¸BÑ+>Ð?ˆØ×ј ;¨s°Ð#3°kÑ#AÔBô—K‘K  WÓ-ˆ	Ø×Ñœ:¤v§|¡|Ð4°a·k±kÀ9ÈaØ%ô	'à×Ñœ:¤v§|¡|Ð4°a·k±kÀ9ÈaØ%ô	'ðˆØ×Ñœ9¤f§l¡lÐ3´V×5EÑ5EÀsÈBØõ	 r'có‡—d}tjdd«}dŠˆfd„}||d|«|j«dt|«}|j||«||d|«|j«dt|«dz}|j||dd|z«tjdd«}|j	t
tjf||d|«|j	t
tjf||d	|«y)
Nr&rr'r(có0•—tj‰g|¢­ŽSr))r2r+)rörFs €r ú<lambda>z.StructTest.test_pack_into_fn.<locals>.<lambda>Çsø€¤&×"2Ñ"2°3Ð">¸Ò">€r'rrØr)r?)r*r,r‚r1r@rªr2rA)r5r!r-r+r.r/rFs      @r Útest_pack_into_fnzStructTest.test_pack_into_fnÃsûø€Ø.ˆÜ—{‘{ 3¨Ó1ˆ؈Û>ˆ	ñ	,  ;Ô/Ø×'Ñ'Ó)Ð*;¬3¨{Ó+;Ð<ˆØ×ј ;Ô/ñ	,  KÔ0Ø×'Ñ'Ó)Ð*>¬3¨{Ó+;¸BÑ+>Ð?ˆØ×ј ;¨s°Ð#3°kÑ#AÔBô—K‘K  WÓ-ˆ	Ø×Ñœ:¤v§|¡|Ð4°iÀÈAØ%ô	'à×Ñœ:¤v§|¡|Ð4°iÀÈAØ%õ	'r'có¬—tjdd«}td«}||fD],}tjd|«\}|j	|d«Œ.y)Nr	s4Vxz>IixV4)r*Ú
memoryviewr2rDr1)r5Údata1Údata2r#r+s     r Útest_unpack_with_bufferz"StructTest.test_unpack_with_bufferÚsS€ä—‘˜CÐ!4Ó5ˆÜÐ.Ó/ˆØ˜ENò	0ˆDÜ—]‘] 4¨Ó.‰FˆEØ×Ñ˜U JÕ/ñ	0r'có—Gd„dt«}td«dzD]©}dggddf}dgd	d
ddd
f}|dt|«zz}tj|g|¢­Ž}tj
||«}|dt|«zz}tj|g|¢­Ž}	tj
||	«}
|j
t|«t|
««|j
t|«t|««|D]}|j|«Œ|
D]}|j|«Œtj|dzd«}|j
t|«tj|dz««t|«dk7r|j|d|z¬«	tj|dz|««|jd|dzz«Œ¬dD]*}
|jtj
d|
«d«Œ,y#t$rYŒéwxYw)Ncó—eZdZd„Zy)ú+StructTest.test_bool.<locals>.ExplodingBoolcó—t‚r))ÚOSErrorr4s r Ú__bool__z4StructTest.test_bool.<locals>.ExplodingBool.__bool__äs€Ü
r'N)rÇrÈrÉr@r$r'r Ú
ExplodingBoolr=ãs„ó
r'rAz<>!=)rr$rrr0Útestér#lgàÿÿÿßArz encoded bool is not one byte: %r)Úmsgz2Expected OSError: struct.pack(%r, ExplodingBool()))róóÿóóðz>?)râr­r‚r2r3rDr1ÚassertFalserƒrBrãr?)r5rArRÚfalseÚtrueÚfalseFormatÚpackedFalseÚ
unpackedFalseÚ
trueFormatÚ
packedTrueÚunpackedTruerQrrOs              r Ú	test_boolzStructTest.test_boolâsý€ô	œFô	ô˜F“m EÑ)ó"	?ˆFؘ˜B  AÐ%ˆEØ3˜  2 |°\ÐAˆDà  3¬¨U«Ñ#3Ñ3ˆKÜ Ÿ+™+ kÐ:°EÒ:ˆKÜ"ŸM™M¨+°{ÓCˆMà #¬¨D«	¡/Ñ1ˆJÜŸ™ ZÐ7°$Ò7ˆJÜ!Ÿ=™=¨°ZÓ@ˆLà×ÑœS ›Y¬¨LÓ(9Ô:Ø×ÑœS ›Z¬¨]Ó);Ô<à"ò
$Ø× Ñ  Õ#ð
$à!ò
#Ø—‘ Õ"ð
#ô—[‘[ ¨¡¨QÓ/ˆFà×ÑœS ›[¬&¯/©/¸&À¹*Ó*EÔFä6‹{˜aÒØ× Ñ  Ð-OØ.4ñ.5Ð ô6ð
?Ü—‘˜F S™L©-«/Ô:ð—	‘	ð-Ø06¸±ñ>ö?ðC"	?ðH?ò	7ˆAØO‰OœFŸM™M¨$°Ó2°1Ñ5Õ6ñ	7øô
ò
Úð
úsÆG;Ç;	HÈHcól—djtjdz«}|jtj
tj|«djtjdztjdz«}|jtj
tj|«y)Nz{}br0z{}b{}Hr?)rSràrár@r2rArB)r5Ú	hugecountÚ
hugecount2s   r Útest_count_overflowzStructTest.test_count_overflow
sl€Ø—L‘L¤§¡¨Q¡Ó/ˆ	Ø×Ñœ&Ÿ,™,¬¯©¸ÔCà—_‘_¤S§[¡[°!¡^´S·[±[À!±^ÓDˆ
Ø×Ñœ&Ÿ,™,¬¯©¸ÕDr'có¾—tjdd«}|jtjtjd«|jtjtj
dd«|jtjtjd|d«|jtjtjd|d«|jtjtjdd«|jtjtj
dd«|jtjtjd|dd«|jtjtjd|d«|jtjtjd	d
«|jtjtj
d	d«|jtjtjd	|dd
«|jtjtjd	|d«y)Nrr'Ú12345r'rÚc12345r¸óxÚ14s42z
spam and eggss
spam and eggs)r*r@r2rAr3rDr+r )r5Ústores  r Útest_trailing_counterz StructTest.test_trailing_countersހܗ‘˜C Ó*ˆð	
×Ñœ&Ÿ,™,¬¯©°WÔ=Ø×Ñœ&Ÿ,™,¬¯
©
°wÀÔDØ×Ñœ&Ÿ,™,¬×(8Ñ(8¸'À5È!ÔLØ×Ñœ&Ÿ,™,¬×(:Ñ(:¸GÀUÈAÔNð	
×Ñœ&Ÿ,™,¬¯©°X¸sÔCØ×Ñœ&Ÿ,™,¬¯
©
°xÀÔFØ×Ñœ&Ÿ,™,¬×(8Ñ(8¸(ÀEÈ1Øô	 à×Ñœ&Ÿ,™,¬×(:Ñ(:¸HÀeØô	ð	
×Ñœ&Ÿ,™,¬¯©°W¸oÔNØ×Ñœ&Ÿ,™,¬¯
©
°wØ*ô	,à×Ñœ&Ÿ,™,¬×(8Ñ(8¸'À5È!Ø)ô	+à×Ñœ&Ÿ,™,¬×(:Ñ(:¸GÀUÈAÕNr'cóP—tjd«}|jd«y)Nrr>)r2rr©©r5r%s  r Útest_Struct_reinitializationz'StructTest.test_Struct_reinitialization-s€ô
M‰M˜#ÓˆØ	
‰
4Õr'có¾—tjd«}|tjd«|dzzz
}tj|tj
|«|«y)NÚ2n3PÚP3n0Pr0)rÚcalcobjsizer2rBÚcheck_sizeofr)r5Ú
format_strÚnumber_of_codesÚ	totalsizes    r rezStructTest.check_sizeof4sJ€ä×'Ñ'¨Ó/ˆ	à”V—_‘_ WÓ-°À1Ñ1DÑEÑEˆ	Ü×јT¤6§=¡=°Ó#<¸iÕHr'có‚—tD]}|j|d«Œ|jdd«|jdd«|jdd«|jdd	«|jd
d«|jdd«|jdd«|jd
d«|jdd	«y)Nr0Ú	BHILfdspPé	ÁÒBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBiÒÚfdr?ÚxxxxxxxxxxxxxxrÚ100HÚ187sÚ20prbÚ0c)rre)r5rs  r Útest__sizeof__zStructTest.test__sizeof__;s²€ä!ò	'ˆDØ×Ñ˜d AÕ&ð	'à×ј+ qÔ)Ø×ј* dÔ+Ø×ј$ Ô"Ø×ÑÐ*¨AÔ.Ø×ј& !Ô$Ø×ј& !Ô$Ø×ј% Ô#Ø×ј$ Ô"Ø×ј$ Õ"r'cób—d}|jtj|«5tjdt	d«dd«ddd«d}|jtj|«5tj
dt	d«d«ddd«y#1swYŒUxYw#1swYyxYw)Nzkpack_into requires a buffer of at least 6 bytes for packing 1 bytes at offset 5 \(actual buffer size is 1\)rr0rCzounpack_from requires a buffer of at least 6 bytes for unpacking 1 bytes at offset 5 \(actual buffer size is 1\))ÚassertRaisesRegexr2rAr+rr ©r5Úregex1Úregex2s   r Útest_boundary_error_messagez&StructTest.test_boundary_error_messageIsŸ€ð
+ð	ð
×
#Ñ
#¤F§L¡L°&Ó
9ñ	6Ü×Ñ˜S¤)¨A£,°°1Ô5÷	6ð
+ð	ð
×
#Ñ
#¤F§L¡L°&Ó
9ñ	5Ü×Ñ˜s¤I¨a£L°!Ô4÷	5ð	5÷	6ð	6ú÷	5ð	5ús£"BÁ/!B%ÂB"Â%B.có~—td«}|jtjd«5tjd|dd«ddd«|jtjd«5tjd|dd«ddd«|jtjd	«5tj
d|d«ddd«|jtjd«5tj
d|d«ddd«y#1swYŒËxYw#1swYŒ–xYw#1swYŒbxYw#1swYyxYw)
NrØz%no space to pack 4 bytes at offset -2ú<Iéþÿÿÿé{z*offset -11 out of range for 10-byte bufferz<Biõÿÿÿz.not enough data to unpack 4 bytes at offset -2)rrur2rAr+r )r5Ú	byte_lists  r Ú0test_boundary_error_message_with_negative_offsetz;StructTest.test_boundary_error_message_with_negative_offsetZs€Ü˜b“Mˆ	Ø
×
#Ñ
#Ü—‘Ø8ó:ñ	7ô
×Ñ˜T 9¨b°#Ô6÷	7ð
×
#Ñ
#Ü—‘Ø<ó>ñ	8ô
×Ñ˜T 9¨c°3Ô7÷	8ð
×
#Ñ
#Ü—‘ØAóCñ	4ô
×Ñ˜t Y°Ô3÷	4ð
×
#Ñ
#Ü—‘Ø<ó>ñ	5ô
×Ñ˜t Y°Ô4÷	5ð	5÷	7ð	7ú÷
	8ð	8ú÷
	4ð	4ú÷
	5ð	5ús/¬DÁ-DÂ.D'Ã.D3ÄDÄD$Ä'D0Ä3D<cóŽ—dttjdz«zdzttj«zdz}|jtj
|«5t	jdtd«tjd«ddd«dttjdz«zd	zttj«zdz}|jtj
|«5t	jdtd«tj«ddd«y#1swYŒ xYw#1swYyxYw)
Nz(pack_into requires a buffer of at least rŽz% bytes for packing 4 bytes at offset z \(actual buffer size is 10\)r{rØr0z*unpack_from requires a buffer of at least z' bytes for unpacking 4 bytes at offset )	róràrárur2rAr+rr rvs   r Ú-test_boundary_error_message_with_large_offsetz8StructTest.test_boundary_error_message_with_large_offsetps€ð
8¼#¼c¿k¹kÈA¹oÓ:NÑNØ4ñ
5Ü7:¼3¿;¹;Ó7Gñ
Hà,ñ
-ð	ð
×
#Ñ
#¤F§L¡L°&Ó
9ñ	BÜ×Ñ˜T¤9¨R£=´#·+±+¸qÔA÷	Bð
:¼CÄÇÁÈaÁÓ<PÑPØ6ñ
7Ü9<¼S¿[¹[Ó9Iñ
Jà,ñ
-ð	ð
×
#Ñ
#¤F§L¡L°&Ó
9ñ	AÜ×Ñ˜t¤Y¨r£]´C·K±KÔ@÷	Að	A÷	Bð	Bú÷	Að	AúsÁ 0D/Ã7/D;Ä/D8Ä;EcóЗ|jt«5tjdd«ddd«|j	tjdd«d«y#1swYŒ0xYw)NrrrK)éa)r@rCr2rDr1r4s r Útest_issue29802zStructTest.test_issue29802‚sR€ð×
Ñ
œyÓ
)ñ	"ÜM‰M˜#˜qÔ!÷	"ð	
×ÑœŸ™ s¨DÓ1°:Õ>÷	"ð	"ús–AÁA%có—tjd«}|j|jd«tj|jj	««}|j|j|j«y)Nz=i2H)r2rr1rSr¶)r5r%Ús2s   r Útest_format_attrzStructTest.test_format_attr‹sW€ÜM‰M˜&Ó!ˆØ×јŸ™ 6Ô*ô]‰]˜1Ÿ8™8Ÿ?™?Ó,Ó
-ˆØ×јŸ™ A§H¡HÕ-r'cóÔ—d}td|«\}}}|j|d«|j|j«d«|jd|«|jd|«y)Nzùif 1:
            import struct

            class C:
                def __init__(self):
                    self.pack = struct.pack
                def __del__(self):
                    self.pack('I', -42)

            struct.x = C()
            z-crr'sException ignored in:s	C.__del__)rr1Úrstriprò)r5rÚrcÚstdoutÚstderrs     r Ú)test_struct_cleans_up_at_runtime_shutdownz4StructTest.test_struct_cleans_up_at_runtime_shutdown“sa€ð
ˆô.¨d°DÓ9шˆFFØ×ј˜QÔØ×јŸ™›¨#Ô.Ø
‰
Ð.°Ô7Ø
‰
l FÕ+r'cóÒ—tjd«}tj|«}|j	d«~tj«|j|«d«y)NÚ_structrz(_struct module was not garbage collected)rÚimport_fresh_moduleÚweakrefÚrefrBÚgcÚcollectÚassertIsNone)r5Ú_struct_moduleÚ
module_refs   r Ú'test__struct_reference_cycle_cleaned_upz2StructTest.test__struct_reference_cycle_cleaned_up¥sU€ô
'×:Ñ:¸9ÓEˆÜ—[‘[ Ó0ˆ
Ø×Ñ Ô$Øô	
‰
ŒØ×ÑÙ‹LÐDõ	Fr'có$—tj}ttjdd««}||fD]B}|j	|¬«5|jt«5d|_ddd«ddd«ŒDy#1swYŒxYw#1swYŒ[xYw)NrrZ)r"r0)r2rÚtypeÚiter_unpackÚsubTestr@rCr¸)r5rÚunpack_iteratorr"s    r Útest__struct_types_immutablez'StructTest.test__struct_types_immutable´sŠ€ô—‘ˆÜœv×1Ñ1°#°tÓ<Ó=ˆØ˜OÐ,ò	ˆCØ—‘ #Ó&ñ
Ø×&Ñ&¤yÓ1ñØC”E÷÷
ð
ñ	÷ðú÷
ð
ús$Á	BÁA:Á'BÁ:BÁ?BÂB	có‚—tjjtjd«}|jd«y)Nrr)r2rÚ__new__r r_s  r Ú%test__struct_Struct__new__initializedz0StructTest.test__struct_Struct__new__initialized¿s*€ô
M‰M×!Ñ!¤&§-¡-°Ó5ˆØ	
‰
gÕr'cóh—Gd„dtj«}|d«}|jd«y)Ncó—eZdZy)ú7StructTest.test__struct_Struct_subclassing.<locals>.BobN)rÇrÈrÉr$r'r ÚBobr¤Ès„Ør'r¥rr)r2rr )r5r¥r%s   r Útest__struct_Struct_subclassingz*StructTest.test__struct_Struct_subclassingÆs)€ô	”&—-‘-ô	ñ
‹HˆØ	
‰
gÕr'có¦—dD]@}|jtjd«5tj|«ddd«ŒBy#1swYŒMxYw)N)úz2ir€zembedded null character)rur2rArBr_s  r Útest_issue35714zStructTest.test_issue35714ÎsO€à$ò	#ˆAØ×'Ñ'¬¯©Ø(AóCñ
#ä—‘ Ô"÷
#ð
#ñ	#÷
#ð
#ús¦AÁA	có’‡—ˆfd„}dD]$}dD]}|||d«ŒdD]}|||d«ŒŒ&d}|d|d«d	}|d|d«y)
Nc󾕗||z}tj|«}|rd|dzzdz
}d}nd|dzdz
zdz
}d|dzdz
z}d|›d|›d|›}td«|dz
|dztd	«fD]]}‰
j||¬
«5‰
j	tj
|«5tj||«ddd«ddd«Œ_d}d}	‰
j||	¬
«5‰
j	tj
|«5tj||	«ddd«ddd«y#1swYŒsxYw#1swYŒÕxYw#1swYŒ*xYw#1swYyxYw)
Nr?rr0rú'z' format requires z <= number <= gšd~ÅQÊgšd~ÅQJ)rfÚnumberz#required argument is not an integerr)r2rBrNrœrurAr3)rRÚint_typeÚis_unsignedÚfmt_strršÚmax_Úmin_Ú	error_msgr­Ú
not_numberr5s          €r Útest_error_msgz2StructTest.test_issue98248.<locals>.test_error_msg×spø€Ø˜xÑ'ˆGÜ—?‘? 7Ó+ˆDÙØ˜T A™X‘¨Ñ*Ø‘à˜T A™X¨™\Ñ*¨QÑ.ؘd Q™h¨™lÑ+Ð+ؘH˜:Ð%7¸°v¸^ÈDÈ6ÐRˆIܘu›: t¨a¡x°¸±¼3¸t»9ÐEò
5Ø—\‘\¨W¸V\ÓDñ5Ø×/Ñ/´·±¸iÓHñ5ÜŸ™ G¨VÔ4÷5÷5ð5ð
5ð>ˆI؈JØ—‘¨¸ÓDñ
5Ø×+Ñ+¬F¯L©L¸)ÓDñ5Ü—K‘K ¨Ô4÷5÷
5ð
5÷	5ð5ú÷5ð5ú÷5ð5ú÷
5ð
5úsHÂ!D;Â&D/Â=D;Ã&!EÄEÄEÄ/D8Ä4D;Ä;E	ÅE	ÅEÅEú@=<>ÚBHILQTÚbhilqFrrrr$)r5rµrRr®s`   r Útest_issue98248zStructTest.test_issue98248Õssø€ô	5ð(ò	8ˆFØ#ò
7Ù˜v x°Õ6ð
7à#ò
8Ù˜v x°Õ7ñ
8ð	8ðˆÙs˜H dÔ+àˆÙs˜H eÕ,r'cóz‡‡—Gd„d«Šˆˆfd„}dD]}dD]
}|||z«ŒŒ|d«|d«y)Ncó—eZdZd„Zy)ú:StructTest.test_issue98248_error_propagation.<locals>.Div0có—ddzy)Nr0rr$r4s r rÑzDStructTest.test_issue98248_error_propagation.<locals>.Div0.__index__ús	€ØA“r'N)rÇrÈrÉrÑr$r'r ÚDiv0r¼ùs„ó
r'r¾cóà•—‰j|d¬«5‰jt«5tj|‰««ddd«ddd«y#1swYŒxYw#1swYyxYw)NÚZeroDivisionError)rfrô)rœr@rÀr2r3)r°r¾r5s €€r Útest_error_propagationzLStructTest.test_issue98248_error_propagation.<locals>.test_error_propagationýsbø€Ø—‘¨Ð<OÓPñ
1Ø×&Ñ&Ô'8Ó9ñ1Ü—K‘K ©«Ô0÷1÷
1ð
1÷1ð1ú÷
1ð
1ús"•A$«AÁA$ÁA!	ÁA$Á$A-r¶Ú
BHILQbhilqrrr$)r5rÁrRr®r¾s`   @r Ú!test_issue98248_error_propagationz,StructTest.test_issue98248_error_propagation÷sQù€÷	ñ	õ	1ð
ò	:ˆFØ(ò
:Ù& v°Ñ'8Õ9ñ
:ð	:ñ	˜sÔ#Ù˜sÕ#r'N)&rÇrÈrÉr6rIr\rŒrŸrïrúrrrr$r1r5r:rRrVr]r`rerÚcpython_onlyrsryrrr„r‡rr˜ržr¡r¦r©r¹rÃr$r'r r.r.$s4„òFò?ò*(ò03)òj LòDXòt>ò0ò AòB?ò%ò6 ò8'ò.0ò)7òVEòOò2òIð
×Ññ#óð#ò5ò"5ò,Aò$?ò.ò,ò$
Fð
×Ññóðð
×Ññóðð
×Ññóðò#ð
×Ññ-óð-ðB
×Ññ$óñ$r'r.có:—eZdZdZd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
y	)
ÚUnpackIteratorTestzD
    Tests for iterative unpacking (struct.Struct.iter_unpack).
    cóð‡—ˆfd„}tjd«}|jd«}||«|jd«}||«‰jtj«5|jd«ddd«‰jtj«5|jd«ddd«tjd«}‰jtj«5|jd«ddd«‰jtj«5|jd«ddd«y#1swYŒÊxYw#1swYŒxYw#1swYŒ[xYw#1swYyxYw)	Nc󆕗‰j|tj«‰j|tj«yr))ÚassertIsInstancerÚIteratorÚIterable)Úitr5s €r Ú_check_iteratorz:UnpackIteratorTest.test_construct.<locals>._check_iterators+ø€Ø×!Ñ! "¤c§l¡lÔ3Ø×!Ñ! "¤c§l¡lÕ3r'ú>ibcpr's1234567s123456s12345678rs12)r2rr›r@rA)r5rÍr%rÌs`   r Útest_constructz!UnpackIteratorTest.test_constructs%ø€ô	4ô
M‰M˜'Ó"ˆØ
]‰]˜3Ó
ˆÙ˜ÔØ
]‰]˜:Ó
&ˆÙ˜Ôà
×
Ñ
œvŸ|™|Ó
,ñ	%Ø
M‰M˜)Ô$÷	%à
×
Ñ
œvŸ|™|Ó
,ñ	'Ø
M‰M˜+Ô&÷	'ô
M‰M˜#ÓˆØ
×
Ñ
œvŸ|™|Ó
,ñ	Ø
M‰M˜#Ô÷	à
×
Ñ
œvŸ|™|Ó
,ñ	!Ø
M‰M˜%Ô ÷	!ð	!÷	%ð	%ú÷	'ð	'ú÷	ð	ú÷	!ð	!ús0Á-EÂ&EÃ4E Ä-E,ÅEÅEÅ E)Å,E5cóŠ—ttjd«jd««}|j	t
|«y)NrÎr')ršr2rr›r@rC)r5Úiter_unpack_types  r Útest_uninstantiablez&UnpackIteratorTest.test_uninstantiable#s2€Ü¤§
¡
¨gÓ 6× BÑ BÀ3Ó GÓHÐØ×Ñœ)Ð%5Õ6r'cóˆ—tjd«}ttdd««}|j	|«}|jt
|«d«|jt
|«d«|jt
|«d«|jtt|«|jtt|«y)Nú>IBr0é©irC©i	rØ)i
é)	r2rrrÝr›r1Únextr@Ú
StopIteration©r5r%rrÌs    r Útest_iteratezUnpackIteratorTest.test_iterate's€ÜM‰M˜%Ó ˆÜ”%˜˜2“,ÓˆØ
]‰]˜1Ó
ˆØ×Ñœ˜b› ?Ô3Ø×Ñœ˜b›Ð#3Ô4Ø×Ñœ˜b›Ð#3Ô4Ø×Ñœ-¬¨rÔ2Ø×Ñœ-¬¨rÕ2r'cód—tjd«}ttdd««}|j	t|««}|j
t|«d«|j
t|«d«|jtt|«|jtt|«y©NrÔr0érÖr×)
r2rrrÝr›r7r1rÙr@rÚrÛs    r Útest_arbitrary_bufferz(UnpackIteratorTest.test_arbitrary_buffer1s€ÜM‰M˜%Ó ˆÜ”%˜˜2“,ÓˆØ
]‰]œ: a›=Ó
)ˆØ×Ñœ˜b› ?Ô3Ø×Ñœ˜b›Ð#3Ô4Ø×Ñœ-¬¨rÔ2Ø×Ñœ-¬¨rÕ2r'có—tj}tjd«}t	tdd««}|j
|«}|j||«d«t|«|j||«d«t|«|j||«d«t|«|j||«d«|jtt|«|j||«d«y)NrÔr0rÕr9r?r)ÚoperatorÚlength_hintr2rrrÝr›r1rÙr@rÚ)r5Úlhr%rrÌs     r Útest_length_hintz#UnpackIteratorTest.test_length_hint:sÄ€Ü
×
!Ñ
!ˆÜM‰M˜%Ó ˆÜ”%˜˜2“,ÓˆØ
]‰]˜1Ó
ˆØ×Ñ™˜B› Ô#ÜˆRŒØ×Ñ™˜B› Ô#ÜˆRŒØ×Ñ™˜B› Ô#ÜˆRŒØ×Ñ™˜B› Ô#Ø×Ñœ-¬¨rÔ2Ø×Ñ™˜B› Õ#r'c	ó.—tjdttdd«««}|j	t|«d«|j	t|«d«|j
tt
|«|j
tt
|«yrÞ)r2r›rrÝr1rÙr@rÚ)r5rÌs  r Útest_module_funcz#UnpackIteratorTest.test_module_funcIsl€ä
×
Ñ
 ¤u¬U°1°b«\Ó':Ó
;ˆØ×Ñœ˜b› ?Ô3Ø×Ñœ˜b›Ð#3Ô4Ø×Ñœ-¬¨rÔ2Ø×Ñœ-¬¨rÕ2r'cóR—ddddddddtd	«fd
td«fdg
}|D]_\}}|ddd
…}|j|tjd|«d«|j|tjd|««|j|tjd|«d«|j|tjd|««t
jdk(rQ|j|tjd|«d«|j|tjd|««Œ|j|tjd|«d«|j|tjd|««Œbgd¢}|D]\}}|jtjtjd|«d««|jtjtjd|ddd
…«d««Œƒtjdtj«}|j|ddzd«tjdtj«}|j|ddzd«gd¢}	|	D],\}}}|j|tj||««Œ.gd¢}
|
D]+\}}|jttj||«Œ-dg}|D],\}}}|j|tj||««Œ.y)N)s<r)sÀr~)sÿ{güï@)sç?)sgp>)óg)s€g€s|z+infsüz-inf)sU5gTÕ?r#ú<erú>eÚlittleÚe))rësü)rësþ)rësÿÿ)rës|)rës~)rësÿr0é~))rìsg`>)rìrêg`>)rìrêgP>)rìóÿgø?)rìrðgüÿÿÿÿû?)rìógü?)rìrñré)rìs<gð?)rìó<gð?)rìrògð?)rìó{ÿiàÿ)rìróiïÿ)rìs€g`¾)rìó€g`¾)rìrôgP¾)rìs¼gð¿)rìó¼gð¿)rìrõgð¿)rìsûÿiÿÿ))rìçþï@)rìçð@)rìçœuˆ<ä7~)rìçþïÀ)rìçðÀ)rìçœuˆ<ä7þ)rërö)rër÷)rërø)rërù)rërú)rërû)rìsgÿgÿÿÿýŸ@)
Úfloatr1r2rDr3ràrrƒrÚisnanÚnanr@r·)r5Ú&format_bits_float__cleanRoundtrip_listÚle_bitsrPÚbe_bitsÚformat_bits__nan_listÚ
formatcodeÚbitsrÚ format_bits_float__rounding_listÚ%format_bits_float__roundingError_listÚ+format_bits_float__doubleRoundingError_lists            r Útest_half_floatz"UnpackIteratorTest.test_half_floatQsÜ€ð
ØØ"Ø!Ø!ØØØ
œ% ›-Ð(Ø
œ% ›-Ð(Ø)ð2
Ð.ðAó	?‰JˆGQØ™d ˜d‘mˆGØ×Ñ˜Q¤§
¡
¨d°GÓ <¸QÑ ?Ô@Ø×Ñ˜W¤f§k¡k°$¸Ó&:Ô;Ø×Ñ˜Q¤§
¡
¨d°GÓ <¸QÑ ?Ô@Ø×Ñ˜W¤f§k¡k°$¸Ó&:Ô;Ü}‰} Ò(Ø× Ñ  ¤F§M¡M°#°wÓ$?ÀÑ$BÔCØ× Ñ  ¬&¯+©+°c¸1Ó*=Ö>à× Ñ  ¤F§M¡M°#°wÓ$?ÀÑ$BÔCØ× Ñ  ¬&¯+©+°c¸1Ó*=Ö>ð	?ò!
Ðð!6ò	LÑˆJ˜ØO‰OœDŸJ™J¤v§}¡}°T¸4Ó'@ÀÑ'CÓDÔEØO‰OœDŸJ™J¤v§}¡}°T¸4ÁÀ"À¹:Ó'FÀqÑ'IÓJÕKð	Lô—‘˜T¤4§8¡8Ó,ˆØ×ј ™ TÑ)¨4Ô0Ü—‘˜T¤D§H¡H 9Ó-ˆØ×ј ™ TÑ)¨4Ô0ò,
Ð(ð,$Dò	?ÑˆJ˜˜aØ×Ñ˜T¤6§;¡;¨z¸1Ó#=Õ>ð	?ò1
Ð-ð Cò	I‰MˆJ˜Ø×Ñœm¬V¯[©[¸*ÀaÕHð	Ið

7ð7
Ð3ð$Oò	?ÑˆJ˜˜aØ×Ñ˜T¤6§;¡;¨z¸1Ó#=Õ>ñ	?r'N)rÇrÈrÉÚ__doc__rÏrÒrÜràrårçrr$r'r rÆrÆ	s+„ñò!ò*7ò3ò3ò
$ò3óf?r'rÆÚ__main__)Úcollectionsrr*r“rrârír2ràr‘rBrÚtest.supportrÚtest.support.script_helperrrr*rrr!r&r,rîr.rÆrÇÚmainr$r'r ú<module>rs—ðÝÛÛ	ÛÛÛÛ
Û
ÛåÝ&Ý7àm‰m˜uÑ$€àJ€
Ø
(€
à$.ó"òò%ôc$×"Ñ"ôc$ôJn?˜×*Ñ*ôn?ðbˆzÒØ€H‡MM…Oðr'