
    dhC                       d dl mZ d dlZd dlZd dlmZ d dlmZ d dlmZ d dl	m
Z
mZ d dlmZ d dlmZmZmZ d d	lmZ d d
lmZ d dlmZ e
rd dlmZ  ej4                  d      ZddZddZe G d d             Ze G d d             Ze G d d             Z e G d d             Z!e G d d             Z"e G d d             Z#e G d d             Z$y)     )annotationsN)Iterable)	dataclass)Path)TYPE_CHECKINGAny)tomli_w)ArchiveInfoDirInfoVcsInfo)Link)InstallRequirement)url_to_path)Selfz^pylock\.([^.]+)\.toml$c                ~    | j                   dk(  xs- t        t        j                  t        | j                               S )Nzpylock.toml)nameboolrematchPYLOCK_FILE_NAME_RE)paths    ]/var/www/html/vivango/api/ia/venv/lib/python3.12/site-packages/pip/_internal/models/pylock.pyis_valid_pylock_file_namer      s+    99%Wbhh7JDII.V)WW    c                `    | D ci c]  \  }}|	|j                  dd      | c}}S c c}}w )N_-)replace)datakeyvalues      r   _toml_dict_factoryr"      s/    ;?UZS%5CTCKKS!5(UUUs   
**c                  @    e Zd ZU ded<   ded<   ded<   ded<   ded<   y)	
PackageVcsstrtype
str | Noneurlrequested_revision	commit_idsubdirectoryN__name__
__module____qualname____annotations__ r   r   r$   r$      s    
I	O""Nr   r$   c                  ,    e Zd ZU ded<   ded<   ded<   y)PackageDirectoryr%   r   zbool | Noneeditabler'   r+   Nr,   r1   r   r   r3   r3   )   s    
Ir   r3   c                  ,    e Zd ZU ded<   ded<   ded<   y)PackageArchiver'   r(   dict[str, str]hashesr+   Nr,   r1   r   r   r6   r6   0   s    	O r   r6   c                  ,    e Zd ZU ded<   ded<   ded<   y)PackageSdistr%   r   r'   r(   r7   r8   Nr,   r1   r   r   r:   r:   :       
I	O r   r:   c                  ,    e Zd ZU ded<   ded<   ded<   y)PackageWheelr%   r   r'   r(   r7   r8   Nr,   r1   r   r   r=   r=   D   r;   r   r=   c                  ~    e Zd ZU ded<   dZded<   dZded<   dZded	<   dZd
ed<   dZded<   dZ	ded<   e
dd       Zy)Packager%   r   Nr'   versionzPackageVcs | NonevcszPackageDirectory | None	directoryzPackageArchive | NonearchivezPackageSdist | Nonesdistzlist[PackageWheel] | Nonewheelsc                   |j                         }|j                         }|j                  }|sJ  | |j                        }|j                  rt        |j                  t              rgt        |j                  j                  |j                  |j                  j                  |j                  j                  |j                        |_	        |S t        |j                  t              rt        t!        t#        |j                              j                         j%                  |      j'                         |j                  j(                  r|j                  j(                  nd |j                        |_        |S t        |j                  t,              r]|j                  j.                  s
t1               t3        |j                  |j                  j.                  |j                        |_        |S t1               t7        |j8                        |_        t        |j                  t,              r|j                  j.                  s
t1               t;        |j                        }|j<                  r>t?        |j@                  |j                  |j                  j.                        g|_!        |S tE        |j@                  |j                  |j                  j.                        |_#        |S t1               )Nr   )r&   r(   r)   r*   r+   )r   r4   r+   )r(   r8   r+   )r   r(   r8   )$resolveget_distdownload_infocanonical_name	is_direct
isinstanceinfor   r$   rA   r(   r)   r*   r+   r   r3   r   r   relative_toas_posixr4   rB   r
   r8   NotImplementedErrorr6   rC   r%   r@   r   is_wheelr=   filenamerE   r:   rD   )clsireqbase_dirdistrJ   packagelinks          r   from_install_requirementz Package.from_install_requirement^   sX   ##%}}**}4../>>-,,g6(&++//%))'4'9'9'L'L+00::!.!;!;p c M..8$4[):):;< $X.! )--66 &**33!!.!;!;%!` E M..<$))00-//"0%))(--44!.!;!;#> 1 *++!$,,/GO-,,k:$))00-//M--.==$!% - 1 1#0#5#5#<#<&GN   %1!]])--,1188%GM  *++r   )rU   r   rV   r   returnr   )r-   r.   r/   r0   r@   rA   rB   rC   rD   rE   classmethodrZ   r1   r   r   r?   r?   N   s`    
IGZ "C	!)-I&-%)G")!%E%(,F%, @ @r   r?   c                      e Zd ZU dZded<   dZded<    ej                  e      Z	ded<   dd	Z
e	 	 	 	 	 	 dd
       Zy)Pylockz1.0r%   lock_versionpip
created_by)default_factoryzlist[Package]packagesc                ^    t        j                  t        j                  | t                    S )N)dict_factory)r	   dumpsdataclassesasdictr"   )selfs    r   as_tomlzPylock.as_toml   s    }}[//CUVWWr   c                @     | t        fd|D        d             S )Nc              3  J   K   | ]  }t         j                  |        y wN)r?   rZ   ).0rU   rV   s     r   	<genexpr>z3Pylock.from_install_requirements.<locals>.<genexpr>   s&       44T8Ds    #c                    | j                   S rm   rG   )ps    r   <lambda>z2Pylock.from_install_requirements.<locals>.<lambda>   s
    aff r   )r    )rc   )sorted)rT   install_requirementsrV   s     `r   from_install_requirementsz Pylock.from_install_requirements   s,      4 %
 	
r   N)r[   r%   )rt   zIterable[InstallRequirement]rV   r   r[   r   )r-   r.   r/   r_   r0   ra   rg   fieldlistrc   rj   r\   ru   r1   r   r   r^   r^      sa    L#
 J/k//EHmEX 
#?
KO
	
 
r   r^   )r   r   r[   r   )r   zlist[tuple[str, Any]]r[   zdict[str, Any])%
__future__r   rg   r   collections.abcr   r   pathlibr   typingr   r   pip._vendorr	   pip._internal.models.direct_urlr
   r   r   pip._internal.models.linkr   pip._internal.req.req_installr   pip._internal.utils.urlsr   typing_extensionsr   compiler   r   r"   r$   r3   r6   r:   r=   r?   r^   r1   r   r   <module>r      s   "  	 $ !  %  I I * < 0& bjj!;< XV                P P Pf 
 
 
r   