HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.7/site-packages/wheel/vendored/packaging/__pycache__/version.cpython-37.pyc
B

O��gl?�
@s�dZddlZddlZddlmZmZmZmZmZm	Z	m
Z
ddlmZm
Z
mZmZdddd	gZe	e
eefd
fZe
e
ee	eeffZe
ee	e
e	eefe	ee
eefffd
ffZe	ee	ed
feeeefZeeegefZGdd�de�Zedd
�dd�ZGdd	�d	e�ZGdd�d�ZdZeZGdd�de�Z eee
ee!edfee	eefd�dd�Z"e�#d�Z$eeeed�dd�Z%ee	ed
fee	eefee	eefee	eefeeed�dd�Z&dS)zB
.. testsetup::

    from packaging.version import parse, Version
�N)�Any�Callable�
NamedTuple�Optional�SupportsInt�Tuple�Union�)�Infinity�InfinityType�NegativeInfinity�NegativeInfinityType�VERSION_PATTERN�parse�Version�InvalidVersion.c@sneZdZUeed<eedfed<eeeefed<eeeefed<eeeefed<eeed<dS)	�_Version�epoch.�release�dev�pre�post�localN)	�__name__�
__module__�__qualname__�int�__annotations__rr�str�	LocalType�r r �D/tmp/pip-unpacked-wheel-f1gdtpe6/wheel/vendored/packaging/version.pyr$s
r)�version�returncCst|�S)z�Parse the given version string.

    >>> parse('1.0.dev1')
    <Version('1.0.dev1')>

    :param version: The version string to parse.
    :raises InvalidVersion: When the version string is not a valid version.
    )r)r"r r r!r-s	c@seZdZdZdS)rz�Raised when a version string is not a valid version.

    >>> Version("invalid")
    Traceback (most recent call last):
        ...
    packaging.version.InvalidVersion: Invalid version: 'invalid'
    N)rrr�__doc__r r r r!r9sc@s�eZdZUeedfed<ed�dd�Zded�dd�Z	ded�d	d
�Z
eed�dd�Zded�d
d�Z
ded�dd�Zeed�dd�ZdS)�_BaseVersion.�_key)r#cCs
t|j�S)N)�hashr&)�selfr r r!�__hash__Fsz_BaseVersion.__hash__)�otherr#cCst|t�stS|j|jkS)N)�
isinstancer%�NotImplementedr&)r(r*r r r!�__lt__Ls
z_BaseVersion.__lt__cCst|t�stS|j|jkS)N)r+r%r,r&)r(r*r r r!�__le__Rs
z_BaseVersion.__le__cCst|t�stS|j|jkS)N)r+r%r,r&)r(r*r r r!�__eq__Xs
z_BaseVersion.__eq__cCst|t�stS|j|jkS)N)r+r%r,r&)r(r*r r r!�__ge__^s
z_BaseVersion.__ge__cCst|t�stS|j|jkS)N)r+r%r,r&)r(r*r r r!�__gt__ds
z_BaseVersion.__gt__cCst|t�stS|j|jkS)N)r+r%r,r&)r(r*r r r!�__ne__js
z_BaseVersion.__ne__N)rrrrrrrr)�boolr-r.�objectr/r0r1r2r r r r!r%Cs
r%a�
    v?
    (?:
        (?:(?P<epoch>[0-9]+)!)?                           # epoch
        (?P<release>[0-9]+(?:\.[0-9]+)*)                  # release segment
        (?P<pre>                                          # pre-release
            [-_\.]?
            (?P<pre_l>alpha|a|beta|b|preview|pre|c|rc)
            [-_\.]?
            (?P<pre_n>[0-9]+)?
        )?
        (?P<post>                                         # post release
            (?:-(?P<post_n1>[0-9]+))
            |
            (?:
                [-_\.]?
                (?P<post_l>post|rev|r)
                [-_\.]?
                (?P<post_n2>[0-9]+)?
            )
        )?
        (?P<dev>                                          # dev release
            [-_\.]?
            (?P<dev_l>dev)
            [-_\.]?
            (?P<dev_n>[0-9]+)?
        )?
    )
    (?:\+(?P<local>[a-z0-9]+(?:[-_\.][a-z0-9]+)*))?       # local version
c@s~eZdZUdZe�dedejejB�Z	e
ed<edd�dd�Z
ed	�d
d�Zed	�dd
�Zeed	�dd��Zeeedfd	�dd��Zeeeeefd	�dd��Zeeed	�dd��Zeeed	�dd��Zeeed	�dd��Zeed	�dd��Zeed	�dd��Zeed	�dd ��Zeed	�d!d"��Zeed	�d#d$��Zeed	�d%d&��Z eed	�d'd(��Z!eed	�d)d*��Z"dS)+ra�This class abstracts handling of a project's versions.

    A :class:`Version` instance is comparison aware and can be compared and
    sorted using the standard Python interfaces.

    >>> v1 = Version("1.0a5")
    >>> v2 = Version("1.0")
    >>> v1
    <Version('1.0a5')>
    >>> v2
    <Version('1.0')>
    >>> v1 < v2
    True
    >>> v1 == v2
    False
    >>> v1 > v2
    False
    >>> v1 >= v2
    False
    >>> v1 <= v2
    True
    z^\s*z\s*$r&N)r"r#c
Cs�|j�|�}|s td|�d���t|�d�r:t|�d��ndtdd�|�d��d�D��t|�d	�|�d
��t|�d�|�d�p�|�d
��t|�d�|�d��t	|�d��d�|_
t|j
j|j
j
|j
j|j
j|j
j|j
j�|_dS)aCInitialize a Version object.

        :param version:
            The string representation of a version which will be parsed and normalized
            before use.
        :raises InvalidVersion:
            If the ``version`` does not conform to PEP 440 in any way then this
            exception will be raised.
        zInvalid version: '�'rrcss|]}t|�VqdS)N)r)�.0�ir r r!�	<genexpr>�sz#Version.__init__.<locals>.<genexpr>r�.�pre_l�pre_n�post_l�post_n1�post_n2�dev_l�dev_nr)rrrrrrN)�_regex�searchrr�groupr�tuple�split�_parse_letter_version�_parse_local_version�_version�_cmpkeyrrrrrrr&)r(r"�matchr r r!�__init__�s$zVersion.__init__)r#cCsd|�d�S)z�A representation of the Version that shows all internal state.

        >>> Version('1.0.0')
        <Version('1.0.0')>
        z
<Version('z')>r )r(r r r!�__repr__�szVersion.__repr__cCs�g}|jdkr |�|j�d��|�d�dd�|jD���|jdk	rb|�d�dd�|jD���|jdk	r~|�d	|j���|jdk	r�|�d
|j���|jdk	r�|�d|j���d�|�S)zA string representation of the version that can be rounded-tripped.

        >>> str(Version("1.0a5"))
        '1.0a5'
        r�!r9css|]}t|�VqdS)N)r)r6�xr r r!r8�sz"Version.__str__.<locals>.<genexpr>N�css|]}t|�VqdS)N)r)r6rNr r r!r8�sz.postz.dev�+)r�append�joinrrrrr)r(�partsr r r!�__str__�s




zVersion.__str__cCs|jjS)zThe epoch of the version.

        >>> Version("2.0.0").epoch
        0
        >>> Version("1!2.0.0").epoch
        1
        )rHr)r(r r r!r	s	z
Version.epoch.cCs|jjS)adThe components of the "release" segment of the version.

        >>> Version("1.2.3").release
        (1, 2, 3)
        >>> Version("2.0.0").release
        (2, 0, 0)
        >>> Version("1!2.0.0.post0").release
        (2, 0, 0)

        Includes trailing zeroes but not the epoch or any pre-release / development /
        post-release suffixes.
        )rHr)r(r r r!rszVersion.releasecCs|jjS)aThe pre-release segment of the version.

        >>> print(Version("1.2.3").pre)
        None
        >>> Version("1.2.3a1").pre
        ('a', 1)
        >>> Version("1.2.3b1").pre
        ('b', 1)
        >>> Version("1.2.3rc1").pre
        ('rc', 1)
        )rHr)r(r r r!r$s
zVersion.precCs|jjr|jjdSdS)z�The post-release number of the version.

        >>> print(Version("1.2.3").post)
        None
        >>> Version("1.2.3.post1").post
        1
        r	N)rHr)r(r r r!r3s	zVersion.postcCs|jjr|jjdSdS)z�The development number of the version.

        >>> print(Version("1.2.3").dev)
        None
        >>> Version("1.2.3.dev1").dev
        1
        r	N)rHr)r(r r r!r>s	zVersion.devcCs(|jjr d�dd�|jjD��SdSdS)z�The local version segment of the version.

        >>> print(Version("1.2.3").local)
        None
        >>> Version("1.2.3+abc").local
        'abc'
        r9css|]}t|�VqdS)N)r)r6rNr r r!r8Ssz Version.local.<locals>.<genexpr>N)rHrrR)r(r r r!rIs	z
Version.localcCst|��dd�dS)z�The public portion of the version.

        >>> Version("1.2.3").public
        '1.2.3'
        >>> Version("1.2.3+abc").public
        '1.2.3'
        >>> Version("1.2.3+abc.dev1").public
        '1.2.3'
        rPr	r)rrE)r(r r r!�publicWszVersion.publiccCsFg}|jdkr |�|j�d��|�d�dd�|jD���d�|�S)a]The "base version" of the version.

        >>> Version("1.2.3").base_version
        '1.2.3'
        >>> Version("1.2.3+abc").base_version
        '1.2.3'
        >>> Version("1!1.2.3+abc.dev1").base_version
        '1!1.2.3'

        The "base version" is the public version of the project without any pre or post
        release markers.
        rrMr9css|]}t|�VqdS)N)r)r6rNr r r!r8ysz'Version.base_version.<locals>.<genexpr>rO)rrQrRr)r(rSr r r!�base_versionds

zVersion.base_versioncCs|jdk	p|jdk	S)aTWhether this version is a pre-release.

        >>> Version("1.2.3").is_prerelease
        False
        >>> Version("1.2.3a1").is_prerelease
        True
        >>> Version("1.2.3b1").is_prerelease
        True
        >>> Version("1.2.3rc1").is_prerelease
        True
        >>> Version("1.2.3dev1").is_prerelease
        True
        N)rr)r(r r r!�
is_prerelease}szVersion.is_prereleasecCs
|jdk	S)z�Whether this version is a post-release.

        >>> Version("1.2.3").is_postrelease
        False
        >>> Version("1.2.3.post1").is_postrelease
        True
        N)r)r(r r r!�is_postrelease�s	zVersion.is_postreleasecCs
|jdk	S)z�Whether this version is a development release.

        >>> Version("1.2.3").is_devrelease
        False
        >>> Version("1.2.3.dev1").is_devrelease
        True
        N)r)r(r r r!�
is_devrelease�s	zVersion.is_devreleasecCst|j�dkr|jdSdS)zqThe first item of :attr:`release` or ``0`` if unavailable.

        >>> Version("1.2.3").major
        1
        r	r)�lenr)r(r r r!�major�sz
Version.majorcCst|j�dkr|jdSdS)z�The second item of :attr:`release` or ``0`` if unavailable.

        >>> Version("1.2.3").minor
        2
        >>> Version("1").minor
        0
        �r	r)rZr)r(r r r!�minor�s	z
Version.minorcCst|j�dkr|jdSdS)z�The third item of :attr:`release` or ``0`` if unavailable.

        >>> Version("1.2.3").micro
        3
        >>> Version("1").micro
        0
        �r\r)rZr)r(r r r!�micro�s	z
Version.micro)#rrrr$�re�compiler�VERBOSE�
IGNORECASErA�CmpKeyrrrKrLrT�propertyrrrrrrrrrrUrVr3rWrXrYr[r]r_r r r r!r�sD
&!






)�letter�numberr#cCsv|rZ|dkrd}|��}|dkr&d}n(|dkr4d}n|dkrBd}n|dkrNd	}|t|�fS|sr|rrd	}|t|�fSdS)
Nr�alpha�a�beta�b)�cr�preview�rc)�rev�rr)�lowerr)rfrgr r r!rF�s"rFz[\._-])rr#cCs$|dk	r tdd�t�|�D��SdS)zR
    Takes a string like abc.1.twelve and turns it into ("abc", 1, "twelve").
    Ncss&|]}|��s|��nt|�VqdS)N)�isdigitrqr)r6�partr r r!r8�sz'_parse_local_version.<locals>.<genexpr>)rD�_local_version_separatorsrE)rr r r!rG�s
rG)rrrrrrr#cCs�tttt�dd�t|�����}|dkr>|dkr>|dk	r>t}n|dkrLt}n|}|dkr^t}n|}|dkrpt}	n|}	|dkr�t}
ntdd�|D��}
|||||	|
fS)NcSs|dkS)Nrr )rNr r r!�<lambda>�z_cmpkey.<locals>.<lambda>css(|] }t|t�r|dfnt|fVqdS)rON)r+rr)r6r7r r r!r80sz_cmpkey.<locals>.<genexpr>)rD�reversed�list�	itertools�	dropwhilerr
)rrrrrr�_release�_pre�_post�_dev�_localr r r!rI�s$	rI)'r$ryr`�typingrrrrrrr�_structuresr
rrr
�__all__rrrZCmpPrePostDevTypeZCmpLocalTyperdr3ZVersionComparisonMethodrr�
ValueErrorrr%Z_VERSION_PATTERNrr�bytesrFrartrGrIr r r r!�<module>sL$0
	
M
("