
    ϶vg                       d dl mZ d dlZd dlZd dlmZmZmZmZ ddl	m
Z
mZ ddlmZmZmZ eed         eeef         f         Z ede          Z G d	 d
e          Z G d de          Z G d de          Z ej        dej                  Z ej        d          Z ej        d          Z ej        d          Zddd(dZd)dZej         ddd*d!            Z!e!j"        ddd+d"            Z#d,d%Z$d-d'Z%dS ).    )annotationsN)NewTypeTupleUnioncast   )Tag	parse_tag)InvalidVersionVersion_TrimmedRelease NormalizedNamec                      e Zd ZdZdS )InvalidNamezW
    An invalid distribution name; users should refer to the packaging user guide.
    N__name__
__module____qualname____doc__r       _/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/setuptools/_vendor/packaging/utils.pyr   r                 r   r   c                      e Zd ZdZdS )InvalidWheelFilenamezM
    An invalid wheel filename was found, users should refer to PEP 427.
    Nr   r   r   r   r   r      r   r   r   c                      e Zd ZdZdS )InvalidSdistFilenamez^
    An invalid sdist filename was found, users should refer to the packaging user guide.
    Nr   r   r   r   r   r      r   r   r   z)^([A-Z0-9]|[A-Z0-9][A-Z0-9._-]*[A-Z0-9])$z[-_.]+z/^([a-z0-9]|[a-z0-9]([a-z0-9-](?!--))*[a-z0-9])$z	(\d+)(.*)F)validatenamestrr   boolreturnc                   |r,t                               |           st          d|           t                              d|                                           }t          t          |          S )Nzname is invalid: -)_validate_regexmatchr   _canonicalize_regexsublowerr   r   )r   r   values      r   canonicalize_namer+   .   sg     8--d33 86d66777##C..4466E&&&r   c                :    t                               |           d uS )N)_normalized_regexr&   )r   s    r   is_normalized_namer.   6   s    ""4((44r   Tstrip_trailing_zeroversionVersion | strr0   c               \    t          |rt          t          |                     n|           S )a  
    Return a canonical form of a version as a string.

    >>> canonicalize_version('1.0.1')
    '1.0.1'

    Per PEP 625, versions may have multiple canonical forms, differing
    only by trailing zeros.

    >>> canonicalize_version('1.0.0')
    '1'
    >>> canonicalize_version('1.0.0', strip_trailing_zero=False)
    '1.0.0'

    Invalid versions are returned unaltered.

    >>> canonicalize_version('foo bar baz')
    'foo bar baz'
    )r    r   )r1   r0   s     r   canonicalize_versionr4   :   s+    . 0CPs7||,,,QQQr   c               j    	 t          |           }n# t          $ r | cY S w xY wt          ||          S )Nr/   )r   r   r4   )r1   r0   parseds      r   _r7   T   sP    !!     <OPPPPs    !!filename8tuple[NormalizedName, Version, BuildTag, frozenset[Tag]]c                L   |                      d          st          d|           | d d         } |                     d          }|dvrt          d|           |                     d|dz
            }|d         }d	|v s t	          j        d
|t          j                  t          d|           t          |          }	 t          |d                   }n%# t          $ r}t          d|           |d }~ww xY w|dk    r|d         }t                              |          }|t          d| d|           t          t          t          |                    d                    |                    d          f          }	nd}	t          |d                   }
|||	|
fS )Nz.whlz3Invalid wheel filename (extension must be '.whl'): r$   )      z0Invalid wheel filename (wrong number of parts):    r   __z^[\w\d._]*$zInvalid project name: r   z*Invalid wheel filename (invalid version): r=   zInvalid build number: z in r   )endswithr   countsplitrer&   UNICODEr+   r   r   _build_tag_regexr   BuildTagintgroupr
   )r8   dashesparts	name_partr   r1   e
build_partbuild_matchbuildtagss              r   parse_wheel_filenamerR   ^   s    V$$ 
"N(NN
 
 	
 }H^^C  FV"KxKK
 
 	
 NN3
++EaIyBH^Y
KKS"#HH#H#HIIIY''D%(##   "EEE
 
	
 {{1X
&,,Z88&EEEEE   XK$5$5a$8$8 9 9;;L;LQ;O;OPQQU2YD'5$''s   C 
C<$C77C<tuple[NormalizedName, Version]c                   |                      d          r| d t          d                    }n@|                      d          r| d t          d                    }nt          d|           |                    d          \  }}}|st          d|           t	          |          }	 t          |          }n%# t          $ r}t          d|           |d }~ww xY w||fS )Nz.tar.gzz.zipz@Invalid sdist filename (extension must be '.tar.gz' or '.zip'): r$   zInvalid sdist filename: z*Invalid sdist filename (invalid version): )rA   lenr   
rpartitionr+   r   r   )r8   	file_stemrL   sepversion_partr   r1   rM   s           r   parse_sdist_filenamerZ      s,   ## 
.I./					6	"	" 
^F|^,		" 
 
 	
 $-#7#7#<#< IsL L"#Jh#J#JKKKY''D,''   "EEE
 
	
 '?s   ,B< <
CCC)r   r    r   r!   r"   r   )r   r    r"   r!   )r1   r2   r0   r!   r"   r    )r1   r    r0   r!   r"   r    )r8   r    r"   r9   )r8   r    r"   rS   )&
__future__r   	functoolsrD   typingr   r   r   r   rQ   r	   r
   r1   r   r   r   rH   r    rG   r   
ValueErrorr   r   r   compile
IGNORECASEr%   r'   r-   rF   r+   r.   singledispatchr4   registerr7   rR   rZ   r   r   r   <module>rc      s`  
 # " " " " "     				 . . . . . . . . . . . .                 = = = = = = = = = =rE#s(O+,)3//    *       :       :    "*0"-  !bj++ BJQRR 2:l++  6; ' ' ' ' ' '5 5 5 5 ;?R R R R R R2 37 Q Q Q Q Q Q(( (( (( ((V     r   