+
     h[  c                   s$   ^ RI t ^ RIt^ RIt^ RIt^ RIHtHtHtHtH	t	H
t
 ^ RIHt ^ RIHt ^RIHtHtHtHtHt . ROtR R ltR R	 lt ! R
 R]4      t]P2                  ! RR7      R R l4       tR R ltR R ltR R ltR R ltR R ltR# )i    N)ListLiteralOptionalProtocolTypecast)
deprecated)	strtobool)BaseDistributionBaseEnvironmentFilesystemWheelMemoryWheelWheelc                $    V ^8  d   QhR\         /#    return)boolformat   "D/usr/lib/python3.14/site-packages/pip/_internal/metadata/__init__.py__annotate__r      s     R R R    c                 s   \         P                  R8  d   R# \        P                  ! \        \
        4      ;_uu_ 4        \        \        \        P                  R,          4      4      uuRRR4       #   + '       g   i     M; i\         P                  R8  d   R# ^ RI
p \        \        T P                  RR4      4      # )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_METADATANF)   i   r   i   )sysversion_info
contextlibZsuppressZKeyErrorZ
ValueErrorr   r   osZenvironimportlib.metadataZgetattrmetadata	importlib    r   _should_use_importlib_metadatar$      s    " 7"			Xz	2	2Ibjj)FGHI 
3	2	2	2 '! 	**,I4PQQs   )A33B	c                s    V ^8  d   QhRR/# )r   r   N r   r   r   r   r   :   s      4 r   c                  s    \         P                  R8  d   R# ^ RIp \        V P                  R4      '       d   R# \        RRRRR7       R# )	r   Nr   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  )ZreasonZreplacementZgone_inZissuer   )r   r   r   Zhasattrr    r   r!   r#   r   )_emit_pkg_resources_deprecation_if_neededr&   :   sL    
'! 	y!!#@AA 	 HP r   c                   s,   a  ] tR t^St o V 3R ltRtV tR# )Backendc                s\   < V ^8  d   Qh/ R;R&   S[ S[,          ;R&   S[ S[,          ;R&   # )r   z%Literal["importlib", "pkg_resources"]ZNAMEDistributionEnvironment)r   r   r	   )r   __classdict__s   "r   r   ZBackend.__annotate__S   s3     
11 '((  o&& r   r%   N)Z__name__Z
__module__Z__qualname__Z__firstlineno__Z__annotate_func__Z__static_attributes__Z__classdictcell__)r*   s   @r   r'   r'   S   s      r   r'   )Zmaxsizec                r   r   )r'   r   r   r   r   r   Z   s     
( 
( 
(r   c                  s    \        4       '       d   ^RIHp  \        \        V 4      # \        4        ^RIHp \        \        V4      # )i   r!   )pkg_resources)r$   Z r"   r   r'   r&   r+   )r"   r+   s     r   select_backendr,   Y   s1    %''GY''-/''r   c                r   r   )r	   r   r   r   r   r   g   s     2 2 2r   c                 sF    \        4       P                  P                  4       # )zGet 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,   r)   Zdefaultr%   r   r   get_default_environmentr-   g   s     ''//11r   c                s\    V ^8  d   QhR\         \        \        ,          ,          R\        /# )r   pathsr   )r   r    strr	   r   r   r   r   r   q   s#     : :8DI. :? :r   c                H    \        4       P                  P                  V 4      # )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)   Z
from_paths)r.      &r   get_environmentr2   q   s     ''22599r   c                s0    V ^8  d   QhR\         R\        /# )r   	directoryr   )r/   r   r   r   r   r   r   {   s     C C# C2B Cr   c                r0   )zGet 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(   Zfrom_directory)r3   r1   r   get_directory_distributionr4   {   s     ((77	BBr   c                s<    V ^8  d   QhR\         R\        R\        /# )r   wheelcanonical_namer   )r   r/   r   r   r   r   r   r      s'     K K% K KAQ Kr   c                sH    \        4       P                  P                  W4      # )zGet 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(   Z
from_wheel)r5   r6   s   &&r   get_wheel_distributionr7      s     ((33EJJr   c                sH    V ^8  d   QhR\         R\        R\        R\        /# )r   metadata_contentsfilenamer6   r   )Zbytesr/   r   r   r   r   r   r      s0        	r   c                sL    \        4       P                  P                  V VV4      # )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(   Zfrom_metadata_file_contents)r8   r9   r6   s   &&&r   get_metadata_distributionr:      s)     ((DD r   )	r   r	   r
   r   r   r-   r2   r7   r,   ) r   Z	functoolsr   r   Ztypingr    r   r   r   r   r   Zpip._internal.utils.deprecationr   Zpip._internal.utils.miscr   Zbaser   r	   r
   r   r   Z__all__r$   r&   r'   Z	lru_cacher,   r-   r2   r4   r7   r:   r%   r   r   <module>r;      s|      	 
 @ @ 6 . X X
RB2'h ' T"
( #
(2:CKr   