o ?Og,@s, ddlZddlZddlZddlZddlZddlZz ddlZ[dZWn ey-dZYnwz ddl Z [ dZ Wn eyBdZ Ynwz ddl Z [ dZ Wn eyWdZ Ynwej dkZdZZej dkrkddlZnerqddlZerudndZeedoejd aeoeed Zd Zgd ZGd ddeZGdddeZGdddeZGdddeZGdddeZGdddeZ GdddeZ!ddZ"ddZ#efdd Z$dd!d"Z%d#d$Z&d%d&Z'd'd(Z(dd)d*d+Z)dd)d,d-Z*eed.rdd)d/d0Z+nd1d0Z+dd)d2d3Z,dd)d4d5Z-dd)d6d7Z.d8d9Z/ dd:d;Z0dde.ddfdr?d?d@Z3dAdBZ4ndCd@Z3dDdBZ4dEdFZ5dGdHZ6ej7ejej8ej9hej:koiej;ejddIdJZ?e>e?_@dKdLZAe.fdMdNZBdOdPZCdQdRZDdSdTZEdUdVZF ddXdYZG ddZd[ZHd\eGd]gd^dfiZIereGd_gd`dfeIda<eHgdbdfeIdc<e reGddgdedfeIdf<e reGdggdhdfeIdi<djdkZJddmdnZKdodpZL ddqdrZMdsdtZNdudvZO  lddwdxZPdydzZQd{d|ZRd}d~ZSddddZTdgeTgd^fdgeSgdbfdZUer!ddgeTgd`feUda<e r.ddgeTgdefeUdf<e r;ddgeTgdhfeUdi<ddZVdddddZWeedrieXdeYddZZdeZj[_\deZj]_\deZj^_\ddZ_ner{eXdeYddZZddZ_dddZ`dddZaddZbejcejdBdfddZedS)NTFntposixiisendfileZlinux _fcopyfilez%.COM;.EXE;.BAT;.CMD;.VBS;.JS;.WS;.MSC) copyfileobjcopyfilecopymodecopystatcopycopy2copytreemovermtreeErrorSpecialFileError ExecError make_archiveget_archive_formatsregister_archive_formatunregister_archive_formatget_unpack_formatsregister_unpack_formatunregister_unpack_formatunpack_archiveignore_patternschownwhichget_terminal_size SameFileErrorc@ eZdZdS)rN__name__ __module__ __qualname__r$r$-/opt/alt/python310/lib64/python3.10/shutil.pyr;rc@r)rNr r$r$r$r%r>r&rc@r)rNr r$r$r$r%rAr&rc@r)rNr r$r$r$r%rEr&rc@r) ReadErrorNr r$r$r$r%r'Hr&r'c@r) RegistryErrorNr r$r$r$r%r(Kr&r(c@r)_GiveupOnFastCopyNr r$r$r$r%r)Or&r)c Cs z |}|}Wnty}zt|d}~wwz t|||WdStyJ}z|j|_|j|_|j t j t j hvrCt||dd}~wwN) fileno Exceptionr)rrOSErrornamefilename filename2errnoEINVALENOTSUP)fsrcfdstflagsinfdoutfderrr$r$r%_fastcopy_fcopyfileTs$ r:c Cs& z |}|}Wnty}zt|d}~wwz tt|jd}Wn ty2d}Ynwtj dkr=t |d}d} z t ||||}Wn=ty}z1|j |_ |j |_|jtjkrfdat||jtjkro|d|dkrt|dtjdkrt||d}~ww|dkrdS||7}q@)Niili@rTF)r+r,r)maxosfstatst_sizer-sysmaxsizeminrr.r/r0r1ZENOTSOCK_USE_CP_SENDFILEZENOSPClseekSEEK_CUR)r4r5r7r8r9Z blocksizeoffsetZsentr$r$r%_fastcopy_sendfilehsH      rFc Cs |j}|j}tt|6} ||}|sn%||kr6|d| }||Wdn1s0wYn||qWddS1sFwYdSr*)readintowrite memoryview bytearray)r4r5lengthZ fsrc_readinto fdst_writeZmvnZsmvr$r$r%_copyfileobj_readintos" "rNcCs2 |st}|j}|j} ||}|sdS||q r*) COPY_BUFSIZEreadrH)r4r5rKZ fsrc_readrLZbufr$r$r%rsrcCst|tjr$ttjdr$z tj|t|WSty#YdSwttjdr=ztj||WSty<YdSwtj tj |tj tj |kS)NsamestatFsamefile) isinstancer<DirEntryhasattrpathrQstatr-rRnormcaseabspathsrcdstr$r$r% _samefiles   r]cCst|tjr |St|Sr*)rSr<rTrWfnr$r$r%_statsr`cCs t|tjr |Stj|Sr*)rSr<rT is_symlinkrVislinkr^r$r$r%_islinks rcfollow_symlinksc Cs< td||t||rtd||d}t||gD]4\}}zt|}Wn ty0Yqwt |j rHt |t j r@|jn|}td|trQ|dkrQ|j}q|sct|rct t |||St|d}zt|du}trzt||tj|WWdWWdStyYnDwtrzt|||WWdWWdStyYn!wtr|dkrt||t|t|WdWWdSt ||Wdn1swYWnt!y } zt j"|st#d|| d} ~ wwWd|S1swY|S)Nzshutil.copyfilez{!r} and {!r} are the same filerz`%s` is a named piperbwbzDirectory does not exist: )$r?auditr]rformat enumerater`r-rWS_ISFIFOst_moderSr<rTrVr_WINDOWSr>rcsymlinkreadlinkopen_HAS_FCOPYFILEr:rZ_COPYFILE_DATAr)rBrFrNrArOrIsADirectoryErrorexistsFileNotFoundError) r[r\re file_sizeir_str4r5er$r$r%rsx       "          rcCsp td|||s#t|r#tj|r#ttdr!tjtj}}ndSt tj }}||}||t |j dS)Nzshutil.copymodelchmod)r?rhrcr<rVrbrUlstatryr`chmodrWS_IMODErl)r[r\reZ stat_funcZ chmod_funcrwr$r$r%r s  r listxattrc Cs z tj||d}Wnty)}z|jtjtjtjfvrWYd}~dSd}~ww|D]5}ztj|||d}tj||||dWq,tya}z|jtj tjtjtjfvrWWYd}~q,d}~wwdSNrd) r<r}r-r1r3ZENODATAr2getxattrsetxattrZEPERM)r[r\renamesrxr.valuer$r$r% _copyxattr6s, rcOdSr*r$)argskwargsr$r$r%rNc sZ td||ddddd|pt|otj| }|r&fdd}nfdd}t|tjr9|j|d}n|d ||d}t |j }|d ||j |j f|dt |||dz |d |||dWn tyoYnwt|d rz |d ||j|dWdSty}zdD]}tt|r|jtt|krnqWYd}~dSd}~wwdS)Nzshutil.copystat)nsrecWrr*r$)rrerr$r$r%_nop_rzcopystat.._nopcs tt|Sr*)getattrr<r.rr$r%lookupf zcopystat..lookupcstt|}|tjvr |SSr*)rr<supports_follow_symlinks)r.r_rr$r%rks  rdrWutimer{st_flagsZchflags)Z EOPNOTSUPPr3)r?rhrcr<rVrbrSrTrWr|rl st_atime_ns st_mtime_nsrNotImplementedErrorrUrr-r1r) r[r\reZfollowrrwmodewhyr9r$rr%r QsB       r cCD tj|rtj|tj|}t|||dt|||d|Sr~)r<rVisdirjoinbasenamerrr[r\rer$r$r%r s  r cCrr~)r<rVrrrrr rr$r$r%r s  r cs fdd}|S)Ncs(g}D] }|t||qt|Sr*)extendfnmatchfilterset)rVr ignored_namespatternpatternsr$r%_ignore_patternssz)ignore_patterns.._ignore_patternsr$)rrr$rr%rs rc Cs2|dur|t|dd|D}nt}tj||dg} |tup%|tu} |D]} | j|vr0q(tj|| j} tj|| j} | rD| n| }zf| }|r`tjdkr`| j dd}|j t j kr`d}|rt | }|rxt|| t|| | dn3tj|s|rWq(| rt|| |||||n||| n| rt|| |||||n||| Wq(ty}z| |jdWYd}~q(d}~wty}z| | | t|fWYd}~q(d}~wwzt||Wn&ty}zt|dddur| ||t|fWYd}~nd}~ww| rt| |S) NcSsg|]}|jqSr$r).0xr$r$r% sz_copytree..)exist_okrFrdrZwinerror)r<fspathrmakedirsr r r.rVrrarWst_reparse_tagIO_REPARSE_TAG_MOUNT_POINTrornr rsis_dirr rrrr-appendstrr)entriesr[r\symlinksignore copy_functionignore_dangling_symlinks dirs_exist_okrerrorsZ use_srcentryZsrcentryZsrcnameZdstnameZsrcobjrarzlinktor9rr$r$r% _copytreesl           rc CsZ td||t| }t|}Wdn1swYt||||||||dS)Nzshutil.copytree)rr[r\rrrrr)r?rhr<scandirlistr) r[r\rrrrrZitrrr$r$r%r s&   r st_file_attributescCsJz|jdd}t|jo|jtj@o|jtjk WSty$YdSwNFrd)rWS_ISDIRrlrFILE_ATTRIBUTE_REPARSE_POINTrrr-)entryrwr$r$r% _rmtree_isdir8s     rcCsFzt|}t|jp|jtj@o|jtjkWSt y"YdSw)NF) r<rzrWS_ISLNKrlrrrrr-)rVrwr$r$r%_rmtree_islinkAs     rcCs$z|jddWStyYdSwr)rr-)rr$r$r%rJs  cCs tj|Sr*)r<rVrb)rVr$r$r%rPrc Cs*zt| }t|}Wdn1swYWnty/|tj|tg}Ynw|D]F}|j}t|r_z |rDtdWntyX|tjj |tYq2wt ||q2zt |Wq2tyx|tj |tYq2wzt |WdSty|tj |tYdSw)N%Cannot call rmtree on a symbolic link) r<rrr-r?exc_inforVrrarb_rmtree_unsafeunlinkrmdir)rVonerror scandir_itrrfullnamer$r$r%rTs>       rc CsDzt| }t|}Wdn1swYWnty:}z||_|tj|tWYd}~dSd}~ww|D]}tj||j }z|j dd}Wn tyZd}Yn$w|r~z|j dd} t | j }Wnty}|tj|tYq=w|rztj|j tj|d} d} Wnty|tj|tYq=wzUtj| t| rt| ||zt| d} tj|j |dWn*ty|tj|tYnwztdty|tjj|tYnwW| st| q=| st| wwz tj|j |dWq=ty|tj|tYq=wdS)NFrd)dir_fdTr)r<rrr-r/r?rrVrr.rrWrrlrzrpO_RDONLYrQr=_rmtree_safe_fdcloserrbr) topfdrVrrrr9rrrorig_stdirfdZ dirfd_closedr$r$r%rssz            rc Cs td||rdd}n|durdd}trt|tr"t|}zt|}Wnty<|tj|t YdSwz t |tj }d}Wnty[|tj |t YdSwzUtj |t|rt|||zt|d}t|Wn*ty|tj|t Ynwztdty|tj j|t YnwW|st|dSdS|st|wwz t|rtdWnty|tj j|t YdSwt||S)Nz shutil.rmtreecWrr*r$rr$r$r%rrzrmtree..onerrorcWsr*r$rr$r$r%rsFTr)r?rh_use_fd_functionsrSbytesr<fsdecoderzr,rrprrVrQr=rrrr-rbrr)rV ignore_errorsrrfdZ fd_closedr$r$r%rsh             rcCs2 t|}tjjtjjpd}tj||SN)r<rrVsepaltseprrstrip)rVrr$r$r% _basenames rc CsP td|||}tj|r2t||rt||dStj|t|}tj |r2t d|z t||W|St ytj |r[t |}t||t|Y|Stj|rt||rnt d||ft|st|tjst|rtjdkrtd||ft|||ddt|Y|S|||t|Y|Sw)Nz shutil.movez$Destination path '%s' already existsz.Cannot move a directory '%s' into itself '%s'.darwinzKCannot move the non-empty directory '%s': Lacking write permission to '%s'.T)rr)r?rhr<rVrr]renamerrrsrr-rbrornr _destinsrc _is_immutableaccessW_OKlistdirplatformPermissionErrorr r)r[r\rZreal_dstrr$r$r%r sT              r cCsVtj|}tj|}|tjjs|tjj7}|tjjs&|tjj7}||Sr*)r<rVrYendswithr startswithrZr$r$r%rHs     rcCs(t|}tjtjg}t|do|j|vS)Nr)r`rW UF_IMMUTABLE SF_IMMUTABLErUr)r[rwZimmutable_statesr$r$r%rQs rcCl |durdSzddlm}Wn tyYdSwz||}Wn ty+d}Ynw|dur4|dSdS)Nr)getgrnam)Zgrpr ImportErrorKeyError)r.rresultr$r$r%_get_gidV    rcCr)Nr)getpwnamr)pwdrrr)r.rrr$r$r%_get_uidhrrgzipc sX |durd} n"tr|dkrd} ntr|dkrd} ntr#|dkr#d} ntd|ddl} |r4d | nd} |d | } tj| } | r[tj | s[|durT| d | |s[t | |durd| d t t fd d}|s| | d| }|}|durtj||}z|j|||dW|n|w|durtj| } | S)NrrZgzbzip2bz2xzzCbad value for 'compress', or compression format not supported : {0}r..tar creating %szCreating tar archivecs,dur |_|_dur|_|_|Sr*)gidZgnameuiduname)Ztarinforgroupownerrr$r% _set_uid_gidsz#_make_tarball.._set_uid_gidzw|%sr)_ZLIB_SUPPORTED_BZ2_SUPPORTED_LZMA_SUPPORTED ValueErrorritarfiler<rVdirnamersinforrrrpraddrrY) base_namebase_dircompressverbosedry_runrrloggerroot_dirZtar_compressionr Z compress_extZ archive_name archive_dirrtararcnamer$rr% _make_tarballzsJ          rcCs ddl}|d} tj|} | r(tj| s(|dur!|d| |s(t| |dur3|d| ||s|j| d|jd} tj |} |durPtj ||}tj |}| tj krk| || |durk|d|t |D]l\} }}| }|durtj||}tj |}t|D] }tj | |}tj ||} | || |dur|d|q|D],}tj | |}tj |}tj|rtj ||} | || |dur|d|qqpWdn1swY|durtj| } | S)Nr.ziprz#creating '%s' and adding '%s' to itw)Z compressionz adding '%s')zipfiler<rVr rsr rZipFileZ ZIP_DEFLATEDnormpathrcurdirrHwalkrelpathsortedisfilerY)r rrrrrrrrZ zip_filenamerZzfrdirpathZdirnames filenamesZ arcdirpathr.rVr$r$r% _make_zipfilesj                 r$r)rNzuncompressed tar file)rrzgzip'ed tar-fileZgztarzZIP filezip)rrzbzip2'ed tar-fileZbztar)rrzxz'ed tar-fileZxztarcC ddtD}||S)NcSsg|] \}}||dfqS)rr$)rr.registryr$r$r%rsz'get_archive_formats..)_ARCHIVE_FORMATSitemssortZformatsr$r$r%rs rrcCsx |durg}t|std|t|ttfstd|D]}t|ttfr-t|dkr1tdq|||dft|<dS)NzThe %s object is not callablez!extra_args needs to be a sequencerz+extra_args elements are : (arg_name, value)F)callable TypeErrorrStuplerlenr()r.function extra_args descriptionZelementr$r$r%rs rcCs t|=dSr*)r(rr$r$r%r/s rc  CsH td||||zt|} Wntytd|dw||||d} | d} | dD]\} } | | | <q.|dur>tj}| d}d}|duro|rTt|}|| d<nt}|durb| d|tj |}|sot |z| ||fi| }W|dur|dur| d |t ||S|dur|dur| d |t |ww) Nzshutil.make_archivezunknown archive format '%s')rrrrrrzchanging into '%s'zchanging back to '%s') r?rhr(rrr<rrgetcwddebugrVrYchdir)r rirrrrrrr format_inforfuncargvalZsupport_root_dirZsave_cwdr/r$r$r%r2sN            rcCr&)NcSs"g|] \}}||d|dfqS)rr4r$)rr.r r$r$r%rts"z&get_unpack_formats..)_UNPACK_FORMATSr)r*r+r$r$r%rns rc Csl i}tD]\}}|dD]}|||<qq|D]}||vr+d}t||||fqt|s4tddS)Nrz!%s is already registered for "%s"z*The registered function must be a callable)r<r)r(r,r-) extensionsr0r1Zexisting_extensionsr.r ext extensionmsgr$r$r%_check_unpack_optionsys   rAcCs. |durg}t|||||||ft|<dSr*)rAr<)r.r=r0r1r2r$r$r%rs  rcCs t|=dSr*)r<rr$r$r%rs rcCs, tj|}tj|st|dSdSr*)r<rVr rr)rVr r$r$r%_ensure_directorys   rBc Cs ddl}||std|||}zd|D]X}|j}|ds(d|vr)qtjj |g| dR}|s9qt || dsr| |d"}t |d }t||Wdn1s^wYWdn1smwYqW|dS|w)Nrz%s is not a zip file/z..rrg)rZ is_zipfiler'rZinfolistr/rr<rVrsplitrBrrprr) r/ extract_dirrr%r r.Z targetpathsourcetargetr$r$r%_unpack_zipfiles4      rIrcCs^ ddl}z||}Wn|jytd|wz|j||dW|dS|w)Nrz/%s is not a compressed or uncompressed tar filer)r rpZTarErrorr'Z extractallr)r/rFrr Ztarobjr$r$r%_unpack_tarfilesrJrr)rr%z.tar.gzz.tgzz.tar.bz2z.tbz2z.tar.xzz.txzcCs:tD]\}}|dD] }||r|Sq qdS)Nr)r<r)r)r/r.r r?r$r$r%_find_unpack_formats   rKcCs td||||durt}t|}t|}|dur"i}nd|i}|durUzt|}Wnty?td|dw|d}|||fit |d|dSt |}|durdt d|t|d}t t|d|B}|||fi|dS)Nzshutil.unpack_archiverzUnknown unpack format '{0}'r3rzUnknown archive format '{0}') r?rhr<r5rr<rrridictrKr')r/rFrirZ filter_kwargsr8r9rr$r$r%rs.    " rstatvfs disk_usageZusageztotal used freezTotal space in byteszUsed space in byteszFree space in bytescCsB t|}|j|j}|j|j}|j|j|j}t|||Sr*)r<rMf_bavailf_frsizef_blocksf_bfree_ntuple_diskusage)rVrwfreetotalusedr$r$r%rN-s     cCs$ t|\}}||}t|||Sr*)rZ _getdiskusagerS)rVrUrTrVr$r$r%rN>s cCs td||||dur|durtd|}|}|dur d}nt|tr4t|}|dur4td||dur;d}nt|tsOt |}|durOtd|t |||dS)Nz shutil.chownzuser and/or group must be setzno such user: {!r}zno such group: {!r}) r?rhrrSrr LookupErrorriintrr<r)rVuserrZ_userZ_groupr$r$r%rIs&  rPc Cs z ttjd}Wn ttfyd}Ynwz ttjd}Wn ttfy.d}Ynw|dks7|dkraz ttj}Wnt tt fyRt |}Ynw|dkrZ|j }|dkra|j }t ||fS)NZCOLUMNSrZLINES)rYr<environrrrr? __stdout__r+AttributeErrorr- terminal_sizecolumnslines)Zfallbackrbrcsizer$r$r%ris,rcCs&tj|ot||otj| Sr*)r<rVrsrr)r_rr$r$r% _access_checks rec s tjrt|rSdStt}|dur:tjdd}|dur:ztd}Wnt t fy9tj }Ynw|s>dS|rOt |}| t tj}n t|}| tj}tjdkrtj}|rit |}||vrs|d|tdpyt}dd| tjD}|rdd|D}tfd d |Drg}n fd d|D}ng}t}|D](} tj| } | |vr|| |D]} tj| | } t| |r| SqqdS) NPATHCS_PATHZwin32rZPATHEXTcSsg|]}|r|qSr$r$rr>r$r$r%rzwhich..cSsg|]}t|qSr$)r<fsencoderhr$r$r%rsc3s"|] }|VqdSr*)lowerrrhcmdr$r% s zwhich..csg|]}|qSr$r$rhrlr$r%rri)r<rVr rerSrr^getconfstrr`rdefpathrjrEpathseprr?rrinsertgetenv_WIN_DEFAULT_PATHEXTanyrrXr r) rmrrVZ use_bytesrZpathext_sourceZpathextfilesseendirZnormdirZthefiler.r$rlr%rs^             r)r)F)FN)rrrNNNN)rrNNNNr)NNrrNNN)NN)r[)fr<r?rWr collectionsr1zlibrrrrZlzmarr.rmrrrOrUrrrBrqru__all__r-rrrrr'r,r(r)r:rFrNrr]r`rcrrrr r r rrr stat_resultrrrrrprrsupports_dir_fdr supports_fdrrrZavoids_symlink_attacksrr rrrrrr$r(rrrrrrArrrBrIrJr<rKrr namedtuplerSrU__doc__rVrTrNrrreF_OKX_OKrr$r$r$r%s>         @  @ B B 0  8   B B  F ?  <        1      1