<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
B
     f0                 @   s   d Z ddlZddlZddddddd	d
dddgZdd Zdd
 Zdd	 Zdd Zdd Zdd Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd ZdS )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commonprefixexistsgetatimegetctimegetmtimegetsizeisdirisfilesamefilesameopenfilesamestatc             C   s(   yt |  W n tk
r"   dS X dS )zDTest whether a path exists.  Returns False for broken symbolic linksFT)osstatOSError)path r   0/opt/alt/python37/lib64/python3.7/genericpath.pyr      s
    c             C   s0   yt | }W n tk
r"   dS X t|jS )z%Test whether a path is a regular fileF)r   r   r   S_ISREGst_mode)r   str   r   r   r	      s
    c             C   s0   yt | }W n tk
r"   dS X t|jS )z<Return true if the pathname refers to an existing directory.F)r   r   r   S_ISDIRr   )sr   r   r   r   r   '   s
    c             C   s   t | jS )z1Return the size of a file, reported by os.stat().)r   r   st_size)filenamer   r   r   r   0   s    c             C   s   t | jS )zCReturn the last modification time of a file, reported by os.stat().)r   r   st_mtime)r   r   r   r   r   5   s    c             C   s   t | jS )z=Return the last access time of a file, reported by os.stat().)r   r   st_atime)r   r   r   r   r   :   s    c             C   s   t | jS )zAReturn the metadata change time of a file, reported by os.stat().)r   r   st_ctime)r   r   r   r   r   ?   s    c             C   sl   | sdS t | d ttfs*tttj| } t| }t| }x,t|D ] \}}||| krD|d| S qDW |S )zGGiven a list of pathnames, returns the longest common leading component r   N)	
isinstancelisttuplemapr   fspathminmax	enumerate)ms1s2icr   r   r   r   E   s     c             C   s   | j |j ko| j|jkS )z5Test whether two stat buffers reference the same file)st_inost_dev)r'   r(   r   r   r   r   W   s    c             C   s   t | }t |}t||S )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   r   )Zf1Zf2r'   r(   r   r   r   r
   ^   s    

c             C   s   t | }t |}t||S )z:Test whether two open file objects reference the same file)r   fstatr   )Zfp1Zfp2r'   r(   r   r   r   r   k   s    

c             C   s   |  |}|r"|  |}t||}|  |}||kr~|d }x@||k r|| ||d  |krr| d| | |d fS |d7 }q>W | | dd fS )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.   Nr   )rfindr$   )psepaltsepextsepZsepIndexZaltsepIndexZdotIndexZfilenameIndexr   r   r   	_splitexty   s    




r4   c             G   sb   d }}xB|D ]:}t |tr"d}qt |tr2d}qtd| |jjf d qW |r^|r^tdd d S )NFTz*%s() argument must be str or bytes, not %rz.Can't mix strings and bytes in path components)r   strbytes	TypeError	__class____name__)ZfuncnameargsZhasstrZhasbytesr   r   r   r   _check_arg_types   s    


r;   )__doc__r   r   __all__r   r	   r   r   r   r   r   r   r   r
   r   r4   r;   r   r   r   r   <module>   s$   

	