§
    �’jÜ%  ã                  ó|  — d Z ddlmZ ddlZddlZddlZddlZddl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 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 ddl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+m,Z, ddl-m.Z/ ddl-m0Z0m1Z1 ddl2m3Z3 dgZ4 ej5        e6¦  «        Z7 G d„ de¦  «        Z8dS )z(Base Command class, and related routinesé    )ÚannotationsN)ÚCallableÚIterator)ÚValues)Úreconfigure)Ú	traceback)Ú
cmdoptions)ÚCommandContextMixIn)ÚConfigOptionParserÚUpdatingDefaultsHelpFormatter)ÚBROKEN_STDOUTÚERRORÚPREVIOUS_BUILD_DIR_ERRORÚUNKNOWN_ERRORÚVIRTUALENV_NOT_FOUND)Ú
BadCommandÚCommandErrorÚDiagnosticPipErrorÚInstallationErrorÚNetworkConnectionErrorÚPreviousBuildDirError)Úcheck_path_owner)ÚBrokenStdoutLoggingErrorÚsetup_logging)Úget_progÚnormalize_path)ÚTempDirectoryTypeRegistry)Úglobal_tempdir_managerÚtempdir_registry)Úrunning_under_virtualenvÚCommandc                  óš   ‡ — e Zd ZU dZded<   dZded<   ddˆ fd„Zd d„Zej	        d!d„¦   «         Z
d"d„Zd#d„Zd$d„Zd%d„Zd%d„Zd&d„Zˆ xZS )'r!   Ú ÚstrÚusageFÚboolÚignore_require_venvÚnameÚsummaryÚisolatedÚreturnÚNonec           	     ó  •— t          ¦   «                              ¦   «          || _        || _        t	          | j        t          ¦   «         › d|› �t          ¦   «         d|| j        |¬¦  «        | _	        d | _
        | j                             ¦   «         › d�}t          j        | j	        |¦  «        | _        t          j        t          j        | j	        ¦  «        }| j	                             |¦  «         |                      ¦   «          d S )Nú F)r%   ÚprogÚ	formatterÚadd_help_optionr(   Údescriptionr*   z Options)ÚsuperÚ__init__r(   r)   r   r%   r   r   Ú__doc__Úparserr   Ú
capitalizeÚoptparseÚOptionGroupÚcmd_optsr	   Úmake_option_groupÚgeneral_groupÚadd_option_groupÚadd_options)Úselfr(   r)   r*   Úoptgroup_nameÚgen_optsÚ	__class__s         €úLC:\Projects\DSCons\.venv\Lib\site-packages\pip\_internal\cli\base_command.pyr4   zCommand.__init__4   sû   ø€ Ý‰Œ×ÒÑÔÐàˆŒ	ØˆŒÝ(Ø”*Ý‘J”JÐ'Ð' Ð'Ð'Ý3Ñ5Ô5Ø!ØØœØð
ñ 
ô 
ˆŒð 9=ˆÔð  œ9×/Ò/Ñ1Ô1Ð;Ð;Ð;ˆÝ Ô,¨T¬[¸-ÑHÔHˆŒõ Ô/ÝÔ$ØŒKñ
ô 
ˆð 	Œ×$Ò$ XÑ.Ô.Ð.à×ÒÑÔÐÐÐó    c                ó   — d S ©N© ©r?   s    rC   r>   zCommand.add_optionsR   s   € ØˆrD   Úoptionsr   Úargsú	list[str]úIterator[None]c              #  ó6   K  — t          |d¦  «        rJ ‚dV — dS )zf
        This is a no-op so that commands by default do not do the pip version
        check.
        Úno_indexN)Úhasattr©r?   rI   rJ   s      rC   Úpip_version_checkzCommand.pip_version_checkU   s+   è è € õ ˜7 JÑ/Ô/Ð/Ð/Ð/ØˆˆˆˆˆrD   Úintc                ó   — t           ‚rF   )ÚNotImplementedErrorrP   s      rC   ÚrunzCommand.run`   s   € Ý!Ð!rD   Úlevel_numberc                ó�  ‡ ‡‡— dˆˆˆ fd„}‰j         rt          j        d¬¦  «          |¦   «         S 	  |¦   «         }t          |t          ¦  «        sJ ‚|S # t
          $ rL}t                               d|ddi¬¦  «         t                               d	d¬
¦  «         t          cY d }~S d }~wt          $ rT}t                               t          |¦  «        ¦  «         t                               d	d¬
¦  «         t          cY d }~S d }~wt          t          t           f$ rT}t                               t          |¦  «        ¦  «         t                               d	d¬
¦  «         t          cY d }~S d }~wt"          $ rH}t                               d|¦  «         t                               d	d¬
¦  «         t          cY d }~S d }~wt$          $ �r 	 t'          j        dd¦  «         |t*          j        k    rWt/          t0          j        dd ¦  «        pd}t'          j        dt5          j        ¦   «                              |d¦  «        ¦  «         n# t:          $ r Y nw xY wt'          j        t&          j        t&          j         ¦  «        }	 t'          j!        |d¦  «         t'          j"        |¦  «         n# t'          j"        |¦  «         w xY wtF          cY S tH          $ r@ t                               d¦  «         t                               d	d¬
¦  «         t          cY S tJ          $ r& t                               dd¬
¦  «         tL          cY S w xY w)Nr+   rR   c                 ó�   •— ‰                      ‰‰ ¦  «        5  ‰                     ‰‰ ¦  «        cd d d ¦  «         S # 1 swxY w Y   d S rF   )rQ   rU   )rJ   rI   r?   s   €€€rC   Ú
_inner_runz(Command._run_wrapper.<locals>._inner_rund   sŽ   ø€ Ø×'Ò'¨°Ñ6Ô6ð /ð /Ø—x’x ¨Ñ.Ô.ð/ð /ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð /ð /s   ˜;»?Á?T)Úshow_localsz%sÚrich)ÚextrazException information:)Úexc_infoé   s!   ERROR: Pipe to stdout was broken
Úencodingzutf-8Úbackslashreplaceé   zOperation cancelled by userz
Exception:)r+   rR   )'Ú
debug_modeÚrich_tracebackÚinstallÚ
isinstancerR   r   ÚloggerÚerrorÚdebugr   r   Úcriticalr$   r   r   r   r   r   r   ÚosÚwriteÚloggingÚDEBUGÚgetattrÚsysÚstderrr   Ú
format_excÚencodeÚOSErrorÚopenÚdevnullÚO_WRONLYÚdup2Úcloser   ÚKeyboardInterruptÚBaseExceptionr   )	r?   rV   rI   rJ   rY   ÚstatusÚexcr_   ru   s	   ` ``     rC   Ú_run_wrapperzCommand._run_wrapperc   sr  øøø€ ð	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð Ôð 	 ÝÔ"¨tÐ4Ñ4Ô4Ð4Ø�:‘<”<Ðð;	!Ø�Z‘\”\ˆFÝ˜f¥cÑ*Ô*Ð*Ð*Ð*ØˆMøÝ!ð 	ð 	ð 	Ý�LŠL˜˜s¨6°4¨.ˆLÑ9Ô9Ð9Ý�LŠLÐ1¸DˆLÑAÔAÐAåˆLˆLˆLˆLˆLˆLøøøøÝ$ð 	,ð 	,ð 	,Ý�OŠO�C ™HœHÑ%Ô%Ð%Ý�LŠLÐ1¸DˆLÑAÔAÐAå+Ð+Ð+Ð+Ð+Ð+Ð+øøøøåÝÝ"ð
ð 	ð 	ð 	õ
 �OŠO�C ™HœHÑ%Ô%Ð%Ý�LŠLÐ1¸DˆLÑAÔAÐAåˆLˆLˆLˆLˆLˆLøøøøÝð 	ð 	ð 	Ý�OŠO˜D #Ñ&Ô&Ð&Ý�LŠLÐ1¸DˆLÑAÔAÐAåˆLˆLˆLˆLˆLˆLøøøøÝ'ð 	!ñ 	!ð 	!ðÝ”˜ÐAÑBÔBÐBØ¥7¤=Ò0Ð0Ý&¥s¤z°:¸tÑDÔDÐOÈ�HÝ”HØ�9Ô/Ñ1Ô1×8Ò8¸ÐCUÑVÔVñô ð øøõ ð ð ð Ø�ðøøøõ
 ”g�bœj­"¬+Ñ6Ô6ˆGð"Ý”˜ Ñ#Ô#Ð#å”˜Ñ!Ô!Ð!Ð!ø•”˜Ñ!Ô!Ð!Ð!øøøå Ð Ð Ð Ý ð 	ð 	ð 	Ý�OŠOÐ9Ñ:Ô:Ð:Ý�LŠLÐ1¸DˆLÑAÔAÐAåˆLˆLˆLÝð 	!ð 	!ð 	!Ý�OŠO˜L°4ˆOÑ8Ô8Ð8å Ð Ð Ð ð	!øøøs¦   ³"A Á
MÁ AB'Â!MÂ'MÂ4A	DÃ=MÄMÄA	E,Å&MÅ,MÅ9=F<Æ6MÆ<MÇA<IÉMÉ
IÉMÉIÉ,MÊJ,ÊMÊ,KË
MËAMÌ,MÍMútuple[Values, list[str]]c                ó6   — | j                              |¦  «        S rF   )r6   Ú
parse_args©r?   rJ   s     rC   r€   zCommand.parse_args©   s   € àŒ{×%Ò% dÑ+Ô+Ð+rD   c                ó  — 	 |                       ¦   «         5  |                      |¦  «        cd d d ¦  «         t          j        ¦   «          S # 1 swxY w Y   	 t          j        ¦   «          d S # t          j        ¦   «          w xY wrF   )Úmain_contextÚ_mainrl   Úshutdownr�   s     rC   ÚmainzCommand.main­   sÂ   € ð	Ø×"Ò"Ñ$Ô$ð (ð (Ø—z’z $Ñ'Ô'ð(ð (ð (ð (ñ (ô (ð (õ ÔÑÔÐÐð(ð (ð (ð (øøøð (ð (ð (ð (ð (õ ÔÑÔÐÐÐø�GÔÑÔÐÐøøøs-   ‚A, –A«A, ÁAÁA, ÁAÁA, Á,Bc                ó>  — |                       t          ¦   «         ¦  «        | _        |                       t          ¦   «         ¦  «         |                      |¦  «        \  }}|j        |j        z
  | _        |j        rd| _        t          |d¦  «        r|j	        dk    r| j        dk    rdnd|_	        t          |j        ¬¦  «         t          | j        |j        |j        ¬¦  «        }t          |j        ¦  «        t          t           j        ¦  «        z  }|r;t$                               d	d
                     t+          |¦  «        ¦  «        ¦  «         |j        rAdt.          j        vr3t$                               d¦  «         t5          j        t8          ¦  «         |j        rdt.          j        d<   |j        r'd                     |j        ¦  «        t.          j        d<   |j        rH| j         sAtC          ¦   «         s3t$                               d¦  «         t5          j        tD          ¦  «         |j#        rTtI          |j#        ¦  «        |_#        tK          |j#        ¦  «        s't$                               d|j#        ¦  «         d |_#        |  &                    |||¦  «        S )Nr^   Úprogress_barÚautor   ÚonÚoff)Úno_color)Ú	verbosityrŒ   Úuser_log_filez/The following features are always enabled: %s. z, Ú_PIP_RUNNING_IN_SUBPROCESSzAThe --python option must be placed before the pip subcommand nameÚ1ÚPIP_NO_INPUTr.   ÚPIP_EXISTS_ACTIONz2Could not find an activated virtualenv (required).zêThe directory '%s' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you should use sudo's -H flag.)'Úenter_contextr   r   r€   ÚverboseÚquietr�   rb   rO   rˆ   r   rŒ   r   ÚlogÚsetÚfeatures_enabledr	   ÚALWAYS_ENABLED_FEATURESrf   ÚwarningÚjoinÚsortedÚpythonrj   Úenvironri   ro   Úexitr   Úno_inputÚexists_actionÚrequire_venvr'   r    r   Ú	cache_dirr   r   r}   )r?   rJ   rI   rV   Úalways_enabled_featuress        rC   r„   zCommand._main´   s�  € ð !%× 2Ò 2Õ3CÑ3EÔ3EÑ FÔ FˆÔð 	×ÒÕ1Ñ3Ô3Ñ4Ô4Ð4àŸš¨Ñ-Ô-‰ˆ�ð !œ¨7¬=Ñ8ˆŒØÔð 	ØˆDŒNå�7˜NÑ+Ô+ð 	J°Ô0DÈÒ0NÐ0NØ+/¬>¸QÒ+>Ð+> 4 4ÀEˆGÔ å˜WÔ-Ð.Ñ.Ô.Ð.Ý$Ø”nØÔ%Ø!œ+ð
ñ 
ô 
ˆõ #& gÔ&>Ñ"?Ô"?Å#ÝÔ.ñC
ô C
ñ #
Ðð #ð 	Ý�NŠNØAØ—	’	�&Ð!8Ñ9Ô9Ñ:Ô:ñô ð ð Œ>ð 	Ð:Å"Ä*ÐLÐLÝ�OŠOØSñô ð õ ŒH•U‰OŒOˆOð Ôð 	-Ø),�BŒJ�~Ñ&àÔ ð 	NØ.1¯hªh°wÔ7LÑ.MÔ.M�BŒJÐ*Ñ+àÔð 	/¨Ô(@ð 	/å+Ñ-Ô-ð /Ý—’Ð TÑUÔUÐUÝ”Õ-Ñ.Ô.Ð.àÔð 	)Ý .¨wÔ/@Ñ AÔ AˆGÔÝ# GÔ$5Ñ6Ô6ð 	)Ý—’ð*ð
 Ô%ñô ð ð %)�Ô!à× Ò  ¨w¸Ñ=Ô=Ð=rD   ú.dict[str, Callable[[Values, list[str]], None]]c                ó   — i S )zO
        map of names to handler actions for commands with sub-actions
        rG   rH   s    rC   Úhandler_mapzCommand.handler_map  s	   € ð ˆ	rD   )F)r(   r$   r)   r$   r*   r&   r+   r,   )r+   r,   )rI   r   rJ   rK   r+   rL   )rI   r   rJ   rK   r+   rR   )rV   rR   rI   r   rJ   rK   r+   rR   )rJ   rK   r+   r~   )rJ   rK   r+   rR   )r+   r¥   )Ú__name__Ú
__module__Ú__qualname__r%   Ú__annotations__r'   r4   r>   Ú
contextlibÚcontextmanagerrQ   rU   r}   r€   r†   r„   r§   Ú__classcell__)rB   s   @rC   r!   r!   0   s  ø€ € € € € € Ø€E€O€O€O�OØ %ÐÐ%Ð%Ð%Ñ%ðð ð ð ð ð ð ð<ð ð ð ð Ôðð ð ñ Ôðð"ð "ð "ð "ðD!ð D!ð D!ð D!ðL,ð ,ð ,ð ,ðð ð ð ðK>ð K>ð K>ð K>ðZð ð ð ð ð ð ð rD   )9r5   Ú
__future__r   r¬   rl   Úlogging.configr8   rj   ro   r   Úcollections.abcr   r   r   Úpip._vendor.richr   rc   Úpip._internal.clir	   Ú!pip._internal.cli.command_contextr
   Úpip._internal.cli.parserr   r   Úpip._internal.cli.status_codesr   r   r   r   r   Úpip._internal.exceptionsr   r   r   r   r   r   Úpip._internal.utils.filesystemr   Úpip._internal.utils.loggingr   r   Úpip._internal.utils.miscr   r   Úpip._internal.utils.temp_dirr   ÚTempDirRegistryr   r   Úpip._internal.utils.virtualenvr    Ú__all__Ú	getLoggerr¨   rf   r!   rG   rD   rC   ú<module>rÀ      s]  ðØ .Ð .à "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø €€€Ø 	€	€	€	Ø 
€
€
€
Ø Ð Ð Ð Ø .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ø Ð Ð Ð Ð Ð à (Ð (Ð (Ð (Ð (Ð (Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8à (Ð (Ð (Ð (Ð (Ð (Ø AÐ AÐ AÐ AÐ AÐ AØ VÐ VÐ VÐ VÐ VÐ VÐ VÐ Vðð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð <Ð ;Ð ;Ð ;Ð ;Ð ;Ø OÐ OÐ OÐ OÐ OÐ OÐ OÐ OØ =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ø UÐ UÐ UÐ UÐ UÐ UØ QÐ QÐ QÐ QÐ QÐ QÐ QÐ QØ CÐ CÐ CÐ CÐ CÐ Càˆ+€à	ˆÔ	˜8Ñ	$Ô	$€ðUð Uð Uð Uð UÐ!ñ Uô Uð Uð Uð UrD   