ó
    Eñil?  ã                   óT  • S r SSKrSSKrSSKJrJrJrJrJrJ	r	J
r
  SSKJrJrJrJr  / SQr\	\
\\4   S4   r\
\\\	\\4   4   r\
\\	\
\	\\4   \	\\
\\4   4   4   S4   4   r\	\\	\S4   \\\\4   r\\\/\4   r " S S	\5      rS
\SS4S jr " S S\5      r " S S5      rSr\r  " S S\5      r S\\   S\
\\!\S4   S\\	\\4      4S jr"\RF                  " S5      r$S\\   S\\   4S jr%S\S\	\S4   S\\	\\4      S\\	\\4      S\\	\\4      S\\   S\4S jr&g) zB
.. testsetup::

    from packaging.version import parse, Version
é    N)ÚAnyÚCallableÚ
NamedTupleÚOptionalÚSupportsIntÚTupleÚUnioné   )ÚInfinityÚInfinityTypeÚNegativeInfinityÚNegativeInfinityType)ÚVERSION_PATTERNÚparseÚVersionÚInvalidVersion.c                   ó’   • \ rS rSr% \\S'   \\S4   \S'   \\\\4      \S'   \\\\4      \S'   \\\\4      \S'   \\	   \S'   S	r
g
)Ú_Versioné$   Úepoch.ÚreleaseÚdevÚpreÚpostÚlocal© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚintÚ__annotations__r   r   ÚstrÚ	LocalTypeÚ__static_attributes__r   ó    Ú\/home/mande/repo/quber/.venv/lib/python3.13/site-packages/torch/_vendor/packaging/version.pyr   r   $   sY   ‡ ØƒJØ�3˜�8‰_ÓØ	�%˜˜S˜‘/Ñ	"Ó"Ø	�%˜˜S˜‘/Ñ	"Ó"Ø
�5˜˜c˜‘?Ñ
#Ó#Ø�IÑÖr&   r   ÚversionÚreturnr   c                 ó   • [        U 5      $ )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   )r(   s    r'   r   r   -   s   € ô �7ÓÐr&   c                   ó   • \ rS rSrSrSrg)r   é9   zµRaised when a version string is not a valid version.

>>> Version("invalid")
Traceback (most recent call last):
    ...
packaging.version.InvalidVersion: Invalid version: 'invalid'
r   N)r   r   r   r    Ú__doc__r%   r   r&   r'   r   r   9   s   † ôr&   r   c                   ó¤   • \ rS rSr% \\S4   \S'   S\4S jrSS S\	4S jr
SS S\	4S jrS\S\	4S	 jrSS S\	4S
 jrSS S\	4S jrS\S\	4S jrSrg)Ú_BaseVersionéC   .Ú_keyr)   c                 ó,   • [        U R                  5      $ ©N)Úhashr1   ©Úselfs    r'   Ú__hash__Ú_BaseVersion.__hash__F   s   € Ü�D—I‘I‹Ðr&   Úotherc                 ój   • [        U[        5      (       d  [        $ U R                  UR                  :  $ r3   ©Ú
isinstancer/   ÚNotImplementedr1   ©r6   r9   s     r'   Ú__lt__Ú_BaseVersion.__lt__L   ó(   € Ü˜%¤×.Ñ.Ü!Ð!à�y‰y˜5Ÿ:™:Ñ%Ð%r&   c                 ój   • [        U[        5      (       d  [        $ U R                  UR                  :*  $ r3   r;   r>   s     r'   Ú__le__Ú_BaseVersion.__le__R   ó(   € Ü˜%¤×.Ñ.Ü!Ð!à�y‰y˜EŸJ™JÑ&Ð&r&   c                 ój   • [        U[        5      (       d  [        $ U R                  UR                  :H  $ r3   r;   r>   s     r'   Ú__eq__Ú_BaseVersion.__eq__X   rE   r&   c                 ój   • [        U[        5      (       d  [        $ U R                  UR                  :¬  $ r3   r;   r>   s     r'   Ú__ge__Ú_BaseVersion.__ge__^   rE   r&   c                 ój   • [        U[        5      (       d  [        $ U R                  UR                  :„  $ r3   r;   r>   s     r'   Ú__gt__Ú_BaseVersion.__gt__d   rA   r&   c                 ój   • [        U[        5      (       d  [        $ U R                  UR                  :g  $ r3   r;   r>   s     r'   Ú__ne__Ú_BaseVersion.__ne__j   rE   r&   r   N)r   r   r   r    r   r   r"   r!   r7   Úboolr?   rC   ÚobjectrG   rJ   rM   rP   r%   r   r&   r'   r/   r/   C   sŽ   ‡ Ø
��S�‰/Óð˜#ô ð&˜Nð &¨tô &ð'˜Nð '¨tô 'ð'˜Fð ' tô 'ð'˜Nð '¨tô 'ð&˜Nð &¨tô &ð'˜Fð ' t÷ 'r&   r/   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% Sr\R                  " S\-   S-   \R                  \R                  -  5      r
\\S'   S\SS4S	 jrS\4S
 jrS\4S jr\S\4S j5       r\S\\S4   4S j5       r\S\\\\4      4S j5       r\S\\   4S j5       r\S\\   4S j5       r\S\\   4S j5       r\S\4S j5       r\S\4S j5       r\S\4S j5       r\S\4S j5       r\S\4S j5       r \S\4S j5       r!\S\4S j5       r"\S\4S j5       r#Sr$g)r   éŸ   am  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
z^\s*z\s*$r1   r(   r)   Nc                 ó²  • 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)a  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   c              3   ó8   #   • U  H  n[        U5      v •  M     g 7fr3   )r!   ©Ú.0Úis     r'   Ú	<genexpr>Ú#Version.__init__.<locals>.<genexpr>Í   s   é € ÐLÒ*K Qœ#˜aŸ&˜&Ò*Kùó   ‚r   Ú.Úpre_lÚpre_nÚpost_lÚpost_n1Úpost_n2Údev_lÚdev_nr   )r   r   r   r   r   r   N)Ú_regexÚsearchr   r   Úgroupr!   ÚtupleÚsplitÚ_parse_letter_versionÚ_parse_local_versionÚ_versionÚ_cmpkeyr   r   r   r   r   r   r1   )r6   r(   Úmatchs      r'   Ú__init__ÚVersion.__init__º   sU  € ð —‘×"Ñ" 7Ó+ˆÞÜ Ð#5°g°Y¸aÐ!@ÓAÐAô !Ø/4¯{©{¸7×/CÑ/C”#�e—k‘k 'Ó*Ô+ÈÜÑL¨%¯+©+°iÓ*@×*FÑ*FÀsÔ*KÓLÓLÜ% e§k¡k°'Ó&:¸E¿K¹KÈÓ<PÓQÜ&Ø—‘˜HÓ% u§{¡{°9Ó'=×'WÀÇÁÈYÓAWóô & e§k¡k°'Ó&:¸E¿K¹KÈÓ<PÓQÜ& u§{¡{°7Ó';Ó<ñ	
ˆŒô Ø�M‰M×ÑØ�M‰M×!Ñ!Ø�M‰M×ÑØ�M‰M×ÑØ�M‰M×ÑØ�M‰M×Ñó
ˆ�	r&   c                 ó   • SU  S3$ )zhA representation of the Version that shows all internal state.

>>> Version('1.0.0')
<Version('1.0.0')>
z
<Version('z')>r   r5   s    r'   Ú__repr__ÚVersion.__repr__à   s   € ð ˜D˜6 Ð%Ð%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      $ )
zgA string representation of the version that can be rounded-tripped.

>>> str(Version("1.0a5"))
'1.0a5'
r   Ú!r_   c              3   ó8   #   • U  H  n[        U5      v •  M     g 7fr3   ©r#   ©rZ   Úxs     r'   r\   Ú"Version.__str__.<locals>.<genexpr>õ   ó   é € Ð;ªl¨œc !Ÿf˜fªlùr^   Ú c              3   ó8   #   • U  H  n[        U5      v •  M     g 7fr3   ry   rz   s     r'   r\   r|   ù   s   é € Ð :²¨A¤ Q§ ²ùr^   z.postz.devÚ+)r   ÚappendÚjoinr   r   r   r   r   ©r6   Úpartss     r'   Ú__str__ÚVersion.__str__è   sð   € ð ˆð �:‰:˜‹?Ø�L‰L˜DŸJ™J˜< qÐ)Ô*ð 	�‰�S—X‘XÑ;¨d¯lªlÓ;Ó;Ô<ð �8‰8ÑØ�L‰L˜Ÿ™Ñ :°·²Ó :Ó:Ô;ð �9‰9Ñ Ø�L‰L˜5 §¡ Ð,Ô-ð �8‰8ÑØ�L‰L˜4 §¡˜zÐ*Ô+ð �:‰:Ñ!Ø�L‰L˜1˜TŸZ™Z˜LÐ)Ô*à�w‰w�u‹~Ðr&   c                 ó.   • U R                   R                  $ )zWThe epoch of the version.

>>> Version("2.0.0").epoch
0
>>> Version("1!2.0.0").epoch
1
)rn   r   r5   s    r'   r   ÚVersion.epoch	  s   € ð �}‰}×"Ñ"Ð"r&   .c                 ó.   • U R                   R                  $ )a  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.
)rn   r   r5   s    r'   r   ÚVersion.release  s   € ð �}‰}×$Ñ$Ð$r&   c                 ó.   • U R                   R                  $ )z¼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)
)rn   r   r5   s    r'   r   ÚVersion.pre$  s   € ð �}‰}× Ñ Ð r&   c                 ón   • U R                   R                  (       a  U R                   R                  S   $ S$ )zqThe post-release number of the version.

>>> print(Version("1.2.3").post)
None
>>> Version("1.2.3.post1").post
1
r
   N)rn   r   r5   s    r'   r   ÚVersion.post3  s*   € ð )-¯©×(:×(:ˆt�}‰}×!Ñ! !Ñ$ÐDÀÐDr&   c                 ón   • U R                   R                  (       a  U R                   R                  S   $ S$ )zmThe development number of the version.

>>> print(Version("1.2.3").dev)
None
>>> Version("1.2.3.dev1").dev
1
r
   N)rn   r   r5   s    r'   r   ÚVersion.dev>  s*   € ð (,§}¡}×'8×'8ˆt�}‰}× Ñ  Ñ#ÐB¸dÐBr&   c                 ó’   • U R                   R                  (       a,  SR                  S U R                   R                   5       5      $ g)zwThe local version segment of the version.

>>> print(Version("1.2.3").local)
None
>>> Version("1.2.3+abc").local
'abc'
r_   c              3   ó8   #   • U  H  n[        U5      v •  M     g 7fr3   ry   rz   s     r'   r\   Ú Version.local.<locals>.<genexpr>S  s   é € Ð@Ò,? qœC ŸF˜FÒ,?ùr^   N)rn   r   r‚   r5   s    r'   r   ÚVersion.localI  s3   € ð �=‰=××Ø—8‘8Ñ@¨D¯M©M×,?Ò,?Ó@Ó@Ð@àr&   c                 ó>   • [        U 5      R                  SS5      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.2.3+abc.dev1").public
'1.2.3'
r€   r
   r   )r#   rk   r5   s    r'   ÚpublicÚVersion.publicW  s   € ô �4‹y�‰˜s AÓ& 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      $ )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.3+abc.dev1").base_version
'1!1.2.3'

The "base version" is the public version of the project without any pre or post
release markers.
r   rw   r_   c              3   ó8   #   • U  H  n[        U5      v •  M     g 7fr3   ry   rz   s     r'   r\   Ú'Version.base_version.<locals>.<genexpr>y  r}   r^   r~   )r   r�   r‚   r   rƒ   s     r'   Úbase_versionÚVersion.base_versiond  s\   € ð ˆð �:‰:˜‹?Ø�L‰L˜DŸJ™J˜< qÐ)Ô*ð 	�‰�S—X‘XÑ;¨d¯lªlÓ;Ó;Ô<à�w‰w�u‹~Ðr&   c                 óH   • U R                   SL=(       d    U R                  SL$ )zü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)r   r   r5   s    r'   Úis_prereleaseÚVersion.is_prerelease}  s!   € ð �x‰x˜tÐ#×; t§x¡x°tÐ';Ð;r&   c                 ó   • U R                   SL$ )z‚Whether this version is a post-release.

>>> Version("1.2.3").is_postrelease
False
>>> Version("1.2.3.post1").is_postrelease
True
N)r   r5   s    r'   Úis_postreleaseÚVersion.is_postreleaseŽ  s   € ð �y‰y Ð$Ð$r&   c                 ó   • U R                   SL$ )z†Whether this version is a development release.

>>> Version("1.2.3").is_devrelease
False
>>> Version("1.2.3.dev1").is_devrelease
True
N)r   r5   s    r'   Úis_devreleaseÚVersion.is_devrelease™  s   € ð �x‰x˜tÐ#Ð#r&   c                 óV   • [        U R                  5      S:¼  a  U R                  S   $ S$ )zYThe first item of :attr:`release` or ``0`` if unavailable.

>>> Version("1.2.3").major
1
r
   r   ©Úlenr   r5   s    r'   ÚmajorÚVersion.major¤  s'   € ô #& d§l¡lÓ"3°qÓ"8ˆt�|‰|˜A‰Ð?¸aÐ?r&   c                 óV   • [        U R                  5      S:¼  a  U R                  S   $ S$ )zsThe second item of :attr:`release` or ``0`` if unavailable.

>>> Version("1.2.3").minor
2
>>> Version("1").minor
0
é   r
   r   r§   r5   s    r'   ÚminorÚVersion.minor­  ó'   € ô #& d§l¡lÓ"3°qÓ"8ˆt�|‰|˜A‰Ð?¸aÐ?r&   c                 óV   • [        U R                  5      S:¼  a  U R                  S   $ S$ )zrThe third item of :attr:`release` or ``0`` if unavailable.

>>> Version("1.2.3").micro
3
>>> Version("1").micro
0
é   r¬   r   r§   r5   s    r'   ÚmicroÚVersion.micro¸  r¯   r&   )r1   rn   )%r   r   r   r    r-   ÚreÚcompiler   ÚVERBOSEÚ
IGNORECASErg   ÚCmpKeyr"   r#   rq   rt   r…   Úpropertyr!   r   r   r   r   r   r   r   r   r–   r›   rR   rž   r¡   r¤   r©   r­   r²   r%   r   r&   r'   r   r   Ÿ   s  ‡ ñð. �ZŠZ˜ /Ñ1°GÑ;¸R¿Z¹ZÈ"Ï-É-Ñ=WÓX€FØ
ƒLð$
 ð $
¨ô $
ðL&˜#ô &ð˜ô ðB ð#�só #ó ð#ð ð%˜˜s C˜x™ó %ó ð%ð ð!�X˜e C¨ H™oÑ.ó !ó ð!ð ðE�h˜s‘mó Eó ðEð ðC�X˜c‘]ó Có ðCð ð�x ‘}ó ó ðð ð
*˜ó 
*ó ð
*ð ð˜có ó ðð0 ð<˜tó <ó ð<ð  ð% ó %ó ð%ð ð$˜tó $ó ð$ð ð@�só @ó ð@ð ð@�só @ó ð@ð ð@�só @ó ó@r&   ÚletterÚnumberc                 óÖ   • 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)Úcr   ÚpreviewÚrc)ÚrevÚrr   )Úlowerr!   )rº   r»   s     r'   rl   rl   Ä  s„   € ö ð ‰>ØˆFð —‘“ˆð
 �WÓØ‰FØ�vÓØ‰FØÐ.Ó.Ø‰FØ�|Ó#ØˆFà”s˜6“{Ð"Ð"Þ–fð ˆà”s˜6“{Ð"Ð"àr&   z[\._-]r   c                 óT   • U b%  [        S [        R                  U 5       5       5      $ g)zJ
Takes a string like abc.1.twelve and turns it into ("abc", 1, "twelve").
Nc              3   ó‚   #   • U  H5  nUR                  5       (       d  UR                  5       O
[        U5      v •  M7     g 7fr3   )ÚisdigitrÆ   r!   )rZ   Úparts     r'   r\   Ú'_parse_local_version.<locals>.<genexpr>ð  s0   é € ð 
â>�ð !%§¡§¡ˆD�J‰JŒL´C¸³IÔ=Ú>ùs   ‚=?)rj   Ú_local_version_separatorsrk   )r   s    r'   rm   rm   ë  s4   € ð ÑÜñ 
ä1×7Ñ7¸Ô>ó
ó 
ð 	
ð r&   r   r   r   r   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XxXš4$ )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<   r!   r   rY   s     r'   r\   Ú_cmpkey.<locals>.<genexpr>/  s.   é € ð 
ÚNSÈ”z !¤S×)Ñ)ˆQ�‰GÔ0@À!Ð/DÔDÊeùs   ‚.0)rj   ÚreversedÚlistÚ	itertoolsÚ	dropwhiler   r   )r   r   r   r   r   r   Ú_releaseÚ_preÚ_postÚ_devÚ_locals              r'   ro   ro   ÷  s«   € ô Ü””i×)Ò)Ñ*:¼HÀWÓ<MÓNÓOÓPó€Hð �{�t‘|¨©Ü"2‰ð 
‰Ü‰àˆð �|Ü#3‰ð ˆð �{Ü"*‰ð ˆà�}ä/‰ô ñ 
ÙNSó
ó 
ˆð ˜D¨Ð5Ð5r&   )'r-   rÕ   r´   Útypingr   r   r   r   r   r   r	   Ú_structuresr   r   r   r   Ú__all__r!   r#   r$   ÚCmpPrePostDevTypeÚCmpLocalTyper¸   rR   ÚVersionComparisonMethodr   r   Ú
ValueErrorr   r/   Ú_VERSION_PATTERNr   r   Úbytesrl   rµ   rÌ   rm   ro   r   r&   r'   Ú<module>rå      s   ðñó Û 	ß Q× QÑ Qç WÓ Wâ
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Ñ:Ð ôˆzô ð	�3ð 	˜9ô 	ô�Zô ÷+'ñ +'ð`Ð ð> #€ð	ôb@ˆlô b@ðJ	!Ø�S‰Mð!Ø#(¨¨e°[À$Ð)FÑ#Gð!àˆe�C˜�H‰oÑô!ðH ŸJšJ yÓ1Ð ð	 ¨¡ð 	°(¸9Ñ2Eô 	ð<6Øð<6à�3˜�8‰_ð<6ð 
�%˜˜S˜‘/Ñ	"ð<6ð �5˜˜c˜‘?Ñ
#ð	<6ð
 
�%˜˜S˜‘/Ñ	"ð<6ð �IÑð<6ð õ<6r&   