ó
    Eñi®  ã                   ób   • S SK Jr  SSKJr  SSKJrJr  \\" SSSSS9 " S S	5      5       5       rg
)é    )Útotal_orderingé   )Úastuple)ÚattribÚattrsFT)ÚeqÚorderÚslotsÚfrozenc                   óp   • \ rS rSrSr\" \S9r\" \S9r\" \S9r	\" \
S9r\S 5       rS rS rS rS rS	rg
)ÚVersionInfoé
   a[  
A version object that can be compared to tuple of length 1--4:

>>> attr.VersionInfo(19, 1, 0, "final")  <= (19, 2)
True
>>> attr.VersionInfo(19, 1, 0, "final") < (19, 1, 1)
True
>>> vi = attr.VersionInfo(19, 2, 0, "final")
>>> vi < (19, 1, 1)
False
>>> vi < (19,)
False
>>> vi == (19, 2,)
True
>>> vi == (19, 2, 1)
False

.. versionadded:: 19.2
)Útypec                 óÄ   • UR                  S5      n[        U5      S:X  a  UR                  S5        U " [        US   5      [        US   5      [        US   5      US   S9$ )z&
Parse *s* and return a _VersionInfo.
Ú.é   Úfinalr   r   é   )ÚyearÚminorÚmicroÚreleaselevel)ÚsplitÚlenÚappendÚint)ÚclsÚsÚvs      ÚO/home/mande/repo/quber/.venv/lib/python3.13/site-packages/attr/_version_info.pyÚ_from_version_stringÚ VersionInfo._from_version_string&   sZ   € ð
 �G‰G�C‹LˆÜˆq‹6�Q‹;Ø�H‰H�WÔáÜ�Q�q‘T“¤# a¨¡d£)´3°q¸±t³9È1ÈQÉ4ñ
ð 	
ó    c                 óú   • U R                   UR                   L a  [        U5      n[        U[        5      (       d  [        eS[        U5      s=::  a  S::  d   [        e  [        e[        U 5      S[        U5       U4$ )zŽ
Ensure *other* is a tuple of a valid length.

Returns a possibly transformed *other* and ourselves as a tuple of
the same length as *other*.
r   é   N)Ú	__class__r   Ú
isinstanceÚtupleÚNotImplementedErrorr   )ÚselfÚothers     r    Ú_ensure_tupleÚVersionInfo._ensure_tuple3   sl   € ð �>‰>˜UŸ_™_Ò,Ü˜E“NˆEä˜%¤×'Ñ'Ü%Ð%à”S˜“ZÕ$ 1Ô$Ü%Ð%ð %Ü%Ð%ä�t‹}˜\œs 5›zÐ*¨EÐ1Ð1r#   c                 ó^   •  U R                  U5      u  p#X#:H  $ ! [         a	    [        s $ f = f©N©r,   r)   ÚNotImplemented©r*   r+   ÚusÚthems       r    Ú__eq__ÚVersionInfo.__eq__F   s:   € ð	"Ø×)Ñ)¨%Ó0‰HˆBð ‰zÐøô #ó 	"Ü!Ò!ð	"úó   ‚ ™,«,c                 ó^   •  U R                  U5      u  p#X#:  $ ! [         a	    [        s $ f = fr/   r0   r2   s       r    Ú__lt__ÚVersionInfo.__lt__N   s:   € ð	"Ø×)Ñ)¨%Ó0‰HˆBð ‰yÐøô #ó 	"Ü!Ò!ð	"úr7   c                 óp   • [        U R                  U R                  U R                  U R                  45      $ r/   )Úhashr   r   r   r   )r*   s    r    Ú__hash__ÚVersionInfo.__hash__X   s(   € Ü�T—Y‘Y §
¡
¨D¯J©J¸×8IÑ8IÐJÓKÐKr#   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r   r   r   Ústrr   Úclassmethodr!   r,   r5   r9   r=   Ú__static_attributes__r?   r#   r    r   r   
   sX   † ññ( �sÑ€DÙ˜Ñ€EÙ˜Ñ€EÙ˜sÑ#€Làñ

ó ð

ò2ò&òõLr#   r   N)Ú	functoolsr   Ú_funcsr   Ú_maker   r   r   r?   r#   r    Ú<module>rK      sB   ðõ %å ß  ð Ùˆ%�u D°Ñ6÷MLð MLó 7ó ñMLr#   