python (3.11.7)

(root)/
lib/
python3.11/
test/
__pycache__/
test_zipimport.cpython-311.opt-2.pyc

ezddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
mZddlm
Z
ddlmZddlmZmZmZmZddlZddlZddlZddlZddlZddlmZmZmZ	ddlZn
#e$rdZYnwxYwdZe edd	Z!d
Z"dZ#dZ$ejZ%e#e!e%e&eZ'd
Z(dZ)dZ*ej+,dZ-ej+,dZ.ej/0e(dzZ1dZ2Gddej3Z4Gdde4Z5ej6Gdde5Z7Gddej3Z8dZ9e:dkrej;dSdS)N)support)
import_helper)	os_helper)ZipFileZipInfo
ZIP_STOREDZIP_DEFLATED)
extract_tb
extract_stackprint_tbzHdef get_name():
    return __name__
def get_file():
    return __file__
<???>execz def do_raise(): raise TypeError
ctj|}tjjtjddt|dz|dzz|z}|S)Nz<iLLr)marshaldumps	importlibutilMAGIC_NUMBERstructpackint)comtimesizedatapycs     G/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_zipimport.pymake_pycr&s[=D>&FAJJ,d[.@	B	BBDHICJcB|tjdS)N.)replaceossep)paths rmodule_path_to_dotted_namer'-s<<$$$r 
ziptestmoduleziptestpackageziptestpackage2	junk95142z
junk95142.zip.py.pycceZdZdZdZdS)ImportHooksBaseTestCasectjdd|_tjdd|_tjdd|_tjt
j|_dSN)	sysr&	meta_path
path_hookspath_importer_cacheclearr
modules_setupmodules_beforeselfs rsetUpzImportHooksBaseTestCase.setUp@scHQQQK	qqq).+%%'''+9;;r c|jtjdd<|jtjdd<|jtjdd<tjt
j|jdSr1)	r&r2r3r4r5r6rmodules_cleanupr8r9s rtearDownz ImportHooksBaseTestCase.tearDownGsci>
aaa Oqqq%%'''%t':;;;;r N)__name__
__module____qualname__r;r>r rr/r/>s2<<<<<<<<r r/ceZdZeZdZefdZefdZ	dZ
dZdZdZ
dZd	Zejd
ddZd
ZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#dZ$dZ%dZ&d Z'd!Z(d"Z)d#Z*d$Z+d%Z,d&Z-d'Z.ej/e0j1d(ud)d*Z2d+Z3d,Z4d-Z5d.Z6d(S)/UncompressedZipImportTestCasectjtjt
|dSr1)	linecache
clearcache	zipimport_zip_directory_cacher6r/r;r9s rr;z#UncompressedZipImportTestCase.setUpSsB	&,,...%%d+++++r cv|tj||D]\}\}}tj||}|dtjkr4tj|st	j	|stj
|}tj|st	j	|t|d5}||dddn#1swxYwYdS)Nwb)
addCleanuprrmtreeitemsr$r&joinr%isdirmakedirsdirnameopenwrite)	r:filesdirNamenamerrr&dnamefps	         rmakeTreez&UncompressedZipImportTestCase.makeTreeZs=	
	('222#(;;==
	#
	#D-5$7<<..DBx26!!w}}T**&K%%%--w}}U++'K&&&$%%#HHTNNN###############
	#
	#s
D,,D0	3D0	c|tj|t|d5}|D]L\}\}}t|t
j|}|j|_	|
||M|dd}	|	|	|_dddn#1swxYwY|dd}
|
t|d5}|}dddn#1swxYwYt|d5}||
||ddddS#1swxYwYdSdS)NwcommentstuffrbrL)rMrunlinkrrOrtime	localtimecompression
compress_typewritestrgetr^rTreadrU)r:rVzipNamekwzrXrrzinfor^r_fs            rmakeZipz%UncompressedZipImportTestCase.makeZipks	
	('222
Wc
"
"	$a',{{}}
(
(#muddnU&;&;<<&*&6#

5$''''ffY--G"#		$	$	$	$	$	$	$	$	$	$	$	$	$	$	$w%%gt$$
 vvxx
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 gt$$





















	s6BB>>CC1DDD-+E%%E),E)c|j|fi|tjdttjd|}|d}||||rI|	}|
|tjjtg|R|zdSdS)Nrr"call)rnr2r&insertTEMP_ZIPr
import_modulerPrgget_fileassertEqualr$)r:expected_extrVmodulesrjmodrpfiles        rdoTestz$UncompressedZipImportTestCase.doTestsU!!b!!!8$$$%chhw&7&788vvf~~DIII	;<<>>DT27<$+")$+$+$+-9$:
;
;
;
;
;	;	;r cdtjvr|ddtjvr
tjd=dtt
fi}	|d|d|jtkr|	ddSdS#t$r,|jtkr|	dYdSYdSwxYw)Nzlibzzlib is a builtin modulezzlib.pyr,z"expected test to raise ImportErrorz&expected test to not raise ImportError)r2builtin_module_namesskipTestrwNOWtest_srcrzrdrfailImportErrorr	r:rVs  r
testAFakeZlibz+UncompressedZipImportTestCase.testAFakeZlibs&S---MM4555S[  F#S(O,	@KKuf---
:--		>?????.-		D	D	D<//		BCCCCCC0//	DsB/CCcntdzttfi}|d|tdSNr,TESTMODrrrzrs  rtestPyz$UncompressedZipImportTestCase.testPys053/2E5'*****r cttzttfi}|t|tdSr1)rpyc_extrtest_pycrzrs  rtestPycz%UncompressedZipImportTestCase.testPycs17"S(O4GUG,,,,,r ctdzttfttzttfi}|t|tdSr)rrrrrrzrs  rtestBothz&UncompressedZipImportTestCase.testBoths@53/7"S(O5GUG,,,,,r c>d}tj|}tjt|dd|d}tdztdftdztdz
|fi}fd	}d|t|
dS)N
state = 'old'???rFr,
state = 'new'r-c>|jddS)Noldrustaterxr:s rcheckzFUncompressedZipImportTestCase.testUncheckedHashBasedPyc.<locals>.check!SY.....r rp	rrsource_hash_bootstrap_external_code_to_hash_pyccompilerrrzr:sourcerbytecoderVrs`     rtestUncheckedHashBasedPycz7UncompressedZipImportTestCase.testUncheckedHashBasedPycs!n00880BBFE6**


53"86!C"Hh#79	/	/	/	/	/D%u55555r z_imp.check_hash_based_pycsalwaysc>d}tj|}tjt|dd|d}tdztdftdztdz
|fi}fd	}d|t|
dS)NrrrFr,rr-rc>|jddS)Nnewrrs rrzOUncompressedZipImportTestCase.test_checked_hash_based_change_pyc.<locals>.checkrr rrrs`     r"test_checked_hash_based_change_pycz@UncompressedZipImportTestCase.test_checked_hash_based_change_pycs!n00880BBFE6**


53"86!C"Hh#79	/	/	/	/	/D%u55555r cdtdztdfi}|d|tdS)Nr,)rrrzrs  rtestEmptyPyz)UncompressedZipImportTestCase.testEmptyPys053),D%)))))r ctt}|dxxdzcc<tdzttftt
zt|fi}|d|tdS)Nrr,	bytearrayrrrrrrz)r:badmagic_pycrVs   rtestBadMagicz*UncompressedZipImportTestCase.testBadMagicsd **Q453/7"S,$79E5'*****r ctt}|dxxdzcc<ttzt|fi}	|d|t|ddS#tj$rK}|	|j
t|d|j
j
Yd}~dSd}~wwxYw)Nrrr,zThis should not be reachedzmagic number)rrrrrrzrrHZipImportErrorassertIsInstance	__cause__rassertInmsg)r:rrVexcs    r
testBadMagic2z+UncompressedZipImportTestCase.testBadMagic2s **Q47"S,$78	=KKug...II233333'	=	=	=!!#-===MM.#-*;<<<<<<<<<	=s1A11CACCctt}|dxxdzcc<tdzttftt
zt|fi}|d|tdS)Nr,r)r:badtime_pycrVs   rtestBadMTimez*UncompressedZipImportTestCase.testBadMTimesf))	B453/7"S+$68E5'*****r cttdtt}tdzt
tfttzt
|fi}|d|tdS)Nrr,)rtest_colenrrrrrz)r:twenty_thirty_eight_pycrVs   r
test2038MTimez+UncompressedZipImportTestCase.test2038MTimes]#+7Is8}}"M"M53/7"S*A$BDE5'*****r cttjz}|dztztt
f|tztztt
fi}|t|ttdSN__init__)TESTPACKr$r%rrrrrz)r:packdirrVs   rtestPackagez)UncompressedZipImportTestCase.testPackagesYRV#:%/#x7"W,sHo?GUHg66666r cZttjz}|tztjz}|dztzt
tf|dztzt
tf|tztzt
tfi}|t|tttdSr)	rr$r%	TESTPACK2rrrrrzr:rpackdir2rVs    rtestSubPackagez,UncompressedZipImportTestCase.testSubPackage
sRV#Y&/:%/#xJ&03/G#g-X@	
GUHiAAAAAr cttjz}|tztjz}|tdf|tdf|t
ztzttfi}|t|ttt
dSNr)	rr$r%rrrrrrzrs    rtestSubNamespacePackagez5UncompressedZipImportTestCase.testSubNamespacePackagespRV#Y&/3)C9G#g-X@	
GUHiAAAAAr c*ttjz}|tztjz}|tzdztjz}|tdf|t
ztzttf|tdf|tdf|t
ztzttf|t
zdztzttf|t
ztzttfi}|tdf|t
zdztzttf|tdf|t
zdztzttf|t
ztzttfi}tj	d}|
||t}|||tjd|tjd|tjt}|dt%|j|j\}	}
|tjt|	tjd|d|
tjdtj|tjddd	}|d
t%|jt/|jddtjzd
}||dd	|tjdtt
f}|d|jtjdtjdtt
dzf}|tjt|jtjddttf}tj|}|dt%|j|j\}	}
|tjt|	tjd|d|
tjdtjd|t
f}|tjt|jtjdtjd|t
dzf}|tjt|jtjdtjd|t
dzf}|d|jtjddS)
N3r2	path1.ziprrr"rK)rr$r%rrrrrr&abspathrnTEMP_DIRr[r2rqrrsrur__path__basenamesplitr#listrP__file__)
r:rrpackdir3files1files2zip1zip2rxp1p2mpathsubpkgs
             rtestMixedNamespacePackagez7UncompressedZipImportTestCase.testMixedNamespacePackage"sNRV#Y&/h&,rv5C9G#g-XS"IS"IW$w.hW$s*W4sHoW$w.h
AC9G#c)G3c8_S"IW$s*W4sHoW$w.h	Aw{++VT"""

fd###	4   4   %h//
	
C--...B))(33RXXbf5E5Eb5IJJJbhhrv&6&6r&:;;;%h&6&6rvs&C&CCRC&HIIC--...S\""1%++K"&,@AA!D#2#...%chh'/B&C&CDDcl&8&8&@&@&DEEE%chh'C-/H&I&IJJ))(33++BF33B7	9	9	98Y/00%f--C--...B))(33RXXbf5E5Eb5IJJJbhhrv&6&6r&:;;;%chh/@&A&ABB))(33++BF33B7	9	9	9%chh#
/F&G&GHH))(33++BF33B7	9	9	9%chh#
/F&G&GHHcl&8&8&@&@&DEEEEEr c
ttjz}|tztjz}|tzdztjz}|tdf|t
ztzttf|tdf|tdf|t
ztzttf|t
zdztzttf|t
ztzttfi}tj	d}|
|||tdf|t
zdztzttf|tdf|t
zdztzttf|t
ztzttfi}tj	d}|
||tjd|tjd|tjt}|dt!|j|j\}	}
|d|	tjd|d|
tjdtj|tjd	dd
}|dt!|jt)|jddtjzd}||dd
|tjd	tt
f}|d|jtjdtjd	tt
dzf}|d|jtjdd	ttf}tj|}|dt!|j|j\}	}
|d|	tjd|d|
tjdtjd	|t
f}|d|jtjd
tjd	|t
dzf}|d|jtjd
tjd	|t
dzf}|d|jtjd
dS)Nrrrrz	path2.ziprrrr"rKrrr)rr$r%rrrrrr&rrnr2rqrrsrurrrr#rrPr)
r:rrrrrrrrxrrrrs
             rtestNamespacePackagez2UncompressedZipImportTestCase.testNamespacePackageosRV#Y&/h&,rv5C9G#g-XS"IS"IW$w.hW$s*W4sHoW$w.h
Aw{++VT"""C9G#c)G3c8_S"IW$s*W4sHoW$w.h	A
w{++VT"""	4   4   %h//
	
C--...Bbhhrv&6&6r&:;;;bhhrv&6&6r&:;;;%h&6&6rvs&C&CCRC&HIIC--...S\""1%++K"&,@AA!D#2#...%chh'/B&C&CDDcl&8&8&@&@&DEEE%chh'C-/H&I&IJJcl&8&8&@&@&DEEE8Y/00%f--C--...Bbhhrv&6&6r&:;;;bhhrv&6&6r&:;;;%chh/@&A&ABBcl&8&8&@&@&DEEE%chh#
/F&G&GHHcl&8&8&@&@&DEEE%chh#
/F&G&GHHcl&8&8&@&@&DEEEEEr c	ttjz}|tztjz}|dztzt
tf|dztzt
tf|tztzt
tfdtzt
tfi}|tj
tttd5}|
D]S\}\}}t|tj|}|j|_d|_|||T	dddn#1swxYwYt+jt}	||	jt||	tt7j5t7jdt<|	d}
| |
|!|
t*j|"|
d|
#d}||
$d|j%|	#t}||	$t|j%dddn#1swxYwY|	&d}
| |
|!|
j't*j|"|
j'dtPj)*|
}|
j'+|||
j'$d|j%|	&t}
tPj)*|
}|
j'+|||	$t|j%tQj,tj-d}tj./tt}||||"|	|dz||	|tz|"|	|tz|tz}ta|}tQj,|}||tbj2v|3|	4t|3|	4|||	$||j%|j5j'}|3|4|||$||j%t+jttjztz}||jt||j6ttjzdS)Nrspamr]spamignorer)7rr$r%rrrrrrMrrarrrrOrrbrcrdrer^rfrHzipimporterruarchive
assertTrue
is_packagewarningscatch_warningssimplefilterDeprecationWarningfind_moduleassertIsNotNonerassertFalseload_moduleget_filenamer	find_specloaderrrmodule_from_specexec_modulersrr&rPr'r2rwassertIsNone
get_source__spec__prefix)r:rrrVrkrXrrrlzifind_modload_modrxspecexec_modexisting_pack_pathexpected_path_pathmod_pathmod_namerzi2s                     rtestZipImporterMethodsz4UncompressedZipImportTestCase.testZipImporterMethodssRV#Y&/:%/#xJ&03/G#g-X'!C?4
	
	((333
Xs
#
#	(q',{{}}
(
(#muddnU&;&;<<&*&6# '


5$''''	
(	(	(	(	(	(	(	(	(	(	(	(	(	(	(	(
"8
,
,X...

h//000
$
&
&
	F
	F!(,>???~~f--H  ***!!(I,ABBBX0088999++F33HX226::H<MNNN..**CR__X66EEE
	F
	F
	F
	F
	F
	F
	F
	F
	F
	F
	F
	F
	F
	F
	F||F##T"""dk9+@AAA//77888>22488)))11&998;LMMM||H%%n--d33$$$22CLAAA&4X>>GJW\\(H==+-?@@@w';<<===

g	&9::;;;x''9::;;;g%-h77%h//CK/000"--11222"--1122222CLAAA$&++H55666,,X66EEE#Hrv$5$@AAh///X%677777s&A)EEEDK11K58K5c	ttjz}|tztjz}|dztzt
tf|dztzt
tf|tztzt
tfdtzt
tfi}|tj
tttd5}|
D]S\}\}}t|tj|}|j|_d|_|||T	dddn#1swxYwYt+jt}	||	j||	||	j|dtzt
tfi}
||
ttd5}|

D]S\}\}}t|tj|}|j|_d|_|||T	dddn#1swxYwY|	||	j||	d}||||jt*jtj t|	|!|	j|"t*j#$|	j%|"|	ddS)Nrrr]rspam2aname_does_not_matter)&rr$r%rrrrrrMrrarrrrOrrbrcrdrer^rfrHrru_fileskeysinvalidate_cachesupdaterrrrremoverrrIrgr)r:rrrVrkrXrrrlrnewfilers            rtestInvalidateCachesz2UncompressedZipImportTestCase.testInvalidateCachessRV#Y&/:%/#xJ&03/G#g-X'!C?4	
	((333
Xs
#
#	(q',{{}}
(
(#muddnU&;&;<<&*&6# '


5$''''	
(	(	(	(	(	(	(	(	(	(	(	(	(	(	(	(
"8
,
,))5::<<888
))5::<<888W$sHo6
W
Xs
#
#	(q'.}}
(
(#muddnU&;&;<<&*&6# '


5$''''	
(	(	(	(	(	(	(	(	(	(	(	(	(	(	(	(	))5::<<888||G$$T"""dk9+@AAA
	(
###)8<<RZHHIII",,'=>>?????s&A)EEE<A)J22J69J6c
ttjz}|tztjz}|dztzt
tf|tztzt
tfi}|tj
tttd5}|
D]S\}\}}t|tj|}|j|_d|_|||T	dddn#1swxYwYt+jttjz|z}	||	jt||	j|||	tt9j5t9jdt>|	 t}
||	!t|
j"dddn#1swxYwY|	#t}tHj%&|}
|j'(|
||j'!t|
j"|)|	ttjzdz|)|	ttjztzttjz|ztz}t+j|}
t9j5t9jdt>|
*t}|+||,|t*j|)|
t| t}||!t|j"dddn#1swxYwY|
#t}|+||,|j't*j|)|j'ttHj%&|}|j'(|||j'!t|j"ttjztz}t[|}tIj.|}
||t^j0v|1|	2t|1|	2|||	!||
j"|
j3}|1|2|||!||
j"dS)Nrr]seggsr)4rr$r%rrrrrrMrrarrrrOrrbrcrdrer^rfrHrrurrrrrrrrrrrrrrrrrrrrrr'rsr2rwrr
__loader__)r:rrrVrkrXrrrlrrxrpkg_pathrfind_mod_dottedr
rrrs                   r$testZipImporterMethodsInSubDirectoryzBUncompressedZipImportTestCase.testZipImporterMethodsInSubDirectory+s0RV#Y&/J&03/G#g-X@	
	((333
Xs
#
#	(q',{{}}
(
(#muddnU&;&;<<&*&6# '


5$''''	
(	(	(	(	(	(	(	(	(	(	(	(	(	(	(	(
"8bf#4w#>
?
?X...G,,,

i00111

$
&
&	G	G!(,>???..++CR__Y77FFF	G	G	G	G	G	G	G	G	G	G	G	G	G	G	G
||I&&n--d33$$$11)<<clKKKy26'9J'FGGHHHy26'9G'CDDEEEbf$w.:#H--

$
&
&	J	J!(,>???!oog66O  111!!/93HIIIS^^G44555&227;;H,,W55x7H
J
J
J	J	J	J	J	J	J	J	J	J	J	J	J	J	J	J}}W%%T"""dk9+@AAA//88999>22488)))K$$W--x/@	B	B	Brv%/-h77%h//CK/000"--	22333"--1122222CLAAA&++H55666,,X66EEEEEs9A)DDDA(H88H<?H<C$RR
Rc|tjtt	td5}|j|_d}t
dtdD}|||dddn#1swxYwYtj
t}|||||
dt|dS)Nr]ztestdata.datc3K|]}|VdSr1rB).0xs  r	<genexpr>z<UncompressedZipImportTestCase.testGetData.<locals>.<genexpr>ts"//q//////r zzipimporter object)rMrrarrrrdbytesrangerfrHrruget_datarrepr)r:rkrXrrs     rtestGetDataz)UncompressedZipImportTestCase.testGetDataos	((333
Xs
#
#	#q ,AM!D//E#JJ/////D
JJtT"""		#	#	#	#	#	#	#	#	#	#	#	#	#	#	#
"8
,
,r{{400111

*DHH55555sABBBcd}tt|ddtt|}tt
zt|fdtdfi}|t
|tdS)Nzif 1:  # indent hack
        def get_file():
            return __file__
        if __loader__.get_data("some.data") != b"some data":
            raise AssertionError("bad data")
r
rz	some.dataz	some data)rrrrrrrz)r:srcrrVs    rtestImporterAttrz.UncompressedZipImportTestCase.testImporterAttr{si2
wsGV44c3s88DD7"S#JsK02GUG,,,,,r c|d}tdzt|fi}||tjdttjt}|	|
dd	|	|
dddS)Nz[if 1:  # indent hack
        def test(val):
            assert(val)
            return val
r,rr)
rrrnr2r&rqrrrrsrutestassertRaisesAssertionError)r:r/rVrxs    rtestDefaultOptimizationLevelz:UncompressedZipImportTestCase.testDefaultOptimizationLevels53*-U8$$$%g..!a(((	-
SXXa[[!,,,,,r crtdzttfi}|d|tddS)Nr,s6Some StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome StuffSome Stuff)r_rrs  rtestImport_WithStuffz2UncompressedZipImportTestCase.testImport_WithStuffsD53/2E5'*		,	,	,	,	,r c`|tj|tdSr1)ruinspect	getsourcer)r:modules  rassertModuleSourcez0UncompressedZipImportTestCase.assertModuleSources)*622H=====r c|tdzttfi}|d|t|jdSNr,r)rrrrzr<rs  r
testGetSourcez+UncompressedZipImportTestCase.testGetSources753/2E5'0GHHHHHr c*tttddtt	t}t
dzttft
tzt|fi}|t|t
|jdS)Nr
rr,r)	rrrrrrrrzr<)r:rrVs   rtestGetCompiledSourcez3UncompressedZipImportTestCase.testGetCompiledSourcesjwx&993H

NN53/7"S#J0GUG$2IJJJJJr ctdzttfdtdfi}|d|t|dS)Nr,xyz.txtz>>> log.append(True)
rr)r:callbackrVs   r
runDoctestz(UncompressedZipImportTestCase.runDoctestsA53/S":;=E5'99999r cg}tjdc}t_	tjd|dt|t_n#|t_wxYw||dgdSNrCT)packagemodule_relativeglobs)doctestmastertestfilelocalsru)r:r;log
old_masters    r
doDoctestFilez+UncompressedZipImportTestCase.doDoctestFiles%,^T"
GN	(64hh




(GNNZGN''''dV$$$$$s$AAc:||jdSr1)rErQr9s rtestDoctestFilez-UncompressedZipImportTestCase.testDoctestFiles*+++++r cg}tjd|dt||dgdSrG)rKDocFileTestrNrunru)r:r;rOs   rdoDoctestSuitez,UncompressedZipImportTestCase.doDoctestSuitesUvt((	
	
	
#%%%dV$$$$$r c:||jdSr1)rErWr9s rtestDoctestSuitez.UncompressedZipImportTestCase.testDoctestSuites+,,,,,r c	|td#t$r}|jj}t|dd\}}}}||tt|j
dd\}}}}||ttj}t|d|||t#jrdndYd}~dSd}~wwxYw)NzThis ought to be impossiblerrz$    def do_raise(): raise TypeError
z$                    ^^^^^^^^^^^^^^^
)do_raiser4	Exception
__traceback__tb_nextr
ru	raise_srcstriprtb_frameioStringIOrrgetvalueendswithrhas_no_debug_ranges)	r:r;etbrmlnonliness	         rdoTracebackz)UncompressedZipImportTestCase.doTracebacksW	@OO$!!>???#			(B%b!,,Q/LAc!DT9??#4#4555(a88;LAc!DT9??#4#4555

ARAOOAJJLL1113387








	s%EDE

Ec|tdzttfi}|d|t|jdSr>)rrr_rzrmrs  r
testTracebackz+UncompressedZipImportTestCase.testTracebacks853	"23D%t/?@@@@@r Nzneed an unencodable filenamec*tjdz}|tj|t	|d5}ttdztjt}|j
|_||tdddn#1swxYwYtj|t}t"j|}|j|dSNz.zipr]r,)rTESTFN_UNENCODABLErMrarrrrbrcrrdrerfrrHrrrrrrr)r:filenamerkrlrrxs      rtestUnencodablez-UncompressedZipImportTestCase.testUnencodables/&8	((333
Xs
#
#	(qGeOT^C-@-@AAE"&"2E
JJuh'''	(	(	(	(	(	(	(	(	(	(	(	(	(	(	($X..88AAn--d33$$$$$sAB##B'*B'ctjdz}|tj|t	|d5}ttdztjt}|j
|_||tdddn#1swxYwYtj||t"5tjt%j|dddn#1swxYwY|t"5tjt)t%j|dddn#1swxYwY|t"5tjt+t%j|ddddS#1swxYwYdSrq)rTESTFNrMrarrrrbrcrrdrerfrrHrr3	TypeErrorr$fsencoder
memoryview)r:rsrkrls    r
testBytesPathz+UncompressedZipImportTestCase.testBytesPaths#f,	((333
Xs
#
#	(qGeOT^C-@-@AAE"&"2E
JJuh'''	(	(	(	(	(	(	(	(	(	(	(	(	(	(	(
	h'''


y
)
)	9	9!"+h"7"7888	9	9	9	9	9	9	9	9	9	9	9	9	9	9	9


y
)
)	D	D!)BK,A,A"B"BCCC	D	D	D	D	D	D	D	D	D	D	D	D	D	D	D


y
)
)	E	E!*R[-B-B"C"CDDD	E	E	E	E	E	E	E	E	E	E	E	E	E	E	E	E	E	EsIAB##B'*B''DDD44E44E8;E84GG!Gcrtdzttfi}|d|tddS)Nr,scommentr^rrs  rtestCommentz)UncompressedZipImportTestCase.testComments453/2E5':>>>>>r cttdzttfi}|d|tdddS)Nr,s@cruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftcruftshi)r_r^rrs  rtestBeginningCruftAndCommentz:UncompressedZipImportTestCase.testBeginningCruftAndComments653/2E5'NNNNNr cxtdzttfi}|d|tddzdS)Nr,cir|rrs  rtestLargestPossibleCommentz8UncompressedZipImportTestCase.testLargestPossibleComments953/2E5'4=3IJJJJJr )7r?r@rArrdr;rr[rrrnrzrrrrrunittestmockpatchrrrrrrrrrrrrrr"r-r0r5r7r<r?rArErQrSrWrYrmroskipIfrrrrtrzr}rrrBr rrDrDOs,K,,,'/####"&.0;;; @@@B+++------
666]5x@@66A@6***+++
=
=
=++++++777BBB	B	B	BKFKFKFZGFGFGFRG8G8G8R(@(@(@TBFBFBFH
6
6
6	-	-	---- ,,,>>>IIIKKK:::

%
%
%,,,%%%---@@@,AAAX_Y1T9355	%	%55	%EEE ???OOOKKKKKr rDceZdZeZdS)CompressedZipImportTestCaseN)r?r@rAr	rdrBr rrr
sKKKr rc|eZdZdZdZdZdZdZdZe	j
ejddZ
d	Zd
ZdS)BadFileZipImportTestCasec\|tjtj|dSr1)r3rHrr)r:rss  rassertZipFailurez)BadFileZipImportTestCase.assertZipFailures1)2#/	;	;	;	;	;r c0|ddS)NAdfjdkFJKDFJjdklfjsrr9s r
testNoFilez#BadFileZipImportTestCase.testNoFiles344444r c0|ddSrrr9s rtestEmptyFilenamez*BadFileZipImportTestCase.testEmptyFilenamesb!!!!!r c	@|ttjd|ttjtd|ttjtt
jtdS)N)kwd)r3rwrHrrrr$rxr9s rtestBadArgsz$BadFileZipImportTestCase.testBadArgss{)Y%:DAAA)Y%:GNNN)Y%:r{73344	6	6	6	6	6r c6|ddzdS)NAirr9s rtestFilenameTooLongz,BadFileZipImportTestCase.testFilenameTooLong#s cEk*****r ctjttjt|tdSr1)rrarcreate_empty_filerr9s r
testEmptyFilez&BadFileZipImportTestCase.testEmptyFile&s>!!!#G,,,g&&&&&r zmode 000 not supported.c"tjttjttjd}	tj||tj	5}tj
tdddn#1swxYwYtjtdtjtdS#tjtdtjtwxYw)Nri)rrarr$rTO_CREATcloser3rHrrchmod)r:fdcms   rtestFileUnreadablez+BadFileZipImportTestCase.testFileUnreadable+s!!!
WWbj#
.
.		&HRLLL""9#;<<
/%g...
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/

HWe$$$W%%%%%
HWe$$$W%%%%s03C3B
CBC B!C5Dctjtttd}|d||tdS)Nw+aaaaaaaaaaaaaaaaaaaaaa)rrarrTrUrr)r:rZs  rtestNotZipFilez'BadFileZipImportTestCase.testNotZipFile:s[!!!
'4
 
 




g&&&&&r ctjtttd}|tjdd|d|tj	t}	tj5tjdt|t|jddddn#1swxYwY|t|jd|t|jd|t|jd|t|jd|t|jd|t|jd|t|jdtj}||d||dtj5tjdt|||jddddn#1swxYwY|||jd|t4|jd|||jd|||jdtjdS#tjwxYw)Nrz=IiPKaaaaaaaaaaaaaaaaaarabc)rrarrTrUrrrrHrrrrrr3rwrrrrrget_coder+rrrOSErrorrIr6)r:rZrkerrors    r_testBogusZipFilez*BadFileZipImportTestCase._testBogusZipFileBsI!!!
'4
 
 
T:..///




!'**	3(**
B
B%h0BCCC!!)Q]DAAA
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
i===id;;;i===it<<<iT:::iT:::it<<<,EammE22333akk%00111(**
?
?%h0BCCC!!%>>>
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
eQZ777gqz5999eQ\5999eQ\5999*0022222I*002222sVL9-<C5)L95C99L9<C9=EL97J
L9JL9 J!A8L99 MN)r?r@rArrrrrrrrris_wasirrrrBr rrrs;;;555"""666+++'''
X_W_&?@@&&A@&''' 3 3 3 3 3r rc8tjtdSr1)rrarrBr rtearDownModuleres
Wr __main__)<r2r$rrimportlib.utilrrbr
unittest.mockrr2rtest.supportrrzipfilerrrr	rHrFrKr9rb	tracebackr
rrr|rrrrr_rr'rrrrrrr&rrrrrcache_from_sourcepyc_filerTestCaser/rD
requires_zlibrrrr?mainrBr r<module>rs



				



&&&&&&"""""">>>>>>>>>>>>				9999999999KKKKDDD'(GV
,
,/	%%%dikk8GS##h--00	
7??;''
7???++>++GeO<<
<<<<<h/<<<"{
K{
K{
K{
K{
K$;{
K{
K{
K|"?P3P3P3P3P3x0P3P3P3fzHMOOOOOs&A++A54A5