§
    þèi¥  ã                   óÌ   — d dl Z d dlm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 d d	lmZ d d
lmZ d dlmZ d dlmZ  ee¦  «        Z G d„ de
¦  «        ZdS )é    N)ÚValues)ÚPath)Ú
WheelCache)Ú
cmdoptions)ÚRequirementCommandÚwith_cleanup)ÚSUCCESS)ÚPylockÚis_valid_pylock_file_name)Úget_build_tracker)Ú	getLogger)Úget_pip_version)ÚTempDirectoryc                   óN   — e Zd ZdZdZd	d„Zededee	         de
fd„¦   «         ZdS )
ÚLockCommandaÖ  
    EXPERIMENTAL - Lock packages and their dependencies from:

    - PyPI (and other indexes) using requirement specifiers.
    - VCS project urls.
    - Local project directories.
    - Local or remote source archives.

    pip also supports locking from "requirements files", which provide an easy
    way to specify a whole environment to be installed.

    The generated lock file is only guaranteed to be valid for the current
    python version and platform.
    zô
      %prog [options] [-e] <local project path> ...
      %prog [options] <requirement specifier> [package-index-options] ...
      %prog [options] -r <requirements file> [package-index-options] ...
      %prog [options] <archive url/path> ...ÚreturnNc                 óà  — | j                              t          j        ddddddd¬¦  «        ¦  «         | j                              t          j        ¦   «         ¦  «         | j                              t          j        ¦   «         ¦  «         | j                              t          j        ¦   «         ¦  «         | j                              t          j        ¦   «         ¦  «         | j                              t          j        ¦   «         ¦  «         | j                              t          j	        ¦   «         ¦  «         | j                              t          j
        ¦   «         ¦  «         | j                              t          j        ¦   «         ¦  «         | j                              t          j        ¦   «         ¦  «         | j                              t          j        ¦   «         ¦  «         | j                              t          j        ¦   «         ¦  «         | j                              t          j        ¦   «         ¦  «         | j                              t          j        ¦   «         ¦  «         | j                              t          j        ¦   «         ¦  «         | j                              t          j        ¦   «         ¦  «         | j                              t          j        ¦   «         ¦  «         | j                              t          j        ¦   «         ¦  «         t          j        t          j        | j        ¦  «        }| j                             d|¦  «         | j                             d| j         ¦  «         d S )	Nz--outputz-oÚoutput_fileÚpathzpylock.tomlz7Lock file name (default=pylock.toml). Use - for stdout.)ÚdestÚmetavarÚtypeÚdefaultÚhelpr   )Úcmd_optsÚ
add_optionr   Ú	PipOptionÚrequirementsÚconstraintsÚbuild_constraintsÚno_depsÚpreÚeditableÚsrcÚignore_requires_pythonÚno_build_isolationÚ
use_pep517Úcheck_build_depsÚconfig_settingsÚ	no_binaryÚonly_binaryÚprefer_binaryÚrequire_hashesÚprogress_barÚmake_option_groupÚindex_groupÚparserÚinsert_option_group)ÚselfÚ
index_optss     úg/var/www/html/nodeJS/PythonScripts/venv3.11/lib/python3.11/site-packages/pip/_internal/commands/lock.pyÚadd_optionszLockCommand.add_options-   s¬  € ØŒ× Ò ÝÔ ØØØ"ØØØ%ØNðñ ô ñ
	
ô 
	
ð 
	
ð 	Œ× Ò ¥Ô!8Ñ!:Ô!:Ñ;Ô;Ð;ØŒ× Ò ¥Ô!7Ñ!9Ô!9Ñ:Ô:Ð:ØŒ× Ò ¥Ô!=Ñ!?Ô!?Ñ@Ô@Ð@ØŒ× Ò ¥Ô!3Ñ!5Ô!5Ñ6Ô6Ð6ØŒ× Ò ¥¤Ñ!1Ô!1Ñ2Ô2Ð2àŒ× Ò ¥Ô!4Ñ!6Ô!6Ñ7Ô7Ð7àŒ× Ò ¥¤Ñ!1Ô!1Ñ2Ô2Ð2àŒ× Ò ¥Ô!BÑ!DÔ!DÑEÔEÐEØŒ× Ò ¥Ô!>Ñ!@Ô!@ÑAÔAÐAØŒ× Ò ¥Ô!6Ñ!8Ô!8Ñ9Ô9Ð9ØŒ× Ò ¥Ô!<Ñ!>Ô!>Ñ?Ô?Ð?àŒ× Ò ¥Ô!;Ñ!=Ô!=Ñ>Ô>Ð>àŒ× Ò ¥Ô!5Ñ!7Ô!7Ñ8Ô8Ð8ØŒ× Ò ¥Ô!7Ñ!9Ô!9Ñ:Ô:Ð:ØŒ× Ò ¥Ô!9Ñ!;Ô!;Ñ<Ô<Ð<ØŒ× Ò ¥Ô!:Ñ!<Ô!<Ñ=Ô=Ð=ØŒ× Ò ¥Ô!8Ñ!:Ô!:Ñ;Ô;Ð;åÔ1ÝÔ"ØŒKñ
ô 
ˆ
ð
 	Œ×'Ò'¨¨:Ñ6Ô6Ð6ØŒ×'Ò'¨¨4¬=Ñ9Ô9Ð9Ð9Ð9ó    ÚoptionsÚargsc           
      ó¨  — t                                dt          ¦   «         ¦  «         t                                d¦  «         t	          j        |¦  «         |                      |¦  «        }|                      |||j        ¬¦  «        }|  	                    t          ¦   «         ¦  «        }t          |j         dd¬¦  «        }|                      ||||¦  «        }t          |j        ¦  «        }|D ]	}	d|	_        Œ
|                      |||||d| j        ¬¦  «        }
|                      |
|||dd|j        d	¬
¦  «        }|                      |¦  «         |                     |d¬¦  «        }|j        dk    rt/          j        ¦   «         }nEt/          |j        ¦  «        }t3          |¦  «        st                                d|¦  «         |j        }t7          j        |j                             ¦   «         |¬¦  «                             ¦   «         }|j        dk    r t@          j!         "                    |¦  «         n| #                    |d¬¦  «         tH          S )NzUsing %szspip lock is currently an experimental command. It may be removed/changed in a future release without prior warning.)r8   Úsessionr%   ÚinstallT)ÚdeleteÚkindÚglobally_managedF)Útemp_build_dirr8   Úbuild_trackerr;   ÚfinderÚuse_user_siteÚ	verbosityzto-satisfy-only)ÚpreparerrB   r8   Úwheel_cacherC   Úignore_installedr%   Úupgrade_strategy)Úcheck_supported_wheelsú-z!%s is not a valid lock file name.)Úbase_dirzutf-8)Úencoding)%ÚloggerÚverboser   Úwarningr   Úcheck_build_constraintsÚget_default_sessionÚ_build_package_finderr%   Úenter_contextr   r   Úno_cleanÚget_requirementsr   Ú	cache_dirÚpermit_editable_wheelsÚmake_requirement_preparerrD   Úmake_resolverÚtrace_basic_infoÚresolver   r   Úcwdr   Úparentr
   Úfrom_install_requirementsr   ÚvaluesÚas_tomlÚsysÚstdoutÚwriteÚ
write_textr	   )r3   r8   r9   r;   rB   rA   Ú	directoryÚreqsrF   ÚreqrE   ÚresolverÚrequirement_setrK   Úoutput_file_pathÚpylock_tomls                   r5   ÚrunzLockCommand.runX   s€  € å�Š�z¥?Ñ#4Ô#4Ñ5Ô5Ð5å�Šð%ñ	
ô 	
ð 	
õ 	Ô*¨7Ñ3Ô3Ð3à×*Ò*¨7Ñ3Ô3ˆà×+Ò+ØØØ#*Ô#Að ,ñ 
ô 
ˆð
 ×*Ò*Õ+<Ñ+>Ô+>Ñ?Ô?ˆå!ØÔ'Ð'ØØ!ð
ñ 
ô 
ˆ	ð ×$Ò$ T¨7°F¸GÑDÔDˆå  Ô!2Ñ3Ô3ˆð
 ð 	.ð 	.ˆCØ)-ˆCÔ&Ð&à×1Ò1Ø$ØØ'ØØØØ”nð 2ñ 
ô 
ˆð ×%Ò%ØØØØ#ØØ!Ø#*Ô#AØ.ð &ñ 	
ô 	
ˆð 	×Ò˜fÑ%Ô%Ð%à"×*Ò*¨4ÈÐ*ÑMÔMˆàÔ #Ò%Ð%Ý”x‘z”zˆHˆHå# GÔ$7Ñ8Ô8ÐÝ,Ð-=Ñ>Ô>ð Ý—’Ø7Ø$ñô ð ð (Ô.ˆHÝÔ6ØÔ(×/Ò/Ñ1Ô1¸Hð
ñ 
ô 
ç
Š'‰)Œ)ð 	ð Ô #Ò%Ð%ÝŒJ×Ò˜[Ñ)Ô)Ð)Ð)à×'Ò'¨¸gÐ'ÑFÔFÐFåˆr7   )r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úusager6   r   r   ÚlistÚstrÚintrl   © r7   r5   r   r      s|   € € € € € ðð ð0€Eð):ð ):ð ):ð ):ðV ðN˜6ð N¨¨c¬ð N°sð Nð Nð Nñ „\ðNð Nð Nr7   r   )ra   Úoptparser   Úpathlibr   Úpip._internal.cacher   Úpip._internal.clir   Úpip._internal.cli.req_commandr   r   Úpip._internal.cli.status_codesr	   Úpip._internal.models.pylockr
   r   Ú,pip._internal.operations.build.build_trackerr   Úpip._internal.utils.loggingr   Úpip._internal.utils.miscr   Úpip._internal.utils.temp_dirr   rm   rM   r   ru   r7   r5   ú<module>r�      sN  ðØ 
€
€
€
Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à *Ð *Ð *Ð *Ð *Ð *Ø (Ð (Ð (Ð (Ð (Ð (ðð ð ð ð ð ð ð ð 3Ð 2Ð 2Ð 2Ð 2Ð 2Ø IÐ IÐ IÐ IÐ IÐ IÐ IÐ IØ JÐ JÐ JÐ JÐ JÐ JØ 1Ð 1Ð 1Ð 1Ð 1Ð 1ðð ð ð ð ð ð 7Ð 6Ð 6Ð 6Ð 6Ð 6à	ˆ�8Ñ	Ô	€ðPð Pð Pð Pð PÐ$ñ Pô Pð Pð Pð Pr7   