+
    öÙ†j¦x  ã                   óŠ  € R t RtRtRtRtRtRtRtRt^ RI	t	^ RI
t
^ RIt^ R	I5 . R
NRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNR NR!NR"NR#NR$NR%NR&NR'NR(NR)NR*NR+NR,NR-NR.NR/NR0NR1NR2NR3NR4NtR5 t ^ R6IHtHtHt R7 tR9 tR: tR; t ^ R<IHt R> tR? t]P>                  P                   ]n         R@ t RA t! ^ RBIH"t" RC t#]$! ]%! ^ 4       U u0 uF  p ]&! V 4      kK  	  up 0 Rcm,          4      t']$! 0 RdmRD Uu0 uF  pREV 2kK
  	  up,          RD Uu0 uF  pRFV 2kK
  	  up,          4      t(RG t)RH t*RI t+RJt,Rs-Rs.RK t/ ^ RLIH0t1  ^ RNIH2t2 RO t3 ^ RQIH4t4H5t5H6t7 ]83RR lt9]83RS lt:RTRU/RV lt;RXt<ReRY lt=RZ t> ^ R[IH?t@ ^ R\IHAtB ^ R]IHCtD ^ R^IHEtF ^ R_IHGtH ^ R`IHItJ  ^ RaIHKtK Rb tLR#   ] d    R8 t EL5i ; i  ] d    R= t EL6i ; i  ] d    Rt" ELi ; iu up i u upi u upi   ] d    RM t1 L°i ; i  ] d    RP t3 L¶i ; i  ] d    RTRU/RW lt; L¬i ; i  ] d     LŠi ; i  ] d     R# i ; i)fz�Common pathname manipulations, WindowsNT/95 version.

Instead of importing this module directly, import os and refer to this
module as os.path.
Ú.ú..Ú\Ú;Ú/z.;C:\binÚnulN)Ú*ÚnormcaseÚisabsÚjoinÚ
splitdriveÚ	splitrootÚsplitÚsplitextÚbasenameÚdirnameÚcommonprefixÚgetsizeÚgetmtimeÚgetatimeÚgetctimeÚislinkÚexistsÚlexistsÚisdirÚisfileÚismountÚ
isreservedÚ
expanduserÚ
expandvarsÚnormpathÚabspathÚcurdirÚpardirÚsepÚpathsepÚdefpathÚaltsepÚextsepÚdevnullÚrealpathÚsupports_unicode_filenamesÚrelpathÚsamefileÚsameopenfileÚsamestatÚ
commonpathÚ
isjunctionÚ
isdevdriveÚALLOW_MISSINGc                 ó6   € \        V \        4      '       d   R # R# )ó   \/ú\/)Ú
isinstanceÚbytes©Úpaths   &Ú/usr/lib/python3.14/ntpath.pyÚ_get_bothsepsr<   "   s   € Ü�$œ×ÒÙáó    )ÚLCMapStringExÚLOCALE_NAME_INVARIANTÚLCMAP_LOWERCASEc                ót  € \         P                  ! V 4      p V '       g   V # \        V \        4      '       d_   \        P
                  ! 4       pV P                  VR4      P                  RR4      p \        \        \        V 4      p V P                  VR4      # \        \        \        V P                  RR4      4      # )ú^Normalize case of pathname.

Makes all characters lowercase and all slashes into backslashes.
Úsurrogateescaper   r   )ÚosÚfspathr7   r8   ÚsysÚgetfilesystemencodingÚdecodeÚreplaceÚ_LCMapStringExÚ_LOCALE_NAME_INVARIANTÚ_LCMAP_LOWERCASEÚencode)ÚsÚencodings   & r;   r	   r	   2   s—   € ô
 �IŠI�a‹LˆßØˆHÜ�aœ×ÒÜ×0Ò0Ó2ˆHØ—‘˜Ð#4Ó5×=Ñ=¸cÀ4ÓHˆAÜÔ5Ü/°ó4ˆAà—8‘8˜HÐ&7Ó8Ð8ä!Ô"8Ü"2Ø"#§)¡)¨C°Ó"6ó8ð 8r=   c                ó*  € \         P                  ! V 4      p \        V \        4      '       dI   \         P                  ! \         P
                  ! V 4      P                  RR4      P                  4       4      # V P                  RR4      P                  4       # )rB   r   r   )rD   rE   r7   r8   ÚfsencodeÚfsdecoderI   Úlower)rN   s   &r;   r	   r	   E   se   € ô
 �IŠI�a‹LˆÜ�aœ×ÒÜ—;’;œrŸ{š{¨1›~×5Ñ5°c¸4Ó@×FÑFÓHÓIÐIØ�y‰y˜˜dÓ#×)Ñ)Ó+Ð+r=   c                ó  € \         P                  ! V 4      p \        V \        4      '       d
   RpRpRpRpMRpRpRpRpV R	,          P	                  W!4      p V P                  V^4      ;'       g    V P                  V4      # )
zTest whether a path is absoluteó   \ó   /s   :\ó   \\r   r   z:\ú\\:Né   N)rD   rE   r7   r8   rI   Ú
startswith)rN   r$   r'   Ú	colon_sepÚ
double_seps   &    r;   r
   r
   P   sx   € ä
�	Š	�!‹€AÜ�!”U×ÒØˆØˆØˆ	Ø‰
àˆØˆØˆ	Øˆ
Ø	ˆ"��‰�fÓ"€Aà�<‰<˜	 1Ó%×AÐA¨¯©°jÓ)AÐAr=   c                 ó²  € \         P                  ! V 4      p \        V \        4      '       d   R pRpRpMRpRpRp \	        V 4      w  rVpV F’  p\	        V4      w  ršpV
'       d   V	'       g	   V'       g   T	pT
pTpK1  V	'       d4   W•8w  d.   V	P                  4       VP                  4       8w  d	   T	pT
pTpKj  T	pV'       d   VR,          V9  d	   Wr,           pW{,           pK”  	  V'       d.   V'       g&   V'       d   VR,          V9  d   WR,           V,           # WV,           V,           #   \        \        \        3 d    \        P                  ! RT .TO5!   h i ; i)rU   r5   s   :\/r   r6   z:\/r   éÿÿÿÿ)rD   rE   r7   r8   r   rS   Ú	TypeErrorÚAttributeErrorÚBytesWarningÚgenericpathÚ_check_arg_types)r:   Úpathsr$   ÚsepsÚ
colon_sepsÚresult_driveÚresult_rootÚresult_pathÚpÚp_driveÚp_rootÚp_paths   &*          r;   r   r   c   s3  € Ü�9Š9�T‹?€DÜ�$œ×ÒØˆØˆØ‰
àˆØˆØˆ
ðÜ1:¸4³Ñ.ˆ ;ÛˆAÜ&/°£lÑ#ˆG˜Vßç§,Ø#*�LØ$�Ø$�Ùß˜WÔ4Ø—=‘=“? l×&8Ñ&8Ó&:Ô:à#*�LØ"(�KØ"(�KÙà&�ç˜{¨2�°dÔ:Ø)Õ/�Ø%Õ.ŠKñ+ ÷. §ß˜\¨"Õ-°ZÔ?ØÕ%¨Õ3Ð3ØÕ)¨KÕ7Ð7øÜ”~¤|Ð4ô Ü×$Ò$ V¨TÐ:°EÔ:Øðús;   »0D% Á,D% Á4D% Â:D% Â?)D% Ã)D% Ã1D% Ã9D% ÄD% Ä%1Ec                ó2   € \        V 4      w  rpWV,           3# )aª  Split a pathname into drive/UNC sharepoint and relative path specifiers.
Returns a 2-tuple (drive_or_unc, path); either part may be empty.

If you assign
    result = splitdrive(p)
It is always true that:
    result[0] + result[1] == p

If the path contained a drive letter, drive_or_unc will contain everything
up to and including the colon.  e.g. splitdrive("c:/dir") returns ("c:", "/dir")

If the path contained a UNC path, the drive_or_unc will contain the host name
and share up to but not including the fourth directory separator character.
e.g. splitdrive("//host/computer/dir") returns ("//host/computer", "/dir")

Paths cannot contain both a drive letter and a UNC path.

)r   )rj   ÚdriveÚrootÚtails   &   r;   r   r   ’   s   € ô& " !›Ñ€E�Ø˜•+ÐÐr=   )Ú_path_splitroot_exc                óŒ  € \         P                  ! V 4      p \        V \        4      '       d   RpRpRpRpRpM
RpRpRpR	pR
pV P	                  W!4      pVR,          V8X  dš   VR,          V8X  dz   VR,          P                  4       V8X  d   ^M^pVP                  W4      pVR8X  d   WV3# VP                  W^,           4      p	V	R8X  d   WV3# V RV	 W	V	^,            W	^,           R 3# WPR,          V R,          3# VR,          V8X  d;   VR,          V8X  d   V R,          V R,          V R,          3# V R,          WPR,          3# WUV 3# )zWSplit a pathname into drive, root and tail.

The tail contains anything after the root.rU   rV   ó   :ó   \\?\UNC\r=   r   r   Ú:ú\\?\UNC\Ú :Né   N:ry   é   N:Né   NN:ry   NN:rz   rY   N:Nrz   N:rY   NN:rz   NNr^   )rD   rE   r7   r8   rI   ÚupperÚfind)
rj   r$   r'   ÚcolonÚ
unc_prefixÚemptyÚnormpÚstartÚindexÚindex2s
   &         r;   r   r   ¬   s^  € ô �IŠI�a‹LˆÜ�aœ×ÒØˆCØˆFØˆEØ(ˆJØ‰EàˆCØˆFØˆEØ'ˆJØˆEØ—	‘	˜&Ó&ˆØ��9˜ÔØ�S�z˜SÔ ð # 2�YŸ_™_Ó.°*Ô<™À!�ØŸ
™
 3Ó.�Ø˜B”;Ø U˜?Ð*ØŸ™ C°­Ó3�Ø˜R”<Ø U˜?Ð*Ø˜˜&�z 1¨F°Q­JÐ#7¸ÀA½:¸;¸ÐGÐGð  �e Q r¥UÐ*Ð*Ø�3�Z˜5Ô Ø�S�z˜SÔ à˜•u˜a �f a¨¥eÐ+Ð+ð ˜•u˜e r¥UÐ*Ð*ð  �?Ð"r=   c                ó  € \         P                  ! V 4      p \        V 4      p\        V 4      w  r#p \	        V 4      pV'       d    W^,
          ,          V9  d   V^,          pK'  V RV WR reW#,           VP                  V4      ,           V3# )zvSplit a pathname.

Return tuple (head, tail) where tail is everything after the final slash.
Either part may be empty.N)rD   rE   r<   r   ÚlenÚrstrip)rj   re   ÚdÚrÚiÚheadrq   s   &      r;   r   r   Þ   sv   € ô
 	�	Š	�!‹€AÜ˜Ó€DÜ˜‹l�G€Aˆ!äˆA‹€Aß
��A•#•˜dÔ"Ø	ˆQ�ŠØ�2�A�˜˜"˜ˆ$Ø�5�4—;‘;˜tÓ$Õ$ dÐ*Ð*r=   c                 ó¾   € \         P                  ! V 4      p \        V \        4      '       d   \        P
                  ! V R RR4      # \        P
                  ! V RRR4      # )rU   rV   ó   .r   r   r   )rD   rE   r7   r8   rb   Ú	_splitext©rj   s   &r;   r   r   ó   sJ   € Ü
�	Š	�!‹€AÜ�!”U×ÒÜ×$Ò$ Q¨¨t°TÓ:Ð:ä×$Ò$ Q¨¨c°3Ó7Ð7r=   c                ó&   € \        V 4      ^,          # )z)Returns the final component of a pathname©r   r�   s   &r;   r   r   þ   ó   € ä�‹8�A�;Ðr=   c                ó&   € \        V 4      ^ ,          # )z-Returns the directory component of a pathnamer‘   r�   s   &r;   r   r     r’   r=   )Ú_getvolumepathnamec                óˆ  € \         P                  ! V 4      p \        V 4      p\        V 4      p \	        V 4      w  r#pV'       d   V^ ,          V9   d   V'       * # V'       d   V'       g   R# \
        '       dM   V P                  V4      p\        V 4      P                  V4      pVP                  4       VP                  4       8H  # R# )z]Test whether a path is a mount point (a drive root, the root of a
share, or a mounted volume)TF)rD   rE   r<   r!   r   r”   r‡   Úcasefold)r:   re   ro   rp   ÚrestÚxÚys   &      r;   r   r     s’   € ô �9Š9�T‹?€DÜ˜Ó€DÜ�4‹=€DÜ! $›Ñ€E�ß��q•˜TÔ!ØŒxˆß—DÙçÓØ�K‰K˜ÓˆÜ˜dÓ#×*Ñ*¨4Ó0ˆØ�z‰z‹|˜qŸz™z›|Ñ+Ð+ár=   u   123456789Â¹Â²Â³ÚCOMÚLPTc                óV  € \         P                  ! \        V 4      ^,          4      P                  \        \
        4      p \        ;QJ d8    R \        V P                  \
        4      4       4       F  '       g   K   R# 	  R# ! R \        V P                  \
        4      4       4       4      # )z6Return true if the pathname is reserved by the system.c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5i©N)Ú_isreservedname)Ú.0Únames   & r;   Ú	<genexpr>Úisreserved.<locals>.<genexpr><  s   é € ÐKÑ1J¨Œ˜t×$Ð$Ó1Jùs   ‚TF)	rD   rR   r   rI   r'   r$   ÚanyÚreversedr   r9   s   &r;   r   r   7  sk   € ô �;Š;”y “ qÕ)Ó*×2Ñ2´6¼3Ó?€Dß‹3ÑK´¸$¿*¹*ÄS»/Ô1JÓK�3Œ3ÐKŠ3ÐKˆ3ÑK´¸$¿*¹*ÄS»/Ô1JÓKÓKÐKr=   c                óÒ   € V RR R9   d   V R9  # \         P                  V 4      '       d   R# V P                  R4      ^ ,          P                  R4      P	                  4       \
        9   # )z6Return true if the filename is reserved by the system.Nr   Ú Tr^   )r   r§   )r   r   )Ú_reserved_charsÚintersectionÚ	partitionr‡   r|   Ú_reserved_names)r¡   s   &r;   rŸ   rŸ   >  sb   € ð ˆBˆC€y�JÔØ˜;Ñ&Ð&ô ×#Ñ# D×)Ò)Ùð �>‰>˜#Ó˜qÕ!×(Ñ(¨Ó-×3Ñ3Ó5¼ÑHÐHr=   c                ór  € \         P                  ! V 4      p \        V \        4      '       d   RpRpMRpRpV P	                  V4      '       g   V # ^\        V 4      rCW48  d   W,          V9  d   V^,          pK  R\         P                  9   d   \         P                  R,          pMXR\         P                  9  d   V # \         P                  P                  RR4      p\        V\         P                  R,          4      pV^8w  d~   V ^V p\        V\        4      '       d   \         P                  ! V4      p\         P                  P                  R	4      pWx8w  d(   V\        V4      8w  d   V # \        \        V4      V4      p\        V \        4      '       d   \         P                  ! V4      pWPVR
 ,           # )zHExpand ~ and ~user constructs.

If user or $HOME is unknown, do nothing.r5   ó   ~r6   Ú~ÚUSERPROFILEÚHOMEPATHÚ	HOMEDRIVErx   ÚUSERNAMEN)rD   rE   r7   r8   rZ   r†   ÚenvironÚgetr   rR   r   r   rQ   )	r:   re   ÚtilderŠ   ÚnÚuserhomero   Útarget_userÚcurrent_users	   &        r;   r   r   W  sP  € ô �9Š9�T‹?€DÜ�$œ×ÒØˆØ‰àˆØˆØ�?‰?˜5×!Ò!ØˆØŒc�$‹i€qØ
Œ%�D•G 4Ô'Ø	ˆQ�ŠàœŸ
™
Ô"Ü—:‘:˜mÕ,‰Ø	œ2Ÿ:™:Ô	%Øˆä—
‘
—‘˜{¨BÓ/ˆÜ˜œrŸz™z¨*Õ5Ó6ˆàˆA„vØ˜1˜Q�iˆÜ�k¤5×)Ò)ÜŸ+š+ kÓ2ˆKÜ—z‘z—~‘~ jÓ1ˆàÔ&ð œx¨Ó1Ô1Ø�ÜœG HÓ-¨{Ó;ˆHä�$œ×ÒÜ—;’;˜xÓ(ˆà˜1˜2�hÕÐr=   z.'[^']*'?|%(%|[^%]*%?)|\$(\$|[-\w]+|\{[^}]*\}?)c                óH  aaaaa€ \         P                  ! V 4      p \        V \        4      '       dy   RV 9  d
   RV 9  d   V # \        '       g=   ^ RIpVP                  \        P                  4       VP                  4      P                  s\        pRoRoRoRo\        \         RR4      oMhRV 9  d
   RV 9  d   V # \        '       g/   ^ RIpVP                  \        VP                  4      P                  s\        pRoR	oR
oRo\         P                  oVVVVV3R lpV! W04      # )zbExpand shell variables of the forms $var, ${var} and %var%.

Unknown variables are left unchanged.ó   $ó   %Nó   {ó   }ÚenvironbÚ$Ú%Ú{Ú}c                 ó
  <€ V P                   pVf
   V ^ ,          # W,          pV^8X  d0   VS8X  d   V# VP                  S4      '       g
   V ^ ,          # VR R pMEVS8X  d   V# VP                  S4      '       d&   VP                  S4      '       g
   V ^ ,          # V^R p Sf@   \        P                  ! \        P
                  \        P                  ! V4      ,          4      # SV,          #   \         d    T ^ ,          u # i ; i)Nr^   )Ú	lastindexÚendswithrZ   rD   rQ   r³   rR   ÚKeyError)ÚmrÅ   r¡   ÚbraceÚdollarr³   ÚpercentÚrbraces   &  €€€€€r;   ÚreplÚexpandvars.<locals>.repl¶  sã   ø€ Ø—K‘Kˆ	ØÒØ�Q•4ˆKØ�|ˆØ˜Œ>Ø�wŒØ�Ø—=‘= ×)Ò)Ø˜•t�Ø˜˜�9‰Dà�vŒ~Ø�Ø�‰˜u×%Ò%Ø—}‘} V×,Ò,Ø˜Q�4�KØ˜A˜b�z�ð	ØŠÜ—{’{¤2§:¡:¬b¯kªk¸$Ó.?Õ#@ÓAÐAà˜t•}Ð$øÜô 	Ø�Q•4ŠKð	ús   ÂAC+ Ã"C+ Ã+DÄD)rD   rE   r7   r8   Ú_varsubbÚreÚcompileÚ_varpatternrM   ÚASCIIÚsubÚgetattrÚ_varsubr³   )	r:   rÐ   rÔ   rÍ   rÉ   rÊ   r³   rË   rÌ   s	   &   @@@@@r;   r   r   —  sñ   ü€ ô �9Š9�T‹?€Dä�$œ×ÒØ�tÔ ¨DÔ 0ØˆKß‹xÛØ—z‘z¤+×"4Ñ"4Ó"6¸¿¹ÓA×EÑEˆHÜˆØˆØˆØˆØˆÜœ"˜j¨$Ó/‰à�dŒ?˜s¨$œØˆKß‹wÛØ—j‘j¤¨b¯h©hÓ7×;Ñ;ˆGÜˆØˆØˆØˆØˆÜ—*‘*ˆ÷ñ ñ6 ˆt‹?Ðr=   )Ú_path_normpathc                óš  € \         P                  ! V 4      p \        V \        4      '       d
   RpRpRpRpMRpRpRpRpV P	                  W!4      p \        V 4      w  rVp WV,           pV P                  V4      p^ p	V	\        V4      8  dŽ   W‰,          '       d   W‰,          V8X  d   W‰ K/  W‰,          V8X  dW   V	^ 8”  d2   W‰^,
          ,          V8w  d   W‰^,
          V	^,           1 V	^,          p	Kt  V	^ 8X  d   V'       d   W‰ K‡  V	^,          p	K’  V	^,          p	K�  V'       g   V'       g   VP                  V4       WqP                  V4      ,           # )	z0Normalize path, eliminating double slashes, etc.rU   rV   r�   ó   ..r   r   r   r   )
rD   rE   r7   r8   rI   r   r   r†   Úappendr   )
r:   r$   r'   r"   r#   ro   rp   ÚprefixÚcompsrŠ   s
   &         r;   r    r    Û  s  € ä�yŠy˜‹ˆÜ�dœE×"Ò"ØˆCØˆFØˆFØ‰FàˆCØˆFØˆFØˆFØ�|‰|˜FÓ(ˆÜ% d›OÑˆ�TØ•ˆØ—
‘
˜3“ˆØˆØ”#�e“*ŒnØ—8”8˜u�x¨6Ô1Ø’HØ•˜VÔ#Ø�q”5˜U Q¥3�Z¨6Ô1Ø �c ! A¥#˜g˜Ø˜•F’AØ˜!”V§Øšà˜•F’Aà�Q•’çŸeØ�L‰L˜Ô ØŸ™ ›Õ'Ð'r=   )Ú_getfullpathnamec                ó  €  \        \        V 4      4      #   \        \        3 d     Mi ; i\        P
                  ! T 4      p \        T 4      '       g®   \        T \        4      '       d   Rp\        P                  pMRp\        P                  p\        T 4      w  r4p T'       g	   T'       dD    \        \        Y4,           4      T 4      p M7  \        \        3 d    Y1,           T ,           p  Mi ; i\        T! 4       T 4      p \        T 4      # )ú&Return the absolute version of a path.rU   r   )rÝ   r    ÚOSErrorÚ
ValueErrorrD   rE   r
   r7   r8   ÚgetcwdbÚgetcwdr   r   )r:   r$   rã   ro   rp   s   &    r;   r!   r!     sÔ   € ð	Ü#¤H¨T£NÓ3Ð3øÜœÐ$ô 	áð	úô �yŠy˜‹ˆÜ�T�{Š{Ü˜$¤×&Ò&Ø�ÜŸ™‘à�ÜŸ™�Ü )¨$£ÑˆE˜çŸð.ÜÔ 0°µÓ >ÀÓE‘DøÜ¤Ð,ô .à �;¨Õ-’Dð.úô ™F›H dÓ+�Ü˜‹~Ðs   ‚ –*©*Â.C
 Ã
 C-Ã,C-c                óþ   € \         P                  ! V 4      p \        V 4      '       gM   \        V \        4      '       d   \         P
                  ! 4       pM\         P                  ! 4       p\        W4      p \        V 4      # )rß   )	rD   rE   r
   r7   r8   râ   rã   r   r    )r:   Úcwds   & r;   r!   r!     sN   € ä�yŠy˜‹ˆÜ�T�{Š{Ü˜$¤×&Ò&Ü—j’j“l‘ä—i’i“k�Ü˜“?ˆDÜ˜‹~Ðr=   )Ú_findfirstfileÚ_getfinalpathnameÚreadlinkc                 óˆ  € Rp\        4       p\        V 4      V9  dr   VP                  \        V 4      4        T p\        V 4      p \	        V 4      '       g7   \        V4      '       g   Tp  V # \        \        \        V4      V 4      4      p K  K�  V #   T d   pTP                  T9   d    Rp?T # h Rp?i\         d     T # i ; i)ry   N)ry   rz   rY   é   é   é    é2   éC   éW   i&  i(  i)  )Úsetr	   ÚaddÚ_nt_readlinkr
   r   r    r   r   Úwinerrorrá   )r:   Úignored_errorÚallowed_winerrorÚseenÚold_pathÚexs   &&    r;   Ú_readlink_deeprù   3  sË   € ð LÐä‹uˆÜ�t‹n DÔ(Ø�H‰H”X˜d“^Ô$ðØ�Ü# DÓ)�ô ˜T—{’{ô " (×+Ò+Ø'˜Øð ˆô $¤D¬°Ó):¸DÓ$AÓB’Dñ #ð ˆøð !ô Ø—;‘;Ð"2Ô2Ûð
 ˆð	 ûÜô àØˆðús/   ¸1B Á,B ÂCÂB/Â.B/Â/CÂ<CÃ Cc                 ó>  € RpV R,          pV '       d"    \        V 4      p V'       d   \        W4      # T # V#   T dß   pTP                  T9  d   h  \        T TR7      pYP8w  d   T'       d   \        YS4      MTu Rp?# M  T d     Mi ; iTP                  R9   d5    \	        T 4      p\        T 4      w  rM'  T d    \        T 4      w  r Mi ; i\        T 4      w  rT '       d   T'       g   Y,           u Rp?# T'       d   \        Yc4      MTp Rp?EK  Rp?ii ; i)ry   :Né    N©rô   N)ry   rz   rY   rê   rë   rì   rí   é5   éA   rî   rï   é{   é¡   ií  é€  é�  )ry   rê   rì   rí   rï   r  r  )rç   r   ró   rù   ræ   r   )r:   rô   rõ   rq   rø   Únew_pathr¡   Ú_s   &&      r;   Ú_getfinalpathname_nonstrictr  ]  s  € ð& ^Ðð �B�xˆßð:Ü(¨Ó.�ß+/”t˜DÓ'Ð9°TÐ9ð6 ˆøð5 !ô :Ø—;‘;Ð&6Ô6Øð
ô  .¨dØ<Iô K�HàÔ'ß7;œt HÔ3ÀÕIð (øà$ô áðúð —;‘;Ð"@Ô@ð1Ü-¨dÓ3˜Ü"'¨£+™˜˜aøØ(ô 1Ü%*¨4£[™
˜™dð1úô "' t£‘J�Dß§Ø�;Õ&ß+/”t˜DÔ'°T—ûð3:úsŠ   •7 ³7 ·D¾DÁA?Á,A?Á8DÁ>DÁ?B	ÂDÂB	Â	DÂB7Â6DÂ7CÃDÃCÃDÃ&DÃ.DÃ5DÃ;DÄDÄDÚstrictFc                ó   € \        V 4      p \        V \        4      '       d1   R pRpRp\        P                  ! 4       pRp\        V 4      V8X  d   R# M/RpRpRp\        P                  ! 4       pRp\        V 4      V8X  d   R	# V P                  V4      pV\        J d
   \        pR
pMV'       d   RpM\        pV'       g   \        V 4      '       g   \        WP4      p  \        V 4      p ^ p	V'       gg   V P                  V4      '       dP   V P                  V4      '       d   W@\%        V4      R ,           pMV \%        V4      R p \        V4      V 8X  d   Tp V # V #   \         d3   p
T'       d   \        \        T
4      4      Rh\        T 4      p  Rp
?
L¨Rp
?
iT d$   p
T
P                   p	\#        T TR7      p  Rp
?
LÐRp
?
ii ; i  \         d   p
 Rp
?
T # Rp
?
i\         d   p
T
P                   X	8X  d   Tp  Rp
?
T # Rp
?
ii ; i)s   \\?\ru   rW   s   nuls   \\.\NULz\\?\rw   rX   r   z\\.\NULTNrü   © )r    r7   r8   rD   râ   r	   rã   rZ   r3   ÚFileNotFoundErrorrà   r
   r   rç   rá   Ústrró   r  r†   )r:   r  rÛ   r   Únew_unc_prefixrå   r)   Ú
had_prefixrô   Úinitial_winerrorrø   Úspaths   &$          r;   r*   r*   •  sÕ  € Ü˜‹~ˆÜ�dœE×"Ò"ØˆFØ(ˆJØ$ˆNÜ—*’*“,ˆCàˆGÜ˜‹~ Ô(Ù$ð )ð ˆFØ'ˆJØ#ˆNÜ—)’)“+ˆCàˆGÜ˜‹~ Ô(Ù#Ø—_‘_ VÓ,ˆ
à”]Ó"Ü-ˆMØ‰FßØ‰Mä#ˆMç¤%¨§+¢+Ü˜“?ˆDð	LÜ$ TÓ*ˆDØ Ð÷  ˜dŸo™o¨f×5Ò5ð �‰˜z×*Ò*Ø&¬c°*«oÐ.>Ð)?Õ?‘àœS ›[˜\Ð*�ð!Ü$ UÓ+¨tÔ3Ø �Dð ˆˆtˆøôG ô 	"÷
 Üœc "›gÓ&¨DÐ0Ü˜D“>�DûØô 	LØ!Ÿ{™{ÐÜ.¨tØ=JôL�Dûð	Lûô$ ô ó ð ˆûô ô !ð —;‘;Ð"2Ô2Ø �DûØˆûð!úsN   ÃE ÅG  ÅF=Å#(FÆF=ÆF=ÆF8Æ8F=Ç G=ÇG=ÇG=ÇG8Ç8G=c                ó   € \        V 4      # rž   )r!   )r:   r  s   &$r;   r*   r*   0  s   € Ü�t‹}Ðr=   Tc                óh  € \         P                  ! V 4      p V '       g   \        R4      h\        V \        4      '       d   RpRpRpMRpRpRpVf   TpM\         P                  ! V4      p \        V4      p\        V 4      p\        V4      w  rxp	\        V4      w  r¨p\        V4      \        V
4      8w  d   \        R	V
: R
V: 24      hV	'       d   V	P                  V4      M. pV'       d   VP                  V4      M. p^ p\        WÍ4       F*  w  pp\        V4      \        V4      8w  d    MV^,          pK,  	  V.\        V4      V,
          ,          WÞR ,           pV'       g   V# VP                  V4      #   \        \        \        \        \        3 d    \         P"                  ! RY4       h i ; i)z#Return a relative version of a pathzno path specifiedrU   r�   rÙ   r   r   r   Nzpath is on mount z, start on mount r,   )rD   rE   rá   r7   r8   r!   r   r	   r   Úzipr†   r   r_   r`   ra   ÚDeprecationWarningrb   rc   )r:   r‚   r$   r"   r#   Ú	start_absÚpath_absÚstart_driver  Ú
start_restÚ
path_driveÚ	path_restÚ
start_listÚ	path_listrŠ   Úe1Úe2Úrel_lists   &&                r;   r,   r,   á  s€  € ä�9Š9�T‹?€DßÜÐ,Ó-Ð-ä�$œ×ÒØˆØˆØ‰àˆØˆØˆà‚}Ø‰ä—	’	˜%Ó ˆðÜ˜E“Nˆ	Ü˜4“=ˆÜ%.¨yÓ%9Ñ"ˆ˜
Ü#,¨XÓ#6Ñ ˆ
�yÜ�KÓ ¤H¨ZÓ$8Ô8ÝÛšKð)ó *ð *÷ /9�Z×%Ñ% cÔ*¸bˆ
ß,5�I—O‘O CÔ(¸2ˆ	àˆÜ˜*Ö0‰FˆB�Ü˜‹|œx¨›|Ô+ÙØ��FŠAñ 1ð
 �8œs :›¨qÕ0Õ1°I¸b°MÕAˆßØˆMØ�x‰x˜Ó!Ð!øÜ”z¤>´<ÔASÐTô Ü×$Ò$ Y°Ô<Øðús    Á+A%E8 ÃE8 Ã,A:E8 Å'E8 Å89F1c           
     ó  € \        \        \        P                  V 4      4      p V '       g   \	        R4      h\        V ^ ,          \        4      '       d   RpRpRpMRpRpRp V  Uu. uF+  p\        VP                  W!4      P                  4       4      NK-  	  ppV UUUu. uF  w  rgqDP                  V4      NK  	  pppp\        V UUUu0 uF  w  rgqFkK	  	  uppp4      ^8w  d   \	        R4      h\        V ^ ,          P                  W!4      4      w  ršp\        V UUUu0 uF  w  rgqGkK	  	  uppp4      ^8w  d   V	'       d   \	        R	4      h\	        R
4      hVP                  V4      pV Uu. uF  qÝ'       g   K  WÓ8w  g   K  VNK  	  ppV UUu. uF%  qî Uu. uF  qÝ'       g   K  WÓ8w  g   K  VNK  	  upNK'  	  ppp\        V4      p\        V4      p\        V4       F  w  ppVVV,          8w  g   K  VRV p M	  VR\        V4       pWš,           VP                  V4      ,           # u upi u upppi u upppi u upppi u upi u upi u uppi   \         \"        3 d    \$        P&                  ! R.T O5!   h i ; i)zEGiven an iterable of path names, returns the longest common sub-path.z%commonpath() arg is an empty iterablerU   rV   r�   r   r   r   zPaths don't have the same drivez%Can't mix absolute and relative pathsz%Can't mix rooted and not-rooted pathsNr0   )ÚtupleÚmaprD   rE   rá   r7   r8   r   rI   rS   r   r†   ÚminÚmaxÚ	enumerater   r_   r`   rb   rc   )rd   r$   r'   r"   rj   Údrivesplitsrˆ   r‰   Úsplit_pathsro   rp   r:   ÚcommonÚcrN   Ús1Ús2rŠ   s   &                 r;   r0   r0     s3  € ä”#”b—i‘i Ó'Ó(€EßÜÐ@ÓAÐAä�%˜•(œE×"Ò"ØˆØˆØ‰àˆØˆØˆð!ÙJOÓPÉ%ÀQ”y §¡¨6Ó!7×!=Ñ!=Ó!?Ö@É%ˆÐPÙ3>Õ?±;©¨¨a—w‘w˜s–|±;ˆÒ?ô
 ¡Õ-¡‘g�a˜A’¡Ó-Ó.°!Ô3ÜÐ>Ó?Ð?ä% e¨A¥h×&6Ñ&6°vÓ&CÓDÑˆ�TÜ¡Õ-¡‘g�a˜A’¡Ó-Ó.°!Ô3ßÜ Ð!HÓIÐIä Ð!HÓIÐIà—‘˜C“ˆÙ#Ó9™V˜£q”!¨Q©[—!�!™VˆÐ9áDOÔPÁK¸q 1Ó:¡1˜a«œ¨a©kŸ˜¡1Ô:ÁKˆÑPÜ�ÓˆÜ�ÓˆÜ˜b–M‰DˆAˆqØ�B�q•EŽzØ  ˜�Ùñ "ð
 ˜HœS ›WÐ%ˆFà�|˜cŸh™h vÓ.Õ.Ð.ùò; QùÜ?ùô
 .ùô .ùò :ùâ:ùÓPøô ”~Ð&ô Ü×$Ò$ \Ð:°EÔ:Øðús—   Á"I Á&1H*ÂI ÂH/Â;I Ã
H6ÃAI ÄH=Ä,I Å+I Å-	IÅ;IÆIÆ	I ÆIÆ	I	Æ&I	Æ.I	Æ4IÆ;5I Ç54I È*I É	IÉI É+I?)Ú_path_isdir)Ú_path_isfile)Ú_path_islink)Ú_path_isjunction)Ú_path_exists)Ú_path_lexists)Ú_path_isdevdrivec                óP   €  \        \        V 4      4      #   \         d     R# i ; i)z@Determines whether the specified path is on a Windows Dev Drive.F)r0  r!   rà   r9   s   &r;   r2   r2   ^  s(   € ð	Ü#¤G¨D£MÓ2Ð2øÜô 	Úð	ús   ‚ –%¤%>	   Ú"r   r   rv   Ú<Ú>Ú?r   Ú|>   ÚAUXÚCONÚNULÚPRNúCONIN$úCONOUT$rž   )MÚ__doc__r"   r#   r(   r$   r%   r'   r&   r)   rD   rF   rb   Ú__all__r<   Ú_winapir>   rJ   r?   rK   r@   rL   r	   ÚImportErrorr
   r   r   Úntrr   r   r   r   rŽ   r   r   r”   r   Ú	frozensetÚrangeÚchrr¨   r«   r   rŸ   r   rÒ   rÖ   rÏ   r   r×   r    rÝ   r!   ræ   rç   rè   rò   rà   rù   r  r*   r+   r,   r0   r*  r   r+  r   r,  r   r-  r1   r.  r   r/  r   r0  r2   )rŠ   r'  s   00r;   Ú<module>rE     s$  ðñð 
€Ø	€Ø	€Ø
€Ø
€Ø	€Ø
€Ø
€ã 	Û 
Û Ü ð*ˆ:ð *�gð *˜fð * \ð *°+ð *¸gð *Àjð *Øð*Øð*Ø .ð*Ø/8ð*Ø9Cð*àð*à ð*à"*ð*à+3ð*à4=ð*à>Eð*àFNð*ð ð*ð "ð*ð #/ð*ð 0<ð*ð =Gð*ð ð	*ð ð	*ð 'ð	*ð (-ð	*ð .7ð	*ð 8Að	*ð BJð	*ð
 ð*ð
 ð*ð
 )ð*ð
 *Fð*ð
 GPð*ð ð*ð &ð*ð (2ð*ð 4@ð*ð BNð*ð ð*ð )ð*€òð!,÷-ñ -ò
8ò<Bò&)ò^ð.-#Ý2òh+ò*8ð ×(Ñ(×0Ñ0€Ô ò
òðÝ%òñ( Ù˜2”YÓ‘Y��Sˆ†V‘YÑÚ2õ3ó€ñ
 Ú5Ù/Ó0Ñ/�1€sˆ1ˆ#ƒYÑ/Ñ0õ1á/Ó0Ñ/�1€sˆ1ˆ#ƒYÑ/Ñ0õ1ó€òLòIò2,ðx @€Ø
€Ø€ò:ð@&(Ý-ðR)Ý#òð6oßNÑNð ,3ô (ðT 9@ô 6ðpF ô FðT "Ð ô,òr0ðf	õ (Ý)Ý)Ý1Ý)Ý+ð
	Ý#ôøðu ô 	,õ,ð	,ûðN ô +#õ*#ð+#ûðV ô ØÓðüò.  ùò 1ùÚ0øðL ô #(ô"(ð#(ûðT ô 
ô	ð
ûðT ô ð ö ðûðR	 ô 	áð	ûð ô 	âð	ús¢   Â F5 ÂG ÃG ÃG'ÄG,
ÄG1
ÅG6 ÅH Å
H Æ$H* Æ*	H7 Æ5
GÇGÇ
GÇGÇ	G$Ç#G$Ç6
HÈHÈ
HÈHÈH'È&H'È*H4È3H4È7IÉI