Ë
    ð�©j2(  ã                  óê  — d dl mZ d dlZd dlZd dlmZmZ d dlmZ d dl	m
Z
 d dlmZmZ d dlmZmZmZmZmZmZmZmZ d dlmZ d d	lmZmZ d d
lmZ d dlmZ d dl m!Z!m"Z" e
rd dl#m$Z$ d dl%m&Z& 	 	 	 	 	 	 dd„Z'	 	 	 	 	 	 dd„Z( ejR                  dejT                  «      Z+dd„Z,dd„Z-	 	 	 	 	 	 	 	 d d„Z.	 	 	 	 	 	 d!d„Z/	 	 	 	 	 	 d"d„Z0	 	 	 	 	 	 d#d„Z1	 	 	 	 	 	 d$d„Z2	 	 	 	 	 	 d%d„Z3d&d„Z4	 	 	 	 	 	 d'd„Z5y)(é    )ÚannotationsN)ÚIterableÚIterator)ÚPath)ÚTYPE_CHECKING)ÚurljoinÚurlsplit)ÚPackageÚPackageArchiveÚPackageDirectoryÚPackageSdistÚ
PackageVcsÚPackageWheelÚPylockÚis_valid_pylock_path)ÚVersion)ÚDiagnosticPipErrorÚInstallationError)ÚLink)Útomllib)Úpath_to_urlÚurl_to_path)Ú
PipSession)ÚInstallRequirementc           	     ó\  — |j                  «       }| j                  «       }| j                  }|sJ ‚d }d }d }d }d }d }	| j                  �rv|j                  rct        |j                  j                  |j                  d |j                  j                  |j                  j                  |j                  ¬«      }�nÙ|j                  r�t        t        t        |j                  «      «      j                  «       j                  |«      j!                  «       |j                  j"                  r|j                  j"                  nd |j                  ¬«      }�n@|j$                  rX|j$                  j&                  s
t)        «       ‚t+        |j                  d |j$                  j&                  |j                  ¬«      }nÜt)        «       ‚|j,                  }|j$                  r°|j$                  j&                  s
t)        «       ‚t/        |j                  «      }
|
j0                  r8t3        |
j4                  |j                  |j$                  j&                  ¬«      g}	nAt7        |
j4                  |j                  |j$                  j&                  ¬«      }n
t)        «       ‚t9        |j:                  ||||||	¬«      S )N)ÚtypeÚurlÚpathÚrequested_revisionÚ	commit_idÚsubdirectory)r   Úeditabler!   )r   r   Úhashesr!   )Únamer   r#   )r$   ÚversionÚvcsÚ	directoryÚarchiveÚsdistÚwheels)ÚresolveÚget_distÚdownload_infoÚ	is_directÚvcs_infor   r&   r   r   r    r!   Údir_infor   r   r   Úrelative_toÚas_posixr"   Úarchive_infor#   ÚNotImplementedErrorr   r%   r   Úis_wheelr   Úfilenamer   r
   Úcanonical_name)ÚireqÚbase_dirÚdistr-   Úpackage_versionÚpackage_vcsÚpackage_directoryÚpackage_archiveÚpackage_sdistÚpackage_wheelsÚlinks              úa/var/www/html/streamforge-license/venv/lib/python3.12/site-packages/pip/_internal/utils/pylock.pyÚ(_pylock_package_from_install_requirementrC       sC  € ð ×ÑÓ!€HØ�=‰=‹?€DØ×&Ñ&€MÙÐˆ=Ø€OØ€KØÐØ€OØ€MØ€NØ‡~ƒ~Ø×!Ò!Ü$Ø"×+Ñ+×/Ñ/Ø!×%Ñ%ØØ#0×#9Ñ#9×#LÑ#LØ'×0Ñ0×:Ñ:Ø*×7Ñ7ôŠKð ×#Ò#Ü 0äœ ]×%6Ñ%6Ó7Ó8ß‘W“Yß ‘[ Ó*ß‘X“Zð %×-Ñ-×6Ò6ð "×*Ñ*×3Ò3àà*×7Ñ7ô!Òð ×'Ò'Ø ×-Ñ-×4Ò4Ü)Ó+Ð+Ü,Ø!×%Ñ%ØØ$×1Ñ1×8Ñ8Ø*×7Ñ7ô	‰Oô &Ó'Ð'àŸ,™,ˆØ×%Ò%Ø ×-Ñ-×4Ò4Ü)Ó+Ð+Ü˜×)Ñ)Ó*ˆDØ�}Š}ä Ø!Ÿ]™]Ø)×-Ñ-Ø,×9Ñ9×@Ñ@ôð"‘ô !-ØŸ™Ø%×)Ñ)Ø(×5Ñ5×<Ñ<ô!‘ô &Ó'Ð'ÜØ× Ñ ØØØ#ØØØôð ó    c                ó\   ‡— t        t        d«      dt        ˆfd„| D «       d„ ¬«      ¬«      S )Nz1.0Úpipc              3  ó6   •K  — | ]  }t        |‰«      –— Œ y ­w©N)rC   )Ú.0r8   r9   s     €rB   ú	<genexpr>z3pylock_from_install_requirements.<locals>.<genexpr>{   s    øè ø€ ò àô 9¸¸x×Hñùs   ƒc                ó   — | j                   S rH   )r$   )Úps    rB   ú<lambda>z2pylock_from_install_requirements.<locals>.<lambda>   s
   € ˜!Ÿ&™&€ rD   )Úkey)Úlock_versionÚ
created_byÚpackages)r   r   Úsorted)Úinstall_requirementsr9   s    `rB   Ú pylock_from_install_requirementsrT   t   s6   ø€ ô Ü˜U“^ØÜóà0ôñ !ô
ô
ð 
rD   z^(http|https|file)://c                ó>   — t        t        j                  | «      «      S rH   )ÚboolÚ
_SCHEME_REÚmatch)Úss    rB   Ú_is_urlrZ   ‡   s   € Ü”
× Ñ  Ó#Ó$Ð$rD   c                óº   — t        | «      r;t        t        | «      j                  j	                  d«      d   «      }t        |«      S t        | «      }t        |«      S )Nú/éÿÿÿÿ)rZ   r   r	   r   Ú
rpartitionr   )r6   r   s     rB   Úis_valid_pylock_filenamer_   ‹   sR   € ÜˆxÔÜ”H˜XÓ&×+Ñ+×6Ñ6°sÓ;¸BÑ?Ó@ˆô   Ó%Ð%ô �H‹~ˆÜ Ó%Ð%rD   c                ó  — |�ýt         j                  j                  |«      s·t        | «      rft	        | |«      }t        | «      }t        |«      }|j                  |j                  f|j                  |j                  fk7  rt        d|›d| ›�«      ‚|S t        t         j                  j                  t         j                  j                  | «      |«      «      S t        | «      rt        d|›d| ›�«      ‚t        |«      S |€J ‚|S )z¬Compute an url from a Pylock package path and url.

    Give priority to path over url. If path is relative,
    compute an url using the pylock file location as base.
    zPath zC in pylock file obtained from a URL resolves outside its location: zFAbsolute paths are not supported in pylock files obtained from a URL: z in )Úosr   ÚisabsrZ   r   r	   ÚschemeÚnetlocr   r   ÚjoinÚdirname)Úpylock_path_or_urlr   r   Údist_urlÚbaseÚtargets         rB   Ú_package_dist_urlrk   “   s  € ð ÐÜ�w‰w�}‰}˜TÔ"äÐ)Ô*Ü"Ð#5°tÓ<�ô
  Ð 2Ó3�Ü! (Ó+�Ø—M‘M 6§=¡=Ð1°d·k±kÀ4Ç;Á;Ð5OÒOÜ+Ø ˜xð (:Ø:LÐ9OðQóð ð  �ä"Ü—G‘G—L‘L¤§¡§¡Ð1CÓ!DÀdÓKóð ô
 Ð)Ô*Ü'ð#Ø#' (¨$Ð/AÐ.DðFóð ô ˜tÓ$Ð$àˆÐˆØˆ
rD   c                óì   — t        | |j                  |j                  «      }|j                  › d|› d|j                  › �}|j
                  r(d|v rt        d|›d| ›d�«      ‚|d|j
                  z   z  }|S )Nú+ú@ú#úPackage URL úE cannot contain fragments in combination with subdirectory field (in ú)ú#subdirectory=)rk   r   r   r   r    r!   r   )rg   r<   rh   r   s       rB   Úpackage_vcs_requirement_urlrt   ½   s•   € ô !Ð!3°[×5EÑ5EÀ{ÇÁÓW€HØ×ÑÐ˜a ˜z¨¨;×+@Ñ+@Ð*AÐ
B€CØ×ÒØ�#‰:Ü#Ø˜s˜gð &/Ø/AÐ.DÀAðGóð ð 	Ð +×":Ñ":Ñ:Ñ:ˆØ€JrD   c                ó°   — t        | |j                  |j                  «      }|j                  r(d|v rt	        d|›d| ›d�«      ‚|d|j                  z   z  }|S )Nro   rp   rq   rr   rs   )rk   r   r   r!   r   )rg   r>   r   s      rB   Úpackage_archive_requirement_urlrv   Ì   sw   € ô Ø˜O×0Ñ0°/×2EÑ2Eó€Cð ×#Ò#Ø�#‰:Ü#Ø˜s˜gð &/Ø/AÐ.DÀAðGóð ð 	Ð /×">Ñ">Ñ>Ñ>ˆØ€JrD   c                ó<  — t        | «      r| j                  d«      st        d| ›�«      ‚t        | |j                  d «      }|j                  d«      sJ ‚|j                  d«      s|dz  }|j                  r%||j                  z  }|j                  d«      s|dz  }|S )Nzfile://z:Directory entries are not supported in remote pylock.toml r\   )rZ   Ú
startswithr   rk   r   Úendswithr!   )rg   r=   r   s      rB   Ú!package_directory_requirement_urlrz   Ü   s©   € ô Ð!Ô"Ð+=×+HÑ+HÈÔ+SÜØHØ!Ð$ð&ó
ð 	
ô Ð.Ð0A×0FÑ0FÈÓ
M€CØ�>‰>˜)Ô$Ð$Ð$Ø�<‰<˜ÔØˆs‰
ˆØ×%Ò%ØÐ ×-Ñ-Ñ-ˆØ�|‰|˜CÔ Ø�3‰JˆCØ€JrD   c                óD   — t        | |j                  |j                  «      S rH   ©rk   r   r   )rg   r?   s     rB   Úpackage_sdist_requirement_urlr}   ï   ó    € ô Ð/°×1CÑ1CÀ]×EVÑEVÓWÐWrD   c                óD   — t        | |j                  |j                  «      S rH   r|   )rg   Úpackage_wheels     rB   Úpackage_wheel_requirement_urlr�   õ   r~   rD   c                óÀ   — t        | «      j                  }|dv r+ddlm} |j	                  | «      } ||«       |j
                  S t        | «      j                  d¬«      S )N)ÚhttpÚhttpsÚfiler   )Úraise_for_statuszutf-8)Úencoding)r	   rc   Úpip._internal.network.utilsr†   ÚgetÚtextr   Ú	read_text)Úpath_or_urlÚsessionrc   r†   Úresps        rB   Ú_get_pylock_path_or_url_contentr�   û   sY   € ä�kÓ"×)Ñ)€FàÐ*Ñ*å@à�{‰{˜;Ó'ˆÙ˜ÔØ�y‰yÐô �Ó×&Ñ&°Ð&Ó8Ð8rD   c              #  ó’  K  — 	 t        | |«      }	 t	        j
                  t        j                  |«      «      }	 |j                  «       E d {  –—†  y # t        $ r ‚ t        $ r}t        d| ›d|› �«      |‚d }~ww xY w# t        $ r}t        d| ›d|› �«      |‚d }~ww xY w7 ŒT# t        $ r}t        d| ›d|› �«      |‚d }~ww xY w­w)NzError reading pylock file z: zInvalid pylock file z,Cannot select requirements from pylock file )	r�   r   Ú	Exceptionr   r   Ú	from_dictr   ÚloadsÚselect)rg   r�   Úpylock_contentÚexcÚlocks        rB   Úselect_from_pylock_path_or_urlr˜     s÷   è ø€ ðÜ8Ð9KÈWÓUˆðÜ×Ñ¤§¡¨nÓ =Ó>ˆðð —;‘;“=× Ñ øô# ò ØÜò ÜØ(Ð);Ð(>¸bÀÀÐFó
àð	ûðûô ò ÜØ"Ð#5Ð"8¸¸3¸%Ð@ó
àð	ûðúð 	!ùÜò ÜØ:Ð;MÐ:PÐPRÐSVÐRWÐXó
àð	ûðüst   ‚C„A ‘(A? ºB$ ÁB"ÁB$ ÁCÁA<Á%A7Á7A<Á<CÁ?	BÂBÂBÂCÂ"B$ Â$	CÂ-B?Â?CÃC)r8   r   r9   r   Úreturnr
   )rS   zIterable[InstallRequirement]r9   r   r™   r   )rY   Ústrr™   rV   )r6   rš   r™   rV   )rg   rš   r   ú
str | Noner   r›   r™   rš   )rg   rš   r<   r   r™   rš   )rg   rš   r>   r   r™   rš   )rg   rš   r=   r   r™   rš   )rg   rš   r?   r   r™   rš   )rg   rš   r€   r   r™   rš   )rŒ   rš   r�   r   r™   rš   )rg   rš   r�   r   r™   zfIterator[tuple[Package, PackageVcs | PackageDirectory | PackageArchive | PackageWheel | PackageSdist]])6Ú
__future__r   ra   ÚreÚcollections.abcr   r   Úpathlibr   Útypingr   Úurllib.parser   r	   Úpip._vendor.packaging.pylockr
   r   r   r   r   r   r   r   Úpip._vendor.packaging.versionr   Úpip._internal.exceptionsr   r   Úpip._internal.models.linkr   Úpip._internal.utils.compatr   Úpip._internal.utils.urlsr   r   Úpip._internal.network.sessionr   Úpip._internal.req.req_installr   rC   rT   ÚcompileÚ
IGNORECASErW   rZ   r_   rk   rt   rv   rz   r}   r�   r�   r˜   © rD   rB   ú<module>r­      sˆ  ðÝ "ã 	Û 	ß .Ý Ý  ß *÷	÷ 	ó 	õ 2ç JÝ *Ý .ß =áÝ8Ý@ðQØ
ðQØ(,ðQàóQðhØ6ðØBFðàóð  ˆR�Z‰ZÐ/°·±Ó?€
ó%ó&ð'Øð'Ø#-ð'Ø4>ð'àó'ðTØðØ*4ðàóðØðØ.<ðàóð ØðØ0@ðàóð&XØðXØ,8ðXàóXðXØðXØ,8ðXàóXó9ð  Øð àð ðô rD   