HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: sport3497 (1034)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/local/CyberCP/lib64/python3.10/site-packages/soupsieve/__pycache__/__meta__.cpython-310.pyc
o

�hn�	@s�dZddlmZddlmZddlZe�d�Zdddd	ddd	dd
�Zdddddd
d
dd
�Z	dddd�Z
Gdd�dedgd���Zddd�Zedddd�Z
e
��ZdS)zMeta related things.�)�annotations)�
namedtupleNz�(?x)
    (?P<major>\d+)(?:\.(?P<minor>\d+))?(?:\.(?P<micro>\d+))?
    (?:(?P<type>a|b|rc)(?P<pre>\d+))?
    (?:\.post(?P<post>\d+))?
    (?:\.dev(?P<dev>\d+))?
    ��a�b�rc)�.devz
.dev-alphaz	.dev-beta�.dev-candidate�alpha�beta�	candidate�finalz
2 - Pre-Alphaz	3 - Alphaz4 - Betaz5 - Production/Stabler
rr)rrrcsZeZdZdZ		dd�fdd�
Zddd�Zddd�Zddd�Zddd�Zddd�Z	�Z
S)�Versional
    Get the version (PEP 440).

    A biased approach to the PEP 440 semantic version.

    Provides a tuple structure which is sorted for comparisons `v1 > v2` etc.
      (major, minor, micro, release type, pre-release build, post-release build, development release build)
    Release types are named in is such a way they are comparable with ease.
    Accessors to check if a development, pre-release, or post-release build. Also provides accessor to get
    development status for setup files.

    How it works (currently):

    - You must specify a release type as either `final`, `alpha`, `beta`, or `candidate`.
    - To define a development release, you can use either `.dev`, `.dev-alpha`, `.dev-beta`, or `.dev-candidate`.
      The dot is used to ensure all development specifiers are sorted before `alpha`.
      You can specify a `dev` number for development builds, but do not have to as implicit development releases
      are allowed.
    - You must specify a `pre` value greater than zero if using a prerelease as this project (not PEP 440) does not
      allow implicit prereleases.
    - You can optionally set `post` to a value greater than zero to make the build a post release. While post releases
      are technically allowed in prereleases, it is strongly discouraged, so we are rejecting them. It should be
      noted that we do not allow `post0` even though PEP 440 does not restrict this. This project specifically
      does not allow implicit post releases.
    - It should be noted that we do not support epochs `1!` or local versions `+some-custom.version-1`.

    Acceptable version releases:

    ```
    Version(1, 0, 0, "final")                    1.0
    Version(1, 2, 0, "final")                    1.2
    Version(1, 2, 3, "final")                    1.2.3
    Version(1, 2, 0, ".dev-alpha", pre=4)        1.2a4
    Version(1, 2, 0, ".dev-beta", pre=4)         1.2b4
    Version(1, 2, 0, ".dev-candidate", pre=4)    1.2rc4
    Version(1, 2, 0, "final", post=1)            1.2.post1
    Version(1, 2, 3, ".dev")                     1.2.3.dev0
    Version(1, 2, 3, ".dev", dev=1)              1.2.3.dev1
    ```

    r
r�major�int�minor�micro�release�str�pre�post�dev�returnc	
s�|||||fD]}t|t�r|dkstd��q|tvr#td|�d���d|kr-dkrDnn|dkr7td��|r=td��|rCtd	��n#|d
kr[|dkrT|dkrTtd��|rZtd	��n|ratd
��|rgtd��t��||||||||�S)zValidate version info.rz6All version parts except 'release' should be integers.�'z' is not a valid release type.r	r
z"Implicit pre-releases not allowed.z%Version is not a development release.z0Post-releases are not allowed with pre-releases.r
rz!Implicit pre-release not allowed.zVersion is not a pre-release.)�
isinstancer�
ValueError�REL_MAP�super�__new__)	�clsrrrrrrr�value��	__class__��E/usr/local/CyberCP/lib/python3.10/site-packages/soupsieve/__meta__.pyrSs2���zVersion.__new__�boolcC�t|jdk�S)zIs prerelease.r)r%r��selfr#r#r$�_is_pre{�zVersion._is_precCst|jdk�S)zIs development.r
)r%rr'r#r#r$�_is_dev�r*zVersion._is_devcCr&)zIs post.r)r%rr'r#r#r$�_is_post�r*zVersion._is_postcCs
t|jS)zGet development status string.)�
DEV_STATUSrr'r#r#r$�_get_dev_status�s
zVersion._get_dev_statuscCs�|jdkr|j�d|j��}n
|j�d|j�d|j��}|��r,|t|j�|j��7}|��r8|d|j��7}|�	�rD|d|j
��7}|S)z Get the canonical output string.r�.z.postr)rrrr)rrrr,rr+r)r(�verr#r#r$�_get_canonical�s
zVersion._get_canonical)r
rrr)rrrrrrrrrrrrrrrr)rr%)rr)�__name__�
__module__�__qualname__�__doc__rr)r+r,r.r1�
__classcell__r#r#r!r$r(s,�
(


r)rrrrrrrr0rrc	Cst�|�}|durtd|�d���t|�d��}|�d�r$t|�d��nd}|�d�r2t|�d��nd}|�d�rHt|�d�}t|�d	��}nd
}d}|�d�rV|�d�nd}|�d�rmt|�d��}|rjd|nd
}nd}|�d�r{t|�d��nd}t|||||||�S)z.Parse version into a comparable Version tuple.Nrz' is not a valid versionrrrr�typerr
rz.dev-rr)�RE_VER�matchrr�group�PRE_REL_MAPr)	r0�mrrrrrrrr#r#r$�
parse_version�s$


r=��r
)r0rrr)r5�
__future__r�collectionsr�re�compiler8rr-r;rr=�__version_info__r1�__version__r#r#r#r$�<module>s<�
��
y#