Ë
    äØjjó  ã                   óH  — 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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mZ neZg d¢Zdefd	„Z G d
„ de«      Z ej2                  d¬«      defd„«       Zdefd„Zdeee      defd„Zdedefd„Zdededefd„Zde dededefd„Z!y)é    N)ÚTYPE_CHECKINGÚListÚOptionalÚTypeÚcast)Ú	strtoboolé   )ÚBaseDistributionÚBaseEnvironmentÚFilesystemWheelÚMemoryWheelÚWheel)ÚLiteralÚProtocol)	r
   r   r   r   r   Úget_default_environmentÚget_environmentÚget_wheel_distributionÚselect_backendÚreturnc                  ó$  — t        j                  t        t        «      5  t	        t        t        j                  d   «      «      cddd«       S # 1 sw Y   nxY wt        j                  dk  ry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_resourcess`` otherwise. 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, regardless of Python
      version.
    * On Python 3.11+, 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*).
    Ú_PIP_USE_IMPORTLIB_METADATAN)é   é   Fr   T)Ú
contextlibÚsuppressÚKeyErrorÚ
ValueErrorÚboolr   ÚosÚenvironÚsysÚversion_infoÚimportlib.metadataÚgetattrÚmetadata©Ú	importlibs    úa/opt/eval-harness/bench_task/venv/lib/python3.12/site-packages/pip/_internal/metadata/__init__.pyÚ_should_use_importlib_metadatar)      ss   € ô 
×	Ñ	œX¤zÓ	2ñ JÜ”IœbŸj™jÐ)FÑGÓHÓI÷J÷ Jò Júä
×Ñ˜'Ò!ØÛä”˜	×*Ñ*Ð,IÈ4ÓPÓQÐQs   Ÿ%AÁAc                   ó8   — e Zd ZU ded<   ee   ed<   ee   ed<   y)ÚBackendz%Literal["importlib", "pkg_resources"]ÚNAMEÚDistributionÚEnvironmentN)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__r   r
   r   © ó    r(   r+   r+   4   s   … Ø
1Ó1ØÐ'Ñ(Ó(Ø�oÑ&Ô&r4   r+   )Úmaxsizec                  ón   — t        «       rddlm}  t        t        | «      S ddlm} t        t        |«      S )Nr	   r&   )Úpkg_resources)r)   Ú r'   r   r+   r7   )r'   r7   s     r(   r   r   :   s(   € ä%Ô'Ýä”G˜YÓ'Ð'Ýä”˜Ó'Ð'r4   c                  óF   — t        «       j                  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 accorss calls.
    )r   r.   Údefaultr3   r4   r(   r   r   E   s   € ô Ó×'Ñ'×/Ñ/Ó1Ð1r4   Úpathsc                 óH   — t        «       j                  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   r.   Ú
from_paths)r;   s    r(   r   r   O   s   € ô Ó×'Ñ'×2Ñ2°5Ó9Ð9r4   Ú	directoryc                 óH   — t        «       j                  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   r-   Úfrom_directory)r>   s    r(   Úget_directory_distributionrA   Y   s   € ô Ó×(Ñ(×7Ñ7¸	ÓBÐBr4   ÚwheelÚcanonical_namec                 óJ   — t        «       j                  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   r-   Ú
from_wheel)rB   rC   s     r(   r   r   b   s    € ô Ó×(Ñ(×3Ñ3°E¸>ÓJÐJr4   Úmetadata_contentsÚfilenamec                 óL   — t        «       j                  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   r-   Úfrom_metadata_file_contents)rF   rG   rC   s      r(   Úget_metadata_distributionrJ   m   s)   € ô Ó×(Ñ(×DÑDØØØóð r4   )"r   Ú	functoolsr   r!   Útypingr   r   r   r   r   Úpip._internal.utils.miscr   Úbaser
   r   r   r   r   r   r   ÚobjectÚ__all__r   r)   r+   Ú	lru_cacher   r   Ústrr   rA   r   ÚbytesrJ   r3   r4   r(   ú<module>rT      sþ   ðÛ Û Û 	Û 
ß <Õ <å .ç XÕ Xáß(Ð(à€Hò
€ðR¨ó Rô.'ˆhô 'ð €×Ñ˜TÔ"ð(˜ò (ó #ð(ð2 ó 2ð:˜8 D¨¡IÑ.ð :°?ó :ðC¨#ð CÐ2Bó CðK %ð K¸ð KÐAQó KðØðàðð ðð ô	r4   