
    A>iV3                    *   % S SK Jr  S SKJr  S SKrS SKrS SKJrJrJ	r	J
r
  / SQr " S S5      r\" 5       r " S S	5      r\" 5       r\\\-  S
4   rS\S'   \\-  \\\4   -  rS\S'   \\\\\4   \\\\-  4   -  S
4   -  rS\S'   \\\\S
4   \\\\4   rS\S'   \\\/\4   rS\S'    " S S\5      rSS jr " S S\5      r " S S5      rSr\r  " S S\5      r!      S S jr"\RF                  " S5      r$S!S jr%              S"S jr&g)#    )annotations)CallableN)Any
NamedTupleSupportsInt	TypeAlias)VERSION_PATTERNInvalidVersionVersionparsec                  d    \ rS rSrSS jrSS jrSS jrSS jrSS jrSS jr	SS jr
SS	 jrS
rg)InfinityType   c                    g)NInfinity selfs    [/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/util/version/__init__.py__repr__InfinityType.__repr__   s        c                *    [        [        U 5      5      $ Nhashreprr   s    r   __hash__InfinityType.__hash__       DJr   c                    gNFr   r   others     r   __lt__InfinityType.__lt__       r   c                    gr"   r   r#   s     r   __le__InfinityType.__le__    r'   r   c                ,    [        U[        U 5      5      $ r   
isinstancetyper#   s     r   __eq__InfinityType.__eq__#       %d,,r   c                    gNTr   r#   s     r   __gt__InfinityType.__gt__&       r   c                    gr3   r   r#   s     r   __ge__InfinityType.__ge__)   r6   r   c                    [         $ r   )NegativeInfinityr   s    r   __neg__InfinityType.__neg__,   s    r   r   Nreturnstrr?   intr$   objectr?   bool)r   rD   r?   NegativeInfinityType__name__
__module____qualname____firstlineno__r   r   r%   r)   r/   r4   r8   r<   __static_attributes__r   r   r   r   r      s*     - r   r   c                  d    \ rS rSrSS jrSS jrSS jrSS jrSS jrSS jr	SS jr
SS	 jrS
rg)rF   3   c                    g)Nz	-Infinityr   r   s    r   r   NegativeInfinityType.__repr__4   s    r   c                *    [        [        U 5      5      $ r   r   r   s    r   r   NegativeInfinityType.__hash__7   r    r   c                    gr3   r   r#   s     r   r%   NegativeInfinityType.__lt__:   r6   r   c                    gr3   r   r#   s     r   r)   NegativeInfinityType.__le__=   r6   r   c                ,    [        U[        U 5      5      $ r   r,   r#   s     r   r/   NegativeInfinityType.__eq__@   r1   r   c                    gr"   r   r#   s     r   r4   NegativeInfinityType.__gt__C   r'   r   c                    gr"   r   r#   s     r   r8   NegativeInfinityType.__ge__F   r'   r   c                    [         $ r   )r   r   s    r   r<   NegativeInfinityType.__neg__I   s    r   r   Nr>   rA   rC   )r   rD   r?   r   rG   r   r   r   rF   rF   3   s*     -r   rF   .r   	LocalTypeCmpPrePostDevTypeCmpLocalTypeCmpKeyVersionComparisonMethodc                  R    \ rS rSr% S\S'   S\S'   S\S'   S\S'   S\S	'   S
\S'   Srg)_Versionb   rB   epochtuple[int, ...]releasetuple[str, int] | NonedevprepostLocalType | Nonelocalr   N)rH   rI   rJ   rK   __annotations__rL   r   r   r   re   re   b   s%    J		
  r   re   r   c                    [        U 5      $ r   )r   )versions    r   r   r   k   s    7r   c                      \ rS rSrSrSrSrg)r
   q   a  
An invalid version was found, users should refer to PEP 440.

The ``InvalidVersion`` exception is raised when a version string is
improperly formatted. Pandas uses this exception to ensure that all
version strings are PEP 440 compliant.

See Also
--------
util.version.Version : Class for handling and parsing version strings.

Examples
--------
>>> pd.util.version.Version("1.")
Traceback (most recent call last):
InvalidVersion: Invalid version: '1.'
zpandas.errorsr   N)rH   rI   rJ   rK   __doc__rL   r   r   r   r
   r
   q   s    $ !Jr   r
   c                  f    \ rS rSr% S\S'   SS jrSS jrSS jrSS jrSS jr	SS	 jr
SS
 jrSrg)_BaseVersion   ztuple[Any, ...]_keyc                ,    [        U R                  5      $ r   )r   ry   r   s    r   r   _BaseVersion.__hash__   s    DIIr   c                j    [        U[        5      (       d  [        $ U R                  UR                  :  $ r   r-   rw   NotImplementedry   r#   s     r   r%   _BaseVersion.__lt__   (    %..!!yy5::%%r   c                j    [        U[        5      (       d  [        $ U R                  UR                  :*  $ r   r}   r#   s     r   r)   _BaseVersion.__le__   (    %..!!yyEJJ&&r   c                j    [        U[        5      (       d  [        $ U R                  UR                  :H  $ r   r}   r#   s     r   r/   _BaseVersion.__eq__   r   r   c                j    [        U[        5      (       d  [        $ U R                  UR                  :  $ r   r}   r#   s     r   r8   _BaseVersion.__ge__   r   r   c                j    [        U[        5      (       d  [        $ U R                  UR                  :  $ r   r}   r#   s     r   r4   _BaseVersion.__gt__   r   r   c                j    [        U[        5      (       d  [        $ U R                  UR                  :g  $ r   r}   r#   s     r   __ne___BaseVersion.__ne__   r   r   r   NrA   )r$   rw   r?   rE   rC   )rH   rI   rJ   rK   rp   r   r%   r)   r/   r8   r4   r   rL   r   r   r   rw   rw      s+    
&'''&'r   rw   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                     \ rS rSr% \R
                  " S\-   S-   \R                  \R                  -  5      r	S\
S'   SS jrSS jrSS jr\SS	 j5       r\SS
 j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       r\S S j5       r\S S j5       r\S S j5       r\SS j5       r\SS j5       r\SS j5       rSrg)!r      z^\s*z\s*$rb   ry   c                   U R                   R                  U5      nU(       d  [        SU S35      e[        UR	                  S5      (       a  [        UR	                  S5      5      OS[        S UR	                  S5      R                  S5       5       5      [        UR	                  S5      UR	                  S	5      5      [        UR	                  S
5      UR	                  S5      =(       d    UR	                  S5      5      [        UR	                  S5      UR	                  S5      5      [        UR	                  S5      5      S9U l
        [        U R                  R                  U R                  R                  U R                  R                  U R                  R                  U R                  R                   U R                  R"                  5      U l        g )NzInvalid version: ''rg   r   c              3  8   #    U  H  n[        U5      v   M     g 7fr   )rB   .0is     r   	<genexpr>#Version.__init__.<locals>.<genexpr>   s     L*KQ#a&&*K   ri   .pre_lpre_npost_lpost_n1post_n2dev_ldev_nro   )rg   ri   rl   rm   rk   ro   )_regexsearchr
   re   grouprB   tuplesplit_parse_letter_version_parse_local_version_version_cmpkeyrg   ri   rl   rm   rk   ro   ry   )r   rr   matchs      r   __init__Version.__init__   sS   ""7+ #5gYa!@AA !/4{{7/C/C#ekk'*+L%++i*@*F*Fs*KLL%ekk'&:EKK<PQ&H%u{{9'='WYAW &ekk'&:EKK<PQ&u{{7';<	
 MMMM!!MMMMMMMM
	r   c                    SU  S3$ )Nz
<Version('z')>r   r   s    r   r   Version.__repr__   s    D6%%r   c                d   / nU R                   S:w  a  UR                  U R                    S35        UR                  SR                  S U R                   5       5      5        U R                  b1  UR                  SR                  S U R                   5       5      5        U R
                  b  UR                  SU R
                   35        U R                  b  UR                  SU R                   35        U R                  b  UR                  S	U R                   35        SR                  U5      $ )
Nr   !r   c              3  8   #    U  H  n[        U5      v   M     g 7fr   r@   r   xs     r   r   "Version.__str__.<locals>.<genexpr>       ;lc!fflr    c              3  8   #    U  H  n[        U5      v   M     g 7fr   r   r   s     r   r   r     s      :AQr   z.postz.dev+)rg   appendjoinri   rl   rm   rk   ro   r   partss     r   __str__Version.__str__   s     ::?LLDJJ<q)* 	SXX;dll;;< 88LL : ::; 99 LL5,- 88LL4z*+ ::!LL1TZZL)*wwu~r   c                .    U R                   R                  $ r   )r   rg   r   s    r   rg   Version.epoch  s    }}"""r   c                .    U R                   R                  $ r   )r   ri   r   s    r   ri   Version.release  s    }}$$$r   c                .    U R                   R                  $ r   )r   rl   r   s    r   rl   Version.pre   s    }}   r   c                n    U R                   R                  (       a  U R                   R                  S   $ S $ N   )r   rm   r   s    r   rm   Version.post$  s(    (,(:(:t}}!!!$DDr   c                n    U R                   R                  (       a  U R                   R                  S   $ S $ r   )r   rk   r   s    r   rk   Version.dev(  s(    '+}}'8'8t}}  #BdBr   c                    U R                   R                  (       a,  SR                  S U R                   R                   5       5      $ g )Nr   c              3  8   #    U  H  n[        U5      v   M     g 7fr   r   r   s     r   r    Version.local.<locals>.<genexpr>/  s     @,?qCFF,?r   )r   ro   r   r   s    r   ro   Version.local,  s1    ==88@DMM,?,?@@@r   c                >    [        U 5      R                  SS5      S   $ )Nr   r   r   )r@   r   r   s    r   publicVersion.public3  s    4ysA&q))r   c                    / nU R                   S:w  a  UR                  U R                    S35        UR                  SR                  S U R                   5       5      5        SR                  U5      $ )Nr   r   r   c              3  8   #    U  H  n[        U5      v   M     g 7fr   r   r   s     r   r   'Version.base_version.<locals>.<genexpr>@  r   r   r   )rg   r   r   ri   r   s     r   base_versionVersion.base_version7  sZ     ::?LLDJJ<q)* 	SXX;dll;;<wwu~r   c                H    U R                   S L=(       d    U R                  S L$ r   )rk   rl   r   s    r   is_prereleaseVersion.is_prereleaseD  s    xxt#;txxt';;r   c                    U R                   S L$ r   )rm   r   s    r   is_postreleaseVersion.is_postreleaseH  s    yy$$r   c                    U R                   S L$ r   )rk   r   s    r   is_devreleaseVersion.is_devreleaseL  s    xxt##r   c                V    [        U R                  5      S:  a  U R                  S   $ S$ )Nr   r   lenri   r   s    r   majorVersion.majorP  %    "%dll"3q"8t||A?a?r   c                V    [        U R                  5      S:  a  U R                  S   $ S$ )N   r   r   r   r   s    r   minorVersion.minorT  r   r   c                V    [        U R                  5      S:  a  U R                  S   $ S$ )N   r   r   r   r   s    r   microVersion.microX  r   r   )ry   r   N)rr   r@   r?   Noner>   rA   )r?   rh   )r?   rj   )r?   z
int | None)r?   
str | None)r?   rE   )rH   rI   rJ   rK   recompiler	   VERBOSE
IGNORECASEr   rp   r   r   r   propertyrg   ri   rl   rm   rk   ro   r   r   r   r   r   r   r   r   rL   r   r   r   r   r      s_   ZZ/1G;RZZ"--=WXF
L
8&8 # # % % ! ! E E C C   * * 
 
 < < % % $ $ @ @ @ @ @ @r   c                    U (       aE  Uc  SnU R                  5       n U S:X  a  Sn OU S:X  a  Sn OU S;   a  Sn OU S;   a  S	n U [        U5      4$ U (       d  U(       a  S	n U [        U5      4$ g )
Nr   alphaabetab)crl   previewrc)revrrm   )lowerrB   )letternumbers     r   r   r   ]  s      >F 
 WFvF..F|#Fs6{""f s6{""r   z[\._-]c                T    U b%  [        S [        R                  U 5       5       5      $ g )Nc              3     #    U  H5  nUR                  5       (       d  UR                  5       O
[        U5      v   M7     g 7fr   )isdigitr   rB   )r   parts     r   r   '_parse_local_version.<locals>.<genexpr>  s0      
> !%DJJLCI=>s   =?)r   _local_version_separatorsr   )ro   s    r   r   r     s2     
177>
 
 	
 r   c                $   [        [        [        [        R                  " S [        U5      5      5      5      5      nUc  Uc
  Ub  [
        nOUc  [        nOUnUc  [
        nOUnUc  [        n	OUn	Uc  [
        n
O[        S U 5       5      n
XXxX4$ )Nc                    U S:H  $ )Nr   r   )r   s    r   <lambda>_cmpkey.<locals>.<lambda>  s    AFr   c              3  d   #    U  H&  n[        U[        5      (       a  US 4O[        U4v   M(     g7f)r   N)r-   rB   r;   r   s     r   r   _cmpkey.<locals>.<genexpr>  s.      
NSz!S))QG0@!/DDes   .0)r   reversedlist	itertools	dropwhiler;   r   )rg   ri   rl   rm   rk   ro   _release_pre_post_dev_locals              r   r   r     s     i))*:HW<MNOPH {t|"2 
 |#3  {"* }/  
NS
 
 D55r   )rr   r@   r?   r   )r   r   r  z str | bytes | SupportsInt | Noner?   rj   )ro   r   r?   rn   )rg   rB   ri   rh   rl   rj   rm   rj   rk   rj   ro   rn   r?   rb   )'
__future__r   collections.abcr   r  r   typingr   r   r   r   __all__r   r   rF   r;   r   rB   r@   r_   rp   r`   ra   rb   rE   rc   re   r   
ValueErrorr
   rw   _VERSION_PATTERNr	   r   r   r   r  r   r   r   r   r   <module>r     s   # $  	  D   4 > 4 ()  S3Y^,	9 ,+.BBU3PS8_T 9 TE#s(Oe$8#)$CDDcIJK i  	#s(O	  &.vv.>.D%E  Ez !Z !,+' +'` > #A@l A@H   @  F JJy1 ;6;6;6 
 ;6 !	;6
 
 ;6 ;6 ;6r   