Ë
    ��h#  ã                   ó¸  — d dl Z d dlZd dlZd dl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mZ d dlmZ eeeef      Zdeeeef   d	efd
„Zdeee   ef   d	efd„Zdeee   ef   d	ee   fd„Z	 	 	 	 	 	 	 	 	 ddeee   ef   dedee   dddeee      dee
eef      deee      dee   dee   dee   ded	efd„Z ded	ed   fd„Z!y)é    N)ÚAnyÚCallableÚIterableÚListÚLiteralÚMappingÚOptionalÚUnion)Úescape)ÚSpinnerInterfaceÚopen_spinner)ÚInstallationSubprocessError)ÚVERBOSEÚsubprocess_logger)Ú
HiddenTextÚargsÚreturnc                  ó~   — g }| D ]5  }t        |t        «      r|j                  |«       Œ%|j                  |«       Œ7 |S )z&
    Create a CommandArgs object.
    )Ú
isinstanceÚlistÚextendÚappend)r   Úcommand_argsÚargs      ú\/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pip/_internal/utils/subprocess.pyÚmake_commandr      sJ   € ð !#€LØò %ˆô �cœ4Ô Ø×Ñ Õ$ð ×Ñ Õ$ð%ð Ðó    c                 ó2   — dj                  d„ | D «       «      S )z/
    Format command arguments for display.
    ú c              3   ó¢   K  — | ]G  }t        |t        «      rt        j                  t	        |«      «      nt        j                  |«      –— ŒI y ­w)N)r   r   ÚshlexÚquoteÚstr)Ú.0r   s     r   ú	<genexpr>z&format_command_args.<locals>.<genexpr>+   s<   è ø€ ò àô ",¨C´Ô!<Œ�‰”C˜“HÔÄ%Ç+Á+ÈcÓBRÓRñùs   ‚AA)Újoin)r   s    r   Úformat_command_argsr'   "   s"   € ð �8‰8ñ àôó ð r   c                 ód   — | D �cg c]   }t        |t        «      r|j                  n|‘Œ" c}S c c}w )z=
    Return the arguments in their raw, unredacted form.
    )r   r   Úsecret)r   r   s     r   Úreveal_command_argsr*   1   s,   € ð KOÖOÀ3œ* S¬*Ô5ˆC�JŠJ¸3Ñ>ÒOÐOùÒOs   …%-ÚcmdÚshow_stdoutÚcwdÚon_returncodez"Literal["raise", "warn", "ignore"]Úextra_ok_returncodesÚextra_environÚunset_environÚspinnerÚlog_failed_cmdÚstdout_onlyÚcommand_descc
          	      óÀ  — |€g }|€g }|r!t         j                  }t        j                  }nt         j                  }t
        }t        j                  «       |k  }| xr |du} |d|
«       t        j                  j                  «       }|r|j                  |«       |D ]  }|j                  |d«       Œ 	 t        j                  t        | «      t        j                  t        j                  |	st        j                   nt        j                  ||d¬«      }g }|	sá|j&                  sJ ‚|j(                  sJ ‚|j(                  j+                  «        	 |j&                  j-                  «       }|snC|j/                  «       }|j1                  |dz   «        ||«       |r|sJ ‚|j3                  «        Œ`	 |j5                  «        |j&                  r|j&                  j+                  «        	 dj7                  |«      }nq|j9                  «       \  }}|j;                  «       D ]
  } ||«       Œ |j1                  |«       |j;                  «       D ]
  } ||«       Œ |j1                  |«       |}|j<                  xr |j<                  |v}|r)|sJ ‚|r|j?                  d	«       n|j?                  d
«       |rÑ|dk(  r�tA        |
|j<                  |s|nd¬«      }|rmt        jB                  d|ddi¬«       t        j                  dtE        tG        | «      «      ddi¬«       t        j                  dtE        |xs d«      ddi¬«       |‚|dk(  r$t        jH                  d|
|j<                  |«       |S |dk(  r	 |S tK        d|›�«      ‚|S # t"        $ r}|rt        j$                  d||
«       ‚ d}~ww xY w# |j&                  r|j&                  j+                  «        w w xY w)aÍ  
    Args:
      show_stdout: if true, use INFO to log the subprocess's stderr and
        stdout streams.  Otherwise, use DEBUG.  Defaults to False.
      extra_ok_returncodes: an iterable of integer return codes that are
        acceptable, in addition to 0. Defaults to None, which means [].
      unset_environ: an iterable of environment variable names to unset
        prior to calling subprocess.Popen().
      log_failed_cmd: if false, failed commands are not logged, only raised.
      stdout_only: if true, return only stdout, else return both. When true,
        logging of both stdout and stderr occurs when the subprocess has
        terminated, else logging occurs as subprocess output is produced.
    NzRunning command %sÚbackslashreplace)ÚstdinÚstdoutÚstderrr-   ÚenvÚerrorsz#Error %s while executing command %sTú
Ú ÚerrorÚdoneÚraise)Úcommand_descriptionÚ	exit_codeÚoutput_linesz%sÚrich)Úextraz*[bold magenta]full command[/]: [blue]%s[/]Úmarkupz[bold magenta]cwd[/]: %sz	[inherit]Úwarnz$Command "%s" had error code %s in %sÚignorezInvalid value: on_returncode=)&r   ÚinfoÚloggingÚINFOÚverboser   ÚgetEffectiveLevelÚosÚenvironÚcopyÚupdateÚpopÚ
subprocessÚPopenr*   ÚPIPEÚSTDOUTÚ	ExceptionÚcriticalr9   r8   ÚcloseÚreadlineÚrstripr   ÚspinÚwaitr&   ÚcommunicateÚ
splitlinesÚ
returncodeÚfinishr   r?   r   r'   ÚwarningÚ
ValueError)r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   Úlog_subprocessÚ
used_levelÚshowing_subprocessÚuse_spinnerr;   ÚnameÚprocÚexcÚ
all_outputÚlineÚoutputÚoutÚerrÚout_lineÚerr_lineÚproc_had_errorr?   s                               r   Úcall_subprocessrt   8   s­  € ð6 Ð#Ø!ÐØÐØˆñ  ä.?×.DÑ.DˆÜ—\‘\‰
ô +×2Ñ2ˆÜˆ
ô +×<Ñ<Ó>À*ÑLÐð )Ð(Ò@¨W¸DÐ-@€KáÐ'¨Ô6Ü
�*‰*�/‰/Ó
€CÙØ�
‰
�=Ô!Øò ˆØ�‰��dÕððÜ×Ñä Ó$Ü—/‘/Ü—?‘?Ù,7”:×$Ò$¼Z¿_¹_ØØØ%ô	
ˆð$ €JÙØ�{Š{Ðˆ{Ø�zŠzÐˆzØ�
‰
×ÑÔàØŸ™×,Ñ,Ó.ˆDÙØØ—;‘;“=ˆDØ×Ñ˜d T™kÔ*ñ ˜4Ô áÙ��wØ—‘”ð ð	$Ø�I‰IŒKà�{Š{Ø—‘×!Ñ!Õ#Ø—‘˜Ó$‰ð ×#Ñ#Ó%‰ˆˆSàŸ™Ó(ò 	%ˆHÙ˜8Õ$ð	%à×Ñ˜#ÔØŸ™Ó(ò 	%ˆHÙ˜8Õ$ð	%à×Ñ˜#ÔØˆà—_‘_ÒT¨¯©Ð@TÐ)T€NÙÙˆˆwÙØ�N‰N˜7Õ#à�N‰N˜6Ô"ÙØ˜GÒ#Ü/Ø$0ØŸ/™/Ù/A™ZÀtôˆEñ
 Ü!×'Ñ'¨¨e¸FÀD¸>ÕJÜ!×)Ñ)Ø@ÜÔ.¨sÓ3Ó4Ø# TÐ*õô
 "×)Ñ)Ø.Ü˜3Ò- +Ó.Ø# TÐ*õð ˆKØ˜fÒ$Ü×%Ñ%Ø6ØØ—‘Øô	ð €Mð	 ˜hÒ&Øð €Mô Ð<¸]Ð<MÐNÓOÐOØ€Møôk ò ÙÜ×&Ñ&Ø5ØØôð
 	ûðûð< �{Š{Ø—‘×!Ñ!Õ#ð ús%   Â6A!N	 Æ3N4 Î		N1ÎN,Î,N1Î4)OÚmessage).Nc           
      ó†   ‡ — 	 	 ddt         t           dt        t           dt        t        t        t        f      ddfˆ fd„}|S )zßProvide a subprocess_runner that shows a spinner message.

    Intended for use with for BuildBackendHookCaller. Thus, the runner has
    an API that matches what's expected by BuildBackendHookCaller.subprocess_runner.
    Nr+   r-   r0   r   c                 óf   •— t        ‰«      5 }t        | ‰|||¬«       d d d «       y # 1 sw Y   y xY w)N)r5   r-   r0   r2   )r   rt   )r+   r-   r0   r2   ru   s       €r   Úrunnerz+runner_with_spinner_message.<locals>.runnerç   s;   ø€ ô
 ˜'Ó"ð 	 gÜØØ$ØØ+Øõ÷	÷ 	ñ 	ús   �'§0)NN)r   r#   r	   r   r   )ru   rx   s   ` r   Úrunner_with_spinner_messagery   à   sQ   ø€ ð "Ø59ñÜ”#‰Yðä”c‰]ðô  ¤¬¬S¨Ñ 1Ñ2ðð 
õ	ð €Mr   )	FNrA   NNNNTF)"rK   rO   r!   rT   Útypingr   r   r   r   r   r   r	   r
   Úpip._vendor.rich.markupr   Úpip._internal.cli.spinnersr   r   Úpip._internal.exceptionsr   Úpip._internal.utils.loggingr   r   Úpip._internal.utils.miscr   r#   ÚCommandArgsr   r'   r*   ÚboolÚintrt   ry   © r   r   ú<module>r„      s   ðÛ Û 	Û Û ß S× SÓ Så *ç EÝ @ß BÝ /à�5˜˜j˜Ñ)Ñ*€ð˜˜c :¨{Ð:Ñ;ð Àó ð"˜e D¨¡I¨{Ð$:Ñ;ð Àó ðP˜e D¨¡I¨{Ð$:Ñ;ð PÀÀSÁ	ó Pð ØØ:AØ48Ø15Ø-1Ø*.Ø%)Ø"'ñeØ	ˆt�C‰y˜+Ð%Ñ	&ðeàðeð 
�#‰ðeð 8ð	eð
 # 8¨C¡=Ñ1ðeð ˜G C¨ HÑ-Ñ.ðeð ˜H S™MÑ*ðeð Ð&Ñ'ðeð ˜T‘Nðeð ˜$‘ðeð ðeð 	óeðP¨ð °¸)Ñ1Dô r   