a DOg3 @sgdZddlZddlZddlZddlTddlmZmZddlZdZdZ dZ Gdddej Z ddd dddddd d d Z ed ddfddZeddfddZdS))$ CHECK_NONE CHECK_CRC32 CHECK_CRC64 CHECK_SHA256 CHECK_ID_MAX CHECK_UNKNOWN FILTER_LZMA1 FILTER_LZMA2 FILTER_DELTA FILTER_X86 FILTER_IA64 FILTER_ARMFILTER_ARMTHUMBFILTER_POWERPC FILTER_SPARC FORMAT_AUTO FORMAT_XZ FORMAT_ALONE FORMAT_RAWMF_HC3MF_HC4MF_BT2MF_BT3MF_BT4 MODE_FAST MODE_NORMALPRESET_DEFAULTPRESET_EXTREMELZMACompressorLZMADecompressorLZMAFile LZMAErroropencompress decompressis_check_supportedN)*)_encode_filter_properties_decode_filter_propertiesc@seZdZd!dddddddZddZed d Zd d Zd dZddZ ddZ d"ddZ d#ddZ d$ddZ d%ddZddZejfddZdd ZdS)&rNrformatcheckpresetfiltersc Cs&d|_d|_t|_|dvrL|dkr*td|dur:td|durFt}t}n@|dvr~|dur`t}t}t ||||d|_ d|_ ntd |t |tttjfrd |vr|d 7}t|||_d |_||_n*t|d st|d r||_||_ntd|jtkr"tj|jtt||d}t||_dS)NF)r+rbr,zACannot specify an integrity check when opening a file for readingzICannot specify a preset compression level when opening a file for reading)wwbaabxxbr-r%zInvalid mode: {!r}bTreadwritez6filename must be a str, bytes, file or PathLike object)trailing_errorr.r1)_fp_closefp _MODE_CLOSED_mode ValueErrorr _MODE_READr _MODE_WRITEr _compressor_posr. isinstancestrbytesosPathLikebuiltinsr!hasattr TypeError _compressionDecompressReaderrr ioBufferedReader_buffer) selffilenamemoder.r/r0r1 mode_coderawrX/usr/lib64/python3.9/lzma.py__init__1sF,  zLZMAFile.__init__cCs|jtkrdSz~|jtkr,|jd|_n"|jtkrN|j|j d|_Wz&|j rb|jWd|_d|_ t|_qd|_d|_ t|_0n>z&|j r|jWd|_d|_ t|_nd|_d|_ t|_00dS)NF) r@r?rBrRcloserCr=r;rDflushr>rSrXrXrYr[s6       zLZMAFile.closecCs |jtkSN)r@r?r]rXrXrYclosedszLZMAFile.closedcCs||jSr^)_check_not_closedr=filenor]rXrXrYraszLZMAFile.filenocCs|o|jSr^)readablerRseekabler]rXrXrYrcszLZMAFile.seekablecCs||jtkSr^)r`r@rBr]rXrXrYrbszLZMAFile.readablecCs||jtkSr^)r`r@rCr]rXrXrYwritableszLZMAFile.writablecCs||j|Sr^)_check_can_readrRpeekrSsizerXrXrYrfsz LZMAFile.peekcCs||j|Sr^)rerRr:rgrXrXrYr:sz LZMAFile.readcCs"||dkrtj}|j|S)Nr%)rerPDEFAULT_BUFFER_SIZErRread1rgrXrXrYrjszLZMAFile.read1cCs||j|Sr^)rerRreadlinergrXrXrYrkszLZMAFile.readlinecCsX|t|ttfr t|}nt|}|j}|j|}|j ||j |7_ |Sr^) _check_can_writerFrH bytearraylen memoryviewnbytesrDr"r=r;rE)rSdatalength compressedrXrXrYr;s   zLZMAFile.writecCs||j||Sr^)_check_can_seekrRseek)rSoffsetwhencerXrXrYrusz LZMAFile.seekcCs"||jtkr|jS|jSr^)r`r@rBrRtellrEr]rXrXrYrxs  z LZMAFile.tell)Nr+)r,)r,)r,)r,)__name__ __module__ __qualname__rZr[propertyr_rarcrbrdrfr:rjrkr;rPSEEK_SETrurxrXrXrXrYr&s"  U  rr2r,)r.r/r0r1encodingerrorsnewlinec Csd|vr d|vrPtd|fn0|dur0td|dur@td|durPtd|dd} t|| ||||d} d|vrt| |||S| SdS) Ntr9zInvalid mode: %rz0Argument 'encoding' not supported in binary modez.Argument 'errors' not supported in binary modez/Argument 'newline' not supported in binary moder-)rAreplacerrP TextIOWrapper) rTrUr.r/r0r1r~rrlz_mode binary_filerXrXrYr!s   r!cCs t||||}|||Sr^)rr"r\)rqr.r/r0r1comprXrXrYr">sr"cCsng}t|||}z||}Wnty<|r6YqdnYn0|||jsVtd|j}|sqdqd|S)NzACompressed data ended before the end-of-stream marker was reached)rr#r appendeof unused_datajoin)rqr.memlimitr1resultsdecompresrXrXrYr#Js   r#)r2)__all__rKrPrI_lzmar'r(rNr?rBrC BaseStreamrr!rr"rr#rXrXrXrY s" j /