+
    öÙ†jg  ã                   óº   € R t ^ RIt^ RIt. ROtR tR tR tR tR tR t	R	 t
R
 tR tR tR tR tR tR tR tR tR t]P,                   ! R R4      4       tR# )z˜
Path operations common to more than one OS
Do not use directly.  The OS specific modules import the appropriate
functions from this module themselves.
NÚALLOW_MISSINGc                ód   €  \         P                  ! V 4       R#   \        \        3 d     R# i ; i)zDTest whether a path exists.  Returns False for broken symbolic linksFT)ÚosÚstatÚOSErrorÚ
ValueError©Úpaths   &Ú"/usr/lib/python3.14/genericpath.pyÚexistsr      s0   € ðÜ
�Š�Œñ øô ”ZÐ ô Úðúó   ‚ š/®/c                ód   €  \         P                  ! V 4       R#   \        \        3 d     R# i ; i)zCTest whether a path exists.  Returns True for broken symbolic linksFT)r   Úlstatr   r   r   s   &r
   Úlexistsr      s0   € ðÜ
�Š�Œñ øô ”ZÐ ô Úðúr   c                ó    €  \         P                  ! V 4      p\        P                  ! TP
                  4      #   \        \        3 d     R# i ; i)z%Test whether a path is a regular fileF)r   r   r   r   ÚS_ISREGÚst_mode©r	   Ústs   & r
   Úisfiler   $   sB   € ðÜ�WŠW�T‹]ˆô �<Š<˜Ÿ
™
Ó#Ð#øô ”ZÐ ô Úðúó   ‚8 ¸AÁAc                ó    €  \         P                  ! V 4      p\        P                  ! TP
                  4      #   \        \        3 d     R# i ; i)z<Return true if the pathname refers to an existing directory.F)r   r   r   r   ÚS_ISDIRr   )Úsr   s   & r
   Úisdirr   0   sB   € ðÜ�WŠW�Q‹Zˆô �<Š<˜Ÿ
™
Ó#Ð#øô ”ZÐ ô Úðúr   c                óª   €  \         P                  ! V 4      p\
        P                  ! TP                  4      #   \        \        \        3 d     R# i ; i)z&Test whether a path is a symbolic linkF)r   r   r   r   ÚAttributeErrorr   ÚS_ISLNKr   r   s   & r
   Úislinkr   <   sD   € ðÜ�XŠX�d‹^ˆô �<Š<˜Ÿ
™
Ó#Ð#øô ”Z¤Ð0ô Úðús   ‚8 ¸AÁAc                ó2   € \         P                  ! V 4       R# )zUTest whether a path is a junction
Junctions are not supported on the current platformF©r   Úfspathr   s   &r
   Ú
isjunctionr"   F   ó   € ô ‡I‚Iˆd„OÙó    c                ó2   € \         P                  ! V 4       R# )zuDetermines whether the specified path is on a Windows Dev Drive.
Dev Drives are not supported on the current platformFr    r   s   &r
   Ú
isdevdriver&   M   r#   r$   c                óB   € \         P                  ! V 4      P                  # )z1Return the size of a file, reported by os.stat().)r   r   Úst_size©Úfilenames   &r
   Úgetsizer+   T   s   € ä�7Š7�8Ó×$Ñ$Ð$r$   c                óB   € \         P                  ! V 4      P                  # )zCReturn the last modification time of a file, reported by os.stat().)r   r   Úst_mtimer)   s   &r
   Úgetmtimer.   Y   ó   € ä�7Š7�8Ó×%Ñ%Ð%r$   c                óB   € \         P                  ! V 4      P                  # )z=Return the last access time of a file, reported by os.stat().)r   r   Úst_atimer)   s   &r
   Úgetatimer2   ^   r/   r$   c                óB   € \         P                  ! V 4      P                  # )zAReturn the metadata change time of a file, reported by os.stat().)r   r   Úst_ctimer)   s   &r
   Úgetctimer5   c   r/   r$   c                ó"  € V '       g   R# \        V ^ ,          \        \        34      '       g$   \        \        \        P
                  V 4      4      p \        V 4      p\        V 4      p\        V4       F  w  r4WBV,          8w  g   K  VRV u # 	  V# )zGGiven a list of pathnames, returns the longest common leading componentÚ N)	Ú
isinstanceÚlistÚtupleÚmapr   r!   ÚminÚmaxÚ	enumerate)ÚmÚs1Ús2ÚiÚcs   &    r
   ÚcommonprefixrD   i   sp   € ç‘Rô
 �a˜•dœT¤5˜M×*Ò*Ü”#”b—i‘i Ó#Ó$ˆÜ	ˆQ‹€BÜ	ˆQ‹€BÜ˜"–‰ˆØ�1•Ž:Ø�b�q�6ŠMñ ð €Ir$   c                óv   € V P                   VP                   8H  ;'       d    V P                  VP                  8H  # )z5Test whether two stat buffers reference the same file)Úst_inoÚst_dev)r@   rA   s   &&r
   ÚsamestatrH   {   s1   € à�I‰I˜Ÿ™Ñ"÷ #ð #Ø�I‰I˜Ÿ™Ñ"ð$r$   c                óp   € \         P                  ! V 4      p\         P                  ! V4      p\        W#4      # )zÉTest whether two pathnames reference the same actual file or directory

This is determined by the device number and i-node number and
raises an exception if an os.stat() call on either pathname fails.
)r   r   rH   )Úf1Úf2r@   rA   s   &&  r
   ÚsamefilerL   ‚   s)   € ô 
�Š�‹€BÜ	�Š�‹€BÜ�BÓÐr$   c                óp   € \         P                  ! V 4      p\         P                  ! V4      p\        W#4      # )z:Test whether two open file objects reference the same file)r   ÚfstatrH   )Úfp1Úfp2r@   rA   s   &&  r
   ÚsameopenfilerQ   �   s'   € ä	�Š�#‹€BÜ	�Š�#‹€BÜ�BÓÐr$   c                ó  € V P                  V4      pV'       d   V P                  V4      p\        WE4      pV P                  V4      pWd8”  d4   V^,           pWv8  d%   WV^,            V8w  d
   V RV WR 3# V^,          pK*  W R,          3# )zœSplit the extension from a pathname.

Extension is everything from the last dot to the end, ignoring
leading dots.  Returns "(root, ext)"; ext may be empty.N:Né    N)Úrfindr=   )ÚpÚsepÚaltsepÚextsepÚsepIndexÚaltsepIndexÚdotIndexÚfilenameIndexs   &&&&    r
   Ú	_splitextr]   �   sˆ   € ð �w‰w�s‹|€HßØ—g‘g˜f“oˆÜ�xÓ-ˆà�w‰w�v‹€HØÔà  1�ˆØÔ&Ø˜}¨Q�Ð/°6Ô9Ø˜˜(�| Q y \Ð1Ð1Ø˜QÕŠMà��eˆ8€Or$   c                 ó
  € R ;r#V F[  p\        V\        4      '       d   RpK  \        V\        4      '       d   RpK7  \        V  RVP                  P
                  : 24      Rh	  V'       d   V'       d   \        R4      RhR# R# )FTz;() argument must be str, bytes, or os.PathLike object, not Nz.Can't mix strings and bytes in path components)r8   ÚstrÚbytesÚ	TypeErrorÚ	__class__Ú__name__)ÚfuncnameÚargsÚhasstrÚhasbytesr   s   &*   r
   Ú_check_arg_typesrh   ´   s…   € ØÐ€FÛˆÜ�aœ×ÒØŠFÜ˜œ5×!Ò!ØŠHä˜x˜jð )7Ø78·{±{×7KÑ7KÑ6NðPó QØVZð[ñ ÷ —(ÜÐHÓIÈtÐSñ �vr$   c                   ó0   a € ] tR t^Ât o RtR tR tRtV tR# )r   z$Special value for use in realpath().c                ó   € R # )zos.path.ALLOW_MISSING© ©Úselfs   &r
   Ú__repr__ÚALLOW_MISSING.__repr__Å   s   € Ù&r$   c                ó.   € V P                   P                  # )N)rb   rc   rl   s   &r
   Ú
__reduce__ÚALLOW_MISSING.__reduce__Ç   s   € Ø�~‰~×&Ñ&Ð&r$   rk   N)	rc   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rn   rq   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r
   r   r   Â   s   ø‡ € á.ò'÷'ð 'r$   )rD   r   r2   r5   r.   r+   r&   r   r   r"   r   r   rL   rQ   rH   r   )rv   r   r   Ú__all__r   r   r   r   r   r"   r&   r+   r.   r2   r5   rD   rH   rL   rQ   r]   rh   ÚobjectÚ__new__r   rk   r$   r
   Ú<module>r}      s�   ðñó
 
Û òO€òòò$ò$ò$òòò%ò
&ò
&ò
&òò$$òòòò.Tð ‡�÷'ð 'ó ò'r$   