\hI9ddlZddlZddlZddlZddlmZmZmZmZm Z m Z m Z ddl m Z mZmZmZgdZe eefZe ee eeffZe eeefZe ee e ee eefe eeffdffZe ee edfeeeefZe ee edffZee eefe eefgefZej8dgdZd ed e d fd ZGd deZ GddZ!Gdde!Z"ejFdejHZ%ddddddZ&ded eefdZ'd ed efdZ(dZ)Gdde!Z*dede ee+e fd ee eeffd Z,ejFd!Z-d"ed eefd#Z.d$ed%e edfd&ee eefd'ee eefd(ee eefd"ee ed efd)Z/y)*N)CallableIteratorListOptional SupportsIntTupleUnion)Infinity InfinityTypeNegativeInfinityNegativeInfinityType)parseVersion LegacyVersionInvalidVersionVERSION_PATTERN._Version)epochreleasedevprepostlocalversionreturn)rrcN t|S#t$rt|cYSwxYw)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. )rrr)rs `/root/niggaflix-v3/playground/venv/lib/python3.12/site-packages/pip/_vendor/packaging/version.pyrr*s, &w &W%%&s $$ceZdZdZy)rzF An invalid version was found, users should refer to PEP 440. N)__name__ __module__ __qualname____doc__rrr6sr%rceZdZUeeefed<defdZddde fdZ ddde fdZ de de fdZ ddde fdZddde fd Zde de fd Zy ) _BaseVersion_keyrc,t|jSN)hashr(selfs r__hash__z_BaseVersion.__hash__?sDIIr%otherc`t|tstS|j|jkSr* isinstancer'NotImplementedr(r-r/s r__lt__z_BaseVersion.__lt__E%%.! !yy5::%%r%c`t|tstS|j|jkSr*r1r4s r__le__z_BaseVersion.__le__K%%.! !yyEJJ&&r%c`t|tstS|j|jk(Sr*r1r4s r__eq__z_BaseVersion.__eq__Qr9r%c`t|tstS|j|jk\Sr*r1r4s r__ge__z_BaseVersion.__ge__Wr9r%c`t|tstS|j|jkDSr*r1r4s r__gt__z_BaseVersion.__gt__]r6r%c`t|tstS|j|jk7Sr*r1r4s r__ne__z_BaseVersion.__ne__cr9r%N)r r!r"r CmpKey LegacyCmpKey__annotations__intr.boolr5r8objectr;r=r?rAr$r%rr'r'<s  $ %%# &N&t& 'N't' 'F't' 'N't' &N&t& 'F't'r%r'ceZdZdeddfdZdefdZdefdZedefdZedefdZ ede fd Z edd Z edd Z edd Zedd ZeddZedefdZedefdZedefdZy)rrrNct||_t|j|_t j dt y)NzZCreating a LegacyVersion has been deprecated and will be removed in the next major release)str_version_legacy_cmpkeyr(warningswarnDeprecationWarning)r-rs r__init__zLegacyVersion.__init__ks1G  "4==1   0  r%c|jSr*rKr,s r__str__zLegacyVersion.__str__us }}r%cd|dS)Nzr$r,s r__repr__zLegacyVersion.__repr__xs!$s++r%c|jSr*rRr,s rpubliczLegacyVersion.public{ }}r%c|jSr*rRr,s r base_versionzLegacyVersion.base_versionrYr%cy)Nr$r,s rrzLegacyVersion.epochsr%cyr*r$r,s rrzLegacyVersion.releaser%cyr*r$r,s rrzLegacyVersion.prer_r%cyr*r$r,s rrzLegacyVersion.postr_r%cyr*r$r,s rrzLegacyVersion.devr_r%cyr*r$r,s rrzLegacyVersion.localr_r%cyNFr$r,s r is_prereleasezLegacyVersion.is_prereleaser%cyrer$r,s ris_postreleasezLegacyVersion.is_postreleasergr%cyrer$r,s r is_devreleasezLegacyVersion.is_devreleasergr%)rN)r r!r"rJrPrSrVpropertyrXr[rErrrrrrrFrfrirkr$r%rrrjs3   ,#,csttr%rz(\d+ | [a-z]+ | \.| -)czfinal-@)rpreview-rcrsc#Ktj|D]B}tj||}|r|dk(r!|dddvr|j dts{  8| #**Q- *   NsA A"cBd}g}t|jD]s}|jdrO|dkr%|r#|ddk(r|j|r |ddk(r|r#|ddk(r|j|r |ddk(r|j |u|t |fS)Nr]rwrxz*final-00000000)rlower startswithpopappendtuple)rrpartsr~s rrLrLs EE$W]]_5  ??3 hb Y 6IIKb Y 6E"I3 E"I3  T  %, r%a v? (?: (?:(?P[0-9]+)!)? # epoch (?P[0-9]+(?:\.[0-9]+)*) # release segment (?P
                                          # pre-release
            [-_\.]?
            (?P(a|b|c|rc|alpha|beta|pre|preview))
            [-_\.]?
            (?P[0-9]+)?
        )?
        (?P                                         # post release
            (?:-(?P[0-9]+))
            |
            (?:
                [-_\.]?
                (?Ppost|rev|r)
                [-_\.]?
                (?P[0-9]+)?
            )
        )?
        (?P                                          # dev release
            [-_\.]?
            (?Pdev)
            [-_\.]?
            (?P[0-9]+)?
        )?
    )
    (?:\+(?P[a-z0-9]+(?:[-_\.][a-z0-9]+)*))?       # local version
ceZdZejdezdzejejzZde	ddfdZ
de	fdZde	fdZe
defd	Ze
deed
ffdZe
deee	effdZe
deefd
Ze
deefdZe
dee	fdZe
de	fdZe
de	fdZe
defdZe
defdZe
defdZe
defdZe
defdZe
defdZy)rz^\s*z\s*$rrNc|jj|}|std|dt|j	drt|j	dndt
d|j	djdDt|j	d|j	d	t|j	d
|j	dxs|j	dt|j	d
|j	dt|j	d|_
t|jj|jj|jj|jj|jj |jj"|_y)NzInvalid version: ''rrc32K|]}t|ywr*)rE.0is  r	z#Version.__init__..sLQ#a&Lrrtpre_lpre_npost_lpost_n1post_n2dev_ldev_nr)rrrrrr)_regexsearchrrgrouprErrz_parse_letter_version_parse_local_versionrK_cmpkeyrrrrrrr()r-rmatchs   rrPzVersion.__init__sR""7+ #5gYa!@AA!/4{{7/C#ekk'*+L%++i*@*F*Fs*KLL%ekk'&:EKK.-;c!f;rc32K|]}t|ywr*rrs  rrz"Version.__str__..1s :AQ :rz.postz.dev+)rrjoinrrrrrr-rs  rrSzVersion.__str__%s::?LLDJJ.[s@qCF@r)rKrrr,s rrz
Version.localXs1==88@DMM,?,?@@@r%c>t|jdddS)Nrr
r)rJrzr,s rrXzVersion.public_s4ysA&q))r%cg}|jdk7r|j|jd|jdjd|jDdj|S)Nrrrtc32K|]}t|ywr*rrs  rrz'Version.base_version..lrrr)rrrrrs  rr[zVersion.base_versioncsZ::?LLDJJ|jduxs|jduSr*)rrr,s rrfzVersion.is_prereleasepsxxt#;txxt';;r%c|jduSr*)rr,s rrizVersion.is_postreleasetsyy$$r%c|jduSr*)rr,s rrkzVersion.is_devreleasexsxxt##r%cTt|jdk\r|jdSdS)Nr
rlenrr,s rmajorz
Version.major|%"%dll"3q"8t||A?a?r%cTt|jdk\r|jdSdS)Nr
rrr,s rminorz
Version.minorrr%cTt|jdk\r|jdSdS)Nrrrr,s rmicroz
Version.microrr%) r r!r"recompilerVERBOSE
IGNORECASErrJrPrVrSrlrErrrrrrrrrXr[rFrfrirkrrrr$r%rrrs
RZZ/1G;RZZ"--=W
XF


:&#&8ssCxXeCHo.EhsmEECXc]CCx}***
c

|d}|j}|dk(rd}n|dk(rd}n
|dvrd}n|dvrd	}|t|fS|s|rd	}|t|fSy)
Nralphaabetab)rmrrorq)revrr)rrE)rrs  rrrs>F
WF
v
F
.
.F
|
#Fs6{""fs6{""r%z[\._-]rcR|%tdtj|DSy)zR
    Takes a string like abc.1.twelve and turns it into ("abc", 1, "twelve").
    Nc3rK|]/}|js|jn
t|1ywr*)isdigitrrE)rr~s  rrz'_parse_local_version..s/
!%DJJLCI=
s57)r_local_version_separatorsrz)rs rrrs4

177>

	
r%rrrrrcttttjdt|}||	|t
}n|t}n|}|t
}n|}|t}	n|}	|t
}
ntd|D}
|||||	|
fS)Nc|dk(S)Nrr$)rs rz_cmpkey..s
AFr%c3TK|] }t|tr|dfnt|f"yw)rN)r2rEr
rs  rrz_cmpkey..s-
IJz!S)QG0@!/DD
s&()rreversedlist	itertools	dropwhiler
r)rrrrrrrr_post_dev_locals           rrrsi))*:HWrs
	PPPWW
Tl$889
}eCHo56]C,-	
,#$&45
7	

		


	
sCx...)S
S%S/)*"
6< %(<"=>D";!!C
	&3	&5!;<	&Z+'+'\;L;| *rzz*CRZZP	

#CHSM"CL:@E@lE@P!!sE;67!
eCHo!H'BJJy1		(;	<6<6
38_<6
%S/	"<65c?
#	<6

%S/	"<6E,'(
<6<6r%