§
    WŠtjèZ  ã            
      ó  — d Z ddlm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
mZmZmZ ddlmZmZmZmZ ej        rddlmZmZ ej        dk    rdd	lmZ nej        rdd	lmZ nddlZddlZdMd„ZddddddddœZg d¢Zeeeef         df         Z eeeeeef         f         Z!eeeeeeef         eeeeef         f         f         df         f         Z"eeeedf         e!e!e!e"f         Z#ee#e#ge$f         Z% G d„ ded¬¦  «        Z&dNd„Z' G d„ de(¦  «        Z) G d„ d ¦  «        Z*d!Z+e+ ,                    d"d#¦  «         ,                    d$d%¦  «        Z-ej.        j/        d&k    rej        d'k     s&ej.        j/        d(k    rej        d)k     sej        d*k     re-ne+Z0	  ej1        d+ej2        ¦  «        Z3dOd.„Z4dPd0„Z5dQd2„Z6dRd4„Z7dSd6„Z8dTd8„Z9 G d9„ d:e	¦  «        Z: G d;„ de*¦  «        Z; G d<„ d=e;¦  «        Z<dUdC„Z= ej1        dD¦  «        Z>dVdF„Z?dWdL„Z@dS )XzB
.. testsetup::

    from packaging.version import parse, Version
é    )ÚannotationsN)ÚAnyÚCallableÚLiteralÚ
NamedTupleÚSupportsIntÚTupleÚ	TypedDictÚUnioné   )ÚInfinityÚInfinityTypeÚNegativeInfinityÚNegativeInfinityType)ÚSelfÚUnpack)é   é   )Ú
deprecatedÚmessageÚstrÚreturnÚobjectc                ó   ‡ — dˆ fd„}|S )NÚfuncr   r   c                óL   •‡ — t          j        ‰ ¦  «        dˆ ˆfd„¦   «         }|S )NÚargsr   Úkwargsr   c                 óL   •— t          j        ‰t          d¬¦  «          ‰| i |¤ŽS )Né   )ÚcategoryÚ
stacklevel)ÚwarningsÚwarnÚDeprecationWarning)r   r   r   r   s     €€úb/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/setuptools/_vendor/packaging/version.pyÚwrapperz/_deprecated.<locals>.decorator.<locals>.wrapper)   s<   ø€ å”ØÝ/Ø ðñ ô ð ð
 �t˜TÐ, VÐ,Ð,Ð,ó    )r   r   r   r   r   r   )Ú	functoolsÚwraps)r   r'   r   s   ` €r&   Ú	decoratorz_deprecated.<locals>.decorator(   sC   øø€ ÝŒ_˜TÑ"Ô"ð-ð -ð -ð -ð -ð -ñ #Ô"ð-ð ˆNr(   )r   r   r   r   © )r   r+   s   ` r&   Ú_deprecatedr-   '   s)   ø€ ð
	ð 
	ð 
	ð 
	ð 
	ð 
	ð Ðr(   ÚaÚbÚrcÚpost)ÚalphaÚbetaÚcÚpreÚpreviewÚrevÚr)ÚVERSION_PATTERNÚInvalidVersionÚVersionÚparse.c                  óL   — e Zd ZU ded<   ded<   ded<   ded<   ded<   d	ed
<   dS )Ú_VersionReplaceú
int | NoneÚepochztuple[int, ...] | NoneÚreleaseú*tuple[Literal['a', 'b', 'rc'], int] | Noner5   r1   Údevú
str | NoneÚlocalN©Ú__name__Ú
__module__Ú__qualname__Ú__annotations__r,   r(   r&   r>   r>   U   sW   € € € € € € ØÐÐÑØ#Ð#Ð#Ñ#Ø3Ð3Ð3Ñ3ØÐÐÑØ€O€O�OØÐÐÑÐÐr(   r>   F)ÚtotalÚversionr;   c                ó    — t          | ¦  «        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;   )rL   s    r&   r<   r<   ^   s   € õ �7ÑÔÐr(   c                  ó   — e Zd ZdZdS )r:   zÉRaised when a version string is not a valid version.

    >>> Version("invalid")
    Traceback (most recent call last):
        ...
    packaging.version.InvalidVersion: Invalid version: 'invalid'
    N)rG   rH   rI   Ú__doc__r,   r(   r&   r:   r:   j   s   € € € € € ðð ð ð r(   r:   c                  óp   — e Zd ZdZej        redd„¦   «         Zdd„Zdd	„Z	dd
„Z
dd„Zdd„Zdd„Zdd„ZdS )Ú_BaseVersionr,   r   útuple[Any, ...]c                ó   — d S ©Nr,   ©Úselfs    r&   Ú_keyz_BaseVersion._key|   s   € Ø+.¨3r(   Úintc                ó*   — t          | j        ¦  «        S rT   )ÚhashrW   rU   s    r&   Ú__hash__z_BaseVersion.__hash__   s   € Ý�D”I‰ŒÐr(   ÚotherÚboolc                óZ   — t          |t          ¦  «        st          S | j        |j        k     S rT   ©Ú
isinstancerQ   ÚNotImplementedrW   ©rV   r\   s     r&   Ú__lt__z_BaseVersion.__lt__…   ó)   € Ý˜%¥Ñ.Ô.ð 	"Ý!Ð!àŒy˜5œ:Ò%Ð%r(   c                óZ   — t          |t          ¦  «        st          S | j        |j        k    S rT   r_   rb   s     r&   Ú__le__z_BaseVersion.__le__‹   ó)   € Ý˜%¥Ñ.Ô.ð 	"Ý!Ð!àŒy˜EœJÒ&Ð&r(   r   c                óZ   — t          |t          ¦  «        st          S | j        |j        k    S rT   r_   rb   s     r&   Ú__eq__z_BaseVersion.__eq__‘   rg   r(   c                óZ   — t          |t          ¦  «        st          S | j        |j        k    S rT   r_   rb   s     r&   Ú__ge__z_BaseVersion.__ge__—   rg   r(   c                óZ   — t          |t          ¦  «        st          S | j        |j        k    S rT   r_   rb   s     r&   Ú__gt__z_BaseVersion.__gt__�   rd   r(   c                óZ   — t          |t          ¦  «        st          S | j        |j        k    S rT   r_   rb   s     r&   Ú__ne__z_BaseVersion.__ne__£   rg   r(   N)r   rR   ©r   rX   )r\   rQ   r   r]   )r\   r   r   r]   )rG   rH   rI   Ú	__slots__ÚtypingÚTYPE_CHECKINGÚpropertyrW   r[   rc   rf   ri   rk   rm   ro   r,   r(   r&   rQ   rQ   t   sÈ   € € € € € Ø€Ið
 Ôð /à	Ø.Ð.Ð.ñ 
ŒØ.ðð ð ð ð&ð &ð &ð &ð'ð 'ð 'ð 'ð'ð 'ð 'ð 'ð'ð 'ð 'ð 'ð&ð &ð &ð &ð'ð 'ð 'ð 'ð 'ð 'r(   rQ   a1  
    v?+                                                   # optional leading 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>                                        # local version
            [a-z0-9]+
            (?:[._-][a-z0-9]+)*+
        )
    )?+
z*+Ú*z?+ú?Úcpython)r   é   é   Úpypy)r   rx   r   )r   rx   z[a-z0-9]+(?:[._-][a-z0-9]+)*ÚvaluerX   c               ól   — | pd}t          |t          ¦  «        r|dk    r|S d|› �}t          |¦  «        ‚)Nr   z(epoch must be non-negative integer, got ©r`   rX   r:   )r{   r@   Úmsgs      r&   Ú_validate_epochr   î   sE   € ØˆJ�Q€EÝ�%�ÑÔð  %¨1¢* *ØˆØ
<°UÐ
<Ð
<€CÝ
˜Ñ
Ô
Ðr(   útuple[int, ...]c               ó¼   — | €dn| }t          |t          ¦  «        r.t          |¦  «        dk    rt          d„ |D ¦   «         ¦  «        r|S d|› �}t	          |¦  «        ‚)N)r   r   c              3  óL   K  — | ]}t          |t          ¦  «        o|d k    V — Œ dS )r   N)r`   rX   ©Ú.0Úis     r&   ú	<genexpr>z$_validate_release.<locals>.<genexpr>û   s5   è è € Ð?Ð?°!•
˜1�cÑ"Ô"Ð- q¨A¢vÐ?Ð?Ð?Ð?Ð?Ð?r(   z@release must be a non-empty tuple of non-negative integers, got )r`   ÚtupleÚlenÚallr:   )r{   rA   r~   s      r&   Ú_validate_releaserŠ   ö   ss   € Ø�mˆdˆd¨€Gå�7�EÑ"Ô"ðå�‰LŒL˜1ÒÐÝÐ?Ð?°wÐ?Ñ?Ô?Ñ?Ô?ð ð ˆØ
VÈWÐ
VÐ
V€CÝ
˜Ñ
Ô
Ðr(   rB   c               óè   — | €| S t          | t          ¦  «        rFt          | ¦  «        dk    r3| d         dv r)t          | d         t          ¦  «        r| d         dk    r| S d| › �}t	          |¦  «        ‚)Nr    r   )r.   r/   r0   r   z=pre must be a tuple of ('a'|'b'|'rc', non-negative int), got )r`   r‡   rˆ   rX   r:   ©r{   r~   s     r&   Ú_validate_prer�     s€   € Ø€}Øˆå�5�%Ñ Ô ðå�‰JŒJ˜!ŠOˆOØ�!ŒHÐ(Ð(Ð(Ý�u˜Q”x¥Ñ%Ô%ð )à�!ŒH˜ŠMˆMàˆØ
QÈ%Ð
QÐ
Q€CÝ
˜Ñ
Ô
Ðr(   ú"tuple[Literal['post'], int] | Nonec               óp   — | €| S t          | t          ¦  «        r
| dk    rd| fS d| › �}t          |¦  «        ‚)Nr   r1   z'post must be non-negative integer, got r}   rŒ   s     r&   Ú_validate_postr�     sK   € Ø€}ØˆÝ�%�ÑÔð  %¨1¢* *Ø˜ˆÐØ
;°EÐ
;Ð
;€CÝ
˜Ñ
Ô
Ðr(   ú!tuple[Literal['dev'], int] | Nonec               óp   — | €| S t          | t          ¦  «        r
| dk    rd| fS d| › �}t          |¦  «        ‚)Nr   rC   z&dev must be non-negative integer, got r}   rŒ   s     r&   Ú_validate_devr“     sK   € Ø€}ØˆÝ�%�ÑÔð  %¨1¢* *Ø�uˆ~ÐØ
:°5Ð
:Ð
:€CÝ
˜Ñ
Ô
Ðr(   úLocalType | Nonec               ó®   — | €| S t          | t          ¦  «        r)t                               | ¦  «        rt	          | ¦  «        S d| ›�}t          |¦  «        ‚)Nz*local must be a valid version string, got )r`   r   Ú_LOCAL_PATTERNÚ	fullmatchÚ_parse_local_versionr:   rŒ   s     r&   Ú_validate_localr™   #  s\   € Ø€}ØˆÝ�%�ÑÔð +¥.×":Ò":¸5Ñ"AÔ"Að +Ý# EÑ*Ô*Ð*Ø
@°uÐ
@Ð
@€CÝ
˜Ñ
Ô
Ðr(   c                  óL   — e Zd ZU ded<   ded<   ded<   ded<   ded<   d	ed
<   dS )Ú_VersionrX   r@   r€   rA   útuple[str, int] | NonerC   r5   r1   r”   rE   NrF   r,   r(   r&   r›   r›   -  sW   € € € € € € Ø€J€J�JØÐÐÑØÐÐÑØÐÐÑØ Ð Ð Ñ ØÐÐÑÐÐr(   r›   c                  óÈ  — e Zd ZU dZdZdZ ej        dez   dz   ej	        ej
        z  ¦  «        Zded<   ded<   d	ed
<   d	ed<   d	ed<   ded<   ded<   d6d„Zd7d„Zed8d„¦   «         Ze ed¦  «        d9d„¦   «         ¦   «         Zej         ed¦  «        d:d „¦   «         ¦   «         Zd;d!„Zd;d"„Zed;d#„¦   «         Zed<d$„¦   «         Zed=d%„¦   «         Zed>d&„¦   «         Zed?d(„¦   «         Zed?d)„¦   «         Zed@d+„¦   «         Zed;d,„¦   «         Zed;d-„¦   «         ZedAd/„¦   «         ZedAd0„¦   «         Z edAd1„¦   «         Z!ed<d2„¦   «         Z"ed<d3„¦   «         Z#ed<d4„¦   «         Z$d5S )Br;   a¹  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
    )Ú_devÚ_epochÚ
_key_cacheÚ_localÚ_postÚ_preÚ_release)Ú_strz\s*rX   rŸ   r€   r¤   rœ   rž   r£   r¢   r”   r¡   zCmpKey | Noner    rL   r   r   ÚNonec                ó`  — | j                              |¦  «        }|st          d|›�¦  «        ‚|                     d¦  «        r"t	          |                     d¦  «        ¦  «        nd| _        t          t          t          |                     d¦  «                             d¦  «        ¦  «        ¦  «        | _	        t          |                     d¦  «        |                     d¦  «        ¦  «        | _        t          |                     d¦  «        |                     d	¦  «        p|                     d
¦  «        ¦  «        | _        t          |                     d¦  «        |                     d¦  «        ¦  «        | _        t          |                     d¦  «        ¦  «        | _        d| _        dS )aC  Initialize 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.
        zInvalid version: r@   r   rA   ú.Úpre_lÚpre_nÚpost_lÚpost_n1Úpost_n2Údev_lÚdev_nrE   N)Ú_regexr—   r:   ÚgrouprX   rŸ   r‡   ÚmapÚsplitr¤   Ú_parse_letter_versionr£   r¢   rž   r˜   r¡   r    )rV   rL   Úmatchs      r&   Ú__init__zVersion.__init__\  sX  € ð ”×%Ò% gÑ.Ô.ˆØð 	BÝ Ð!@°WÐ!@Ð!@ÑAÔAÐAØ38·;²;¸wÑ3GÔ3GÐN•c˜%Ÿ+š+ gÑ.Ô.Ñ/Ô/Ð/ÈQˆŒÝ�c¥# u§{¢{°9Ñ'=Ô'=×'CÒ'CÀCÑ'HÔ'HÑIÔIÑJÔJˆŒÝ)¨%¯+ª+°gÑ*>Ô*>ÀÇÂÈGÑ@TÔ@TÑUÔUˆŒ	Ý*Ø�KŠK˜Ñ!Ô! 5§;¢;¨yÑ#9Ô#9Ð#S¸U¿[º[ÈÑ=SÔ=Sñ
ô 
ˆŒ
õ *¨%¯+ª+°gÑ*>Ô*>ÀÇÂÈGÑ@TÔ@TÑUÔUˆŒ	Ý*¨5¯;ª;°wÑ+?Ô+?Ñ@Ô@ˆŒð ˆŒˆˆr(   r   úUnpack[_VersionReplace]r   c                ó®  — d|v rt          |d         ¦  «        n| j        }d|v rt          |d         ¦  «        n| j        }d|v rt	          |d         ¦  «        n| j        }d|v rt          |d         ¦  «        n| j        }d|v rt          |d         ¦  «        n| j	        }d|v rt          |d         ¦  «        n| j        }|| j        k    r9|| j        k    r.|| j        k    r#|| j        k    r|| j	        k    r|| j        k    r| S | j                             | j        ¦  «        }d |_        ||_        ||_        ||_        ||_        ||_	        ||_        |S )Nr@   rA   r5   r1   rC   rE   )r   rŸ   rŠ   r¤   r�   r£   r�   r¢   r“   rž   r™   r¡   Ú	__class__Ú__new__r    )	rV   r   r@   rA   r5   r1   rC   rE   Únew_versions	            r&   Ú__replace__zVersion.__replace__v  s€  € Ø4;¸vÐ4EÐ4E•  w¤Ñ0Ô0Ð0È4Ì;ˆð ˜FÐ"Ð"õ ˜f YÔ/Ñ0Ô0Ð0à”ð 	ð
 /4°v¨o¨o�m˜F 5œMÑ*Ô*Ð*À4Ä9ˆØ17¸6Ð1AÐ1A�~˜f VœnÑ-Ô-Ð-ÀtÄzˆØ.3°v¨o¨o�m˜F 5œMÑ*Ô*Ð*À4Ä9ˆØ4;¸vÐ4EÐ4E•  w¤Ñ0Ô0Ð0È4Ì;ˆð �T”[Ò Ð Ø˜4œ=Ò(Ð(Ø�t”yÒ Ð Ø˜œ
Ò"Ð"Ø�t”yÒ Ð Ø˜œÒ$Ð$àˆKà”n×,Ò,¨T¬^Ñ<Ô<ˆØ!%ˆÔØ"ˆÔØ&ˆÔØˆÔØ ˆÔØˆÔØ"ˆÔàÐr(   ÚCmpKeyc                óŒ   — | j         €7t          | j        | j        | j        | j        | j        | j        ¦  «        | _         | j         S rT   )r    Ú_cmpkeyrŸ   r¤   r£   r¢   rž   r¡   rU   s    r&   rW   zVersion._key—  sC   € àŒ?Ð"Ý%Ø”Ø”Ø”	Ø”
Ø”	Ø”ñô ˆDŒOð ŒÐr(   z4Version._version is private and will be removed soonr›   c                óf   — t          | j        | j        | j        | j        | j        | j        ¦  «        S rT   )r›   rŸ   r¤   rž   r£   r¢   r¡   rU   s    r&   Ú_versionzVersion._version¤  s/   € õ ØŒK˜œ¨¬	°4´9¸d¼jÈ$Ì+ñ
ô 
ð 	
r(   r{   c                ó¤   — |j         | _        |j        | _        |j        | _        |j        | _        |j        | _	        |j
        | _        d | _        d S rT   )r@   rŸ   rA   r¤   rC   rž   r5   r£   r1   r¢   rE   r¡   r    )rV   r{   s     r&   rÁ   zVersion._version«  sE   € ð ”kˆŒØœˆŒØ”IˆŒ	Ø”IˆŒ	Ø”ZˆŒ
Ø”kˆŒØˆŒˆˆr(   c                ó   — 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,   rU   s    r&   Ú__repr__zVersion.__repr__¶  s   € ð &˜DÐ%Ð%Ð%Ð%r(   c                ól  — d                      t          t          | j        ¦  «        ¦  «        }| j        r| j        › d|› �}| j        �0|d                      t          t          | j        ¦  «        ¦  «        z  }| j        �|d| j        › �z  }| j        �|d| j        › �z  }| j        �|d| j        › �z  }|S )z}A string representation of the version that can be round-tripped.

        >>> str(Version("1.0a5"))
        '1.0a5'
        r¨   ú!NÚ z.postz.devú+)	Újoinr²   r   rA   r@   r5   r1   rC   rE   )rV   rL   s     r&   Ú__str__zVersion.__str__¾  sÐ   € ð —(’(�3�s D¤LÑ1Ô1Ñ2Ô2ˆð Œ:ð 	0ØœÐ/Ð/ gÐ/Ð/ˆGð Œ8ÐØ�r—w’w�s¥3¨¬Ñ1Ô1Ñ2Ô2Ñ2ˆGð Œ9Ð ØÐ*˜tœyÐ*Ð*Ñ*ˆGð Œ8ÐØÐ(˜dœhÐ(Ð(Ñ(ˆGð Œ:Ð!ØÐ'˜4œ:Ð'Ð'Ñ'ˆGàˆr(   c                ó    — t          | ¦  «        S )z Internal property for match_args©r   rU   s    r&   r¥   zVersion._strÝ  s   € õ �4‰yŒyÐr(   c                ó   — | j         S )zThe epoch of the version.

        >>> Version("2.0.0").epoch
        0
        >>> Version("1!2.0.0").epoch
        1
        )rŸ   rU   s    r&   r@   zVersion.epochâ  s   € ð Œ{Ðr(   c                ó   — | j         S )ad  The 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.
        )r¤   rU   s    r&   rA   zVersion.releaseí  s   € ð Œ}Ðr(   c                ó   — | j         S )a  The 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)
        )r£   rU   s    r&   r5   zVersion.preý  s   € ð ŒyÐr(   r?   c                ó.   — | j         r| j         d         ndS )z™The post-release number of the version.

        >>> print(Version("1.2.3").post)
        None
        >>> Version("1.2.3.post1").post
        1
        r   N)r¢   rU   s    r&   r1   zVersion.post  s   € ð !%¤
Ð4ˆtŒz˜!Œ}ˆ}°Ð4r(   c                ó.   — | j         r| j         d         ndS )z•The development number of the version.

        >>> print(Version("1.2.3").dev)
        None
        >>> Version("1.2.3.dev1").dev
        1
        r   N)rž   rU   s    r&   rC   zVersion.dev  s   € ð  $œyÐ2ˆtŒy˜Œ|ˆ|¨dÐ2r(   rD   c                ó\   — | j         r$d                     d„ | j         D ¦   «         ¦  «        S dS )zŸThe local version segment of the version.

        >>> print(Version("1.2.3").local)
        None
        >>> Version("1.2.3+abc").local
        'abc'
        r¨   c              3  ó4   K  — | ]}t          |¦  «        V — Œd S rT   rÌ   )r„   Úxs     r&   r†   z Version.local.<locals>.<genexpr>,  s(   è è € Ð8Ð8 q�C ™FœFÐ8Ð8Ð8Ð8Ð8Ð8r(   N)r¡   rÉ   rU   s    r&   rE   zVersion.local"  s6   € ð Œ;ð 	Ø—8’8Ð8Ð8¨D¬KÐ8Ñ8Ô8Ñ8Ô8Ð8à�4r(   c                óT   — t          | ¦  «                             dd¦  «        d         S )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!1.2.3dev1+abc").public
        '1!1.2.3.dev1'
        rÈ   r   r   )r   r³   rU   s    r&   ÚpubliczVersion.public0  s#   € õ �4‰yŒy�Š˜s AÑ&Ô& qÔ)Ð)r(   c                ó†   — d                      t          t          | j        ¦  «        ¦  «        }| j        r| j        › d|› �n|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.3dev1+abc").base_version
        '1!1.2.3'

        The "base version" is the public version of the project without any pre or post
        release markers.
        r¨   rÆ   )rÉ   r²   r   rA   r@   )rV   Úrelease_segments     r&   Úbase_versionzVersion.base_version=  sC   € ð Ÿ(š(¥3¥s¨D¬LÑ#9Ô#9Ñ:Ô:ˆØ48´JÐS�$”*Ð0Ð0˜Ð0Ð0Ð0ÀOÐSr(   r]   c                ó&   — | j         dup| j        duS )aT  Whether 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)rC   r5   rU   s    r&   Úis_prereleasezVersion.is_prereleaseN  s   € ð Œx˜tÐ#Ð; t¤x°tÐ';Ð;r(   c                ó   — | j         du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)r1   rU   s    r&   Úis_postreleasezVersion.is_postrelease_  s   € ð Œy Ð$Ð$r(   c                ó   — | j         du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)rC   rU   s    r&   Úis_devreleasezVersion.is_devreleasej  s   € ð Œx˜tÐ#Ð#r(   c                óP   — t          | j        ¦  «        dk    r| j        d         ndS )zqThe first item of :attr:`release` or ``0`` if unavailable.

        >>> Version("1.2.3").major
        1
        r   r   ©rˆ   rA   rU   s    r&   ÚmajorzVersion.majoru  s(   € õ #& d¤lÑ"3Ô"3°qÒ"8Ð"8ˆtŒ|˜AŒˆ¸aÐ?r(   c                óP   — t          | j        ¦  «        dk    r| j        d         ndS )z›The second item of :attr:`release` or ``0`` if unavailable.

        >>> Version("1.2.3").minor
        2
        >>> Version("1").minor
        0
        r    r   r   rá   rU   s    r&   ÚminorzVersion.minor~  ó(   € õ #& d¤lÑ"3Ô"3°qÒ"8Ð"8ˆtŒ|˜AŒˆ¸aÐ?r(   c                óP   — t          | j        ¦  «        dk    r| j        d         ndS )zšThe third item of :attr:`release` or ``0`` if unavailable.

        >>> Version("1.2.3").micro
        3
        >>> Version("1").micro
        0
        r   r    r   rá   rU   s    r&   ÚmicrozVersion.micro‰  rå   r(   N)rL   r   r   r¦   )r   r·   r   r   )r   r½   )r   r›   )r{   r›   r   r¦   )r   r   rp   ©r   r€   )r   rœ   )r   r?   )r   rD   )r   r]   )%rG   rH   rI   rO   rq   Ú__match_args__ÚreÚcompiler9   ÚVERBOSEÚ
IGNORECASEr°   rJ   r¶   r¼   rt   rW   r-   rÁ   ÚsetterrÄ   rÊ   r¥   r@   rA   r5   r1   rC   rE   rÖ   rÙ   rÛ   rÝ   rß   râ   rä   rç   r,   r(   r&   r;   r;   6  sw  € € € € € € ðð ð. X€IØ€NàˆRŒZ˜ Ñ0°6Ñ9¸2¼:ÈÌÑ;UÑVÔV€Fà€K€K�KØÐÐÑØ Ð Ð Ñ Ø Ð Ð Ñ Ø!Ð!Ð!Ñ!ØÐÐÑàÐÐÑðð ð ð ð4ð ð ð ðB ð
ð 
ð 
ñ „Xð
ð Ø€[ÐGÑHÔHð
ð 
ð 
ñ IÔHñ „Xð
ð
 „_Ø€[ÐGÑHÔHðð ð ñ IÔHñ „_ðð&ð &ð &ð &ðð ð ð ð> ðð ð ñ „Xðð ðð ð ñ „Xðð ðð ð ñ „Xðð ðð ð ñ „Xðð ð5ð 5ð 5ñ „Xð5ð ð3ð 3ð 3ñ „Xð3ð ðð ð ñ „Xðð ð
*ð 
*ð 
*ñ „Xð
*ð ðTð Tð Tñ „XðTð  ð<ð <ð <ñ „Xð<ð  ð%ð %ð %ñ „Xð%ð ð$ð $ð $ñ „Xð$ð ð@ð @ð @ñ „Xð@ð ð@ð @ð @ñ „Xð@ð ð@ð @ð @ñ „Xð@ð @ð @r(   c                  ó@   ‡ — e Zd ZdZd	ˆ fd„Zed
ˆ fd„¦   «         Zˆ xZS )Ú_TrimmedReleaser,   rL   ústr | Versionr   r¦   c                ó   •— t          |t          ¦  «        rV|j        | _        |j        | _        |j        | _        |j        | _        |j        | _        |j        | _        |j        | _        d S t          ¦   «          
                    |¦  «         d S rT   )r`   r;   rŸ   r¤   rž   r£   r¢   r¡   r    Úsuperr¶   )rV   rL   r¹   s     €r&   r¶   z_TrimmedRelease.__init__˜  sy   ø€ Ý�g�wÑ'Ô'ð 	Ø!œ.ˆDŒKØ#Ô,ˆDŒMØœˆDŒIØœˆDŒIØ œˆDŒJØ!œ.ˆDŒKØ%Ô0ˆDŒOØˆFÝ‰Œ×Ò˜Ñ!Ô!Ð!Ð!Ð!r(   r€   c                óÎ   •— t          ¦   «         j        }t          |¦  «        }|}|dk    r)||dz
           dk    r|dz  }|dk    r||dz
           dk    °||k    r|n	|d|…         S )z°
        Release segment without any trailing zeros.

        >>> _TrimmedRelease('1.0.0').release
        (1,)
        >>> _TrimmedRelease('0.0').release
        (0,)
        r   r   N)ró   rA   rˆ   )rV   ÚrelÚlen_releaser…   r¹   s       €r&   rA   z_TrimmedRelease.release¤  sy   ø€ õ ‰gŒgŒoˆÝ˜#‘h”hˆØˆØ�!Šeˆe˜˜A ™Eœ
 aš˜Ø�‰FˆAð �!Šeˆe˜˜A ™Eœ
 aš˜à˜;Ò&Ð&ˆsˆs¨C°°°¬GÐ3r(   )rL   rñ   r   r¦   rè   )rG   rH   rI   rq   r¶   rt   rA   Ú__classcell__)r¹   s   @r&   rð   rð   •  sl   ø€ € € € € Ø€Ið
"ð 
"ð 
"ð 
"ð 
"ð 
"ð ð4ð 4ð 4ð 4ð 4ñ „Xð4ð 4ð 4ð 4ð 4r(   rð   ÚletterrD   Únumberú str | bytes | SupportsInt | Nonerœ   c                ó´   — | rB|                       ¦   «         } t                               | | ¦  «        } | t          |pd¦  «        fS |rdt          |¦  «        fS d S )Nr   r1   )ÚlowerÚ_LETTER_NORMALIZATIONÚgetrX   )rø   rù   s     r&   r´   r´   ·  si   € ð ð (à—’‘”ˆõ
 '×*Ò*¨6°6Ñ:Ô:ˆð •s˜6˜; QÑ'Ô'Ð'Ð'àð #ð •s˜6‘{”{Ð"Ð"àˆ4r(   z[\._-]rE   c                ól   — | �1t          d„ t                               | ¦  «        D ¦   «         ¦  «        S dS )zR
    Takes a string like abc.1.twelve and turns it into ("abc", 1, "twelve").
    Nc              3  ó„   K  — | ];}|                      ¦   «         s|                     ¦   «         nt          |¦  «        V — Œ<d S rT   )Úisdigitrü   rX   )r„   Úparts     r&   r†   z'_parse_local_version.<locals>.<genexpr>×  sU   è è € ð 
ð 
àð !%§¢¡¤Ð=ˆD�JŠJ‰LŒLˆLµC¸±I´Ið
ð 
ð 
ð 
ð 
ð 
r(   )r‡   Ú_local_version_separatorsr³   )rE   s    r&   r˜   r˜   Ò  sM   € ð ÐÝð 
ð 
å1×7Ò7¸Ñ>Ô>ð
ñ 
ô 
ñ 
ô 
ð 	
ð ˆ4r(   r@   rA   r5   rC   r½   c                óP  — t          |¦  «        }|}|r%||dz
           dk    r|dz  }|r||dz
           dk    °||k    r|n	|d |…         }|€|€
|�t          }	n|€t          }	n|}	|€t          }
n|}
|€t          }n|}|€t          }nt          d„ |D ¦   «         ¦  «        }| ||	|
||fS )Nr   r   c              3  óZ   K  — | ]&}t          |t          ¦  «        r|d fnt          |fV — Œ'dS )rÇ   N)r`   rX   r   rƒ   s     r&   r†   z_cmpkey.<locals>.<genexpr>  sP   è è € ð 
ð 
ØIJ•z !¥SÑ)Ô)ÐDˆQ�ˆGˆGÕ0@À!Ð/Dð
ð 
ð 
ð 
ð 
ð 
r(   )rˆ   r   r   r‡   )r@   rA   r5   r1   rC   rE   rö   r…   r¤   r£   r¢   rž   r¡   s                r&   r¿   r¿   Þ  s  € õ �g‘,”,€KØ€AØ
ð �˜˜A™” !Ò#Ð#Ø	ˆQ‰ˆð ð �˜˜A™” !Ò#Ð#à˜{Ò*Ð*ˆwˆw°¸¸¸´€Hð €{�t�|¨¨Ý"2ˆˆð 
ˆÝˆˆàˆð €|Ý#3ˆˆð ˆð €{Ý"*ˆˆð ˆà€}å/ˆˆõ ð 
ð 
ØNSð
ñ 
ô 
ñ 
ô 
ˆð �(˜D %¨¨vÐ5Ð5r(   )r   r   r   r   )rL   r   r   r;   )r{   r   r   rX   )r{   r   r   r€   )r{   r   r   rB   )r{   r   r   rŽ   )r{   r   r   r‘   )r{   r   r   r”   )rø   rD   rù   rú   r   rœ   )rE   rD   r   r”   )r@   rX   rA   r€   r5   rœ   r1   rœ   rC   rœ   rE   r”   r   r½   )ArO   Ú
__future__r   rê   Úsysrr   r   r   r   r   r   r	   r
   r   Ú_structuresr   r   r   r   rs   Útyping_extensionsr   r   Úversion_infor#   r   r-   r)   rý   Ú__all__rX   r   Ú	LocalTypeÚCmpPrePostDevTypeÚCmpLocalTyper½   r]   ÚVersionComparisonMethodr>   r<   Ú
ValueErrorr:   rQ   Ú_VERSION_PATTERNÚreplaceÚ_VERSION_PATTERN_OLDÚimplementationÚnamer9   rë   rí   r–   r   rŠ   r�   r�   r“   r™   r›   r;   rð   r´   r  r˜   r¿   r,   r(   r&   ú<module>r     sê  ððð ð #Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø 
€
€
€
Ø €€€ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð XÐ WÐ WÐ WÐ WÐ WÐ WÐ WÐ WÐ WÐ WÐ Wà	Ôð /Ø.Ð.Ð.Ð.Ð.Ð.Ð.Ð.àÔ�wÒÐØ2Ð2Ð2Ð2Ð2Ð2Ð2ØÔð Ø;Ð;Ð;Ð;Ð;Ð;Ð;àÐÐÐØ€O€O€Oðð ð ð ð" ØØ	ØØØØ	ðð Ð ð DÐ
CÐ
C€à�%˜˜S˜”/ 3Ð&Ô'€	à˜,Ð(<¸eÀCÈÀH¼oÐMÔNÐ ØØØ	ˆ%��c˜3�h” Ð';¸UÀ3ÈÀ8¼_Ð'LÔ!MÐMÔ
NÐPSÐ
SÔTðVô€ð 
ØØ	ˆ#ˆsˆ(„OØØØØðô
€ð # F¨FÐ#3°TÐ#9Ô:Ð ðð ð ð ð �i uð ñ ô ð ð	ð 	ð 	ð 	ðð ð ð ð �Zñ ô ð ð3'ð 3'ð 3'ð 3'ð 3'ñ 3'ô 3'ð 3'ðt"Ð ðH (×/Ò/°°cÑ:Ô:×BÒBÀ4ÈÑMÔMÐ ð 	ÔÔ 9Ò,Ð,°Ô1AÀJÒ1NÐ1NØÔÔ 6Ò)Ð)¨cÔ.>ÀÒ.LÐ.LØ
Ô˜'Ò!Ð!ð Ðð 
ð ð	ð �”Ð;¸R¼]ÑKÔK€ðð ð ð ð	ð 	ð 	ð 	ðð ð ð ðð ð ð ðð ð ð ðð ð ð ðð ð ð ð ˆzñ ô ð ð\@ð \@ð \@ð \@ð \@ˆlñ \@ô \@ð \@ð~
4ð 4ð 4ð 4ð 4�gñ 4ô 4ð 4ðDð ð ð ð0 '˜BœJ yÑ1Ô1Ð ð	ð 	ð 	ð 	ð:6ð :6ð :6ð :6ð :6ð :6r(   