B
    `]                 @   s"  d Z dZdZdZdZdZdZdZdZd	Z	d
Z
dd Zdd ZdZdZdZdZdZdZdZdd Zdd Zdd Zdd Zdd Zd d! Zd"d# Zd$Zd%ZeZd&Zd'Zd(Z d)Z!d*Z"d'Z#d(Z$d)Z%d+Z&d,Z'd-Z(d	Z)dZ*dZ+dZ,dZ-dZ.dZ/dZ0d	Z1d-Z2d,Z3dZ4d.Z5d/Z6d0Z7d1Z8d2Z9ed3fed4fed5fed6fed7fed8ffe#d9ffe$d:ffe%eB d;fed<fe%d=ffe'd9ffe(d:ffe)eB d;fed<fe)d=ffe+d9ffe,d:ffe-eB d>fed?fe-d=fff
Z:d@dA Z;d,Z<d$Z=d)Z>d-Z?dZ@dZAdZBd(ZCdZDd/ZEdZFdZGd%ZHd&ZIdZJd'ZKd.ZLyddBlMT W n eNk
r   Y nX dCS )DzoConstants/functions for interpreting results of os.stat() and os.lstat().

Suggested usage: from stat import *
                            	   c             C   s   | d@ S )zMReturn the portion of the file's mode that can be set by
    os.chmod().
    i   )moder   r   lib/python3.7/stat.pyS_IMODE   s    r   c             C   s   | d@ S )zLReturn the portion of the file's mode that describes the
    file type.
    i   r   )r   r   r   r   S_IFMT   s    r   i @  i    i `  i   i   i   i   c             C   s   t | tkS )z(Return True if mode is from a directory.)r   S_IFDIR)r   r   r   r   S_ISDIR.   s    r   c             C   s   t | tkS )z<Return True if mode is from a character special device file.)r   S_IFCHR)r   r   r   r   S_ISCHR2   s    r   c             C   s   t | tkS )z8Return True if mode is from a block special device file.)r   S_IFBLK)r   r   r   r   S_ISBLK6   s    r   c             C   s   t | tkS )z+Return True if mode is from a regular file.)r   S_IFREG)r   r   r   r   S_ISREG:   s    r   c             C   s   t | tkS )z0Return True if mode is from a FIFO (named pipe).)r   S_IFIFO)r   r   r   r   S_ISFIFO>   s    r   c             C   s   t | tkS )z,Return True if mode is from a symbolic link.)r   S_IFLNK)r   r   r   r   S_ISLNKB   s    r   c             C   s   t | tkS )z%Return True if mode is from a socket.)r   S_IFSOCK)r   r   r   r   S_ISSOCKF   s    r   i   i   i         @   i  8          i   i   i   i   i    l-bdcprwsSxtTc             C   sP   g }x@t D ]8}x2|D ] \}}| |@ |kr|| P qW |d q
W d|S )z;Convert a file's mode to a string of the form '-rwxrwxrwx'.r%    )_filemode_tableappendjoin)r   Zpermtablebitcharr   r   r   filemode   s    

r8   )*N)O__doc__ST_MODEST_INOST_DEVST_NLINKST_UIDST_GIDST_SIZEST_ATIMEST_MTIMEST_CTIMEr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   S_ISUIDS_ISGIDS_ENFMTS_ISVTXS_IREADS_IWRITES_IEXECS_IRWXUS_IRUSRS_IWUSRS_IXUSRS_IRWXGS_IRGRPS_IWGRPS_IXGRPS_IRWXOS_IROTHS_IWOTHS_IXOTH	UF_NODUMPUF_IMMUTABLE	UF_APPEND	UF_OPAQUEUF_NOUNLINKUF_COMPRESSED	UF_HIDDENSF_ARCHIVEDSF_IMMUTABLE	SF_APPENDSF_NOUNLINKSF_SNAPSHOTr2   r8   FILE_ATTRIBUTE_ARCHIVEFILE_ATTRIBUTE_COMPRESSEDFILE_ATTRIBUTE_DEVICEFILE_ATTRIBUTE_DIRECTORYFILE_ATTRIBUTE_ENCRYPTEDFILE_ATTRIBUTE_HIDDENFILE_ATTRIBUTE_INTEGRITY_STREAMFILE_ATTRIBUTE_NORMAL"FILE_ATTRIBUTE_NOT_CONTENT_INDEXEDFILE_ATTRIBUTE_NO_SCRUB_DATAFILE_ATTRIBUTE_OFFLINEFILE_ATTRIBUTE_READONLYFILE_ATTRIBUTE_REPARSE_POINTFILE_ATTRIBUTE_SPARSE_FILEFILE_ATTRIBUTE_SYSTEMFILE_ATTRIBUTE_TEMPORARYFILE_ATTRIBUTE_VIRTUAL_statImportErrorr   r   r   r   <module>   s   	


