§
    �’ji  ã                  ó  — d dl mZ d dlZd dlZd dlZd dlZd dlmZmZm	Z	m
Z
 d dlmZ d dlmZ ddlmZmZmZmZmZ erd dlmZ g d	¢Zd$d„Zd%d„Z G d„ de	¦  «        Zej        d&d„¦   «         Zd'd„Zd(d„Zd)d„Zd*d„Z d+d#„Z!dS ),é    )ÚannotationsN)ÚTYPE_CHECKINGÚLiteralÚProtocolÚcast)Ú
deprecated)Ú	strtoboolé   )ÚBaseDistributionÚBaseEnvironmentÚFilesystemWheelÚMemoryWheelÚWheel)ÚNormalizedName)	r   r   r   r   r   Úget_default_environmentÚget_environmentÚget_wheel_distributionÚselect_backendÚreturnÚboolc                 ó^  — t           j        dk    rdS t          j        t          t
          ¦  «        5  t          t          t          j	        d         ¦  «        ¦  «        cddd¦  «         S # 1 swxY w Y   t           j        dk     rdS ddl
} t          t          | j        dd¦  «        ¦  «        S )aï  Whether to use the ``importlib.metadata`` or ``pkg_resources`` backend.

    By default, pip uses ``importlib.metadata`` on Python 3.11+, and
    ``pkg_resources`` otherwise. Up to Python 3.13, This can be
    overridden by a couple of ways:

    * If environment variable ``_PIP_USE_IMPORTLIB_METADATA`` is set, it
      dictates whether ``importlib.metadata`` is used, for Python <3.14.
    * On Python 3.11, 3.12 and 3.13, Python distributors can patch
      ``importlib.metadata`` to add a global constant
      ``_PIP_USE_IMPORTLIB_METADATA = False``. This makes pip use
      ``pkg_resources`` (unless the user set the aforementioned environment
      variable to *True*).

    On Python 3.14+, the ``pkg_resources`` backend cannot be used.
    )é   é   TÚ_PIP_USE_IMPORTLIB_METADATAN©r   é   Fr   )ÚsysÚversion_infoÚ
contextlibÚsuppressÚKeyErrorÚ
ValueErrorr   r	   ÚosÚenvironÚimportlib.metadataÚgetattrÚmetadata©Ú	importlibs    úMC:\Projects\DSCons\.venv\Lib\site-packages\pip\_internal\metadata\__init__.pyÚ_should_use_importlib_metadatar+      sò   € õ" Ô˜7Ò"Ð"àˆtÝ	Ô	�X¥zÑ	2Ô	2ð Jð Jå•I�bœjÐ)FÔGÑHÔHÑIÔIðJð Jð Jð Jñ Jô Jð Jð Jð Jð Jð Jð Jøøøð Jð Jð Jð Jõ Ô˜'Ò!Ð!ð ˆuàÐÐÐå•˜	Ô*Ð,IÈ4ÑPÔPÑQÔQÐQs   ²,A+Á+A/Á2A/ÚNonec                 ó†   — t           j        dk     rd S dd l} t          | j        d¦  «        rd S t          dddd¬¦  «         d S )	Nr   r   r   z7Using the pkg_resources metadata backend is deprecated.zpto use the default importlib.metadata backend, by unsetting the _PIP_USE_IMPORTLIB_METADATA environment variablez26.3i4  )ÚreasonÚreplacementÚgone_inÚissue)r   r   r%   Úhasattrr'   r   r(   s    r*   Ú)_emit_pkg_resources_deprecation_if_neededr3   ?   st   € Ý
Ô˜'Ò!Ð!ð 	ˆàÐÐÐåˆyÔ!Ð#@ÑAÔAð ð 	ˆõ ØHðPð Øðñ ô ð ð ð ó    c                  ó.   — e Zd ZU ded<   ded<   ded<   dS )ÚBackendz%Literal['importlib', 'pkg_resources']ÚNAMEztype[BaseDistribution]ÚDistributionztype[BaseEnvironment]ÚEnvironmentN)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__© r4   r*   r6   r6   X   s6   € € € € € € Ø/Ð/Ð/Ñ/Ø(Ð(Ð(Ñ(Ø&Ð&Ð&Ñ&Ð&Ð&r4   r6   c                 ó¦   — t          ¦   «         rddlm}  t          t          | ¦  «        S t          ¦   «          ddlm} t          t          |¦  «        S )Nr
   r(   )Úpkg_resources)r+   Ú r)   r   r6   r3   r@   )r)   r@   s     r*   r   r   ^   s`   € å%Ñ'Ô'ð (ØÐÐÐÐÐå•G˜YÑ'Ô'Ð'å-Ñ/Ô/Ð/àÐÐÐÐÐå•˜Ñ'Ô'Ð'r4   r   c                 óL   — t          ¦   «         j                             ¦   «         S )a  Get the default representation for the current environment.

    This returns an Environment instance from the chosen backend. The default
    Environment instance should be built from ``sys.path`` and may use caching
    to share instance state across calls.
    )r   r9   Údefaultr>   r4   r*   r   r   l   s   € õ ÑÔÔ'×/Ò/Ñ1Ô1Ð1r4   Úpathsúlist[str] | Nonec                óN   — t          ¦   «         j                             | ¦  «        S )a'  Get a representation of the environment specified by ``paths``.

    This returns an Environment instance from the chosen backend based on the
    given import paths. The backend must build a fresh instance representing
    the state of installed distributions when this function is called.
    )r   r9   Ú
from_paths)rD   s    r*   r   r   v   s!   € õ ÑÔÔ'×2Ò2°5Ñ9Ô9Ð9r4   Ú	directoryÚstrr   c                óN   — t          ¦   «         j                             | ¦  «        S )zÈGet the distribution metadata representation in the specified directory.

    This returns a Distribution instance from the chosen backend based on
    the given on-disk ``.dist-info`` directory.
    )r   r8   Úfrom_directory)rH   s    r*   Úget_directory_distributionrL   €   s!   € õ ÑÔÔ(×7Ò7¸	ÑBÔBÐBr4   Úwheelr   Úcanonical_namer   c                óP   — t          ¦   «         j                             | |¦  «        S )a  Get the representation of the specified wheel's distribution metadata.

    This returns a Distribution instance from the chosen backend based on
    the given wheel's ``.dist-info`` directory.

    :param canonical_name: Normalized project name of the given wheel.
    )r   r8   Ú
from_wheel)rM   rN   s     r*   r   r   ‰   s#   € õ ÑÔÔ(×3Ò3°E¸>ÑJÔJÐJr4   Úmetadata_contentsÚbytesÚfilenamec                óR   — t          ¦   «         j                             | ||¦  «        S )aË  Get the dist representation of the specified METADATA file contents.

    This returns a Distribution instance from the chosen backend sourced from the data
    in `metadata_contents`.

    :param metadata_contents: Contents of a METADATA file within a dist, or one served
                              via PEP 658.
    :param filename: Filename for the dist this metadata represents.
    :param canonical_name: Normalized project name of the given dist.
    )r   r8   Úfrom_metadata_file_contents)rQ   rS   rN   s      r*   Úget_metadata_distributionrV   –   s.   € õ ÑÔÔ(×DÒDØØØñô ð r4   )r   r   )r   r,   )r   r6   )r   r   )rD   rE   r   r   )rH   rI   r   r   )rM   r   rN   r   r   r   )rQ   rR   rS   rI   rN   rI   r   r   )"Ú
__future__r   r   Ú	functoolsr#   r   Útypingr   r   r   r   Úpip._internal.utils.deprecationr   Úpip._internal.utils.miscr	   Úbaser   r   r   r   r   Úpip._vendor.packaging.utilsr   Ú__all__r+   r3   r6   Úcacher   r   r   rL   r   rV   r>   r4   r*   ú<module>r`      sÍ  ðØ "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø Ð Ð Ð Ø 	€	€	€	Ø 
€
€
€
Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9à 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø .Ð .Ð .Ð .Ð .Ð .à XÐ XÐ XÐ XÐ XÐ XÐ XÐ XÐ XÐ XÐ XÐ XÐ XÐ Xàð ;Ø:Ð:Ð:Ð:Ð:Ð:ð
ð 
ð 
€ðRð Rð Rð RðBð ð ð ð2'ð 'ð 'ð 'ð 'ˆhñ 'ô 'ð 'ð „ð
(ð 
(ð 
(ñ „ð
(ð2ð 2ð 2ð 2ð:ð :ð :ð :ðCð Cð Cð Cð
Kð 
Kð 
Kð 
Kðð ð ð ð ð r4   