
    )h                     P   d dl Z d dlZd dlmZ d dlmZmZmZmZm	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 g d
Z ej*                  e      Z ed       G d d             Zdee   dee	eef   ddf   fdZdee   dee   dee   dee   dee   dededededee   fdZy)    N)	dataclass)	GeneratorListOptionalSequenceTuple)get_install_progress_renderer)
indent_log   )parse_requirements)InstallRequirement)RequirementSet)r   r   r   install_given_reqsT)frozenc                       e Zd ZU eed<   y)InstallationResultnameN)__name__
__module____qualname__str__annotations__     M/var/www/html/venv/lib/python3.12/site-packages/pip/_internal/req/__init__.pyr   r      s    
Ir   r   requirementsreturnc              #   f   K   | D ](  }|j                   s
J d|        |j                   |f * y w)Nz%invalid to-be-installed requirement: )r   )r   reqs     r   _validate_requirementsr       s>       xxF@FFxhhms   /1global_optionsroothomeprefixwarn_script_locationuse_user_site	pycompileprogress_barc	                    t        j                  t        |             }	|	r3t        j	                  ddj                  |	j                                      g }
t        j                  t        j                        xr t        |	      dkD  }t        |	j                               }|rt        |t        |	            } ||      }t               5  |D ]  }|j                  }|J |j                   r<t        j	                  d|       t               5  |j#                  d      }ddd       nd}	 |j%                  |||||||	       r|j&                  r|j)                          	 |
j/                  t1        |              	 ddd       |
S # 1 sw Y   hxY w# t*        $ r  r|j&                  s|j-                           w xY w# 1 sw Y   |
S xY w)
zu
    Install everything in the given list.

    (to be called after having downloaded and unpacked the packages)
    z!Installing collected packages: %sz, r   )bar_typetotalNzAttempting uninstall: %sT)auto_confirm)r"   r#   r$   r%   r&   r'   )collectionsOrderedDictr    loggerinfojoinkeysisEnabledForloggingINFOlenitervaluesr	   r
   r   should_reinstall	uninstallinstallinstall_succeededcommit	Exceptionrollbackappendr   )r   r!   r"   r#   r$   r%   r&   r'   r(   
to_install	installedshow_progressitemsrendererrequirementreq_nameuninstalled_pathsets                    r   r   r   $   s     (()?)MNJ/IIjoo'(	

 I''5M#j/A:MM""$%E0!Z
 	 ;  	;K"''H'''++6A\ S*5*?*?T*?*R'S S '+#1##"!)="/' $  ';+H+H'..0/9:;	;;@ 5S S  &{/L/L'002	+;@ s=   AGF!G-F;GFG)G  GG)r-   r4   dataclassesr   typingr   r   r   r   r   pip._internal.cli.progress_barsr	   pip._internal.utils.loggingr
   req_filer   req_installr   req_setr   __all__	getLoggerr   r/   r   r   r    boolr   r   r   r   <module>rS      s     ! = = I 2 ( + # 
		8	$ $  )*uS,,-tT9:C)*CSMC 3-C 3-	C
 SMC C C C C 

Cr   