a DOgo@sddlZddlZgdZddZddZddZd d Zd d Zd dZddZ ddZ ddZ ddZ ddZ ddZddZdS)N) commonprefixexistsgetatimegetctimegetmtimegetsizeisdirisfilesamefile sameopenfilesamestatc Cs,zt|Wnttfy&YdS0dS)NFT)osstatOSError ValueError)pathr0/opt/alt/python39/lib64/python3.9/genericpath.pyrs rc Cs4zt|}Wnttfy&YdS0t|jSNF)r rrrS_ISREGst_mode)rstrrrr s r c Cs4zt|}Wnttfy&YdS0t|jSr)r rrrS_ISDIRr)srrrrr's rcCs t|jSN)r rst_sizefilenamerrrr0srcCs t|jSr)r rst_mtimerrrrr5srcCs t|jSr)r rst_atimerrrrr:srcCs t|jSr)r rst_ctimerrrrr?srcCsl|sdSt|dttfs*tttj|}t|}t|}t|D]$\}}|||krB|d|SqB|S)Nr) isinstancelisttuplemapr fspathminmax enumerate)ms1s2icrrrrEs rcCs|j|jko|j|jkSr)st_inost_dev)r+r,rrrr Ws  r cCst|}t|}t||Sr)r rr )f1f2r+r,rrrr ^s  r cCst|}t|}t||Sr)r fstatr )fp1fp2r+r,rrrr ks  r cCs||}|r"||}t||}||}||krz|d}||krz|||d|krp|d|||dfS|d7}q<||ddfS)Nr)rfindr()psepaltsepextsepsepIndex altsepIndexdotIndex filenameIndexrrr _splitextys     r@cGs`d}}|D]<}t|tr d}q t|tr0d}q t|d|jjdq |r\|r\tdddS)NFTz;() argument must be str, bytes, or os.PathLike object, not z.Can't mix strings and bytes in path components)r"strbytes TypeError __class____name__)funcnameargshasstrhasbytesrrrr_check_arg_typess  rJ)r r__all__rr rrrrrrr r r r@rJrrrrs