+
    lhg                         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   &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    WWT] <<

## 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    WWQZ <<

## 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    XXd^ <<

## 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        IIdO    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    778$$$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       778%%%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dT5M**#bii#$	QB	QB"1:bq6M  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    II" # #II"$r$   c                p    \         P                  ! V 4      p\         P                  ! V4      p\        W#4      # )zTest 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# )zSplit 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     wws|Hggfox-wwvH 1&}Q/69(|Qy\11QMe8Or$   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xj )778{{7K7K6NP QVZ[  (HIt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$   