HEX
Server: Apache
System: Linux sg2plmcpnl492417.prod.sin2.secureserver.net 4.18.0-553.58.1.lve.el8.x86_64 #1 SMP Fri Jul 4 12:07:06 UTC 2025 x86_64
User: nyiet8349bzl (9207396)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/cloudlinux/venv/lib64/python3.11/site-packages/setuptools/__pycache__/_path.cpython-311.pyc
�

�|oi����UddlmZddlZddlZddlZddlmZmZmZddl	m
Z
erddlmZee
eje
fZded<edee
eje
f�	��Zd
�Zdd�Zdd�Zdd�Zejd���ZdS)�)�annotationsN)�
TYPE_CHECKING�TypeVar�Union)�unique_everseen)�	TypeAliasr�StrPath�StrPathT)�boundc�p�tj�|��}tj|d���dS)z1Ensure that the parent directory of `path` existsT)�exist_okN)�os�path�dirname�makedirs)rrs  �G/opt/cloudlinux/venv/lib64/python3.11/site-packages/setuptools/_path.py�ensure_directoryrs0���g�o�o�d�#�#�G��K��$�'�'�'�'�'�'��p1�p2�return�boolc�B�t|��t|��kS)a�Differs from os.path.samefile because it does not require paths to exist.
    Purely string based (no comparison between i-nodes).
    >>> same_path("a/b", "./a/b")
    True
    >>> same_path("a/b", "a/./b")
    True
    >>> same_path("a/b", "././a/b")
    True
    >>> same_path("a/b", "./a/b/c/..")
    True
    >>> same_path("a/b", "../a/b/c")
    False
    >>> same_path("a", "a/b")
    False
    )�normpath)rrs  r�	same_pathrs�� �B�<�<�8�B�<�<�'�'r�filenamec�d�tjdkrtj�|��n|S)a
    Contrary to POSIX 2008, on Cygwin, getcwd (3) contains
    symlink components. Using
    os.path.abspath() works around this limitation. A fix in os.getcwd()
    would probably better, in Cygwin even more so, except
    that this seems to be by design...
    �cygwin)�sys�platformrr�abspath�rs r�
_cygwin_patchr#*s)��),���(@�(@�2�7�?�?�8�$�$�$�h�Nr�strc	���tj�tj�tj�t|��������S)z2Normalize a file/dir name for comparison purposes.)rr�normcase�realpathrr#r"s rrr5s@��
�7���B�G�,�,�R�W�-=�-=�m�H�>U�>U�-V�-V�W�W�X�X�Xrc#�hK�t��}tj�d|��}tj�dd��}	tj�t
|����}td||g��}tj�|��}|r|tjd<dV�||ur"tj�dd��dS|tjd<dS#||ur!tj�dd��n|tjd<wxYw)a�
    Add the indicated paths to the head of the PYTHONPATH environment
    variable so that subprocesses will also see the packages at
    these paths.

    Do this in a context that restores the value on exit.

    >>> getfixture('monkeypatch').setenv('PYTHONPATH', 'anything')
    >>> with paths_on_pythonpath(['foo', 'bar']):
    ...     assert 'foo' in os.environ['PYTHONPATH']
    ...     assert 'anything' in os.environ['PYTHONPATH']
    >>> os.environ['PYTHONPATH']
    'anything'

    >>> getfixture('monkeypatch').delenv('PYTHONPATH')
    >>> with paths_on_pythonpath(['foo', 'bar']):
    ...     assert 'foo' in os.environ['PYTHONPATH']
    >>> os.environ.get('PYTHONPATH')
    �
PYTHONPATH�N)	�objectr�environ�get�pathsep�joinr�filter�pop)�paths�nothing�orig_pythonpath�current_pythonpath�prefix�to_join�new_paths       r�paths_on_pythonpathr9:s����*�h�h�G��j�n�n�\�7�;�;�O������b�9�9��7�������!7�!7�8�8�����(:�;�<�<���:�?�?�7�+�+���	0�'/�B�J�|�$�
�����g�%�%��J�N�N�<��.�.�.�.�.�'6�B�J�|�$�$�$���g�%�%��J�N�N�<��.�.�.�.�'6�B�J�|�$�6�6�6�6s
�A2C;�;6D1)rr	rr	rr)rr	)rr	rr$)�
__future__r�
contextlibrr�typingrrr�more_itertoolsr�typing_extensionsrr$�PathLiker	�__annotations__r
rrr#r�contextmanagerr9�rr�<module>rCsE��"�"�"�"�"�"�"�����	�	�	�	�
�
�
�
�0�0�0�0�0�0�0�0�0�0�*�*�*�*�*�*��,�+�+�+�+�+�+��3���C� 0�0�1��1�1�1�1��7�:�U�3���C�0@�+@�%A�B�B�B��(�(�(�(�(�(�(�&O�O�O�O�Y�Y�Y�Y�
��"7�"7���"7�"7�"7r