<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
3
2a\              A   @   s  d dl Z d dlZd dlZd dlZd dlZd dlZyd dlZ[dZW n ek
rZ   dZY nX yd dl	Z	[	dZ
W n ek
r   dZ
Y nX yd dlZ[dZW n ek
r   dZY nX yd dlmZ W n ek
r   dZY nX yd dlmZ W n ek
r   dZY nX 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gZG dd deZG d d deZG d!d deZG d"d deZG d#d$ d$eZG d%d& d&eZdd)dZd*d+ Zdd,d-dZdd,d.dZee d/rdd,d0d1Znd2d1 Zdd,d3d	Z dd,d4d
Z!dd,d5dZ"d6d Z#dde"dfd7dZ$d8d9 Z%d:d; Z&e j'e je j(e j)he j*koze j+e j,koze je j-kZ.dd<dZ/e.e/_0d=d> Z1e"fd?dZ2d@dA Z3dBdC Z4dDdE Z5ddGdHZ6ddIdJZ7dKe6dgdMfiZ8er e6dgdNfe8dO< e7g dPfe8dQ< e
re6dgdSfe8dT< er,e6dgdVfe8dW< dXd Z9ddZdZ:d[d Z;dd\dZ<d]d Z=d^d_ Z>dd`dZ?dad Z@dbdc ZAddde ZBdfdg ZCdhgeCg dMfdigeBg dPfdjZDerdkdlgeCg dNfeDdO< e
rdmdngeCg dSfeDdT< erdodpgeCg dVfeDdW< dqdr ZEddsdZFee dtrLejGdu ejHdvdwZIdxeIjJ_KdyeIjL_KdzeIjM_Kd{du ZNn2e jOd|kr~d dlPZPejGdu ejHdvdwZId}du ZNdd~dZQdddZRe jSe jTB dfddZUdS )    NTF)getpwnam)getgrnamcopyfileobjcopyfilecopymodecopystatcopycopy2copytreemovermtreeErrorSpecialFileError	ExecErrormake_archiveget_archive_formatsregister_archive_formatunregister_archive_formatget_unpack_formatsregister_unpack_formatunregister_unpack_formatunpack_archiveignore_patternschownwhichget_terminal_sizeSameFileErrorc               @   s   e Zd ZdS )r   N)__name__
__module____qualname__ r    r    +/opt/alt/python36/lib64/python3.6/shutil.pyr   7   s   c               @   s   e Zd ZdS )r   N)r   r   r   r    r    r    r!   r   :   s   c               @   s   e Zd ZdS )r   N)r   r   r   r    r    r    r!   r   =   s   c               @   s   e Zd ZdS )r   N)r   r   r   r    r    r    r!   r   A   s   c               @   s   e Zd ZdS )	ReadErrorN)r   r   r   r    r    r    r!   r"   D   s   r"   c               @   s   e Zd ZdS )RegistryErrorN)r   r   r   r    r    r    r!   r#   G   s   r#      i   c             C   s$   x| j |}|sP |j| qW d S )N)readwrite)fsrcfdstZlengthbufr    r    r!   r   L   s
    
c             C   sX   t tjdr0ytjj| |S  tk
r.   dS X tjjtjj| tjjtjj|kS )NsamefileF)hasattrospathr*   OSErrornormcaseabspath)srcdstr    r    r!   	_samefileT   s    r3   )follow_symlinksc            C   s   t | |rtdj| |xL| |gD ]@}ytj|}W n tk
rJ   Y q$X tj|jr$td| q$W | rtj	j
| rtjtj| | n6t| d&}t|d}t|| W d Q R X W d Q R X |S )Nz{!r} and {!r} are the same filez`%s` is a named piperbwb)r3   r   formatr,   statr.   S_ISFIFOst_moder   r-   islinksymlinkreadlinkopenr   )r1   r2   r4   fnstr'   r(   r    r    r!   r   `   s    
c            C   sz   | r>t jj| r>t jj|r>tt dr8t jt j }}q\d S ntt drXt jt j }}nd S || }||tj|j	 d S )Nlchmodchmod)
r,   r-   r;   r+   lstatrA   r8   rB   S_IMODEr:   )r1   r2   r4   Z	stat_funcZ
chmod_funcr@   r    r    r!   r   }   s    

	listxattrc            C   s   yt j| |d}W n4 tk
rF } z|jtjtjfkr8 d S d }~X nX xn|D ]f}y&t j| ||d}t j||||d W qN tk
r } z|jtjtjtjfkr W Y d d }~X qNX qNW d S )N)r4   )	r,   rE   r.   errnoENOTSUPZENODATAgetxattrsetxattrZEPERM)r1   r2   r4   namesenamevaluer    r    r!   
_copyxattr   s    	
rN   c              O   s   d S )Nr    )argskwargsr    r    r!   rN      s    c      	         s6  d d ddd |p,t jj| o*t jj| }|r@ fdd}n fdd}|d| |d}tj|j}|d	||j|jf|d y|d
|||d W n tk
r   Y nX t	|dr$y|d||j
|d W nP tk
r" } z2x*dD ] }t	t|r|jtt|krP qW  W Y d d }~X nX t| ||d d S )N)nsr4   c             W   s   d S )Nr    )rQ   r4   rO   r    r    r!   _nop   s    zcopystat.<locals>._nopc                s   t t|  S )N)getattrr,   )rL   )rR   r    r!   lookup   s    zcopystat.<locals>.lookupc                s   t t|  }|tjkr|S  S )N)rS   r,   supports_follow_symlinks)rL   r?   )rR   r    r!   rT      s    
r8   )r4   utimerB   st_flagsZchflags
EOPNOTSUPPrG   )rX   rG   )r,   r-   r;   r8   rD   r:   st_atime_nsst_mtime_nsNotImplementedErrorr+   rW   r.   rF   rS   rN   )	r1   r2   r4   ZfollowrT   r@   modewhyerrr    )rR   r!   r      s,    
c            C   sB   t jj|r"t jj|t jj| }t| ||d t| ||d |S )N)r4   )r,   r-   isdirjoinbasenamer   r   )r1   r2   r4   r    r    r!   r      s
    c            C   sB   t jj|r"t jj|t jj| }t| ||d t| ||d |S )N)r4   )r,   r-   r_   r`   ra   r   r   )r1   r2   r4   r    r    r!   r	      s
    c                 s    fdd}|S )Nc                s,   g }x D ]}|j tj|| q
W t|S )N)extendfnmatchfilterset)r-   rJ   ignored_namespattern)patternsr    r!   _ignore_patterns  s    
z)ignore_patterns.<locals>._ignore_patternsr    )rh   ri   r    )rh   r!   r     s    c             C   s  t j| }|d k	r|| |}nt }t j| g }xB|D ]8}	|	|krJq:t jj| |	}
t jj||	}yt jj|
rt j|
}|rt j|| t	|
|| d n<t jj
| r|rw:t jj|
rt|
|||| n
||
| n(t jj|
rt|
|||| n
||
| W q: tk
r< } z|j|jd  W Y d d }~X q: tk
rr } z|j|
|t|f W Y d d }~X q:X q:W yt	| | W nJ tk
r } z,t|dd d kr|j| |t|f W Y d d }~X nX |rt||S )N)r4   r   Zwinerror)r,   listdirre   makedirsr-   r`   r;   r=   r<   r   existsr_   r
   r   rb   rO   r.   appendstrrS   )r1   r2   symlinksignorecopy_functionZignore_dangling_symlinksrJ   rf   errorsrL   ZsrcnameZdstnamelinktor^   r]   r    r    r!   r
     sL    $



 *&c          $   C   sL  yt jj| rtdW n( tk
r@   |t jj| tj  d S X g }yt j| }W n& tk
rz   |t j| tj  Y nX x|D ]}t jj| |}yt j|j	}W n tk
r   d}Y nX t
j|rt|| qyt j| W q tk
r
   |t j|tj  Y qX qW yt j|  W n( tk
rF   |t j| tj  Y nX d S )Nz%Cannot call rmtree on a symbolic linkr   )r,   r-   r;   r.   sysexc_inforj   r`   rC   r:   r8   S_ISDIR_rmtree_unsafeunlinkrmdir)r-   onerrorrJ   rL   fullnamer\   r    r    r!   rw   q  s6    


rw   c       
   0   C   s  g }yt j| }W n: tk
rL } z||_|t j|tj  W Y d d }~X nX x|D ]x}t jj||}yt j|| dd}|j	}W n tk
r   d}Y nX tj
|ryt j|t j| d}	W n& tk
r   |t j|tj  Y nX zt jj|t j|	rJt|	|| yt j|| d W n( tk
rF   |t j|tj  Y nX n8ytdW n* tk
r   |t jj|tj  Y nX W d t j|	 X qVyt j|| d W qV tk
r   |t j|tj  Y qVX qVW d S )NF)dir_fdr4   r   )r|   z%Cannot call rmtree on a symbolic link)r,   rj   r.   filenamert   ru   r-   r`   r8   r:   rv   r>   O_RDONLYsamestatfstat_rmtree_safe_fdry   r;   closerx   )
topfdr-   rz   rJ   r^   rL   r{   orig_str\   dirfdr    r    r!   r     sD    $

r   c          !   C   s^  |rdd }n|d krdd }t rPt| tr8tj| } ytj| }W n& tk
rl   |tj| tj  d S X ytj	| tj
}W n& tk
r   |tj| tj  d S X ztjj|tj|rt|| | ytj|  W n( tk
r   |tj| tj  Y nX n8ytdW n* tk
r<   |tjj| tj  Y nX W d tj| X n
t| |S d S )Nc              W   s   d S )Nr    )rO   r    r    r!   rz     s    zrmtree.<locals>.onerrorc              W   s    d S )Nr    )rO   r    r    r!   rz     s    z%Cannot call rmtree on a symbolic link)_use_fd_functions
isinstancebytesr,   fsdecoderC   	Exceptionrt   ru   r>   r~   r-   r   r   r   ry   r.   r;   r   rw   )r-   ignore_errorsrz   r   fdr    r    r!   r     s<    


c             C   s&   t jjt jjpd }t jj| j|S )N )r,   r-   sepaltsepra   rstrip)r-   r   r    r    r!   	_basename  s    r   c             C   s   |}t jj|rTt| |r*t j| | d S t jj|t| }t jj|rTtd| yt j| | W n t	k
r   t jj
| rt j| }t j|| t j|  nTt jj| rt| |rtd| |f t| ||dd t|  n|| | t j|  Y nX |S )Nz$Destination path '%s' already existsz.Cannot move a directory '%s' into itself '%s'.T)rq   ro   )r,   r-   r_   r3   renamer`   r   rl   r   r.   r;   r=   r<   rx   
_destinsrcr
   r   )r1   r2   rq   Zreal_dstrs   r    r    r!   r      s2    




c             C   sV   t jj| } t jj|}| jt jjs2| t jj7 } |jt jjsL|t jj7 }|j| S )N)r,   r-   r0   endswithr   
startswith)r1   r2   r    r    r!   r   8  s    r   c             C   sN   t d ks| d krd S yt | }W n tk
r8   d }Y nX |d k	rJ|d S d S )N   )r   KeyError)rL   resultr    r    r!   _get_gidA  s    
r   c             C   sN   t d ks| d krd S yt | }W n tk
r8   d }Y nX |d k	rJ|d S d S )Nr   )r   r   )rL   r   r    r    r!   _get_uidM  s    
r   gzipc          
      s"  |d krd}nDt r |dkr d}n2tr2|dkr2d}n trD|dkrDd}ntdj|dd l}	|rfd	| nd}
| d
 |
 }tjj|}|rtjj	| r|d k	r|j
d| |stj| |d k	r|j
d tt  fdd}|s|	j|d| }z|j||d W d |j  X |S )Nr   r   Zgzbzip2bz2xzzCbad value for 'compress', or compression format not supported : {0}r   .z.tarzcreating %szCreating tar archivec                s,    d k	r | _ | _d k	r(| _| _| S )N)gidZgnameuiduname)Ztarinfo)r   groupownerr   r    r!   _set_uid_gid  s    z#_make_tarball.<locals>._set_uid_gidzw|%s)rd   )_ZLIB_SUPPORTED_BZ2_SUPPORTED_LZMA_SUPPORTED
ValueErrorr7   tarfiler,   r-   dirnamerl   infork   r   r   r>   addr   )	base_namebase_dircompressverbosedry_runr   r   loggerZtar_compressionr   Zcompress_extZarchive_namearchive_dirr   tarr    )r   r   r   r   r!   _make_tarballY  s<    

	
r   c             C   s|  dd l }| d }tjj| }|rPtjj| rP|d k	rB|jd| |sPtj| |d k	rf|jd|| |sx|j|d|jd}tjj	|}	|	tj
kr|j|	|	 |d k	r|jd|	 xtj|D ]\}
}}xFt|D ]:}tjj	tjj|
|}	|j|	|	 |d k	r|jd|	 qW xT|D ]L}tjj	tjj|
|}	tjj|	r|j|	|	 |d k	r|jd|	 qW qW W d Q R X |S )Nr   z.zipzcreating %sz#creating '%s' and adding '%s' to itw)Zcompressionzadding '%s')zipfiler,   r-   r   rl   r   rk   ZipFileZZIP_DEFLATEDnormpathcurdirr&   walksortedr`   isfile)r   r   r   r   r   r   Zzip_filenamer   Zzfr-   dirpathZdirnames	filenamesrL   r    r    r!   _make_zipfile  s@    



 r   r   r   zuncompressed tar filezgzip'ed tar-fileZgztarzZIP filezipr   zbzip2'ed tar-fileZbztarr   zxz'ed tar-fileZxztarc              C   s   dd t j D } | j  | S )Nc             S   s   g | ]\}}||d  fqS )r   r    ).0rL   registryr    r    r!   
<listcomp>  s    z'get_archive_formats.<locals>.<listcomp>)_ARCHIVE_FORMATSitemssort)formatsr    r    r!   r     s    r   c             C   sz   |d krg }t |s td| t|ttfs6tdx0|D ](}t|ttf s\t|dkr<tdq<W |||ft| < d S )NzThe %s object is not callablez!extra_args needs to be a sequencer   z+extra_args elements are : (arg_name, value))callable	TypeErrorr   tuplelistlenr   )rL   function
extra_argsdescriptionelementr    r    r!   r     s    	
c             C   s
   t | = d S )N)r   )rL   r    r    r!   r     s    c	             C   s  t j }	|d k	r>|d k	r$|jd| t jj| } |s>t j| |d krLt j}||d}
yt| }W n  tk
r   t	d| Y nX |d }x|d D ]\}}||
|< qW |dkr||
d< ||
d< z|| |f|
}W d |d k	r|d k	r|jd	|	 t j|	 X |S )
Nzchanging into '%s')r   r   zunknown archive format '%s'r      r   r   r   zchanging back to '%s')
r,   getcwddebugr-   r0   chdirr   r   r   r   )r   r7   Zroot_dirr   r   r   r   r   r   Zsave_cwdrP   format_infofuncargvalr}   r    r    r!   r     s6    

c              C   s   dd t j D } | j  | S )Nc             S   s"   g | ]\}}||d  |d fqS )r      r    )r   rL   r   r    r    r!   r   6  s    z&get_unpack_formats.<locals>.<listcomp>)_UNPACK_FORMATSr   r   )r   r    r    r!   r   0  s    c       	      C   sv   i }x.t j D ]"\}}x|d D ]}|||< q W qW x,| D ]$}||kr:d}t|||| f q:W t|srtdd S )Nr   z!%s is already registered for "%s"z*The registered function must be a callable)r   r   r#   r   r   )	
extensionsr   r   Zexisting_extensionsrL   r   ext	extensionmsgr    r    r!   _check_unpack_options;  s    
r   c             C   s,   |d krg }t ||| ||||ft| < d S )N)r   r   )rL   r   r   r   r   r    r    r!   r   M  s    c             C   s
   t | = d S )N)r   )rL   r    r    r!   r   c  s    c             C   s&   t jj| }t jj|s"t j| d S )N)r,   r-   r   r_   rk   )r-   r   r    r    r!   _ensure_directoryg  s    r   c       	      C   s   dd l }|j| std|  |j| }zx|j D ]}|j}|jds4d|krRq4tjj	|f|j
d }|spq4t| |jds4|j|j}t|d}z|j| W d |j  ~X q4W W d |j  X d S )Nr   z%s is not a zip file/z..r6   )r   Z
is_zipfiler"   r   Zinfolistr}   r   r,   r-   r`   splitr   r   r%   r>   r&   r   )	r}   extract_dirr   r   r   rL   targetdatafr    r    r!   _unpack_zipfilem  s*    



r   c             C   sX   dd l }y|j| }W n" |jk
r8   td|  Y nX z|j| W d |j  X d S )Nr   z/%s is not a compressed or uncompressed tar file)r   r>   ZTarErrorr"   Z
extractallr   )r}   r   r   Ztarobjr    r    r!   _unpack_tarfile  s    r   z.tarz.zip)r   r   z.tar.gzz.tgzz.tar.bz2z.tbz2z.tar.xzz.txzc             C   s:   x4t j D ](\}}x|d D ]}| j|r|S qW q
W d S )Nr   )r   r   r   )r}   rL   r   r   r    r    r!   _find_unpack_format  s
    
r   c             C   s   |d krt j }|d k	rhyt| }W n" tk
rF   tdj|Y nX |d }|| |ft|d  nHt| }|d krtdj| t| d }tt| d }|| |f| d S )NzUnknown unpack format '{0}'r   r   zUnknown archive format '{0}')	r,   r   r   r   r   r7   dictr   r"   )r}   r   r7   r   r   rP   r    r    r!   r     s    statvfs
disk_usageusageztotal used freezTotal space in byteszUsed space in byteszFree space in bytesc             C   s@   t j| }|j|j }|j|j }|j|j |j }t|||S )N)r,   r   f_bavailf_frsizef_blocksf_bfree_ntuple_diskusage)r-   r@   freetotalusedr    r    r!   r     s
    
ntc             C   s"   t j| \}}|| }t|||S )N)r   Z_getdiskusager   )r-   r   r   r   r    r    r!   r     s    c             C   s   |d kr|d krt d|}|}|d kr.d}n(t|trVt|}|d krVtdj||d krdd}n(t|tst|}|d krtdj|tj	| || d S )Nzuser and/or group must be setr   zno such user: {!r}zno such group: {!r}r   )
r   r   rn   r   LookupErrorr7   intr   r,   r   )r-   userr   Z_user_groupr    r    r!   r     s"    

P      c             C   s   yt tjd }W n ttfk
r.   d}Y nX yt tjd }W n ttfk
r^   d}Y nX |dksp|dkrytjtjj }W n$ t	tt
fk
r   tj| }Y nX |dkr|j}|dkr|j}tj||fS )NCOLUMNSr   ZLINES)r   r,   environr   r   r   rt   
__stdout__filenoAttributeErrorr.   terminal_sizecolumnslines)fallbackr  r  sizer    r    r!   r     s$    

c                s"  dd }t jj r&| |r" S d S |d kr>t jjdt j}|sFd S |jt j}tj	dkrt j
|krt|jdt j
 t jjddjt j}t fdd	|D r g}q fd
d|D }n g}t }xT|D ]L}t jj|}||kr|j| x(|D ] }	t jj||	}
||
|r|
S qW qW d S )Nc             S   s&   t jj| o$t j| |o$t jj|  S )N)r,   r-   rl   accessr_   )r?   r\   r    r    r!   _access_checkX  s    zwhich.<locals>._access_checkPATHwin32r   ZPATHEXTr   c             3   s    | ]} j  j|j  V  qd S )N)lowerr   )r   r   )cmdr    r!   	<genexpr>u  s    zwhich.<locals>.<genexpr>c                s   g | ]} | qS r    r    )r   r   )r  r    r!   r   x  s    zwhich.<locals>.<listcomp>)r,   r-   r   r  getdefpathr   pathseprt   platformr   insertanyre   r/   r   r`   )r  r\   r-   r  ZpathextfilesseendirZnormdirZthefilerL   r    )r  r!   r   K  s8    






 @  )r  )FN)r   r   r   NNN)r   r   N)r   N)r   r   )r   r   )r   r   )Nr   )NNr   r   NNN)Nr   )NN)NNr   r   )r  )Vr,   rt   r8   rc   collectionsrF   zlibr   ImportErrorr   r   Zlzmar   pwdr   Zgrpr   __all__r.   r   r   r   r   r"   r   r#   r   r3   r   r   r+   rN   r   r   r	   r   r
   rw   r   r>   rx   ry   supports_dir_fdrj   supports_fdrU   r   r   Zavoids_symlink_attacksr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rm   
namedtupler   r   __doc__r   r   r   rL   r   r   r   F_OKX_OKr   r    r    r    r!   <module>   s   






:Y!,

58	 
@
-




 
6 
"






%




-