+
     hn  c                  s   R t ^ RIHt ^ RIHt ^ RIt]P                  ! R4      tRRRRR	R
RRRRRR
RRRR/tRRRRR	RRRRRRRRRRR/t	RRR
RRR/t
 ! R R]! R. RO4      4      tR R lt]! ^^^ R4      t]P                  4       tR# )zMeta related things.)annotations)
namedtupleNz(?x)
    (?P<major>\d+)(?:\.(?P<minor>\d+))?(?:\.(?P<micro>\d+))?
    (?:(?P<type>a|b|rc)(?P<pre>\d+))?
    (?:\.post(?P<post>\d+))?
    (?:\.dev(?P<dev>\d+))?
    .devZ z
.dev-alphaZaz	.dev-betaZb.dev-candidateZrcalphaZbetaZ	candidatefinalz2 - Pre-Alphaz	3 - Alphaz4 - Betaz5 - Production/Stablec                  sr   a  ] tR t^(tRtRR V 3R llltR R ltR R ltR R	 ltR
 R lt	R R lt
RtV ;t# )Versiona  
Get the version (PEP 440).

A biased approach to the PEP 440 semantic version.

Provides a tuple structure which is sorted for comparisons `v1 > v2` etc.
  (major, minor, micro, release type, pre-release build, post-release build, development release build)
Release types are named in is such a way they are comparable with ease.
Accessors to check if a development, pre-release, or post-release build. Also provides accessor to get
development status for setup files.

How it works (currently):

- You must specify a release type as either `final`, `alpha`, `beta`, or `candidate`.
- To define a development release, you can use either `.dev`, `.dev-alpha`, `.dev-beta`, or `.dev-candidate`.
  The dot is used to ensure all development specifiers are sorted before `alpha`.
  You can specify a `dev` number for development builds, but do not have to as implicit development releases
  are allowed.
- You must specify a `pre` value greater than zero if using a prerelease as this project (not PEP 440) does not
  allow implicit prereleases.
- You can optionally set `post` to a value greater than zero to make the build a post release. While post releases
  are technically allowed in prereleases, it is strongly discouraged, so we are rejecting them. It should be
  noted that we do not allow `post0` even though PEP 440 does not restrict this. This project specifically
  does not allow implicit post releases.
- It should be noted that we do not support epochs `1!` or local versions `+some-custom.version-1`.

Acceptable version releases:

```
Version(1, 0, 0, "final")                    1.0
Version(1, 2, 0, "final")                    1.2
Version(1, 2, 3, "final")                    1.2.3
Version(1, 2, 0, ".dev-alpha", pre=4)        1.2a4
Version(1, 2, 0, ".dev-beta", pre=4)         1.2b4
Version(1, 2, 0, ".dev-candidate", pre=4)    1.2rc4
Version(1, 2, 0, "final", post=1)            1.2.post1
Version(1, 2, 3, ".dev")                     1.2.3.dev0
Version(1, 2, 3, ".dev", dev=1)              1.2.3.dev1
```

c               s8    V ^8  d   QhRRRRRRRRRRRRR	RR
R/# )   majorintminormicroreleasestrprepostdevreturnr    Zformat   "7/usr/lib/python3.14/site-packages/soupsieve/__meta__.py__annotate__Version.__annotate__S   s^     &R &R&R&R'*&R58&R &R  &R +.&R 
	&R    c           
     s  < WW5V3 F+  p\        V\        4      '       d
   V^ 8  d   K"  \        R4      h	  V\        9  d   \        RV R24      hRTu;8  d   R8  d=   M M9V^ 8X  d   \        R4      hV'       d   \        R4      hV'       d   \        R4      hMZVR	8  d.   VR
8  d   V^ 8X  d   \        R4      hV'       d   \        R4      hM&V'       d   \        R4      hV'       d   \        R4      h\        S	V `  WW#WEWg4      # )zValidate version info.z6All version parts except 'release' should be integers.'z' is not a valid release type.r   r   z"Implicit pre-releases not allowed.z%Version is not a development release.z0Post-releases are not allowed with pre-releases.r   r   z!Implicit pre-release not allowed.zVersion is not a pre-release.)Z
isinstancer	   
ValueErrorREL_MAPZsuper__new__)
Zclsr   r
   r   r   r   r   r   Zvalue	__class__s
   &&&&&&&& r   r   ZVersion.__new__S   s    E5Euc**uz !YZZ 6 '!q	)GHII g//ax !EFF !HII !STT  wC1H !DEE !STT 
  !@AA !HIIws5tQQr   c                   V ^8  d   QhRR/# r   r   boolr   r   r   r   r   r   {   s     " " "r   c                2    \        V P                  ^ 8  4      # )zIs prerelease.)r    r   self   &r   _is_preZVersion._is_pre{   s     DHHqL!!r   c               r   r   r   r   r   r   r   r      s     , , ,r   c                s2    \        V P                  R8  4      # )zIs development.r   )r    r   r"   r$   r   _is_devZVersion._is_dev   s     DLL7*++r   c               r   r   r   r   r   r   r   r      s     # #$ #r   c                r!   )zIs post.)r    r   r"   r$   r   _is_postZVersion._is_post   s     DIIM""r   c               r   r   r   r   r   r   r   r   r   r      s     ( ( (r   c                s0    \         V P                  ,          # )zGet development status string.)
DEV_STATUSr   r"   r$   r   _get_dev_statusZVersion._get_dev_status   s     $,,''r   c               r   r(   r   r   r   r   r   r      s       r   c                s   V P                   ^ 8X  d   V P                   RV P                   2pM(V P                   RV P                   RV P                    2pV P                  4       '       d-   V\        V P
                  ,           V P                   2,          pV P                  4       '       d   VRV P                   2,          pV P                  4       '       d   VRV P                   2,          pV# )z Get the canonical output string.Z.z.postr   )r   r   r
   r%   r   r   r   r'   r   r&   r   )r#   vers   & r   _get_canonicalZVersion._get_canonical   s     ::?ZZL$**.CZZL$**Qtzzl;C<<>>gdll+,TXXJ77C==??U499+&&C<<>>T$(($$C
r   r   )r       r-   r-   )Z__name__Z
__module__Z__qualname__Z__firstlineno____doc__r   r%   r&   r'   r*   r,   Z__static_attributes__Z__classcell__)r   s   @r   r   r   (   s4    (T&R &RP"
,
#
(
 r   r   c               s     V ^8  d   QhRRRR/# )r   r+   r   r   r   r   r   r   r   r   r      s      A  As  Aw  Ar   c           	     sZ   \         P                  V 4      pVf   \        RV  R24      h\        VP	                  R4      4      pVP	                  R4      '       d   \        VP	                  R4      4      M^ pVP	                  R4      '       d   \        VP	                  R4      4      M^ pVP	                  R4      '       d8   \
        VP	                  R4      ,          p\        VP	                  R4      4      pMRp^ pVP	                  R	4      '       d   VP	                  R	4      M^ pVP	                  R	4      '       d/   \        VP	                  R	4      4      pV'       d
   R
V,           MRpM^ pVP	                  R4      '       d   \        VP	                  R4      4      M^ p\        W#WEWhV4      # )z.Parse version into a comparable Version tuple.r   z' is not a valid versionr   r
   r   Ztyper   r   r   z.dev-r   r   )RE_VERZmatchr   r	   ZgroupPRE_REL_MAPr   )	r+   Zmr   r
   r   r   r   r   r   s	   &        r   parse_versionr1      sF    	SAy1SE!9:;;  !E%&WWW%5%5C !1E%&WWW%5%5C !1E 	wwvaggfo.!''%.! GGENN!''%.Cwwu~~!''%.!'*'G# $%776??3qwwvD5C@@r   )r   r
   r   r   r   r   r   )r.   Z
__future__r    Zcollectionsr   ZreZcompiler/   r   r)   r0   r   r1   Z__version_info__r,   Z__version__r   r   r   <module>r2      s     " " 		
 B#dS
CR	 O/o[
J$	
 GS&$<vj$`a vr AF 1aG, --/r   