o
    i                     @   sz  d dl Z d dlZe eZdZeZG dd dZG dd de	Z
dd Zed Ze
 Zi Ze Zd	ee< e Zd
ee< e Zdee< e Zdee  d d ee  d d ee  d ee< e Zdee  d d ee  d d ee  d ee< e Zdee  d ee  d ee< e Zdee  d ee  d ee< e Zdee  d ee  d ee< e Zdee  d ee  d ee< e Zdee< e Zdee  d ee  d ee< e Zdee  ee  d ee  d Zde d ee< dee  ee  d ee  d Ze Zde d ee< e Zdee< e Zee d ee< e Z ee d ee < e Z!dee   d d ee   d d ee   d d ee  d  ee  d d! ee!< e Z"dee  d d ee  d d ee  d d ee  d  ee  d d! ee"< e Z#dee  d" ee!  d ee#< e Z$dee  d" ee"  d ee$< e Z%d#ee%< e Z&d$ee%  d% ee&< e'ee& ej(ee&< d&Z)e Z*dee%  ee!  d ee*< e Z+dee%  ee"  d ee+< e Z,d'ee,< e Z-d$ee,  d% ee-< e'ee- ej(ee-< d(Z.e Z/dee,  ee!  d ee/< e Z0dee,  ee"  d ee0< e Z1dee  d) e d* ee1< e Z2dee  d) e d* ee2< e Z3d$ee  d) e d ee!  d ee3< e'ee3 ej(ee3< d+Z4e Z5d,ee!  d d- d ee!  d d. ee5< e Z6d,ee"  d d- d ee"  d d. ee6< e Z7d/ee7< e Z8d0j9ee ee d1ee8< e:e; D ]Z<e=d2e<ee<  e<evre'ee< ee<< qd3d4 Z>d5d6 Z?d7d8 Z@e'd9ZAd:d; ZBeBZCG d<d= d=ZDdd>d?ZEd@dA ZFdBdC ZGdDdE ZHdFdG ZIdHdI ZJdJdK ZKeKdLZLeKdLZMdMdN ZNdOdP ZOdQdR ZPdSdT ZQdUdV ZRdWdX ZSdYdZ ZTd[d\ ZUd]d^ ZVd_d` ZWeWZXeY ZZG dadb dbZ[dcdd Z\G dedf dfZ]dgdh Z^didj Z_dkdl Z`dmdn Zadodp Zbdqdr Zcdsdt Zddudv Zedwdx Zfdydz Zgd{d| Zhd}d~ ZidddZjdddZkdd Zldd Zmdd Zndd ZodS )    Nz2.0.0c                   @   s$   e Zd Zdd Zdd Zdd ZdS )_Rc                 C   s
   || _ d S Ni)selfr    r   L/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/jupyterlab/semver.py__init__*      
z_R.__init__c                 C   s   | j }|  j d7  _ |S )N   r   )r   vr   r   r   __call__-   s   z_R.__call__c                 C      | j S r   r   r   r   r   r   value2      z_R.valueN)__name__
__module____qualname__r	   r   r   r   r   r   r   r   )   s    r   c                   @   s   e Zd Zdd ZdS )
Extendlistc                 C   sB   z
t | || W d S  ty    t| |kr| | Y d S  w r   )list__setitem__
IndexErrorlenappend)r   r   r   r   r   r   r   7   s   zExtendlist.__setitem__N)r   r   r   r   r   r   r   r   r   6   s    r   c                 C   s    z| | W S  t y   Y d S w r   )r   )xsr   r   r   r   list_getA   s
   
r   z
0|[1-9]\d*z[0-9]+z\d*[a-zA-Z-][a-zA-Z0-9-]*(z)\.)z(?:|z(?:-(z(?:\.z)*))z(?:-?(z[0-9A-Za-z-]+z(?:\+(zv??^$z[v=\s]*z((?:<|>)?=?)z|x|X|\*z[v=\s]*(z(?:\.(z)?z)?)?z\s*z(?:~>?)z(\s*)\s+z\1~z(?:\^)z\1^z\s*(z)$|^$z\1\2\3z^\s*(z\s+-\s+z\s*$z(<|>)?=?\s*\*zv?({n})(?:\.({n}))?{pre}?)nprezgenregxp %s %sc                 C   s0   |rt t nt t }|| }|rt| |S d S r   )regexpLOOSEFULLsearchsemver)versionloosermr   r   r   parseG  s
   

r/   c                 C   s   t | |}|jr
|S d S r   r/   r+   )r+   r,   r   r   r   r   validP  s   
r1   c                 C   s   t | |}|r
|jS d S r   r0   )r+   r,   sr   r   r   cleanX  s   
r3   z^\d+$c                 C   sD   t | tr| j|kr| S | j} nt | tstd|  	 t| |S )NInvalid Version: )
isinstanceSemVerr,   r+   string_type
ValueError)r+   r,   r   r   r   r*   c  s   



r*   c                   @   sN   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dddZ
dS )r6   c                 C   s\  t d|| || _|| _t|rtnt | }|sg|s%t	d| tt
 | }|dr:t|dnd| _|drIt|dnd| _d| _|dsXg | _nPdd |dd	D | _nAt|d| _t|d| _t|d| _|d
sg | _ndd |d
d	D | _|dr|dd	| _ng | _|   d S )NzSemVer %s, %sr4   r   r         c                 S   "   g | ]}t |rt|n|qS r   NUMERICr)   int.0id_r   r   r   
<listcomp>      z#SemVer.__init__.<locals>.<listcomp>.   c                 S   r;   r   r<   r?   r   r   r   rB     rC      )loggerdebugr,   rawr&   r'   r(   r)   stripr8   RECOVERYVERSIONNAMEgroupr>   majorminorpatch
prereleasesplitbuildformat)r   r+   r,   r.   r   r   r   r	   w  s8   



zSemVer.__init__c                 C   sV   | j  d| j d| j | _t| jdkr(|  jdddd | jD 7  _| jS )NrD   r   z-{}c                 s   s    | ]}t |V  qd S r   )str)r@   r   r   r   r   	<genexpr>  s    z SemVer.format.<locals>.<genexpr>)rM   rN   rO   r+   r   rP   rS   joinr   r   r   r   rS     s   &zSemVer.formatc                 C      d|  dS )Nz<SemVer z >r   r   r   r   r   __repr__     zSemVer.__repr__c                 C   r   r   r+   r   r   r   r   __str__  r   zSemVer.__str__c                 C   sN   t d| j| j| t|tst|| j}| |p| |}t d| |S )NzSemVer.compare %s %s %szcompare result %s)	rG   rH   r+   r,   r5   r6   make_semvercompare_maincompare_pre)r   otherresultr   r   r   compare  s   
zSemVer.comparec                 C   sX   t |tst|| j}tt| jt|jp+tt| jt|jp+tt| jt|jS r   )	r5   r6   r\   r,   compare_identifiersrT   rM   rN   rO   )r   r_   r   r   r   r]     s   
zSemVer.compare_mainc                 C   s   t |tst|| j}t| jdk}t|jdk}|s|rdS |r%|s%dS |s+|s+dS d}	 t| j|}t|j|}td||| |d7 }|d u rP|d u rPdS |d u rVdS |d u r\dS ||kraq-t	t
|t
|S )Nr   r   Tzprerelease compare %s: %s %s)r5   r6   r\   r,   r   rP   r   rG   rH   rb   rT   )r   r_   is_self_more_than_zerois_other_more_than_zeror   abr   r   r   r^     s2   
zSemVer.compare_preNc                 C   sz  t d| j| |dkr%g | _d| _d| _|  jd7  _| jd|d n|dkr>g | _d| _|  jd7  _| jd|d n|dkrTg | _| jd	|d | jd|d n|d
krnt| jdkrf| jd	|d | jd|d n|dkr| jdks| jdkst| jdkr|  jd7  _d| _d| _g | _n|dkr| jdkst| jdkr|  jd7  _d| _g | _n|d	krt| jdkr|  jd7  _g | _nk|dkr,t d| j t| jdkrdg| _n*t| jd }|dkr
t| j| t	r| j|  d7  < |d8 }|d8 }|dks|d ur+| jd |kr&t| jd t	s%|dg| _n|dg| _nt
d| |   | j| _| S )Nzinc release %s %spremajorr   r   r%   
identifierpreminorprepatchrO   rP   rM   rN   zinc prerelease %sr9   zinvalid increment argument: )rG   rH   rP   rO   rN   rM   incr   r5   r>   r8   rS   r+   rI   )r   releaserj   r   r   r   r   rm     sr   "





z
SemVer.incr   )r   r   r   r	   rS   rX   r[   ra   r]   r^   rm   r   r   r   r   r6   v  s    &
 r6   c              
   C   sN   zt | |j||djW S  ty& } ztj|dd W Y d }~d S d }~ww )Nri   rF   )exc_info)r\   rm   r+   	ExceptionrG   rH   )r+   rn   r,   rj   er   r   r   rm   /  s   rm   c                 C   s`   t | }t |}|r|rt| } t|}|r|sdS |r"|s"dS | |k r(dS | |kr.dS dS )Nrc   r   r   r<   )rf   rg   anumbnumr   r   r   rb   7  s   

rb   c                 C   s
   t || S r   )rb   rf   rg   r   r   r   rcompare_identifiersK  r
   ru   c                 C   s   t | ||S r   )r\   ra   rf   rg   r,   r   r   r   ra   O     ra   c                 C   s   t | |dS )NTra   rt   r   r   r   compare_looseS  rY   ry   c                 C   s   t || |S r   rx   rv   r   r   r   rcompareW  rY   rz   c                    s    fdd}|S )Nc                    sH   t |  }|j|j|jf}|jr|t|j }|S g |tdR }|S )Ninf)r\   rM   rN   rO   rP   tuplefloat)r+   r   keyr,   r   r   key_function\  s   
z'make_key_function.<locals>.key_functionr   )r,   r   r   r   r   make_key_function[  s   r   Tc                 C   s   |rt nt}| j|d | S )N)r~   loose_key_functionfull_key_functionsortlist_r,   keyfr   r   r   r   n  s   r   c                 C   s   |rt nt}| j|dd | S )NT)r~   reverser   r   r   r   r   rsortt  s   r   c                 C   s   t | ||dkS Nr   rx   rv   r   r   r   gtz  rw   r   c                 C   s   t | ||dk S r   rx   rv   r   r   r   lt~  rw   r   c                 C   s   t | ||dkS r   rx   rv   r   r   r   eq  rw   r   c                 C   s   t | ||dkS r   rx   rv   r   r   r   neq  rw   r   c                 C   s   t | ||dkS r   rx   rv   r   r   r   gte  rw   r   c                 C   s   t | ||dkS r   rx   rv   r   r   r   lte  rw   r   c                 C   s   t d| |dkr| |kS |dkr| |kS |dks"|dks"|dkr(t| ||S |dkr2t| ||S |dkr<t| ||S |d	krFt| ||S |d
krPt| ||S |dkrZt| ||S td| )Nzcmp: %sz===z!== =z==z!=>>=<<=zInvalid operator: )	rG   rH   r   r   r   r   r   r   r8   )rf   oprg   r,   r   r   r   cmp  s$   r   c                 C   s(   t | tr| j|kr| S | j} t| |S r   )r5   
Comparatorr,   r   compr,   r   r   r   
comparator  s
   


r   c                   @   s8   e Zd ZdZdd Zdd Zdd Zdd	 Zd
d ZdS )r   Nc                 C   sF   t d|| || _| | | jtkrd| _d S | j| jj | _d S )Nzcomparator: %s %sr   )	rG   rH   r,   r/   r*   ANYr   operatorr+   )r   r   r,   r   r   r   r	     s   


zComparator.__init__c                 C   s~   | j rtt ntt }td| ||}|d u r!td| |d| _	|dd u r3t
| _d S t|d| j | _d S )Nzparse comp=%szInvalid comparator: r   r9   )r,   r&   COMPARATORLOOSE
COMPARATORrG   rH   r)   r8   rL   r   r   r*   )r   r   r-   r.   r   r   r   r/     s   

zComparator.parsec                 C   rW   )Nz<SemVer Comparator "">r   r   r   r   r   rX     rY   zComparator.__repr__c                 C   r   r   r   r   r   r   r   r[     r   zComparator.__str__c                 C   s2   t d|| j | jtkrdS t|| j| j| jS )NzComparator, test %s, %sT)rG   rH   r,   r*   r   r   r   r   r+   r   r   r   test  s   
zComparator.test)	r   r   r   r*   r	   r/   rX   r[   r   r   r   r   r   r     s    
r   c                 C   s"   t | tr| j|kr| S t| |S r   )r5   Ranger,   range_r,   r   r   r   
make_range  s   
r   c                   @   s<   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd ZdS )r   c                    sZ   | _ | _ fddtd|D }dd |D  _t js'td|    d S )Nc                    s   g | ]	}  | qS r   )parse_rangerJ   r@   r-   r   r   r   rB         z"Range.__init__.<locals>.<listcomp>z
\s*\|\|\s*c                 S   s   g | ]}|r|qS r   r   r   r   r   r   rB     s    zInvalid SemVer Range: )r,   rI   rerQ   setr   r8   rS   )r   r   r,   r   r   r   r   r	     s   
zRange.__init__c                 C   s   d| j  dS )Nz<SemVer Range "r   ranger   r   r   r   rX        zRange.__repr__c                 C   s0   d dd | jD  | _td| j | jS )Nz||c                 S   s$   g | ]}d  dd |D  qS ) c                 s   s    | ]}|j V  qd S r   r   r@   cr   r   r   rU     s    z*Range.format.<locals>.<listcomp>.<genexpr>)rV   rJ   )r@   compsr   r   r   rB     s   $ z Range.format.<locals>.<listcomp>zRange format %s)rV   r   rJ   r   rG   rH   r   r   r   r   rS     s   zRange.formatc                 C   r   r   r   r   r   r   r   r[     r   zRange.__str__c              	      s   | j td| rtt ntt }|t|}td| tt t	|}td|tt  tt
 t|}tt t|}dtd|}rPtt ntt  tddfdd|dD }| j rs fdd|D }fd	d|D }|S )
Nzrange %s %szhyphen replace %szcomparator trim %s, %sr   r#   c                       g | ]}t | qS r   )parse_comparatorr@   r   r   r   r   rB   #      z%Range.parse_range.<locals>.<listcomp>c                    s   g | ]	}  |r|qS r   )r)   r   )comp_rer   r   rB   '  r   c                    r   r   )make_comparatorr   r   r   r   rB   (  r   )r,   rG   rH   r&   HYPHENRANGELOOSEHYPHENRANGEsubhyphen_replaceCOMPARATORTRIMcomparatorTrimReplace	TILDETRIMtildeTrimReplace	CARETTRIMcaretTrimReplacerV   r   rQ   r   r   )r   r   hrset_r   )r   r,   r   r     s*   zRange.parse_rangec                    s8    sdS t  trt | jd t fdd| jD S )NFr   c                 3   s    | ]}t | V  qd S r   )test_set)r@   rq   rZ   r   r   rU   2  s    zRange.test.<locals>.<genexpr>)r5   r7   r\   r,   anyr   r   r   rZ   r   r   +  s
   
z
Range.testN)	r   r   r   r	   rX   rS   r[   r   r   r   r   r   r   r     s    %r   c                 C   s   dd t | |jD S )Nc                 S   s*   g | ]}d  dd |D  d qS )r   c                 S   s   g | ]}|j qS r   r   r   r   r   r   rB   8  s    z-to_comparators.<locals>.<listcomp>.<listcomp>)rV   rJ   rQ   r   r   r   r   rB   7  s    z"to_comparators.<locals>.<listcomp>)r   r   r   r   r   r   to_comparators6  s   
r   c                 C   sh   t d|  t| |} t d|  t| |} t d|  t| |} t d|  t| |} t d|  | S )Nzcomp %szcaret %sz	tildes %sz	xrange %szstars %s)rG   rH   replace_caretsreplace_tildesreplace_xrangesreplace_starsr   r   r   r   r   B  s   



r   c                 C   s$   | d u p| dkp|   dkp| dkS )Nr   x*)lower)rA   r   r   r   is_xO     $r   c                    $   d  fddtd|  D S )Nr   c                    r   r   )replace_tilder   r   r   r   rB   \  r   z"replace_tildes.<locals>.<listcomp>r#   rV   r   rQ   rJ   r   r   r   r   r   [  r   r   c                    ,   |rt t nt t } fdd}|| S )Nc              	      sN  |  d}|  \}}}}}td ||||| t|r d}nt|r5d| d tt|d  d }njt|rRd| d | d	 | d tt|d  d
 }nM|rtd| |d dkrdd| }d| d | d | | d | d tt|d  d
 }nd| d | d | d | d tt|d  d
 }td| |S )Nr   ztilde %s %s %s %s %s %sr   r   .0.0 <r   .0.0rD   .0 <.0zreplaceTilde pr %s- <ztilde return, %srL   groupsrG   rH   r   rT   r>   )mob_Mr.   pprretr   r   r   replb  s"   
"2>8zreplace_tilde.<locals>.repl)r&   
TILDELOOSETILDEr   r   r,   r-   r   r   r   r   r   _  s   r   c                    r   )Nr   c                    r   r   )replace_caretr   r   r   r   rB     r   z"replace_carets.<locals>.<listcomp>r#   r   r   r   r   r   r     r   r   c                    r   )Nc              	      s  |  d}|  \}}}}}td ||||| t|r!d}n3t|r7d| d tt|d  d }nt|rm|dkrXd| d	 | d
 | d	 tt|d  d }nd| d	 | d
 tt|d  d }n|rtd| |d dkrd| }|dkr|dkrd| d	 | d	 |pd | d | d	 | d	 tt|pdd  }nd| d	 | d	 |pd | d | d	 tt|d  d }nd| d	 | d	 |pd | d tt|d  d }nj|dkr9|dkrd| d	 | d	 |pd d | d	 | d	 tt|pdd  }n;d| d	 | d	 |p&d d | d	 tt|d  d }nd| d	 | d	 |pFd d tt|d  d }td| |S )Nr   zcaret %s %s %s %s %s %sr   r   r   r   r   0rD   r   r   zreplaceCaret pr %sr   r   zcaret return %sr   )r   m0r   r.   r   r   r   r   r   r   r   r     s   
$2*	
	
:

	
	
6zreplace_caret.<locals>.repl)r&   
CARETLOOSECARETr   r   r   r   r   r     s   Xr   c                    s2   t d|   d fddtd|  D S )NzreplaceXRanges %s %sr   c                    r   r   )replace_xranger   r   r   r   rB     r   z#replace_xranges.<locals>.<listcomp>r#   )rG   rH   rV   r   rQ   rJ   r   r   r   r   r     s   $r   c                    s4       |r
tt ntt } fdd}|| S )Nc              
      s  |  d}|  \}}}}}}td |||||| t|}|p$t|}	|	p*t|}
|
}|dkr5|r5d}td|| |rL|dksF|dkrId}nd	}n|r|r|	rTd}|
rXd}|dkrvd
}|	rkt|d }d}d}n |
rut|d }d}n|dkrd}|	rt|d }nt|d }|t| d t| d t| }n-|	rd
| d tt|d  d }n|
rd
| d | d | d tt|d  d }td| |S )Nr   zxrange %s %s %s %s %s %s %sr   r   zxrange gtlt=%s any_x=%sr   r   z<0.0.0r   r   r   r   rD   r   r   r   r   zxRange return %s)rL   r   rG   rH   r   r>   rT   )r   r   gtltr   r.   r   r   r   xMxmxpany_xr   r   r   r     sR   
&"0zreplace_xrange.<locals>.repl)rJ   r&   XRANGELOOSEXRANGEr   r   r   r   r   r     s   :r   c                 C   s"   t d| | tt d|  S )NzreplaceStars %s %sr   )rG   rH   r&   STARr   rJ   r   r   r   r   r   +  s   r   c                 C   s  |   \}}}}}}}}}	}
}}t|rd}nt|r"d| d }nt|r1d| d | d }nd| }t|r<d}n=t|	rMdtt|d  d }n,t|
rbd| d tt|	d  d }n|rud| d |	 d |
 d	 | }nd| }|d
 |  S )Nr   r   r   rD   r   r   r   r   r   r   )r   r   rT   r>   rJ   )r   from_fMfmfpfprfbtotMtmtptprtbr   r   r   r   6  s$    ""r   c                 C   s   | D ]
}| |s dS qt|jdkrA| D ](}|jtkrqt|jjdkr>|j}|j|jkr>|j|jkr>|j|jkr> dS qdS dS )NFr   T)r   r   rP   r*   r   rM   rN   rO   )r   r+   rq   allowedr   r   r   r   N  s"   

r   Fc                 C   s.   zt ||}W n
 ty   Y dS w || S )NF)r   rp   r   r+   r   r,   r   r   r   	satisfiesh  s   
r  c                 C   sl   zt ||d}W n
 ty   Y d S w d }d }| D ]}||r3|d u s+||dkr3|}t||d}q|S )Nr   rc   )r   rp   r   ra   r\   )versionsr   r,   range_obmax_max_svr   r   r   r   max_satisfyingp  s   
r  c                 C   s(   z	t | |jpdW S  ty   Y d S w )Nr   )r   r   rp   r   r   r   r   valid_range  s
   r  c                 C      t | |d|S )Nr   outsider  r   r   r   ltr  r   r  c                 C   r  )Nr   r  r  r   r   r   rtr  r   r  c                 C   s  t | |} t||}|dkrt}t}t}d}d}n|dkr(t}t}t}d}d}ntdt| ||r4dS |jD ](}	d }
d }|	D ]}|
pD|}
|pH|}||j	|
j	|rT|}
q?||j	|j	|r^|}q?q7|
j
|ksj|
j
|krldS |j
rt|j
|kr||| |j	r|dS |j
|kr|| |j	rdS dS )Nr   r   r   r   z%Must provide a hilo val of '<' or '>'FT)r\   r   r   r   r   r   r8   r  r   r*   r   )r+   r   hilor,   gtfnltefnltfnr   ecompcomparatorshighlowr   r   r   r   r    sH   


r  r   )F)ploggingr   	getLoggerr   rG   SEMVER_SPEC_VERSIONrT   r7   r   r   r   r   Rsrcr&   NUMERICIDENTIFIERNUMERICIDENTIFIERLOOSENONNUMERICIDENTIFIERMAINVERSIONMAINVERSIONLOOSEPRERELEASEIDENTIFIERPRERELEASEIDENTIFIERLOOSE
PRERELEASEPRERELEASELOOSEBUILDIDENTIFIERBUILDr(   	FULLPLAIN
LOOSEPLAINr'   GTLTXRANGEIDENTIFIERLOOSEXRANGEIDENTIFIERXRANGEPLAINXRANGEPLAINLOOSEr   r   	LONETILDEr   compiler   r   r   r   	LONECARETr   r   r   r   r   r   r   r   r   r   r   rK   rS   r   r   r   rH   r/   r1   r3   r=   r*   r\   r6   rm   rb   ru   ra   ry   rz   r   r   r   r   r   r   r   r   r   r   r   r   r   r   objectr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r   r   r   r   <module>   s  
 	 $$	
	
  (&

	
 
:*	J"^C


