a Z^mc @sFdZdZdZdZdZdZdZdZdZd Z d d Z d d Z dZ dZ dZdZdZdZdZdZdZdZddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)Z d*Z!e!Z"d+Z#d,Z$d-Z%d.Z&d/Z'd,Z(d-Z)d.Z*d0Z+d1Z,d2Z-dZ.dZ/dZ0dZ1dZ2dZ3dZ4dZ5dZ6d2Z7d1Z8dZ9d3Z:d4Z;d5Zed8fed9fed:fed;fe dffe(d?ffe)d@ffe*e Bd9fe dAfe*dBffe,d?ffe-d@ffe.e!Bd9fe!dAfe.dBffe0d?ffe1d@ffe2e#BdCfe#dDfe2dBfff Z?dEdFZ@d1ZAd)ZBd.ZCd2ZDdZEdZFdZGd-ZHdZId4ZJdZKdZLd*ZMd+ZNdZOd,ZPd3ZQz ddGlRTWneSy@Yn0dHS)Iiiiiiiiiii cC|d@S)Nimoderr/usr/lib64/python3.9/stat.pyS_IMODErcCr)NirrrrrS_IFMTrri@i i`iiiicC t|tkSN)rS_IFDIRrrrrS_ISDIR2r cCrr )rS_IFCHRrrrrS_ISCHR6r rcCrr )rS_IFBLKrrrrS_ISBLK:r rcCrr )rS_IFREGrrrrS_ISREG>r rcCrr )rS_IFIFOrrrrS_ISFIFOBr rcCrr )rS_IFLNKrrrrS_ISLNKFr rcCrr )rS_IFSOCKrrrrS_ISSOCKJr rcCdSNFrrrrrS_ISDOORNr rcCrrrrrrrS_ISPORTRr rcCrrrrrrrS_ISWHTVr riiiiii@ii8i iiiiii ZlZs-ZbZdZcZpZrZwZSZxZtZTcCsJg}tD]6}|D]"\}}||@|kr||qq|dqd|S)NrZ)_filemode_tableZappendZjoin)rZpermZtableZbitZcharrrrfilemodes    r )Z*N)TZST_MODEZST_INOZST_DEVZST_NLINKZST_UIDZST_GIDZST_SIZEZST_ATIMEZST_MTIMEZST_CTIMErrr r rrrrrZS_IFDOORZS_IFPORTZS_IFWHTr rrrrrrrrrZS_ISUIDZS_ISGIDZS_ENFMTZS_ISVTXZS_IREADZS_IWRITEZS_IEXECZS_IRWXUZS_IRUSRZS_IWUSRZS_IXUSRZS_IRWXGZS_IRGRPZS_IWGRPZS_IXGRPZS_IRWXOZS_IROTHZS_IWOTHZS_IXOTHZ UF_NODUMPZ UF_IMMUTABLEZ UF_APPENDZ UF_OPAQUEZ UF_NOUNLINKZ UF_COMPRESSEDZ UF_HIDDENZ SF_ARCHIVEDZ SF_IMMUTABLEZ SF_APPENDZ SF_NOUNLINKZ SF_SNAPSHOTrr ZFILE_ATTRIBUTE_ARCHIVEZFILE_ATTRIBUTE_COMPRESSEDZFILE_ATTRIBUTE_DEVICEZFILE_ATTRIBUTE_DIRECTORYZFILE_ATTRIBUTE_ENCRYPTEDZFILE_ATTRIBUTE_HIDDENZFILE_ATTRIBUTE_INTEGRITY_STREAMZFILE_ATTRIBUTE_NORMALZ"FILE_ATTRIBUTE_NOT_CONTENT_INDEXEDZFILE_ATTRIBUTE_NO_SCRUB_DATAZFILE_ATTRIBUTE_OFFLINEZFILE_ATTRIBUTE_READONLYZFILE_ATTRIBUTE_REPARSE_POINTZFILE_ATTRIBUTE_SPARSE_FILEZFILE_ATTRIBUTE_SYSTEMZFILE_ATTRIBUTE_TEMPORARYZFILE_ATTRIBUTE_VIRTUALZ_statZ ImportErrorrrrrZs