HEX
Server: Apache
System: Linux p3plzcpnl506847.prod.phx3.secureserver.net 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: slfopp7cb1df (5698090)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/python38/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-38.pyc
U

�{�e<�@s�ddlZddlZddlZddlmZmZmZmZddlm	Z	m
Z
ddlmZede
�Ze�e�Zee
eedfed�dd	�Zejd
d�e
ed�d
d��Ze
ed�dd�ZdS)�N)�NewType�Optional�Tuple�cast)�
specifiers�version��Requirement�NormalizedExtra.)�requires_python�version_info�returncCs4|dkrdSt�|�}t�d�tt|���}||kS)a�
    Check if the given Python version matches a "Requires-Python" specifier.

    :param version_info: A 3-tuple of ints representing a Python
        major-minor-micro version to check (e.g. `sys.version_info[:3]`).

    :return: `True` if the given Python version satisfies the requirement.
        Otherwise, return `False`.

    :raises InvalidSpecifier: If `requires_python` has an invalid format.
    NT�.)r�SpecifierSetr�parse�join�map�str)rr�requires_python_specifier�python_version�r�A/tmp/pip-unpacked-wheel-_0scjqea/pip/_internal/utils/packaging.py�check_requires_pythons

ri)�maxsize)�
req_stringr
cCst|�S)z5Construct a packaging.Requirement object with cachingr)rrrr�get_requirement%sr)�extrar
cCsttt�dd|����S)aDConvert an arbitrary string to a standard 'extra' name

    Any runs of non-alphanumeric characters are replaced with a single '_',
    and the result is always lowercased.

    This function is duplicated from ``pkg_resources``. Note that this is not
    the same to either ``canonicalize_name`` or ``_egg_link_name``.
    z[^A-Za-z0-9.-]+�_)rr
�re�sub�lower)rrrr�
safe_extra0s	r!)�	functools�loggingr�typingrrrrZpip._vendor.packagingrrZ"pip._vendor.packaging.requirementsr	rr
�	getLogger�__name__�logger�int�boolr�	lru_cacherr!rrrr�<module>s


�