shell bypass 403

UnknownSec Shell

: /lib64/python2.7/ [ drwxr-xr-x ]

name : zipfile.pyo
�
zfc	@s[dZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZyddlZej
Z
Wn ek
r�eZej
Z
nXddddddd	d
dg	Zdefd��YZdefd
��YZeZdd>dZdd>dZdd>dZdZdZdZdZeje�ZdZdZdZ dZ!dZ"dZ#dZ$dZ%dZ&dZ'dZ(dZ)eje(�Z*dZ+dZ,dZ-dZ.dZ/dZ0dZ1dZ2dZ3dZ4dZ5dZ6d Z7d!Z8d"Z9d#Z:dZ;d$Z<d%Z=d&Z>d'Z?eje>�Z@dZAdZBdZCdZDdZEdZFdZGdZHdZIdZJdZKdZLd(ZMd)ZNejeM�ZOd*ZPd+ZQejeP�ZRdZSdZTdZUdZVdZWdZXdZYdZZdZ[dZ\d,Z]ej^d-�Z_d.�Z`d/�Zad0�Zbd1�Zcd2�Zddeefd3��YZfd4fd5��YZgid6d6d7d6d8d6d8d6d8d6d8d6d9d6d:d6d;d6d<d6d9d6d=d 6d>d"6d?d%6d@dA6dBdC6dDdE6ZhdFe	jifdG��YZjd	eefdH��YZkd
ekfdI��YZledJ�ZmendKkrWem�ndS(Ls
Read and write ZIP files.
i����Nt
BadZipfileterrort
ZIP_STOREDtZIP_DEFLATEDt
is_zipfiletZipInfotZipFilet	PyZipFiletLargeZipFilecBseZRS((t__name__t
__module__(((s/usr/lib64/python2.7/zipfile.pyRscBseZdZRS(su
    Raised when writing a zipfile, the zipfile requires ZIP64 extensions
    and those extensions are disabled.
    (R	R
t__doc__(((s/usr/lib64/python2.7/zipfile.pyRsiiiiis<4s4H2LHsPKiiiiiii	s<4s4B4HL2L5H2LsPKi
iii
iiiis<4s2B4HL2L2HsPKs<4sLQLsPKs
<4sQ2H2L4QsPKiPKs<HHc
Cs�tj}t}g}d}}x�|dt|�kr�||||d!�\}}|d|}	||kr�||kr�|j|||!�n|	}t}n|	}q"W|s�|Sdj|�S(Niit(t_EXTRA_FIELD_STRUCTtunpacktFalsetlentappendtTruetjoin(
textratxidsRtmodifiedtbuffertstarttitxidtxlentj((s/usr/lib64/python2.7/zipfile.pyt_strip_extra�s 	
	
cCs,yt|�rtSWntk
r'nXtS(N(t_EndRecDataRtIOErrorR(tfp((s/usr/lib64/python2.7/zipfile.pyt_check_zipfile�s
cCsgt}yIt|d�r*td|�}n$t|d��}t|�}WdQXWntk
rbnX|S(s�Quickly see if a file is a ZIP file by checking the magic number.

    The filename argument may be a file or file-like object too.
    treadR trbN(RthasattrR!topenR(tfilenametresultR ((s/usr/lib64/python2.7/zipfile.pyR�s
c
Csny|j|td�Wntk
r,|SX|jt�}t|�tkrR|Stjt|�\}}}}|tkr�|S|dks�|dkr�t	d��n|j|tt
d�|jt
�}t|�t
kr�|Stjt|�\
}}}	}
}}}
}}}|tkr$|S||t
<||t<||t<|
|t<||t<||t<||t<|S(sM
    Read the ZIP64 end-of-archive records and use that to update endrec
    iiis3zipfiles that span multiple disks are not supported(tseektsizeEndCentDir64LocatorRR"RtstructRtstructEndArchive64LocatortstringEndArchive64LocatorRtsizeEndCentDir64tstructEndArchive64tstringEndArchive64t_ECD_SIGNATUREt_ECD_DISK_NUMBERt_ECD_DISK_STARTt_ECD_ENTRIES_THIS_DISKt_ECD_ENTRIES_TOTALt	_ECD_SIZEt_ECD_OFFSET(tfpintoffsettendrectdatatsigtdisknotrelofftdiskstsztcreate_versiontread_versiontdisk_numtdisk_dirtdircountt	dircount2tdirsizet	diroffset((s/usr/lib64/python2.7/zipfile.pyt
_EndRecData64�s6
0






c	Cs�|jdd�|j�}y|jtd�Wntk
rEd	SX|j�}t|�tkr�|dd!tkr�|ddkr�tj	t
|�}t|�}|jd�|j|t�t
|t|�St|d
td�}|j|d�|j�}|jt�}|dkr�|||t!}t|�tkrId	Sttj	t
|��}|t}||t|t|!}|j|�|j||�t
|||||�Sd	S(s�Return data from the "End of Central Directory" record, or None.

    The data is a list of the nine items in the ZIP "End of central dir"
    record followed by a tenth item, the file seek offset of this record.iiii����sRiiNi(R(ttelltsizeEndCentDirRtNoneR"RtstringEndArchiveR*RtstructEndArchivetlistRRHtmaxtrfindt_ECD_COMMENT_SIZE(	R7tfilesizeR:R9tmaxCommentStartRtrecDatatcommentSizetcomment((s/usr/lib64/python2.7/zipfile.pyR�s>



cBsJeZdZdZddd�Zdd�Zd�Zd�Zd�Z	RS( s>Class with attributes describing each file in the ZIP archive.t
orig_filenameR&t	date_timet
compress_typeRVRt
create_systemR@textract_versiontreservedt	flag_bitstvolumet
internal_attrt
external_attrt
header_offsettCRCt
compress_sizet	file_sizet	_raw_timetNoNamei�iicCs#||_|jtd��}|dkr:|d|!}ntjdkrptj|krp|jtjd�}n||_||_|ddkr�td��nt	|_
d|_d|_t
jdkr�d|_n	d|_d|_d|_d|_d|_d|_d|_d|_dS(	Nit/i�s+ZIP does not support timestamps before 1980Rtwin32ii(RWtfindtchrtostseptreplaceR&RXt
ValueErrorRRYRVRtsystplatformRZR@R[R\R]R^R_R`(tselfR&RXt	null_byte((s/usr/lib64/python2.7/zipfile.pyt__init__6s.													c
Cs�|j}|ddd>|dd>B|dB}|dd>|d	d>B|ddB}|jd
@rsd}}}n|j}|j}|j}|j}|dkr�|tkp�|tk}n|r�d}	|tj	|	dtj
|	�d	||�}n|tks|tkr_|s&td��nd
}d
}td|j
�|_
td|j
�|_n|j�\}
}tj	tt|j
|j||j|||||t|
�t|��
}||
|S(s'Return the per-file header as a string.ii�i	iiiiiiis<HHQQs'Filesize would require ZIP64 extensionsI����i-N(RXR]RbRcRdRRKtZIP64_LIMITR*tpacktcalcsizeRROR[R@t_encodeFilenameFlagststructFileHeadertstringFileHeaderR\RYR(
Rqtzip64tdttdosdatetdostimeRbRcRdRtfmtR&R]theader((s/usr/lib64/python2.7/zipfile.pyt
FileHeader`s:	&&
				#cCstt|jt�r`y|jjd�|jfSWqptk
r\|jjd�|jdBfSXn|j|jfSdS(Ntasciisutf-8i(t
isinstanceR&tunicodetencodeR]tUnicodeEncodeError(Rq((s/usr/lib64/python2.7/zipfile.pyRw�s
!cCs(|jd@r|jjd�S|jSdS(Nisutf-8(R]R&tdecode(Rq((s/usr/lib64/python2.7/zipfile.pyt_decodeFilename�s
cCs�|j}tj}xjt|�dkr~|d|d �\}}|dkrm|dkrq|d|dd!�}no|dkr�|d|dd	!�}nJ|d
kr�|d|dd!�}n%|d
kr�d}ntd|f�d
}|jdkr|||_|d7}n|jdkr8|||_|d7}n|jdkrm|j}|||_|d7}qmn||d}qWdS(Nis<HHiis<QQQiis<QQiis<QiisCorrupt extra field %sl����l��((l����l��(RR*RRtRuntimeErrorRdRcRa(RqRRttptlntcountstidxtold((s/usr/lib64/python2.7/zipfile.pyt_decodeExtra�s4			



	
(RWR&RXRYRVRRZR@R[R\R]R^R_R`RaRbRcRdRe(i�iiiiiN(
R	R
Rt	__slots__RsRKR�RwR�R�(((s/usr/lib64/python2.7/zipfile.pyRs2*'			t
_ZipDecryptercBsDeZdZd�Ze�Zd�Zd�Zd�Zd�ZRS(sClass to handle decryption of files stored within a ZIP archive.

    ZIP supports a password-based form of encryption. Even though known
    plaintext attacks have been found against it, it is still useful
    to be able to get data out of such a file.

    Usage:
        zd = _ZipDecrypter(mypwd)
        plain_char = zd(cypher_char)
        plain_text = map(zd, cypher_text)
    cCs�d}dgd}xhtd�D]Z}|}xAtd�D]3}|d@r^|d?d@|A}q9|d?d@}q9W|||<q W|S(s�Generate a CRC-32 table.

        ZIP encryption uses the CRC32 one-byte primitive for scrambling some
        internal keys. We noticed that a direct implementation is faster than
        relying on binascii.crc32().
        I ���iiiii���(trange(tpolyttableRtcrcR((s/usr/lib64/python2.7/zipfile.pyt_GenerateCRCTable�s

cCs%|d?d@|j|t|�Ad@AS(s(Compute the CRC32 primitive on one byte.ii���i�(tcrctabletord(RqtchR�((s/usr/lib64/python2.7/zipfile.pyt_crc32�scCs=d|_d|_d|_x|D]}|j|�q"WdS(NixV4i�gE#i�xV4(tkey0tkey1tkey2t_UpdateKeys(Rqtpwdtp((s/usr/lib64/python2.7/zipfile.pyRs�s
			
cCsx|j||j�|_|j|jd@d@|_|jddd@|_|jt|jd?d@�|j�|_dS(Ni�I����i�ii(R�R�R�RjR�(Rqtc((s/usr/lib64/python2.7/zipfile.pyR��scCsPt|�}|jdB}|||dAd?d@A}t|�}|j|�|S(sDecrypt a single character.iiii�(R�R�RjR�(RqR�tk((s/usr/lib64/python2.7/zipfile.pyt__call__�s

(	R	R
RR�R�R�RsR�R�(((s/usr/lib64/python2.7/zipfile.pyR��s					tstoretshrinktreducetimplodettokenizetdeflatet	deflate64tbzip2tlzmattersetlz77itwavpackiatppmdibt
ZipExtFilecBs�eZdZdd>ZdZejd�Zde	d�Z
dd�Zdd�Zd	�Z
dd
�Zd�Zd�Zd
�ZRS(sZFile-like object for reading an archive member.
       Is returned by ZipFile.open().
    iiis*^(?P<chunk>[^\r\n]+)|(?P<newline>\n|\r\n?)cCsf||_||_||_|j|_|j|_|j|_|jtkrct	j
d�|_n\|jtkr�t
j|j�}|r�td|j|f��q�td|jf��nd|_d|_d|_d|k|_d|_|jdk	r|jd8_n||_|j|_t|d�rY|j|_td�d	@|_n	d|_dS(
Ni�scompression type %d (%s)scompression type %dRitUiRbI����(t_fileobjt
_decryptert_close_fileobjRYt_compress_typeRct_compress_sizet_compress_leftRtzlibt
decompressobjt
_decompressorRtcompressor_namestgettNotImplementedErrort_unconsumedt_readbuffert_offsett
_universalRKtnewlinestmodeR&tnameR$Rbt
_expected_crctcrc32t_running_crc(RqtfileobjR�tzipinfot	decryptert
close_fileobjtdescr((s/usr/lib64/python2.7/zipfile.pyRss4								i����cCs�|jra|dkra|jjd|j�d}|dkra|j|j|!}||_|Sn|js}tjj||�Sd}x|dks�t|�|kr�|jd�}|dkr�|S|j	j
|�}|jd�}|dk	rJ|j
dkrg|_
n||j
kr-|j
j|�n|jt|�7_|dS|jd�}|dkr|||t|� }n|jt|�7_||7}q�W|S(	srRead and return a line from the stream.

        If limit is specified, at most limit bytes will be read.
        is
iRitnewlinetchunkN(R�R�RiR�tiotBufferedIOBasetreadlineRtpeektPATTERNtsearchtgroupRKR�R(RqtlimitRtlinet	readaheadtmatchR�R�((s/usr/lib64/python2.7/zipfile.pyR�Bs8		!
cCs�|t|j�|jkr{|j|�}t|�|jkrc||j|j|_d|_q{|jt|�8_n|j|j|jd!S(s6Returns buffered bytes without advancing the position.ii(RR�R�R"(RqtnR�((s/usr/lib64/python2.7/zipfile.pyR�tscCstS(N(R(Rq((s/usr/lib64/python2.7/zipfile.pytreadable�scCs�d}|dkrd}nxztr�|dkrB|j|�}n2|t|�krp|j|t|��}n|St|�dkr�|S||7}qWdS(s�Read and return up to n bytes.
        If the argument is omitted, None, or negative, data is read and returned until EOF is reached..
        Ri����iN(RKRtread1R(RqR�tbufR:((s/usr/lib64/python2.7/zipfile.pyR"�s		cCs^|jdkrdSt||j�d@|_|rZ|j|jkrZtd|j��ndS(NI����sBad CRC-32 for file %r(R�RKR�R�RR�(Rqtnewdatateof((s/usr/lib64/python2.7/zipfile.pyt_update_crc�s
cCsg|dks|dkr$|j}nt|j�|j}|jdkrW||t|j�krW||t|j�}t||j�}t	||j�}|j
j|�}|jt|�8_|r�|jdk	r�dj
t|j|��}n|jtkrE|j|d|jdk�|j|j||_d|_qW|j|7_nt|j�dkr4||kr4|jtkr4|jj|jt|||j��}|jj|_t|j�dko�|jdk}|r�||jj�7}n|j|d|�|j|j||_d|_n|j|j|j|!}|jt|�7_|S(s7Read up to n bytes with at most one read() system call.iRR�N(RKtMAX_NRR�R�R�R�ROt
MIN_READ_SIZEtminR�R"R�RtmapR�RR�RR�t
decompresstunconsumed_tailtflush(RqR�tlen_readbuffertnbytesR:R�((s/usr/lib64/python2.7/zipfile.pyR��s>(!	$cCs8z|jr|jj�nWdtt|�j�XdS(N(R�R�tclosetsuperR�(Rq((s/usr/lib64/python2.7/zipfile.pyR��s	iN(R	R
RR�R�tretcompileR�RKRRsR�R�R�R"R�R�R�(((s/usr/lib64/python2.7/zipfile.pyR�s
'2
		
	4cBseZdZdZdeed�Zd�Zd�Z	d�Z
d�Zd�Zd�Z
d	�Zd
�Zd�Zed��Zejd
��Zdd�Zddd�Zddd�Zdddd�Zd�Zd�Zddd�Zdd�Zd�Zd�ZRS(sd Class with methods to open, read, write, close, list zip files.

    z = ZipFile(file, mode="r", compression=ZIP_STORED, allowZip64=False)

    file: Either the path to the file, or a file-like object.
          If it is a path, the file will be opened and closed by ZipFile.
    mode: The mode can be either read "r", write "w" or append "a".
    compression: ZIP_STORED (no compression) or ZIP_DEFLATED (requires zlib).
    allowZip64: if True ZipFile will create files with ZIP64 extensions when
                needed, otherwise it will raise an exception when this would
                be necessary.

    trcCs\|dkrtd��n|tkr*n*|tkrKtsTtd�qTn	td�||_t|_d|_i|_g|_	||_
|jdd	�d|_}d|_d	|_t|t�rXd|_||_id
d6dd6dd6}yt|||�|_Wqtk
rT|dkrNd}}t|||�|_qU�qXn'd
|_||_t|dd�|_y�|dkr�|j�n�|dkr�t|_no|dkry$|j�|jj|jd�Wq"tk
r|jjdd�t|_q"Xntd��Wn2|j}d|_|jsQ|j�n�nXdS(s>Open the ZIP file with mode read "r", write "w" or append "a".R�twtas(ZipFile() requires mode "r", "w", or "a"s.Compression requires the (missing) zlib modules(That compression method is not supporteditbRR#twbsr+biR�isMode must be "r", "w" or "a"N(R�R�R�(R�RRR�t_allowZip64Rt
_didModifytdebugt
NameToInfotfilelisttcompressionRmR�RKR�t_commentR�t
basestringt_filePassedR&R%R Rtgetattrt_RealGetContentsRR(t	start_dirRR�(RqtfileR�R�t
allowZip64tkeytmodeDictR ((s/usr/lib64/python2.7/zipfile.pyRs�sf											


		


			
cCs|S(N((Rq((s/usr/lib64/python2.7/zipfile.pyt	__enter__4scCs|j�dS(N(R�(Rqttypetvaluet	traceback((s/usr/lib64/python2.7/zipfile.pyt__exit__7scCsH|j}yt|�}Wntk
r8td��nX|sKtd�n|jdkrb|GHn|t}|t}|t|_|t	||}|t
tkr�|tt
8}n|jdkr�||}dG|G|G|GHn|||_|j|jd�|j|�}tj|�}d}x||krC|jt�}	t|	�tkrftd��ntjt|	�}	|	ttkr�td��n|jdkr�|	GHn|j|	t�}
t|
�}|j|	t�|_|j|	t�|_|	t |_!|	dd!\|_"|_#|_$|_%|_&|_'}}
|_(|_)|_*|	d	d
!\|_+|_,|_-||_.|
d?d|
d
?d	@|
d@|d?|d
?d@|d@df|_/|j0�|j!||_!|j1�|_2|j3j4|�||j5|j2<|t|	t|	t|	t}|jdkr*dG|GHq*q*WdS(s/Read in the table of contents for the ZIP file.sFile is not a zip fileiisgiven, inferred, offsetisTruncated central directorys&Bad magic number for central directoryiiii	i�iiii?ttotalN(6R RRRR�R5R6t_ECD_COMMENTR�t
_ECD_LOCATIONR0R/R-R)R�R(R"t	cStringIOtStringIOtsizeCentralDirRR*RtstructCentralDirt
_CD_SIGNATUREtstringCentralDirt_CD_FILENAME_LENGTHRt_CD_EXTRA_FIELD_LENGTHRt_CD_COMMENT_LENGTHRVt_CD_LOCAL_HEADER_OFFSETRaR@RZR[R\R]RYRbRcRdR^R_R`ReRXR�R�R&R�RR�(RqR R9tsize_cdt	offset_cdtconcattinferredR:RtcentdirR&txtttd((s/usr/lib64/python2.7/zipfile.pyR�:sd	






I	&
"cCs.g}x!|jD]}|j|j�qW|S(s+Return a list of file names in the archive.(R�RR&(RqtlR:((s/usr/lib64/python2.7/zipfile.pytnamelistscCs|jS(sJReturn a list of class ZipInfo instances for files in the
        archive.(R�(Rq((s/usr/lib64/python2.7/zipfile.pytinfolist�scCsJdd	GHx:|jD]/}d|jd }d|j||jfGHqWdS(
s+Print a table of contents for the zip file.s%-46s %19s %12ss	File NamesModified    tSizes%d-%02d-%02d %02d:%02d:%02dis
%-46s %s %12dN(s	File NamesModified    R (R�RXR&Rd(Rqtzinfotdate((s/usr/lib64/python2.7/zipfile.pytprintdir�s	cCsnd}xa|jD]V}y8|j|jd��}x|j|�rFq4WWdQXWqtk
re|jSXqWdS(s%Read all the files and check the CRC.iiR�Ni(R�R%R&R"R(Rqt
chunk_sizeR!tf((s/usr/lib64/python2.7/zipfile.pyttestzip�s
cCs5|jj|�}|dkr1td|��n|S(s,Return the instance of ZipInfo given 'name'.s(There is no item named %r in the archiveN(R�R�RKtKeyError(RqR�tinfo((s/usr/lib64/python2.7/zipfile.pytgetinfo�s
cCs
||_dS(s)Set default password for encrypted files.N(R�(RqR�((s/usr/lib64/python2.7/zipfile.pytsetpassword�scCs|jS(s.The comment text associated with the ZIP file.(R�(Rq((s/usr/lib64/python2.7/zipfile.pyRV�scCsXt|�tkrBddl}|jdtdd�|t }n||_t|_dS(Ni����s3Archive comment is too long; truncating to %d bytest
stackleveli(RtZIP_MAX_COMMENTtwarningstwarnR�RR�(RqRVR-((s/usr/lib64/python2.7/zipfile.pyRV�s	
	cCs|j|d|�j�S(s)Return file bytes (as a string) for name.R�(R%R"(RqR�R�((s/usr/lib64/python2.7/zipfile.pyR"�scCsd|dkrtd�n|js-td�n|jrH|j}t}nt|jd�}t}y�t|t�r{|}n|j	|�}|j
|jd�|jt
�}t|�t
kr�td��ntjt|�}|ttkr�td	��n|j|t�}|tr/|j|t�n||jkrWtd
|j|f�n|jd@}	d}
|	r&|s�|j}n|s�td|�nt|�}
|jd
�}t|
|dd
!�}|jd@r�|jd?d@}
n|jd?d@}
t|d�|
kr&td|��q&nt ||||
d|�SWn|rY|j!�n�nXdS(s#Return file-like object for 'name'.R�R�trUs&open() requires mode "r", "U", or "rU"s3Attempt to read ZIP archive that was already closedR#isTruncated file headers Bad magic number for file headers3File name in directory "%s" and header "%s" differ.is6File %s is encrypted, password required for extractioniii�iisBad password for fileR�N(R�R�R/("R�R R�RR%R&RR�RR)R(RaR"tsizeFileHeaderRRR*RRxt
_FH_SIGNATURERyt_FH_FILENAME_LENGTHt_FH_EXTRA_FIELD_LENGTHRWR]RKR�R�R�ReRbR�R�R�(RqR�R�R�tzef_filetshould_closeR!tfheadertfnametis_encryptedtzdtbytestht
check_byte((s/usr/lib64/python2.7/zipfile.pyR%�sd						




cCsOt|t�s!|j|�}n|dkr<tj�}n|j|||�S(s#Extract a member from the archive to the current working directory,
           using its full name. Its file information is extracted as accurately
           as possible. `member' may be a filename or a ZipInfo object. You can
           specify a different directory using `path'.
        N(R�RR)RKRktgetcwdt_extract_member(RqtmembertpathR�((s/usr/lib64/python2.7/zipfile.pytextracts
cCsC|dkr|j�}nx!|D]}|j|||�q"WdS(s�Extract all members from the archive to the current working
           directory. `path' specifies a different directory to extract to.
           `members' is optional and must be a subset of the list returned
           by namelist().
        N(RKRRA(RqR@tmembersR�R�((s/usr/lib64/python2.7/zipfile.pyt
extractalls
c
Cs|jjdtjj�}tjjrH|jtjjtjj�}ntjj|�d}tjjjd�|jtjj�D��}tjjdkr2d}t	|t
�r�d�|D�}ntj|dt
|��}|j|�}d�|jtjj�D�}tjjjd	�|D��}ntjj||�}tjj|�}tjj|�}|r�tjj|�r�tj|�n|jd
dkr�tjj|�s�tj|�n|S|j|d|��/}t|d��}	tj||	�Wd
QXWd
QX|S(sbExtract the ZipInfo object 'member' to a physical
           file on the path targetpath.
        Rgicss6|],}|dtjjtjjfkr|VqdS(RN(RkR@tcurdirtpardir(t.0R((s/usr/lib64/python2.7/zipfile.pys	<genexpr>6ss\s:<>|"?*cSs%i|]}td�t|��qS(t_(R�(RFR�((s/usr/lib64/python2.7/zipfile.pys
<dictcomp><s	RGcss|]}|jd�VqdS(t.N(trstrip(RFR((s/usr/lib64/python2.7/zipfile.pys	<genexpr>Ascss|]}|r|VqdS(N((RFR((s/usr/lib64/python2.7/zipfile.pys	<genexpr>Bsi����R�R�N(R&RmRkR@Rltaltsept
splitdriveRtsplitR�R�tstringt	maketransRt	translatetnormpathtdirnametexiststmakedirstisdirtmkdirR%R�tshutiltcopyfileobj(
RqR?t
targetpathR�tarcnametillegalR�t	upperdirstsourcettarget((s/usr/lib64/python2.7/zipfile.pyR>)s4!."cCs+|j|jkr;ddl}|jd|jdd�n|jdkrVtd�n|jsktd	�n|jtkr�t	r�td
�n|jt
tfkr�td�n|js'd}t
|j�tkr�d}n0|jtkr�d
}n|jtkrd}n|r't|d��q'ndS(s6Check for errors before writing a file to the archive.i����NsDuplicate name: %rR+iR�R�s write() requires mode "w" or "a"s4Attempt to write ZIP archive that was already closeds.Compression requires the (missing) zlib modules(That compression method is not supportedsFiles counttFilesizesZipfile sizes would require ZIP64 extensions(R�R�(R&R�R-R.R�R�R RYRR�RR�RKRR�tZIP_FILECOUNT_LIMITRdRtRaR(RqR!R-trequires_zip64((s/usr/lib64/python2.7/zipfile.pyt_writecheckWs2								cCs|jstd��ntj|�}tj|j�}tj|j�}|dd!}|d	krm|}ntj
jtj
j|�d�}x*|dtj
tjfkr�|d}q�W|r�|d7}nt||�}|dd@d>|_|rt|_n$|d	kr |j|_n	||_|j|_d|_|jj�|_|j|�t|_|r�d|_d|_d|_|jdO_|jj|�||j |j!<|jj"|j#t$��d	St%|d
��
}	d|_}
d|_}|j&o|jdt'k}|jj"|j#|��|jt(krat)j*t)j+t)j,d�}
nd	}
d}xx|	j-d�}|s�Pn|t.|�}t/||
�d@}
|
r�|
j0|�}|t.|�}n|jj"|�qpWWd	QX|
r,|
j1�}|t.|�}|jj"|�||_n	||_|
|_||_|r�|j&r�|t'krrtd��n|t'kr�td��q�n|jj�}|jj2|jd�|jj"|j#|��|jj2|d�|jj|�||j |j!<d	S(sLPut the bytes from filename into the archive under the name
        arcname.s7Attempt to write to ZIP archive that was already closediiiRgi��liNR#g�������?i�iiI����s*File size has increased during compressings-Compressed size larger than uncompressed sizei (3R R�RktstattS_ISDIRtst_modettimet	localtimetst_mtimeRKR@RPRKRlRJRR`RRYR�tst_sizeRdR]RIRaRaRR�RcRbR�RR�R&twriteR�RR%R�RtRR�tcompressobjtZ_DEFAULT_COMPRESSIONtDEFLATEDR"RR�tcompressR�R((RqR&RYRYtstRTtmtimeRXR!R RbRcRztcmprRdR�tposition((s/usr/lib64/python2.7/zipfile.pyRiss�	
	"
		
				

				cCsEt|t�s}td|dtjtj��d �}|j|_|jddkrqd|_|jdO_q�d|_n|}|js�t	d	��n|dk	r�||_nt|�|_|jj
�|_|j|�t|_t|�d
@|_|jtkrRtjtjtjd�}|j|�|j�}t|�|_n|j|_|jtkpy|jtk}|r�|jr�td��n|jj|j |��|jj|�|j!d
@r|r�dnd}|jjt"j#|t$|j|j|j��n|jj�|j%j&|�||j'|j<dS(s�Write a file into the archive.  The contents is the string
        'bytes'.  'zinfo_or_arcname' is either a ZipInfo instance or
        the name of the file in the archive.R&RXii����Rgi�Aii�s7Attempt to write to ZIP archive that was already closedI����i�s'Filesize would require ZIP64 extensionsis<LLQQs<LLLLNi�Ai�((R�RReRfR�RYR&R`R R�RKRRdRIRaRaRR�R�RbRR�RjRkRlRmR�RcRtR�RRiR�R]R*Rut
_DD_SIGNATURER�RR�(Rqtzinfo_or_arcnameR:RYR!tcoRzR~((s/usr/lib64/python2.7/zipfile.pytwritestr�sL		
	

cCs|j�dS(s2Call the "close()" method in case the user forgot.N(R�(Rq((s/usr/lib64/python2.7/zipfile.pyt__del__scCs�|jdkrdSz�|jdkr�|jr�|jj�}x�|jD]�}|j}|ddd>|dd>B|d	B}|d
d>|dd>B|dd	B}g}|jtks�|j	tkr�|j
|j�|j
|j	�d
}d
}n|j}|j	}|jtkr/|j
|j�d}	n	|j}	|j}
|r�t
|
d�}
tjddt|�ddt|�|�|
}
td|j�}td|j�}n|j}|j}y�|j�\}
}tjtt||j||j||j|||j||t|
�t|
�t|j�d|j|j|	�}Wn�tk
r�tj tt||j||j|j!|j|||j||t|j"�t|
�t|j�d|j|j|	fIJ�nX|jj#|�|jj#|
�|jj#|
�|jj#|j�qGW|jj�}t|j�}||}|}d}|t$kred}n*|tkrzd}n|tkr�d}n|rI|j%s�t&|d��ntjt't(ddddd||||�}|jj#|�tjt)t*d|d�}|jj#|�t+|d�}t+|d
�}t+|d
�}ntjt,t-dd||||t|j.��	}|jj#|�|jj#|j.�|jj/�nWd|j}d|_|j0s�|j1�nXdS(sJClose the file, and for mode "w" and "a" write the ending
        records.NR�R�ii�i	iiiiiiI����l��s<HHtQii-sFiles countsCentral directory offsetsCentral directory sizes would require ZIP64 extensionsi,i��(R�R�(i(2R RKR�R�RIR�RXRdRtRcRRaRRR*RuRROR[R@RwRRRZR\RYRbRVR_R`tDeprecationWarningRotstderrR]R&RiR_R�RR.R/R+R,R�RMRLR�R�R�R�(Rqtpos1R!R{R|R}RRdRcRat
extra_dataR[R@R&R]Rtpos2tcentDirCounttcentDirSizet
centDirOffsetR`tzip64endrectzip64locrecR9R ((s/usr/lib64/python2.7/zipfile.pyR�s�	&&									


!	
				
			N(R	R
RRKR RRRsRRR�RRR#R&R)R*tpropertyRVtsetterR"R%RARCR>RaRiRuRvR�(((s/usr/lib64/python2.7/zipfile.pyR�s0
G			E				
			O	.	\3	cBs#eZdZdd�Zd�ZRS(sDClass to create ZIP archives with Python library files and packages.Rc
Cs�tjj|�\}}tjj|�r|tjj|d�}tjj|�r�|rjd||f}n|}|jr�dG|GdG|GHn|j|dd!|�\}}|jr�dG|GHn|j||�tj	|�}|j
d�x�|D]�}	tjj||	�}
tjj|	�\}}tjj|
�rptjjtjj|
d��r�|j|
|�q�q�|dkr�|j|
dd!|�\}}|jr�dG|GHn|j||�q�q�Wq�|jr�d	G|GHnx�tj	|�D]�}	tjj||	�}
tjj|	�\}}|dkr�|j|
dd!|�\}}|jrbdG|GHn|j||�q�q�Wn`|ddkr�t
d
�n|j|dd!|�\}}|jr�dG|GHn|j||�dS(
s,Add all files from "pathname" to the ZIP archive.

        If pathname is a package directory, search the directory and
        all package subdirectories recursively for all *.py and enter
        the modules into the archive.  If pathname is a plain
        directory, listdir *.py and enter all modules.  Else, pathname
        must be a Python *.py file and the module will be put into the
        archive.  Added modules are always module.pyo or module.pyc.
        This method will compile the module.py into module.pyc if
        necessary.
        s__init__.pys%s/%ssAdding package intasii����tAddings.pysAdding files from directorys.Files added with writepy() must end with ".py"sAdding fileN(RkR@RLRTRtisfileR�t
_get_codenameRitlistdirtremovetsplitexttwritepyR�(
RqtpathnametbasenametdirR�tinitnameR7RYtdirlistR&R@troottext((s/usr/lib64/python2.7/zipfile.pyR�zsZ		

!					c
Cs8|d}|d}|d}tjj|�r]tj|�jtj|�jkr]|}n�tjj|�s�tj|�jtj|�jkr�ddl}|jr�dG|GHny|j||dt	�Wn|j
k
r�}|jGHnX|}n|}tjj|�d}	|r.d||	f}	n||	fS(	sReturn (filename, archivename) for the path.

        Given a module name path, return the correct file path and
        archive name, compiling if necessary.  For example, given
        /python/lib/string, return (/python/lib/string.pyc, string).
        s.pys.pycs.pyoi����Nt	Compilingis%s/%s(
RkR@R�RbRgt
py_compileR�R�RKRtPyCompileErrortmsgRL(
RqR�R�tfile_pytfile_pyctfile_pyoR7R�terrtarchivename((s/usr/lib64/python2.7/zipfile.pyR��s*


$	$		(R	R
RR�R�(((s/usr/lib64/python2.7/zipfile.pyRwsAc	s�ddl}|jd�}|dkr7tjd}n|sN|ddkrc|GHtjd�n|ddkr�t|�d	kr�|GHtjd�nt|dd
��}|j�WdQXn�|ddkrAt|�d	kr�|GHtjd�nt|dd
��}|j	�}WdQX|r9dj
|�GHndGHnT|ddkr�t|�d
krx|GHtjd�nt|dd
��}|j|d	�WdQXn�|ddkr�t|�d
kr�|GHtjd�n�fd��t|dddt���}x|d	D]s}t
jj|�}|sTt
jjt
jj|��}n|dt
jt
jfkrxd}n�|||�qWWdQXndS(Ni����sE        Usage:
            zipfile.py -l zipfile.zip        # Show listing of a zipfile
            zipfile.py -t zipfile.zip        # Test if a zipfile is valid
            zipfile.py -e zipfile.zip target # Extract zipfile into target dir
            zipfile.py -c zipfile.zip src ... # Create zipfile from sources
        iis-ls-cs-es-tiR�s.The following enclosed file is corrupted: {!r}sDone testingics�tjj|�r(|j||t�nvtjj|�r�|rS|j||�nxHtj|�D]4}�|tjj||�tjj||��qcWndS(N(RkR@R�RiRRTR�R(tzfR@tzippathtnm(taddToZip(s/usr/lib64/python2.7/zipfile.pyR�sR�RR(s-ls-cs-es-t(ttextwraptdedentRKRotargvtexitRRR#R&tformatRCRRkR@R�RQRDRE(targsR�tUSAGER�tbadfileR@R�((R�s/usr/lib64/python2.7/zipfile.pytmain�sT	!	t__main__(oRR*RkReRoRVtbinasciiRRbR�R�RMR�R�tImportErrorRKt__all__t	ExceptionRRRRtR_R,RRRMRLRvRJR0R1R2R3R4R5R6RQR	R
RRR
Rt_CD_CREATE_VERSIONt_CD_CREATE_SYSTEMt_CD_EXTRACT_VERSIONt_CD_EXTRACT_SYSTEMt
_CD_FLAG_BITSt_CD_COMPRESS_TYPEt_CD_TIMEt_CD_DATEt_CD_CRCt_CD_COMPRESSED_SIZEt_CD_UNCOMPRESSED_SIZERRRt_CD_DISK_NUMBER_STARTt_CD_INTERNAL_FILE_ATTRIBUTESt_CD_EXTERNAL_FILE_ATTRIBUTESRRxRyR0R1t_FH_EXTRACT_VERSIONt_FH_EXTRACT_SYSTEMt_FH_GENERAL_PURPOSE_FLAG_BITSt_FH_COMPRESSION_METHODt_FH_LAST_MOD_TIMEt_FH_LAST_MOD_DATEt_FH_CRCt_FH_COMPRESSED_SIZEt_FH_UNCOMPRESSED_SIZER2R3R+R,R)R.R/R-t_CD64_SIGNATUREt_CD64_DIRECTORY_RECSIZEt_CD64_CREATE_VERSIONt_CD64_EXTRACT_VERSIONt_CD64_DISK_NUMBERt_CD64_DISK_NUMBER_STARTt_CD64_NUMBER_ENTRIES_THIS_DISKt_CD64_NUMBER_ENTRIES_TOTALt_CD64_DIRECTORY_SIZEt_CD64_OFFSET_START_CENTDIRRrtStructR
RR!RRHRtobjectRR�R�R�R�RRR�R	(((s/usr/lib64/python2.7/zipfile.pyt<module>s�<$


				+	=�<
����cB

© 2025 UnknownSec
Display on the page Footer | Anyleson - Learning Platform
INR (₹)
India Rupee
$
United States Dollar

Display on the page Footer

Privacy Policy

Effective Date: 24 August , 2024

At Anyleson, we are committed to protecting your privacy and ensuring that your personal information is handled securely and responsibly. This Privacy Policy outlines how we collect, use, and safeguard your data when you use our platform.


Information We Collect


  1. Personal Information:

    • Name, email address, phone number, and billing details.

    • Account login credentials (username and password).



  2. Course Usage Data:

    • Progress and activity within courses.

    • Feedback and reviews submitted for courses.



  3. Technical Information:

    • IP address, browser type, device information, and cookies for improving website functionality.



  4. Communication Data:

    • Information from your interactions with our customer support.




How We Use Your Information


  1. To Provide Services:

    • Process course purchases, registrations, and access to content.



  2. To Improve User Experience:

    • Analyze user behavior to enhance course offerings and platform features.



  3. To Communicate:

    • Send updates, notifications, and promotional offers (only if you’ve opted in).



  4. For Legal Compliance:

    • Meet legal or regulatory requirements and prevent fraud.




How We Protect Your Information


  1. Data Encryption: All sensitive data is encrypted during transmission using SSL.

  2. Access Control: Only authorized personnel have access to personal information.

  3. Secure Storage: Data is stored on secure servers with regular security updates.


Sharing Your Information

We do not sell, rent, or trade your personal data. However, we may share your information with:


  1. Service Providers:

    • Payment processors and hosting services that assist in delivering our platform.



  2. Legal Authorities:

    • When required by law or to protect our legal rights.




Your Rights


  1. Access and Update: You can view and update your personal information in your account settings.

  2. Request Deletion: You have the right to request deletion of your data by contacting us.

  3. Opt-Out: You can opt out of receiving promotional emails by clicking the “unsubscribe” link in our emails.


Cookies Policy

We use cookies to enhance your experience by:


  • Remembering your preferences.

  • Analyzing website traffic.
    You can manage your cookie preferences through your browser settings.


Third-Party Links

Our platform may contain links to third-party websites. We are not responsible for their privacy practices and recommend reviewing their privacy policies.


Policy Updates

We may update this Privacy Policy from time to time. Changes will be posted on this page, and the "Effective Date" will be updated. Please review the policy periodically.


Contact Us

If you have any questions or concerns about our Privacy Policy or how your data is handled, please contact us at:

Email: support@anyleson.comThank you for trusting Anyleson with your learning journey!