+
     h2  c                   s   R t ^ RIt^ RIHt ^ RIHt ^ RIHtHtH	t	H
t
 ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ R	IHtHt ^ R
IHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIH t  ^ RI!H"t" ^ RI#H$t$H%t%H&t&H't' ^ RI(H)t) ^ RI*H+t+ ^ RI,H-t- ^ RI.H/t/ ^ RI0H1t1H2t2H3t3 ]Ph                  ! ]54      t6]3Pn                  ]3Pp                  ]3Pr                  .t:R R lt; ! R R]4      t<R# )zContains the RequirementCommand base class.

This class is in a separate module so the commands that do not always
need PackageFinder capability don't unnecessarily import the
PackageFinder machinery and all its vendored dependencies, etc.
N)partial)Values)AnyListOptionalTuple)
WheelCache)
cmdoptions)IndexGroupCommand)SessionCommandMixin)CommandErrorPreviousBuildDirError)LinkCollectorPackageFinder)SelectionPreferences)TargetPython)
PipSession)BuildTracker)RequirementPreparer)install_req_from_editableinstall_req_from_line#install_req_from_parsed_requirementinstall_req_from_req_string)parse_dependency_groups)parse_requirements)InstallRequirement)BaseResolver)TempDirectoryTempDirectoryTypeRegistrytempdir_kindsc                s0    V ^8  d   QhR\         R\         /# )   funcreturnr   format   "B/usr/lib/python3.14/site-packages/pip/_internal/cli/req_command.py__annotate__r'   3   s      s s     c                s*   a a R R loR VV 3R llpV# )zFDecorator for common logic related to managing temporary
directories.
c                s(    V ^8  d   QhR\         RR/# )r   registryr!   N)r   r#   r%   r&   r'   "with_cleanup.<locals>.__annotate__8   s     * *-F *4 *r(   c                 sD    \          F  pV P                  VR 4       K  	  R# )FN)KEEPABLE_TEMPDIR_TYPESZ
set_delete)r)   Zt   & r&   configure_tempdir_registryZ0with_cleanup.<locals>.configure_tempdir_registry8   s    'A5) (r(   c          	      st    V ^8  d   QhR\         R\        R\        \        ,          R\        \
        ,          /# )r   selfoptionsargsr!   )RequirementCommandr   r   r   r   intr#   r%   r&   r'   r*   <   s4       +19=c	#r(   c                 s   < V P                   f   Q hVP                  '       d   S! V P                   4        S! WV4      #   \         d    S! T P                   4       h i ; iN)Ztempdir_registryno_cleanr   )r.   r/   r0   r-   r    s   &&&r&   wrapperZwith_cleanup.<locals>.wrapper<   se     $$000&t'<'<=	t,,$ 	 't'<'<=	s   A   A )r    r5   r-   s   f @r&   with_cleanupr7   3   s    
*   Nr(   c                   s   a a ] tR t^Ot oV3R lV 3R llt]V3R lR l4       t]RV3R lR ll4       t]RV3R lR ll4       t	V3R	 lR
 lt
]V3R lR l4       tRV3R lR lltRtVtV ;t# )r1   c                s*   < V ^8  d   QhRS[ RS[ RR/# )r   r0   kwr!   Nr"   r$   __classdict__   "r&   r'   RequirementCommand.__annotate__P   s"     8 8c 8 8 8r(   c                s   < \         SV `  ! V/ VB  V P                  P                  \        P
                  ! 4       4       V P                  P                  \        P                  ! 4       4       R # r3   )Zsuper__init__Zcmd_optsZ
add_optionr   dependency_groupsr4   )r.   r0   r8   	__class__s   &*,r&   r=   ZRequirementCommand.__init__P   sK    $%"%  !=!=!?@  !4!4!67r(   c                s&   < V ^8  d   QhRS[ RS[/# )r   r/   r!   )r   strr9   r;   r&   r'   r<   W   s      F s r(   c                s,    RV P                   9   d   R# R# )zEDetermines which resolver should be used, based on the given options.zlegacy-resolverlegacy
resolvelib)Zdeprecated_features_enabledr/   s   &r&   determine_resolver_variantZ-RequirementCommand.determine_resolver_variantV   s      C CCr(   c                s`   < V ^8  d   QhRS[ RS[RS[RS[RS[RS[RS[S[,          RS[R	S[	/	# )
r   temp_build_dirr/   build_trackersessionfinderuse_user_sitedownload_dir	verbosityr!   )
r   r   r   r   r   boolr   r@   r2   r   r9   r;   r&   r'   r<   _   si     5
 5
%5
 5
 $	5

 5
 5
 5
 sm5
 5
 
5
r(   c	                s   VP                   p	V	f   Q hRp
V P                  V4      pVR8X  d.   RVP                  9   pV'       d   \        P	                  R4       M*Rp
RpRVP                  9   d   \        P	                  R4       \        V	VP                  VVP                  VP                  VVVP                  VVP                  VVVV
VP                  R7      # )zA
Create a RequirementPreparer instance for the given parameters.
FrB   z	fast-depszpip is using lazily downloaded wheels using HTTP range requests to obtain dependency information. This experimental feature is enabled through --use-feature=fast-deps and it is not ready for production.Tz;fast-deps has no effect when used with the legacy resolver.)Z	build_dirsrc_dirrJ   build_isolationcheck_build_depsrF   rG   progress_barrH   require_hashesrI   
lazy_wheelrK   legacy_resolverresume_retries)ZpathrD   Zfeatures_enabledloggerZwarningr   rM   rN   rO   rP   rQ   rT   )clsrE   r/   rF   rG   rH   rI   rJ   rK   Ztemp_build_dir_pathrS   resolver_variantrR   s   &&&&&&&&&    r&   make_requirement_preparerZ,RequirementCommand.make_requirement_preparer^   s     -11"...99'B|+$(@(@@J" #OJg666Q #)OO%#33$55' --"11'!+"11
 	
r(   c                s   < V ^8  d   QhRS[ RS[RS[RS[S[,          RS[RS[RS[RS[R	S[R
S[S[,          RS[S[S[R3,          ,          RS[	/# )r   preparerrH   r/   wheel_cacherI   ignore_installedignore_requires_pythonforce_reinstallupgrade_strategy
use_pep517py_version_info.r!   )
r   r   r   r   r   rL   r@   r   r2   r   r9   r;   r&   r'   r<      s     8
 8
%8
 8
 	8

 j)8
 8
 8
 !%8
 8
 8
 TN8
 "%S/28
 
8
r(   c                s   \        \        VP                  V
R7      pV P                  V4      pVR8X  dS   ^ RIpVP
                  P                  P                  P                  P                  VVVVVVP                  VVVV	VR7      # ^ RIpVP
                  P                  P                  P                  P                  VVVVVVP                  VVVV	VR7      # )z6
Create a Resolver instance for the given parameters.
)isolatedr_   rB   N)rY   rH   rZ   make_install_reqrI   ignore_dependenciesr[   r\   r]   r^   r`   )r    r   isolated_moderD   Z,pip._internal.resolution.resolvelib.resolverZ	_internalZ
resolutionrB   ZresolverZResolverrc   Z(pip._internal.resolution.legacy.resolverrA   )rV   rY   rH   r/   rZ   rI   r[   r\   r]   r^   r_   r`   rb   rW   Zpips   &&&&&&&&&&&&   r&   make_resolverZ RequirementCommand.make_resolver   s    $ #'**!

 99'B |+?==++66??HH!'!1+$+$?$?!1'= /!1 / I   	8}}''..77@@#-' ' ; ;-#9+-+ A 
 	
r(   c                sX   < V ^8  d   QhRS[ S[,          RS[RS[RS[RS[ S[,          /# )r   r0   r/   rH   rG   r!   )r   r@   r   r   r   r   r9   r;   r&   r'   r<      sN     c c3ic c 	c
 c 
 	!cr(   c                s   . pVP                    FC  p\        VRVVVR7       F,  p\        VVP                  RR7      pVP	                  V4       K.  	  KE  	  V FD  p	\        V	RVP                  VP                  R\        VRR4      R7      pVP	                  V4       KF  	  VP                  '       dQ   \        VP                  4       F7  p	\        V	VP                  VP                  RR7      pVP	                  V4       K9  	  VP                   FC  p	\        V	RVP                  VP                  \        VRR4      R	7      pVP	                  V4       KE  	  VP                   Fy  p\        WcW$R
7       Fe  p\        TVP                  VP                  RVP                  '       d   VP                  P                  R4      MRR7      pVP	                  V4       Kg  	  K{  	  \         ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       d   RVn        V'       g   VP                  '       g   VP                  '       g   VP                  '       g{   RV P$                  /p
VP&                  '       d@   \)        RP*                  ! R/ \-        V
RP/                  VP&                  4      R7      B 4      h\)        RP*                  ! R/ V
B 4      hV# )zC
Parse command-line arguments into the corresponding requirements.
T)Z
constraintrH   r/   rG   F)ra   user_suppliedNconfig_settings)Z
comes_fromra   r_   rf   rg   )ra   r_   rf   )rf   ra   r_   rg   )rH   r/   rG   )ra   r_   rf   rg   c              3   s8   "   T F  qP                   x  K  	  R # 5ir3   )Zhas_hash_options)Z.0reqr,   r&   Z	<genexpr>Z6RequirementCommand.get_requirements.<locals>.<genexpr>  s     <|##|s   namezXYou must give at least one requirement to {name} (maybe you meant "pip {name} {links}"?)Z )ZlinkszHYou must give at least one requirement to {name} (see "pip help {name}")r6   )Zconstraintsr   r   rd   Zappendr   r_   Zgetattrr>   r   r   Z	editablesr   requirementsr/   ZgetZanyrQ   ri   Z
find_linksr
   r$   ZdictZjoin)r.   r0   r/   rH   rG   rj   ZfilenameZ
parsed_reqZ
req_to_addrh   Zoptss   &&&&&      r&   get_requirementsZ#RequirementCommand.get_requirements   s    24++H0
 A$22"'

 ##J/ , C. .."--" '1BD IJ 
+  $$$.w/H/HI8$22&11"&	
 ##J/ J $$C2" .."-- '1BD IJ 
+ %  ,,H0
 A$22&11"& &--- #**../@A!

 ##J/ -$ 3<|<333<|<<<%)G"    ###(((DII&D!!!">>DfE t388G4F4F+GH  #..4f5 =7;= 
 r(   c                s$   < V ^8  d   QhRS[ RR/# )r   rH   r!   Nr   r9   r;   r&   r'   r<   7  s     # # #4 #r(   c                s|    V P                   pVP                  4       pV'       d   \        P                  V4       R# R# )z5
Trace basic information about the provided objects.
N)search_scopeZget_formatted_locationsrU   Zinfo)rH   rl   Z	locationss   &  r&   trace_basic_infoZ#RequirementCommand.trace_basic_info6  s1     ** 88:	KK	" r(   c          
      sX   < V ^8  d   QhRS[ RS[RS[S[,          RS[S[,          RS[/# )r   r/   rG   target_pythonr\   r!   )r   r   r   r   rL   r   r9   r;   r&   r'   r<   A  sF     
 

 
  -	

 !)
 

r(   c                s    \         P                  ! W!R7      p\        RVP                  VP                  VP
                  VR7      p\        P                  ! VVVR7      # )z
Create a package finder appropriate to this requirement command.

:param ignore_requires_python: Whether to ignore incompatible
    "Requires-Python" values in links. Defaults to False.
rC   T)Zallow_yankedformat_controlZallow_all_prereleasesprefer_binaryr\   )link_collectorselection_prefsrn   )r   Zcreater   ro   Zprerp   r   )r.   r/   rG   rn   r\   rq   rr   s   &&&&&  r&   _build_package_finderZ(RequirementCommand._build_package_finderA  s[     '--gG."11")++!//#9
 ##)+'
 	
r(   r6   )Ni    )NFTFFzto-satisfy-onlyNN)NN)__name__Z
__module__Z__qualname__Z__firstlineno__r=   ZstaticmethodrD   ZclassmethodrX   re   rk   rm   rs   Z__static_attributes__Z__classdictcell__Z__classcell__)r?   r:   s   @@r&   r1   r1   O   s     8 8   5
 5
 5
n 8
 8
 8
tc cJ # #
 
 
r(   r1   )=Z__doc__ZloggingZ	functoolsr    Zoptparser   Ztypingr   r   r   r   Zpip._internal.cacher   Zpip._internal.clir   Zpip._internal.cli.index_commandr   r	   Zpip._internal.exceptionsr
   r   Zpip._internal.index.collectorr   Z"pip._internal.index.package_finderr   Z$pip._internal.models.selection_prefsr   Z"pip._internal.models.target_pythonr   Zpip._internal.network.sessionr   Z,pip._internal.operations.build.build_trackerr   Z pip._internal.operations.preparer   Zpip._internal.req.constructorsr   r   r   r   Z&pip._internal.req.req_dependency_groupr   Zpip._internal.req.req_filer   Zpip._internal.req.req_installr   Zpip._internal.resolution.baser   Zpip._internal.utils.temp_dirr   r   r   Z	getLoggerrt   rU   Z	BUILD_ENVZEPHEM_WHEEL_CACHEZ	REQ_BUILDr+   r7   r1   r6   r(   r&   <module>ru      s       - - * ( = V H 7 < E ; 4 E @  K 9 < 6  
		8	$ ## 8L
* L
r(   