a
    e0h.                     @   s   d dl mZmZmZ d dlZd dlZd dlZddlmZ g dZ	e
dg dZdd	 ZG d
d deZG dd deZG dd deZedejZddddddZdd Zdd ZdZG dd deZdd ZedZdd  Zd!d" ZdS )#    )absolute_importdivisionprint_functionN   )Infinity)parseVersionLegacyVersionInvalidVersionVERSION_PATTERN_Version)epochreleasedevprepostlocalc                 C   s*   z
t | W S  ty$   t|  Y S 0 dS )z
    Parse the given version string and return either a :class:`Version` object
    or a :class:`LegacyVersion` object depending on if the given version is
    a valid PEP 440 version or a legacy version.
    N)r   r
   r	   )version r   R/var/www/auris/lib/python3.9/site-packages/setuptools/_vendor/packaging/version.pyr      s    
r   c                   @   s   e Zd ZdZdS )r
   zF
    An invalid version was found, users should refer to PEP 440.
    N)__name__
__module____qualname____doc__r   r   r   r   r
   !   s   r
   c                   @   sL   e Zd Z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 )_BaseVersionc                 C   s
   t | jS N)hash_keyselfr   r   r   __hash__(   s    z_BaseVersion.__hash__c                 C   s   |  |dd S )Nc                 S   s   | |k S r   r   sor   r   r   <lambda>,       z%_BaseVersion.__lt__.<locals>.<lambda>_comparer   otherr   r   r   __lt__+   s    z_BaseVersion.__lt__c                 C   s   |  |dd S )Nc                 S   s   | |kS r   r   r!   r   r   r   r$   /   r%   z%_BaseVersion.__le__.<locals>.<lambda>r&   r(   r   r   r   __le__.   s    z_BaseVersion.__le__c                 C   s   |  |dd S )Nc                 S   s   | |kS r   r   r!   r   r   r   r$   2   r%   z%_BaseVersion.__eq__.<locals>.<lambda>r&   r(   r   r   r   __eq__1   s    z_BaseVersion.__eq__c                 C   s   |  |dd S )Nc                 S   s   | |kS r   r   r!   r   r   r   r$   5   r%   z%_BaseVersion.__ge__.<locals>.<lambda>r&   r(   r   r   r   __ge__4   s    z_BaseVersion.__ge__c                 C   s   |  |dd S )Nc                 S   s   | |kS r   r   r!   r   r   r   r$   8   r%   z%_BaseVersion.__gt__.<locals>.<lambda>r&   r(   r   r   r   __gt__7   s    z_BaseVersion.__gt__c                 C   s   |  |dd S )Nc                 S   s   | |kS r   r   r!   r   r   r   r$   ;   r%   z%_BaseVersion.__ne__.<locals>.<lambda>r&   r(   r   r   r   __ne__:   s    z_BaseVersion.__ne__c                 C   s   t |tstS || j|jS r   )
isinstancer   NotImplementedr   )r   r)   methodr   r   r   r'   =   s    
z_BaseVersion._compareN)r   r   r   r    r*   r+   r,   r-   r.   r/   r'   r   r   r   r   r   '   s   r   c                   @   s   e Zd Z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dd Zedd ZdS )r	   c                 C   s   t || _t| j| _d S r   )str_version_legacy_cmpkeyr   )r   r   r   r   r   __init__E   s    
zLegacyVersion.__init__c                 C   s   | j S r   r4   r   r   r   r   __str__I   s    zLegacyVersion.__str__c                 C   s   d tt| S )Nz<LegacyVersion({0})>formatreprr3   r   r   r   r   __repr__L   s    zLegacyVersion.__repr__c                 C   s   | j S r   r7   r   r   r   r   publicO   s    zLegacyVersion.publicc                 C   s   | j S r   r7   r   r   r   r   base_versionS   s    zLegacyVersion.base_versionc                 C   s   dS )Nr   r   r   r   r   r   W   s    zLegacyVersion.epochc                 C   s   d S r   r   r   r   r   r   r   [   s    zLegacyVersion.releasec                 C   s   d S r   r   r   r   r   r   r   _   s    zLegacyVersion.prec                 C   s   d S r   r   r   r   r   r   r   c   s    zLegacyVersion.postc                 C   s   d S r   r   r   r   r   r   r   g   s    zLegacyVersion.devc                 C   s   d S r   r   r   r   r   r   r   k   s    zLegacyVersion.localc                 C   s   dS NFr   r   r   r   r   is_prereleaseo   s    zLegacyVersion.is_prereleasec                 C   s   dS r@   r   r   r   r   r   is_postreleases   s    zLegacyVersion.is_postreleasec                 C   s   dS r@   r   r   r   r   r   is_devreleasew   s    zLegacyVersion.is_devreleaseN)r   r   r   r6   r8   r<   propertyr=   r>   r   r   r   r   r   r   rA   rB   rC   r   r   r   r   r	   D   s2   









r	   z(\d+ | [a-z]+ | \.| -)czfinal-@)r   preview-rcr   c                 c   s\   t | D ]F}t||}|r
|dkr(q
|d d dv rF|dV  q
d| V  q
dV  d S )N.r   
0123456789   **final)_legacy_version_component_resplit_legacy_version_replacement_mapgetzfill)r"   partr   r   r   _parse_version_parts   s    rU   c                 C   sz   d}g }t |  D ]T}|dr^|dk rD|rD|d dkrD|  q*|r^|d dkr^|  qD|| qt|}||fS )Nr?   rM   rN   z*final-00000000)rU   lower
startswithpopappendtuple)r   r   partsrT   r   r   r   r5      s    


r5   a  
    v?
    (?:
        (?:(?P<epoch>[0-9]+)!)?                           # epoch
        (?P<release>[0-9]+(?:\.[0-9]+)*)                  # release segment
        (?P<pre>                                          # pre-release
            [-_\.]?
            (?P<pre_l>(a|b|c|rc|alpha|beta|pre|preview))
            [-_\.]?
            (?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   e Zd Zede d ejejB Z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dd Zedd ZdS ) r   z^\s*z\s*$c              
   C   s   | j |}|std|t|dr8t|dndtdd |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| _d S )NzInvalid version: '{0}'r   r   c                 s   s   | ]}t |V  qd S r   )int.0ir   r   r   	<genexpr>   r%   z#Version.__init__.<locals>.<genexpr>r   rJ   pre_lpre_npost_lpost_n1post_n2dev_ldev_nr   r   r   r   r   r   r   )_regexsearchr
   r:   r   groupr]   r[   rP   _parse_letter_version_parse_local_versionr4   _cmpkeyr   r   r   r   r   r   r   )r   r   matchr   r   r   r6      s*    zVersion.__init__c                 C   s   d tt| S )Nz<Version({0})>r9   r   r   r   r   r<      s    zVersion.__repr__c                 C   s   g }| j dkr |d| j  |ddd | jD  | jd urb|ddd | jD  | jd ur~|d| j | jd ur|d	| j | jd ur|d
| j d|S )Nr   {0}!rJ   c                 s   s   | ]}t |V  qd S r   r3   r_   xr   r   r   ra      r%   z"Version.__str__.<locals>.<genexpr> c                 s   s   | ]}t |V  qd S r   rr   rs   r   r   r   ra     r%   z.post{0}z.dev{0}z+{0})	r   rZ   r:   joinr   r   r   r   r   r   r\   r   r   r   r8      s    




zVersion.__str__c                 C   s   | j jS r   )r4   r   r   r   r   r   r     s    zVersion.epochc                 C   s   | j jS r   )r4   r   r   r   r   r   r     s    zVersion.releasec                 C   s   | j jS r   )r4   r   r   r   r   r   r     s    zVersion.prec                 C   s   | j jr| j jd S d S Nr   )r4   r   r   r   r   r   r      s    zVersion.postc                 C   s   | j jr| j jd S d S rx   )r4   r   r   r   r   r   r   $  s    zVersion.devc                 C   s(   | j jr ddd | j jD S d S d S )NrJ   c                 s   s   | ]}t |V  qd S r   rr   rs   r   r   r   ra   +  r%   z Version.local.<locals>.<genexpr>)r4   r   rv   r   r   r   r   r   (  s    zVersion.localc                 C   s   t | ddd S )N+r   r   )r3   rP   r   r   r   r   r=   /  s    zVersion.publicc                 C   sF   g }| j dkr |d| j  |ddd | jD  d|S )Nr   rq   rJ   c                 s   s   | ]}t |V  qd S r   rr   rs   r   r   r   ra   <  r%   z'Version.base_version.<locals>.<genexpr>ru   )r   rZ   r:   rv   r   rw   r   r   r   r>   3  s
    
zVersion.base_versionc                 C   s   | j d up| jd uS r   )r   r   r   r   r   r   rA   @  s    zVersion.is_prereleasec                 C   s
   | j d uS r   )r   r   r   r   r   rB   D  s    zVersion.is_postreleasec                 C   s
   | j d uS r   )r   r   r   r   r   rC   H  s    zVersion.is_devreleaseN)r   r   r   recompiler   VERBOSE
IGNORECASErj   r6   r<   r8   rD   r   r   r   r   r   r   r=   r>   rA   rB   rC   r   r   r   r   r      s4   









r   c                 C   sv   | rZ|d u rd}|   } | dkr&d} n(| dkr4d} n| dv rBd} n| dv rNd	} | t|fS | sr|rrd	} | t|fS d S )
Nr   alphaabetab)rE   r   rG   rI   )revrr   )rW   r]   )letternumberr   r   r   rm   M  s     rm   z[\._-]c                 C   s$   | dur t dd t| D S dS )zR
    Takes a string like abc.1.twelve and turns it into ("abc", 1, "twelve").
    Nc                 s   s&   | ]}|  s| nt|V  qd S r   )isdigitrW   r]   )r_   rT   r   r   r   ra   t  s   z'_parse_local_version.<locals>.<genexpr>)r[   _local_version_separatorsrP   )r   r   r   r   rn   o  s    rn   c                 C   s   t tttdd t|}|d u r@|d u r@|d ur@t }n|d u rLt}|d u rZt }|d u rft}|d u rvt }nt dd |D }| |||||fS )Nc                 S   s   | dkS )Nr   r   )rt   r   r   r   r$     r%   z_cmpkey.<locals>.<lambda>c                 s   s*   | ]"}t |tr|d fnt |fV  qdS )ru   N)r0   r]   r   r^   r   r   r   ra     r%   z_cmpkey.<locals>.<genexpr>)r[   reversedlist	itertools	dropwhiler   ri   r   r   r   ro   z  s    	ro   )
__future__r   r   r   collectionsr   rz   _structuresr   __all__
namedtupler   r   
ValueErrorr
   objectr   r	   r{   r|   rO   rQ   rU   r5   r   r   rm   r   rn   ro   r   r   r   r   <module>   s6   8	 x
