
    g	8                        d dl Z d dlZd dlZd dlZg dZ G d d      Z e       Z G d d      Z e       Z e j                  dg d      Z
d	 Z G d
 de      Z G d d      Z G d de      Z ej                   dej"                        ZddddddZd Zd ZdZ G d de      Zd Z ej                   d      Zd Zd Zy)    N)parseVersionLegacyVersionInvalidVersionVERSION_PATTERNc                   B    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zy
)InfinityTypec                      y)NInfinity selfs    M/var/www/openai/venv/lib/python3.12/site-packages/pyarrow/vendored/version.py__repr__zInfinityType.__repr__   s        c                 *    t        t        |             S Nhashreprr   s    r   __hash__zInfinityType.__hash__       DJr   c                      yNFr   r   others     r   __lt__zInfinityType.__lt__       r   c                      yr   r   r   s     r   __le__zInfinityType.__le__   r   r   c                 .    t        || j                        S r   
isinstance	__class__r   s     r   __eq__zInfinityType.__eq__       %00r   c                 0    t        || j                         S r   r"   r   s     r   __ne__zInfinityType.__ne__!       eT^^444r   c                      yNTr   r   s     r   __gt__zInfinityType.__gt__$       r   c                      yr+   r   r   s     r   __ge__zInfinityType.__ge__'   r-   r   c                     t         S r   )NegativeInfinityr   s    r   __neg__zInfinityType.__neg__*   s    r   N__name__
__module____qualname__r   r   r   r    r%   r(   r,   r/   r2   r   r   r   r	   r	      s/     15 r   r	   c                   B    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zy
)NegativeInfinityTypec                      y)Nz	-Infinityr   r   s    r   r   zNegativeInfinityType.__repr__2   s    r   c                 *    t        t        |             S r   r   r   s    r   r   zNegativeInfinityType.__hash__5   r   r   c                      yr+   r   r   s     r   r   zNegativeInfinityType.__lt__8   r-   r   c                      yr+   r   r   s     r   r    zNegativeInfinityType.__le__;   r-   r   c                 .    t        || j                        S r   r"   r   s     r   r%   zNegativeInfinityType.__eq__>   r&   r   c                 0    t        || j                         S r   r"   r   s     r   r(   zNegativeInfinityType.__ne__A   r)   r   c                      yr   r   r   s     r   r,   zNegativeInfinityType.__gt__D   r   r   c                      yr   r   r   s     r   r/   zNegativeInfinityType.__ge__G   r   r   c                     t         S r   )r   r   s    r   r2   zNegativeInfinityType.__neg__J   s    r   Nr3   r   r   r   r8   r8   1   s/     15r   r8   _Version)epochreleasedevprepostlocalc                 N    	 t        |       S # t        $ r t        |       cY S w xY w)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.
    )r   r   r   )versions    r   r   r   V   s,    &w &W%%&s   
 $$c                       e Zd ZdZy)r   zF
    An invalid version was found, users should refer to PEP 440.
    N)r4   r5   r6   __doc__r   r   r   r   r   b   s    r   r   c                   6    e Zd Zd Zd Zd Zd Zd Zd Zd Z	y)	_BaseVersionc                 ,    t        | j                        S r   )r   _keyr   s    r   r   z_BaseVersion.__hash__j   s    DIIr   c                 `    t        |t              st        S | j                  |j                  k  S r   r#   rN   NotImplementedrP   r   s     r   r   z_BaseVersion.__lt__p   %    %.!!yy5::%%r   c                 `    t        |t              st        S | j                  |j                  k  S r   rR   r   s     r   r    z_BaseVersion.__le__v   %    %.!!yyEJJ&&r   c                 `    t        |t              st        S | j                  |j                  k(  S r   rR   r   s     r   r%   z_BaseVersion.__eq__|   rV   r   c                 `    t        |t              st        S | j                  |j                  k\  S r   rR   r   s     r   r/   z_BaseVersion.__ge__   rV   r   c                 `    t        |t              st        S | j                  |j                  kD  S r   rR   r   s     r   r,   z_BaseVersion.__gt__   rT   r   c                 `    t        |t              st        S | j                  |j                  k7  S r   rR   r   s     r   r(   z_BaseVersion.__ne__   rV   r   N)
r4   r5   r6   r   r   r    r%   r/   r,   r(   r   r   r   rN   rN   h   s%    &'''&'r   rN   c                       e Zd Zd Zd Zd Zed        Zed        Zed        Z	ed        Z
ed        Zed	        Zed
        Zed        Zed        Zed        Zed        Zy)r   c                     t        |      | _        t        | j                        | _        t	        j
                  dt               y )NzZCreating a LegacyVersion has been deprecated and will be removed in the next major release)str_version_legacy_cmpkeyrP   warningswarnDeprecationWarning)r   rJ   s     r   __init__zLegacyVersion.__init__   s1    G"4==1	0	
r   c                     | j                   S r   r^   r   s    r   __str__zLegacyVersion.__str__   s    }}r   c                     d|  dS )Nz<LegacyVersion('')>r   r   s    r   r   zLegacyVersion.__repr__   s    !$s++r   c                     | j                   S r   re   r   s    r   publiczLegacyVersion.public       }}r   c                     | j                   S r   re   r   s    r   base_versionzLegacyVersion.base_version   rk   r   c                      y)Nr   r   s    r   rC   zLegacyVersion.epoch   s    r   c                      y r   r   r   s    r   rD   zLegacyVersion.release       r   c                      y r   r   r   s    r   rF   zLegacyVersion.pre   rq   r   c                      y r   r   r   s    r   rG   zLegacyVersion.post   rq   r   c                      y r   r   r   s    r   rE   zLegacyVersion.dev   rq   r   c                      y r   r   r   s    r   rH   zLegacyVersion.local   rq   r   c                      yr   r   r   s    r   is_prereleasezLegacyVersion.is_prerelease       r   c                      yr   r   r   s    r   is_postreleasezLegacyVersion.is_postrelease   rx   r   c                      yr   r   r   s    r   is_devreleasezLegacyVersion.is_devrelease   rx   r   N)r4   r5   r6   rc   rf   r   propertyrj   rm   rC   rD   rF   rG   rE   rH   rw   rz   r|   r   r   r   r   r      s    
,                      r   r   z(\d+ | [a-z]+ | \.| -)czfinal-@)rF   preview-rcrE   c              #      K   t         j                  |       D ]B  }t        j                  ||      }|r|dk(  r!|d d dv r|j	                  d       <d|z    D d y w)N.   
0123456789   **final)_legacy_version_component_resplit_legacy_version_replacement_mapgetzfill)sparts     r   _parse_version_partsr      sf     ,2215.224>ts{8|#**Q-* 6 Ns   A A"c                 B   d}g }t        | j                               D ]s  }|j                  d      rO|dk  r%|r#|d   dk(  r|j                          |r	|d   dk(  r|r#|d   dk(  r|j                          |r	|d   dk(  r|j	                  |       u |t        |      fS )Nro   r   r   z*final-00000000)r   lower
startswithpopappendtuple)rJ   rC   partsr   s       r   r_   r_      s     E E$W]]_5??3hb	Y 6IIK b	Y 6 E"I3		 E"I3 	T 6 %,r   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                   ^   e Zd Z ej                  dez   dz   ej                  ej                  z        Zd Z	d Z
d Zed        Zed        Zed        Zed	        Zed
        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zed        Zy)r   z^\s*z\s*$c                    | j                   j                  |      }|st        d| d      t        |j	                  d      rt        |j	                  d            ndt        d |j	                  d      j                  d      D              t        |j	                  d      |j	                  d	            t        |j	                  d
      |j	                  d      xs |j	                  d            t        |j	                  d      |j	                  d            t        |j	                  d                  | _
        t        | j                  j                  | j                  j                  | j                  j                  | j                  j                  | j                  j                   | j                  j"                        | _        y )NzInvalid version: ''rC   r   c              3   2   K   | ]  }t        |        y wr   )int.0is     r   	<genexpr>z#Version.__init__.<locals>.<genexpr><  s     L*KQ#a&*K   rD   r   pre_lpre_npost_lpost_n1post_n2dev_ldev_nrH   )rC   rD   rF   rG   rE   rH   )_regexsearchr   rB   groupr   r   r   _parse_letter_version_parse_local_versionr^   _cmpkeyrC   rD   rF   rG   rE   rH   rP   )r   rJ   matchs      r   rc   zVersion.__init__2  s^    ""7+ #5gYa!@AA !/4{{7/C#ekk'*+L%++i*@*F*Fs*KLL%G$ekk'&:<&H%u{{( (9"'++i"8 &G$ekk'&:<&u{{7';<
 MMMM!!MMMMMMMM
	r   c                     d|  dS )Nz
<Version('rh   r   r   s    r   r   zVersion.__repr__R  s    D6%%r   c                 Z   g }| j                   dk7  r|j                  | j                    d       |j                  dj                  d | j                  D                     | j                  1|j                  dj                  d | j                  D                     | j
                  |j                  d| j
                          | j                  |j                  d| j                          | j                  |j                  d	| j                          dj                  |      S )
Nr   !r   c              3   2   K   | ]  }t        |        y wr   r]   r   xs     r   r   z"Version.__str__.<locals>.<genexpr>]       ;lc!flr    c              3   2   K   | ]  }t        |        y wr   r   r   s     r   r   z"Version.__str__.<locals>.<genexpr>a  s      :AQr   z.postz.dev+)rC   r   joinrD   rF   rG   rE   rH   r   r   s     r   rf   zVersion.__str__U  s     ::?LLDJJ<q)* 	SXX;dll;;< 88LL : ::; 99 LL5,- 88LL4z*+ ::!LL1TZZL)*wwu~r   c                 2    | j                   j                  }|S r   )r^   rC   )r   _epochs     r   rC   zVersion.epochq  s    $$r   c                 2    | j                   j                  }|S r   )r^   rD   )r   _releases     r   rD   zVersion.releasev  s    ==((r   c                 2    | j                   j                  }|S r   )r^   rF   )r   _pres     r   rF   zVersion.pre{  s    }}  r   c                 d    | j                   j                  r| j                   j                  d   S d S Nr   )r^   rG   r   s    r   rG   zVersion.post  s(    (,(:(:t}}!!!$DDr   c                 d    | j                   j                  r| j                   j                  d   S d S r   )r^   rE   r   s    r   rE   zVersion.dev  s(    '+}}'8'8t}}  #BdBr   c                     | j                   j                  r,dj                  d | j                   j                  D              S y )Nr   c              3   2   K   | ]  }t        |        y wr   r   r   s     r   r   z Version.local.<locals>.<genexpr>  s     @,?qCF,?r   )r^   rH   r   r   s    r   rH   zVersion.local  s1    ==88@DMM,?,?@@@r   c                 >    t        |       j                  dd      d   S )Nr   r   r   )r]   r   r   s    r   rj   zVersion.public  s    4ysA&q))r   c                     g }| j                   dk7  r|j                  | j                    d       |j                  dj                  d | j                  D                     dj                  |      S )Nr   r   r   c              3   2   K   | ]  }t        |        y wr   r   r   s     r   r   z'Version.base_version.<locals>.<genexpr>  r   r   r   )rC   r   r   rD   r   s     r   rm   zVersion.base_version  sZ     ::?LLDJJ<q)* 	SXX;dll;;<wwu~r   c                 >    | j                   d uxs | j                  d uS r   )rE   rF   r   s    r   rw   zVersion.is_prerelease  s    xxt#;txxt';;r   c                     | j                   d uS r   )rG   r   s    r   rz   zVersion.is_postrelease  s    yy$$r   c                     | j                   d uS r   )rE   r   s    r   r|   zVersion.is_devrelease  s    xxt##r   c                 T    t        | j                        dk\  r| j                  d   S dS )Nr   r   lenrD   r   s    r   majorzVersion.major  %    "%dll"3q"8t||A?a?r   c                 T    t        | j                        dk\  r| j                  d   S dS )N   r   r   r   r   s    r   minorzVersion.minor  r   r   c                 T    t        | j                        dk\  r| j                  d   S dS )N   r   r   r   r   s    r   microzVersion.micro  r   r   N)r4   r5   r6   recompiler   VERBOSE
IGNORECASEr   rc   r   rf   r}   rC   rD   rF   rG   rE   rH   rj   rm   rw   rz   r|   r   r   r   r   r   r   r   r   -  sc   RZZ/1 !#bmm!;=F
@&8       E E C C   * * 
 
 < < % % $ $ @ @ @ @ @ @r   r   c                     | r>|d}| j                         } | dk(  rd} n| dk(  rd} n| dv rd} n| dv rd	} | t        |      fS | s|rd	} | t        |      fS y )
Nr   alphaabetab)r~   rF   r   r   )revrrG   )r   r   )letternumbers     r   r   r     s     >F 
 WFvF..F|#Fs6{""f s6{""r   z[\._-]c                 R    | %t        d t        j                  |       D              S y)zR
    Takes a string like abc.1.twelve and turns it into ("abc", 1, "twelve").
    Nc              3   r   K   | ]/  }|j                         s|j                         n
t        |       1 y wr   )isdigitr   r   )r   r   s     r   r   z'_parse_local_version.<locals>.<genexpr>  s/      
> !%DJJLCI=>s   57)r   _local_version_separatorsr   )rH   s    r   r   r     s4      
177>
 
 	
 r   c                    t        t        t        t        j                  d t        |                              }||	|t
        }n|t        }n|}|t
        }n|}|t        }	n|}	|t
        }
nt        d |D              }
| ||||	|
fS )Nc                     | dk(  S )Nr   r   )r   s    r   <lambda>z_cmpkey.<locals>.<lambda>  s    AFr   c              3   T   K   | ]   }t        |t              r|d fnt        |f " yw)r   N)r#   r   r1   r   s     r   r   z_cmpkey.<locals>.<genexpr>  s0      
 "!S)QG0@!/DDs   &()r   reversedlist	itertools	dropwhiler1   r   )rC   rD   rF   rG   rE   rH   r   r   _post_dev_locals              r   r   r     s     i))*:*27*;= > 	?H {t| 
 |   { }!  

 

 (D%v55r   )collectionsr   r   r`   __all__r	   r   r8   r1   
namedtuplerB   r   
ValueErrorr   rN   r   r   r   r   r   r   r_   r   r   r   r   r   r   r   r   r   <module>r      s      	 0   : > : ()  ";!!C
	&Z *' *'Z;L ;|  *rzzrzz +  	
# ":@I@l I@XD 'BJJy1 	76r   