grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026o ®û|jµ?ã@s dZdZdZdZdZdZdZdZddlZddl Z ddl Z ddl Z ddl Tgd ¢Z d d „Z d d „Zdd„Zdd„Zdd„Zdd„Ze jje_dd„Zdd„Zdd„Zdd„Zdd„Zd d!„Zd"d#„Zd$Zdadad%d&„Zd'd(„Z d)d*„Z!d+d,œd-d.„Z"d/d0„Z#e j$d1kZ%d6d2d3„Z&d4d5„Z'dS)7Ú.ú..ú/ú:z /bin:/usr/binNz /dev/nullé)Ú*)'ÚnormcaseÚisabsÚjoinÚ splitdriveÚsplitÚsplitextÚbasenameÚdirnameÚ commonprefixÚgetsizeÚgetmtimeÚgetatimeÚgetctimeÚislinkÚexistsÚlexistsÚisdirÚisfileÚismountÚ expanduserÚ expandvarsÚnormpathÚabspathÚsamefileÚ sameopenfileÚsamestatÚcurdirÚpardirÚsepÚpathsepÚdefpathÚaltsepÚextsepÚdevnullÚrealpathÚsupports_unicode_filenamesÚrelpathÚ commonpathÚ ALLOW_MISSINGcCst|tƒrdSdS)Nó/r)Ú isinstanceÚbytes©Úpath©r3ú0/opt/alt/python310/lib64/python3.10/posixpath.pyÚ_get_sep)s r5cCs t |¡S©N©ÚosÚfspath)Úsr3r3r4r4s rcCs t |¡}t|ƒ}| |¡Sr6)r8r9r5Ú startswith)r:r#r3r3r4r<s  rc Gs¤ t |¡}t|ƒ}|}z0|s|dd…|ttj|ƒD]}| |¡r'|}q|r.| |¡r3||7}q|||7}qW|StttfyQt j d|g|¢RŽ‚w)Nrr ) r8r9r5Úmapr;ÚendswithÚ TypeErrorÚAttributeErrorÚ BytesWarningÚ genericpathÚ_check_arg_types)ÚaÚpr#r2Úbr3r3r4r Gs&   ú ýþr cCsb t |¡}t|ƒ}| |¡d}|d|…||d…}}|r-||t|ƒkr-| |¡}||fS©Né©r8r9r5ÚrfindÚlenÚrstrip)rDr#ÚiÚheadÚtailr3r3r4r ds  r cCs6t |¡}t|tƒrd}d}nd}d}t ||d|¡S)Nr.ó.rr)r8r9r/r0rAÚ _splitext)rDr#r'r3r3r4r us  r cCs t |¡}|dd…|fS©Nrr7)rDr3r3r4r ƒs r cCs. t |¡}t|ƒ}| |¡d}||d…SrF)r8r9r5rI)rDr#rLr3r3r4r Œs   r cCsP t |¡}t|ƒ}| |¡d}|d|…}|r&||t|ƒkr&| |¡}|SrFrH)rDr#rLrMr3r3r4r–s   rc Cs8 zt |¡}Wn tttfyYdSwt |j¡S)NF)r8ÚlstatÚOSErrorÚ ValueErrorr?ÚstatÚS_ISLNKÚst_mode)r2Ústr3r3r4r¤sÿ rc Cs, zt |¡WdSttfyYdSw)NFT)r8rRrSrTr1r3r3r4r®s þÿrc CsÈ zt |¡}Wn ttfyYdSwt |j¡rdSt |¡}t|t ƒr-t |dƒ}nt |dƒ}t |ƒ}zt |¡}Wn ttfyIYdSw|j }|j }||krVdS|j }|j }||krbdSdS)NFó..rT)r8rRrSrTrUrVrWr9r/r0r r)Úst_devÚst_ino)r2Ús1ÚparentÚs2Údev1Údev2Úino1Úino2r3r3r4rºs6þ     ÿrc CsJ t |¡}t|tƒrd}nd}| |¡s|St|ƒ}| |d¡}|dkr)t|ƒ}|dkrRdtjvrLddl }z |  t  ¡¡j }Wn;t yK|YSwtjd}n*ddl }|d|…}t|tƒrft|dƒ}z| |¡}Wn t yx|YSw|j }|dur‡tjdkr‡|St|tƒr”t |¡}d}nd }| |¡}|||d…p¤|S) Nó~ú~rGrÚHOMEÚASCIIÚvxworksr.r)r8r9r/r0r;r5ÚfindrJÚenvironÚpwdÚgetpwuidÚgetuidÚpw_dirÚKeyErrorÚstrÚgetpwnamÚsysÚplatformÚfsencoderK) r2Útilder#rLrjÚuserhomeÚnameÚpwentÚrootr3r3r4råsL      ý     ý   rz\$(\w+|\{[^}]*\}?)cs° t |¡}t|tƒr.d|vr|Sts!ddl}| t ¡|j ¡j at}d‰d‰t tddƒ‰nd|vr4|St sBddl}| t|j ¡j a t }d‰d‰tj ‰‡‡‡fd d „}|||ƒS) Nó$ró{ó}Úenvironbú$ú{ú}cs~|d}| ˆ¡r| ˆ¡s|dS|dd…}zˆdur+t tjt |¡¡}W|Sˆ|}W|Sty>|dYSw)NrGréÿÿÿÿ)r;r=r8rsriÚfsdecodern)ÚmrvÚvalue©ÚendriÚstartr3r4Úrepl8s    ü ý ÿzexpandvars..repl)r8r9r/r0Ú_varsubbÚreÚcompileÚ _varpatternÚencoderfÚsubÚgetattrÚ_varsubri)r2r‰r�r‡r3r„r4rs.   rc Csö t |¡}t|tƒrd}d}d}d}nd}d}d}d}||kr"|S| |¡}|r9| |d ¡r9| |d ¡s9d }| |¡}g}|D]%}|||fvrKqB||ks[|sS|r[|ra|d |kra| |¡qB|rg| ¡qB|}| |¡}|rw|||}|pz|S) Nr.órOrYrÚrréér€) r8r9r/r0r;r ÚappendÚpopr ) r2r#ÚemptyÚdotÚdotdotÚinitial_slashesÚcompsÚ new_compsÚcompr3r3r4rOsL    ÿ ÿ  ÿ  €  rcCsB t |¡}t|ƒst|tƒrt ¡}nt ¡}t||ƒ}t|ƒSr6) r8r9rr/r0ÚgetcwdbÚgetcwdr r)r2Úcwdr3r3r4rvs    rF)ÚstrictcCs. t |¡}t|dd…||iƒ\}}t|ƒSrQ)r8r9Ú _joinrealpathr)Úfilenamer r2Úokr3r3r4r)…s r)cCs|t|tƒr d}d}d}n d}d}d}tj}|turt}n|r!d}nt}d} t|ƒr1|dd…}|}|rº| |¡\} } }| rA| |krBq1| |kr\|rYt |ƒ\}} | |krXt |||ƒ}n|}q1t || ƒ} zt  | ¡} Wn |ysd }Ynwt   | j¡}|s| }q1| |vr›|| }|durŒq1|r”t  | ¡nt | |ƒd fSd|| <t|t | ¡||ƒ\}}|s´t ||ƒd fS||| <|s3|d fS) Nr.rOrYrrrr3rGFT)r/r0r8ržr-ÚFileNotFoundErrorrSrÚ partitionr r rRrUrVrWr¡Úreadlink)r2Úrestr Úseenr#r!r"ržÚ ignored_errorÚmaxlinksrvÚ_ÚnewpathrXÚis_linkr£r3r3r4r¡Žsj     €  ÿ  Ö,r¡Údarwinc Csî |stdƒ‚t |¡}t|tƒrd}d}d}nd}d}d}|dur%|}nt |¡}z9dd „t|ƒ |¡Dƒ}d d „t|ƒ |¡Dƒ}tt||gƒƒ}|gt|ƒ|||d…}|s_|WSt |ŽWSt t t t fyvt d ||¡‚w) Nzno path specifiedrOr.rYrrrcSóg|]}|r|‘qSr3r3©Ú.0Úxr3r3r4Ú ìózrelpath..cSr¯r3r3r°r3r3r4r³ír´r+)rTr8r9r/r0rr rJrr r>r?r@ÚDeprecationWarningrArB) r2r†r!r#r"Ú start_listÚ path_listrLÚrel_listr3r3r4r+Ös4    þr+c s& |stdƒ‚tttj|ƒƒ}t|dtƒrd‰d‰nd‰d‰z`‡fdd„|Dƒ}zt‡fd d „|Dƒƒ\}Wn tyCtd ƒd‚w‡fd d„|Dƒ}t|ƒ}t |ƒ}|}t |ƒD]\}}|||krm|d|…}nq[|rrˆnˆdd…}|ˆ  |¡WSt t fy’tjd g|¢RŽ‚w)Nz%commonpath() arg is an empty sequencerr.rOrrcsg|]}| ˆ¡‘qSr3)r )r±r2©r#r3r4r³szcommonpath..c3s �|] }|dd…ˆkVqdSrFr3)r±rDr¹r3r4Ú s€zcommonpath..z%Can't mix absolute and relative pathscsg|] }‡fdd„|Dƒ‘qS)csg|] }|r|ˆkr|‘qSr3r3)r±Úc©r!r3r4r³sz)commonpath...r3)r±r:r¼r3r4r³sr,)rTÚtupler<r8r9r/r0ÚsetÚminÚmaxÚ enumerater r>r?rArB) ÚpathsÚ split_pathsrr\r^ÚcommonrLr»Úprefixr3)r!r#r4r,ÿs>  ÿ  þþr,r6)(r!r"r'r#r$r%r&r(r8rqrUrAÚ__all__r5rrr r r rPÚ__doc__r r rrrrrr‹r�rˆrrrr)r¡rrr*r+r,r3r3r3r4ÚsP        +51' F  )