
    dafZ                       	 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Zd dlZd dl	Z	d dl
Z
d dlmZ d dlZ	 d dlZg dZ	 d dlZdZej(                  dvZer@d dlZd dlmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z( ejS                  g d       nYerCd d	l*m+Z, ejZ                  Z.ej^                  Z0ejb                  Z2ejf                  Z4ejj                  Z6ndZ,dZ.dZ0dZ2dZ4dZ6d dl7Z7d dl8Z8 G d
 de9      Z: G d de:      Z; G d de:      Z<er G d d      Z= G d de>      Z?n, e@e7dd      ZA eBe8d      re8j                  ZDne8j                  ZDerdZFd ZGng ZFd ZGdZHdZIdZJd ZKd ZLd ZMddd ZNd! ZOddd"ZP G d# d$eQ      ZRddddd%d&ZSd' ZTddd(d)ZUddd(d*ZVd+ ZW eW       ZXdZY G d, d-      ZZy# e$ r dZY w xY w# e$ r dZY w xY w).    N)	monotonic)PopenPIPESTDOUTcall
check_callgetstatusoutput	getoutputcheck_outputrunCalledProcessErrorDEVNULLSubprocessErrorTimeoutExpiredCompletedProcessTF>   wasi
emscripten)CREATE_NEW_CONSOLECREATE_NEW_PROCESS_GROUPSTD_INPUT_HANDLESTD_OUTPUT_HANDLESTD_ERROR_HANDLESW_HIDESTARTF_USESTDHANDLESSTARTF_USESHOWWINDOWABOVE_NORMAL_PRIORITY_CLASSBELOW_NORMAL_PRIORITY_CLASSHIGH_PRIORITY_CLASSIDLE_PRIORITY_CLASSNORMAL_PRIORITY_CLASSREALTIME_PRIORITY_CLASSCREATE_NO_WINDOWDETACHED_PROCESSCREATE_DEFAULT_ERROR_MODECREATE_BREAKAWAY_FROM_JOB)r   r   r   r   r   r   r   r   STARTUPINFOr   r   r   r   r    r!   r"   r#   r$   r%   )	fork_execc                       e Zd Zy)r   N)__name__
__module____qualname__     %/root/Python-3.12.4/Lib/subprocess.pyr   r   {   s    r-   r   c                   P    e Zd Z	 ddZd Zed        Zej                  d        Zy)r   Nc                 <    || _         || _        || _        || _        y N)
returncodecmdoutputstderr)selfr2   r3   r4   r5   s        r.   __init__zCalledProcessError.__init__   s    $r-   c                 &   | j                   r@| j                   dk  r1d| j                  dt        j                  | j                          dS d| j                  | j                   fz  S # t        $ r d| j                  | j                    fz  cY S w xY w)Nr   	Command 'z' died with .z)Command '%s' died with unknown signal %d.z.Command '%s' returned non-zero exit status %d.)r2   r3   signalSignals
ValueErrorr6   s    r.   __str__zCalledProcessError.__str__   s    ??t24&..$//1A"BD D DHHdooG/ / /	  4B4??"2F4 4 44s   0A( (%BBc                     	 | j                   S r1   r4   r>   s    r.   stdoutzCalledProcessError.stdout   s    9{{r-   c                     || _         y r1   rA   r6   values     r.   rB   zCalledProcessError.stdout        r-   NNr)   r*   r+   r7   r?   propertyrB   setterr,   r-   r.   r   r   ~   s=    
/   ]] r-   r   c                   P    e Zd Z	 ddZd Zed        Zej                  d        Zy)r   Nc                 <    || _         || _        || _        || _        y r1   )r3   timeoutr4   r5   )r6   r3   rM   r4   r5   s        r.   r7   zTimeoutExpired.__init__   s    r-   c                 <    d| j                   d| j                  dS )Nr9   z' timed out after z seconds)r3   rM   r>   s    r.   r?   zTimeoutExpired.__str__   s    4<<) 	*r-   c                     | j                   S r1   rA   r>   s    r.   rB   zTimeoutExpired.stdout   s    {{r-   c                     || _         y r1   rA   rD   s     r.   rB   zTimeoutExpired.stdout   rF   r-   rG   rH   r,   r-   r.   r   r      s=    *   ]] r-   r   c                   (    e Zd ZddddddddZd Zy)r&   r   NdwFlags	hStdInput
hStdOutput	hStdErrorwShowWindowlpAttributeListc                d    || _         || _        || _        || _        || _        |xs dg i| _        y )Nhandle_listrR   )r6   rS   rT   rU   rV   rW   rX   s          r.   r7   zSTARTUPINFO.__init__   s8    "DL&DN(DO&DN*D#2#I}b6ID r-   c                     | j                   j                         }d|v rt        |d         |d<   t        | j                  | j
                  | j                  | j                  | j                  |      S )NrZ   rR   )	rX   copylistr&   rS   rT   rU   rV   rW   )r6   	attr_lists     r.   r\   zSTARTUPINFO.copy   sf    ,,113I	)+/	-0H+I	-(t||)-*.//)-+/+;+;/8: :r-   )r)   r*   r+   r7   r\   r,   r-   r.   r&   r&      s    &'4D#D	J
	:r-   r&   c                   >    e Zd ZdZej
                  fdZd Zd ZeZ	y)HandleFc                 <    | j                   sd| _          ||        y y )NT)closed)r6   CloseHandles     r.   ClosezHandle.Close   s    ;;"D! r-   c                 T    | j                   sd| _         t        |       S t        d      )NTzalready closed)rb   intr=   r>   s    r.   DetachzHandle.Detach   s&    ;;"4y -..r-   c                 J    d| j                   j                  t        |       fz  S )Nz%s(%d))	__class__r)   rf   r>   s    r.   __repr__zHandle.__repr__   s     t~~66D	BBBr-   N)
r)   r*   r+   rb   _winapirc   rd   rg   rj   __del__r,   r-   r.   r`   r`      s'    $+$7$7 	"
	/	C r-   r`   PIPE_BUFi   PollSelectorc                       y r1   r,   r,   r-   r.   _cleanuprp     s    r-   c                      t         y t         d d  D ];  } | j                  t        j                        }|&	 t         j	                  |        = y # t
        $ r Y Jw xY w)N
_deadstate)_active_internal_pollsysmaxsizeremover=   )instress     r.   rp   rp     s`    ?AJ 	D%%%=CNN4(		
 "  s   A	AAc                  x    	 g } t         j                  j                  }|dkD  r| j                  dd|z  z          | S )Nr   -O)rv   flagsoptimizeappend)argsrE   s     r.   "_optim_args_from_interpreter_flagsr   "  s<    +DIIEqyC#+%&Kr-   c                     	 ddddddd} t               }| j                         D ]<  \  }}t        t        j                  |      }|dkD  s&|j                  d	||z  z          > t        j                  j                  r|j                  d
       nt        j                  j                  r|j                  d       t        j                  j                  r|j                  d       t        j                  j                  r|j                  d       t        j                  d d  }t        t        di       }t        j                  j                  }t        j                  j                  }|dkD  r|j                  d       n|r|j                  d       |r|j                  d       |D ]  }|j                  d|z           |r|j                  d       dD ]-  }||v s||   }	|	du r|}
n|d|	}
|j                  d|
f       / |S )NdBSvbq)debugdont_write_bytecodeno_siteverbosebytes_warningquietr   r   z-Iz-Ez-sz-P	_xoptions   zerror::BytesWarningzdefault::BytesWarningdefaultz-W)-Xdev)faulthandlertracemalloc
importtimefrozen_modulesshowrefcountutf8T=r   )r   itemsgetattrrv   r   r   isolatedignore_environmentno_user_site	safe_pathwarnoptionsr   dev_moderx   extend)flag_opt_mapr   flagoptr   warnoptsxoptionsr   r   rE   args              r.   _args_from_interpreter_flagsr   ,  s   A   #
L ./D!'') '	cCIIt$q5KKcAg&'
 yyD99''KK99!!KK99KK q!HsK,HII++Myy!!Hq-.	/0	"  D3J  M": %(?SME}!$e,KKs$% Kr-   c                     t         j                  j                  rt        j                         } | j                  j
                  }d}| j                  x} r.| j                  j
                  |k7  rn|dz  }| j                  x} r.t        j                  dt        |       t         j                  j                  ryt        j                         S )N   r   z"'encoding' argument not specified.zutf-8)rv   r   warn_default_encoding	_getframef_codeco_filenamef_backwarningswarnEncodingWarning	utf8_modelocalegetencoding)ffilename
stacklevels      r.   _text_encodingr   i  s     yy&&MMO88''
88mamxx##x/!OJ 88mam 	:%z	3 yy!!##r-   rM   c                     	 t        |i |5 }	 |j                  |       cd d d        S #  |j                           xY w# 1 sw Y   y xY w)Nr   )r   waitkill)rM   	popenargskwargsps       r.   r   r   }  sX     
		$V	$ 	66'6* 	FFH s   A *=A  A	c                  h    	 t        | i |}|r$|j                  d      }|| d   }t        ||      y)Nr   r   )r   getr   )r   r   retcoder3   s       r.   r   r     sG     I((Gjj ;A,C #..r-   c                    	 dD ]  }||v st        | d       d|v rS|d   N|j                  d      s3|j                  d      s"|j                  d      s|j                  d      rd}nd	}||d<   t        |t        | d
d|j                  S )N)rB   checkz- argument not allowed, it will be overridden.inputuniversal_newlinestextencodingerrors r-   T)rB   rM   r   )r=   r   r   r   rB   )rM   r   r   kwemptys        r.   r   r     s    !D " S<t#PQRRS &VG_4 ::*+vzz&/AVZZPZE[::h'EEw	$t  r-   c                   F    e Zd Z	 ddZd Z eej                        Zd Z	y)r   Nc                 <    || _         || _        || _        || _        y r1   )r   r2   rB   r5   )r6   r   r2   rB   r5   s        r.   r7   zCompletedProcess.__init__  s    	$r-   c                    dj                  | j                        dj                  | j                        g}| j                  *|j	                  dj                  | j                               | j
                  *|j	                  dj                  | j
                               dj                  t        |       j                  dj                  |            S )Nz	args={!r}zreturncode={!r}zstdout={!r}zstderr={!r}z{}({})z, )	formatr   r2   rB   r   r5   typer)   join)r6   r   s     r.   rj   zCompletedProcess.__repr__  s    ""499-!((9;;;"KK,,T[[9:;;"KK,,T[[9:tDz22DIIdODDr-   c                     	 | j                   r6t        | j                   | j                  | j                  | j                        y r1   )r2   r   r   rB   r5   r>   s    r.   check_returncodez!CompletedProcess.check_returncode  s7    D??$T__dii%)[[2 2 r-   rG   )
r)   r*   r+   r7   rj   classmethodtypesGenericAlias__class_getitem__r   r,   r-   r.   r   r     s*    	E $E$6$672r-   r   )r   capture_outputrM   r   c                    	 | %|j                  d      t        d      t        |d<   |r?|j                  d      |j                  d      t        d      t        |d<   t        |d<   t        |i |5 }	 |j	                  | |      \  }}|j                         }
|r|
rt        |
|j                  ||      d d d        t        j                  
      S # t
        $ rJ}	|j                          t        r|j	                         \  |	_        |	_	         |j                           d }	~	w |j                           xY w# 1 sw Y   xY w)Nstdinz/stdin and input arguments may not both be used.rB   r5   z@stdout and stderr arguments may not be used with capture_output.r   r4   r5   )r   r=   r   r   communicater   r   
_mswindowsrB   r5   r   pollr   r   r   )r   r   rM   r   r   r   processrB   r5   excr   s              r.   r   r     sZ   8 ::g*NOOw::h+vzz(/C/O 4 5 5xx			$V	$ C	$000HNFF& ,,.W$Wgll,26C C/C2 GLL'66BB-  	LLN *1)<)<)>&
CJ
  	LLN)C Cs1   5E7C-E	D>#AD((D>>EE
c                 D   	 g }d}t        t        j                  |       D ]  }g }|r|j                  d       d|v xs	 d|v xs | }|r|j                  d       |D ]x  }|dk(  r|j                  |       |dk(  r4|j                  dt	        |      z  dz         g }|j                  d       S|r|j                  |       g }|j                  |       z |r|j                  |       |s|j                  |       |j                  d        dj                  |      S )	NF 	"\r   z\"r   )maposfsdecoder   lenr   r   )seqresult	needquoter   bs_bufcs         r.   list2cmdliner   @  s   : FI2;;$ ! MM#CZ<TS[<W	MM# 	!ADya cdS[023e$ MM&)Fa 	!" MM&!MM&!MM#C!F 776?r-   r   r   c                    	 	 t        | ddt        ||      }d}|dd  dk(  r|d d }||fS # t        $ r"}|j                  }|j                  }Y d }~7d }~ww xY w)NT)shellr   r5   r   r   r   r{   
)r   r   r   r4   r2   )r3   r   r   dataexitcodeexs         r.   r	   r	     sq    (!Ct$v%-f> BCyDCRyT>  !yy==!s   + 	AAAc                &    	 t        | ||      d   S )Nr   r   )r	   )r3   r   r   s      r.   r
   r
     s     3&A!DDr-   c                     	 t         st        t        d      syt        j                  dv ry	 t        j
                  d      } | j                  d      }t        |      dk7  rt        |d	   }t        t        t        |d   j                  d
                  }t        j                  dk(  r|dk(  r|dk\  ryy# t        t        t        f$ r Y yw xY w)Nposix_spawnF)darwinsunos5TCS_GNU_LIBC_VERSIONr   )maxsplitr   r   r:   linuxglibc)r      )r   hasattrr   rv   platformconfstrsplitr   r=   tupler   rf   AttributeErrorOSError)verpartslibcversions       r.   _use_posix_spawnr    s     ]3
||++ jj./		1	%u:?QxCq!456<<7"tw7g;M   J0  s   BB7 7CCc                   8   e Zd Z	 dZ	 	 	 	 	 	 	 d,dddddddddd	dZd Z eej                        Z	e
d        Zej                  d        Zd	 Zd
 Zd Zej"                  ej&                  fdZd Zd Zd-dZd Zd Z	 d.dZd/dZd Zej<                  d        Ze rDd Z!d Z"d Z#d Z$de%jL                  e%jN                  e%jP                  fdZ)d Z*d Z+d Z,d Z-d Z.e.Z/yd  Z!d! Z0d" Z$e1e2e3fd#Z4de5e6e7jp                  fd$Z)d% Z9d& Z*d' Z,d( Z:d) Z-d* Z.d+ Z/y)0r   Fr{   N)	usergroupextra_groupsr   r   r   umaskpipesizeprocess_groupc       	            	 t         s+t        t        j                  t        j
                   d      t                t        j                         | _	        d | _
        d| _        |d}t        |t              st        d      |d}t        |t              st        d      t        r|Ht!        d      |r|st#        j$                  dt&               d}|t!        d	      |d
k7  rt!        d      || _        d | _        d | _        d | _        d | _        d | _        || _        || _        || _        |$|"t;        |      t;        |      k7  rt=        d      |xs
 |xs |xs || _        | j>                  r|tA               x| _        }d| _!        d| _"        | j>                  r|dk(  rd}d}nd}|d}d }|tG        tH        d      st!        d      t        |tJ              r!	 d
d l&}|jQ                  |      jR                  }n6t        |t              r|}n#t        djU                  tW        |                  |d
k  rt!        d|       d }|tG        tH        d      st!        d      t        |tJ              rt!        d      g }|D ]  }t        |tJ              r0	 d
d l&}|jY                  |jQ                  |      jR                         Ct        |t              r|jY                  |       et        djU                  tW        |                   |D ]  } | d
k  s	t!        d|         d }!|}tG        tH        d      st!        d      t        |tJ              r!	 d
d l-}"|"j]                  |      j^                  }!nt        |t              r|}!nt        d      |!d
k  rt!        d|!       | ja                  |||      \  }#}$}%}&}'}(t        r{|$dk7  r$tc        jd                  |$jg                         d
      }$|%dk7  r$tc        jd                  |%jg                         d
      }%|'dk7  r$tc        jd                  |'jg                         d
      }'	 |$dk7  rQti        jj                  |$d|      | _        | j>                  r)ti        jl                  | j*                  d||      | _        |%dk7  rOti        jj                  |%d |      | _        | j>                  r'ti        jl                  | j,                  ||!      | _        |'dk7  rOti        jj                  |'d |      | _        | j>                  r'ti        jl                  | j.                  ||!      | _        | jo                  ||||||
||||	|#|$|%|&|'|(||||!|||       y # tN        $ r t!        d      w xY w# tN        $ r t!        d      w xY w# tN        $ r t!        d      w xY w#  tq        d | j*                  | j,                  | j.                  f      D ]"  })	 |)js                          # t        $ r Y  w xY w | jD                  sg }*|tt        k(  r|*jY                  |#       |tt        k(  r|*jY                  |&       |tt        k(  r|*jY                  |(       tG        | d"      r|*jY                  | jv                         |*D ]N  }+	 t        r!t        |+tx              r|+j{                          ntI        jr                  |+       A# t        $ r Y Lw xY w  xY w)#Nz does not support processes.Fr{   zbufsize must be an integerzpipesize must be an integerz0preexec_fn is not supported on Windows platformszpass_fds overriding close_fds.Tz2startupinfo is only supported on Windows platformsr   z4creationflags is only supported on Windows platformszlCannot disambiguate when both text and universal_newlines are supplied but different. Pass one or the other.g      ?r   setregidz>The 'group' parameter is not supported on the current platformzHThe group parameter cannot be a string on systems without the grp modulez,Group must be a string or an integer, not {}z!Group ID cannot be negative, got 	setgroupszEThe 'extra_groups' parameter is not supported on the current platformz#Groups must be a list, not a stringzIItems in extra_groups cannot be strings on systems without the grp modulez9Items in extra_groups must be a string or integer, not {}setreuidz=The 'user' parameter is not supported on the current platformzGThe user parameter cannot be a string on systems without the pwd modulez#User must be a string or an integerz User ID cannot be negative, got wb)write_throughline_bufferingr   r   rbr   _devnull)>_can_fork_execr  errnoENOTSUPrv   r
  rp   	threadingLock_waitpid_lock_input_communication_started
isinstancerf   	TypeErrorr   r=   r   r   RuntimeWarningr   r   rB   r5   pidr2   r   r   r  boolr   	text_moder   _sigint_wait_secs_closed_child_pipe_fdsr	  r   strgrpImportErrorgetgrnamgr_gidr   r   r   pwdgetpwnampw_uid_get_handlesmsvcrtopen_osfhandlerg   ioopenTextIOWrapper_execute_childfiltercloser   r$  r`   rd   ),r6   r   bufsize
executabler   rB   r5   
preexec_fn	close_fdsr   cwdenvr   startupinfocreationflagsrestore_signalsstart_new_sessionpass_fdsr  r  r  r   r   r   r  r  r  r"  gidr6  gidsextra_group	gid_checkuidr:  p2creadp2cwritec2preadc2pwriteerrreaderrwriter   to_closefds,                                               r.   r7   zPopen.__init__'  s    	)#,,/KL  	
 '^^-&+#?G'3'899H(C(9::%  "- . . 	>O 	&  "- . .!  "- . . 	
   !3!?'(DJ6! #F G G "IVItI7I>>h.'5'77DMH
 "&&+#>>!|!% !& M2z*  "4 5 5 E3'J
 ll5)00E3' N!'U!46 6 Qw #DSE!JKK#2{+  "E F F L#. !FGGD+ @k3/7" KK[ 9 @ @AS1KK,# %9%+VD,=%>@ @@& " V	q=$'H%TUUV 2z*  "8 9 9 D#&J ll4(//D#& EFFQw #CC5!IJJ& #//vvF	(	(	( 2~!001BAF"} //0@!D"} //0@!D6	2~WWXtW=
>>!#!1!1$**D+9%-f">DJ "} gggtW=>>"$"2"24;;%-f#>DK"} gggtW=>>"$"2"24;;%-f#>DK j*i (#s +]E ' ' ' / #T3 1=Bo # J$ &I J JJ8 ' 7( *6 7 778 # J$ &I J JJP	D4::t{{DKK"HI GGI  ..D=OOG,T>OOH-T>OOH-4,OODMM2" B%*R*@HHJHHRL"  sz   #U0 VV  
D%V8 0VV V582[#+W<;[#<	X[#XB[#<[[#	[[#[[#c                     d| j                   j                   d| j                   d| j                  d}t	        |      dkD  r|d d dz   }|S )N<z: returncode: z args: >P   L   z...>)ri   r)   r2   r   r   )r6   obj_reprs     r.   rj   zPopen.__repr__(  s]    ''( )??+7499-qB 	 x=2}v-Hr-   c                     | j                   S r1   )r2  r>   s    r.   r   zPopen.universal_newlines3  s     ~~r-   c                 $    t        |      | _        y r1   )r1  r2  )r6   r   s     r.   r   zPopen.universal_newlines9  s    01r-   c                 j    |j                  ||      }|j                  dd      j                  dd      S )Nz
r   )decodereplace)r6   r   r   r   s       r.   _translate_newlineszPopen._translate_newlines=  s0    {{8V,||FD)11$==r-   c                     | S r1   r,   r>   s    r.   	__enter__zPopen.__enter__A  s    r-   c                    | j                   r| j                   j                          | j                  r| j                  j                          	 | j                  r| j                  j                          |t        k(  r<| j
                  dkD  r%	 | j                  | j
                         d| _        y d| _        y | j                          y # t        $ r
 Y d| _        y w xY w# |t        k(  rF| j
                  dkD  r-	 | j                  | j
                         n# t        $ r Y nw xY wd| _         Y y | j                          w xY w)Nr   r   )	rB   rE  r5   r   KeyboardInterruptr3  _waitr   r   )r6   exc_typerE   	tracebacks       r.   __exit__zPopen.__exit__D  s   ;;KK;;KK	zz

  ",, ))A-

4+A+A
B *+& *+& IIK * )*& ,, ))A-

4+A+A
B) )*& IIKsH   &C  C
 
	CC E:DE	D# E"D##E0Ec                     | j                   sy | j                   |d| j                  z  t        |        | j	                  |       | j                  t
        t
        j                  |        y y y )Nzsubprocess %s is still running)sourcerr   )_child_createdr2   r0  ResourceWarningru   rt   r   )r6   _maxsize_warns      r.   rl   zPopen.__del__`  si    ""??" 2TXX=!$0 	x0??"w':NN4  (;"r-   c                     t        | d      s7t        j                  t        j                  t        j                        | _        | j
                  S Nr$  )r	  r   rA  devnullO_RDWRr$  r>   s    r.   _get_devnullzPopen._get_devnullo  s0    tZ(GGBJJ		:DM}}r-   c                 r   |r	 | j                   j                  |       	 | j                   j                          y # t        $ r Y 't        $ r)}|j                  t        j
                  k(  rn Y d }~Sd }~ww xY w# t        $ r Y y t        $ r)}|j                  t        j
                  k(  rn Y d }~y d }~ww xY wr1   )r   writeBrokenPipeErrorr  r&  EINVALrE  )r6   r   r   s      r.   _stdin_writezPopen._stdin_writet  s    

  '	JJ #  99,    	 	yyELL( 	s8   ; A: 	A7A7A22A7:	B6B6B11B6c                    	 | j                   r|rt        d      || j                   s| j                  | j                  | j                  gj                  d       dk\  rd }d }| j                  r| j                  |       n| j                  r5| j                  j                         }| j                  j                          n@| j                  r4| j                  j                         }| j                  j                          | j                          ||fS |t               |z   }nd }	 | j                  |||      \  }}	 d| _         | j                  | j                  |            }||fS # t        $ r_ |&t        | j                  | j                  |            }n| j                  }d| _        	 | j!                  |        # t"        $ r Y  w xY ww xY w# d| _         w xY w)Nz.Cannot send input after starting communicationr   r   r   T)r,  r=   r   rB   r5   countr  readrE  r   _time_communicatern  minr3  _remaining_timero  r   )r6   r   rM   rB   r5   endtimesigint_timeoutstss           r.   r   zPopen.communicate  s   	" &&5MNN
 OD$?$?ZZdkk288>!CFFzz!!%())+!!#))+!!#IIK: 7 "'G+3!%!2!25'7!K" /3+))D$8$8$A)BC) %  &%()?)?)-)=)=g)F&HN &*%;%;N)*&JJ~J6  &   /3+s=   (E+ +AG0GG	GGGGG 	Gc                 $    	 | j                         S r1   )ru   r>   s    r.   r   z
Popen.poll  s    	""$$r-   c                 $    	 |y |t               z
  S r1   )r  )r6   r  s     r.   r  zPopen._remaining_time  s    C?UW$$r-   c                     	 |y |st               |kD  rDt        | j                  ||rdj                  |      nd |rdj                  |            d       y )Nr-   r   )r  r   r   r   )r6   r  orig_timeout
stdout_seq
stderr_seqskip_check_and_raises         r.   _check_timeoutzPopen._check_timeout  sg    @?57W#4 II|3=388J/43=388J/I I DHI I $5r-   c                    	 |t               |z   }	 | j                  |      S # t        $ r_ |&t        | j                  | j                              }n| j                  }d| _        	 | j                  |        # t        $ r Y  w xY ww xY w)Nr   r   )r  ro  rn  r  r3  r  r   )r6   rM   r  r  s       r.   r   z
Popen.wait  s    Kg'G	::g:..  	
 "!$T%;%;%)%9%9'%B"D "&!7!7%&D"

>
2  " 	s.   $ AB)A<;B<	BBBBc                    t        | dd       }t        j                         5 }t        ra|dk7  r|j	                  |j
                         |dk7  r|j	                  |j
                         |dk7  r|j	                  |j
                         n|dk7  r*|dk7  r%||k7  r |j	                  t        j                  |       |dk7  r*|dk7  r%||k7  r |j	                  t        j                  |       |dk7  r*|dk7  r%||k7  r |j	                  t        j                  |       | |j	                  t        j                  |       d d d        d| _        y # 1 sw Y   d| _        y xY w)Nr$  r{   T)	r   
contextlib	ExitStackr   callbackrd   r   rE  r4  )	r6   rV  rW  rX  rY  rZ  r[  
devnull_fdstacks	            r.   _close_pipe_fdszPopen._close_pipe_fds  s   
 T:t4
!!# 	5ub=NN7==1r>NN8>>2r>NN8>>2b=X^:8MNN288W5r>gmJ8NNN288X6r>gmJ8NNN288X6%rxx4#	5( '+#)	5( '+#s   DE		Ec              #      K   	 g }	 | y #  t        | d      r|j                  | j                         | `|D ]N  }	 t        r!t	        |t
              r|j                          nt        j                  |       A# t        $ r Y Lw xY w  xY wwrz  )
r	  r   r$  r   r-  r`   rd   r   rE  r  )r6   r\  r]  s      r.   _on_error_fd_closerzPopen._on_error_fd_closer  s     Q	N	tZ(.M !jV&<
  s<   B B0B<A:9B:	BBBBBc                 F   	 |||yd\  }}d\  }}d\  }}	| j                         5 }
|qt        j                  t        j                        }|t        j                  d d      \  }}t        |      }|
j                  |       t        j                  |       n|t        k(  rCt        j                  d d      \  }}t        |      t        |      }}|
j                  ||f       nv|t        k(  r$t        j                  | j                               }nIt        |t              rt        j                  |      }n#t        j                  |j!                               }| j#                  |      }|qt        j                  t        j$                        }|t        j                  d d      \  }}t        |      }|
j                  |       t        j                  |       n|t        k(  rCt        j                  d d      \  }}t        |      t        |      }}|
j                  ||f       nv|t        k(  r$t        j                  | j                               }nIt        |t              rt        j                  |      }n#t        j                  |j!                               }| j#                  |      }|qt        j                  t        j&                        }	|	t        j                  d d      \  }}	t        |	      }	|
j                  |	       t        j                  |       n|t        k(  rCt        j                  d d      \  }}	t        |      t        |	      }	}|
j                  ||	f       n|t(        k(  r|}	nv|t        k(  r$t        j                  | j                               }	nIt        |t              rt        j                  |      }	n#t        j                  |j!                               }	| j#                  |	      }	d d d        ||||||	fS # 1 sw Y   xY w)N)r{   r{   r{   r{   r{   r{   r{   r{   r   )r  rk   GetStdHandler   
CreatePiper`   r   rc   r   r   r   r>  get_osfhandler}  r-  rf   fileno_make_inheritabler   r   r   )r6   r   rB   r5   rV  rW  rX  rY  rZ  r[  err_close_fds_s               r.   r=  zPopen._get_handles7  s    }FN/ &GX &GX &GX))+ =<}=%2273K3KLG%,%7%7a%@
"(/%,,W5++A.d](/(:(:4(C%GX(.w9IXG!(('8)<=g%$2243D3D3FGGs+$2259G %225<<>BG009>&33G4M4MNH'&-&8&8q&A8#)(#3%,,X6++A.t^(/(:(:4(C%GX(.w9IXG!(('8)<=w&%33D4E4E4GHH,%33F;H  &33FMMODH11(;>&33G4L4LMH'&-&8&8q&A8#)(#3%,,X6++A.t^(/(:(:4(C%GX(.w9IXG!(('8)<=v%'Hw&%33D4E4E4GHH,%33F;H  &33FMMODH11(;{=<~ XXX' '=< =<s   OPP c                     	 t        j                  t        j                         |t        j                         ddt         j                        }t	        |      S )Nr   r   )rk   DuplicateHandleGetCurrentProcessDUPLICATE_SAME_ACCESSr`   )r6   handlehs      r.   r  zPopen._make_inheritable  sH    D''))+V))+Q--/A !9r-   c                     	 t        |D ch c]2  }|dz  dk7  s&t        j                  |      t        j                  k7  r|4 c}      S c c}w )N   )r]   rk   GetFileTypeFILE_TYPE_CHAR)r6   rZ   r  s      r.   _filter_handle_listzPopen._filter_handle_list  sX    A k 4F"SLC/#//7#223   4 5 5 4s   7A	c                    	 t        |t              rnit        |t              r|
rt        d      t	        |g      }n?t        |t
        j                        r|
rt        d      t	        |g      }nt	        |      }|t        j                  |      }|t               }n|j                         }d|||fv}|r8|xj                  t        j                  z  c_
        ||_        ||_        ||_        |j                   }t#        |xr d|v xr |d         }|s|r|r|	i x}|_        t%        |j'                  dg             x}|d<   |r#|t)        |      t)        |      t)        |      gz  }| j+                  |      |d d  |r|st-        j.                  dt0               d}|
r|xj                  t        j2                  z  c_
        t        j4                  |_        |st
        j8                  j'                  d      }|skt
        j8                  j'                  dd	      }t
        j:                  j=                  |d
d      }t
        j:                  j?                  |      stA        d      t
        j:                  j?                  |      r|}n|}djC                  ||      }|t        j                  |      }tE        jF                  d||||       	 t        jH                  ||d d t)        |       |	|||	      \  }}} }!| jK                  ||||||       d| _&        tO        |      | _(        | | _)        t        jT                  |       y # | jK                  ||||||       w xY w)Nz$bytes args is not allowed on Windows0path-like args is not allowed when shell is truer{   rZ   z?startupinfo.lpAttributeList['handle_list'] overriding close_fdsFComSpec
SystemRootr   System32zcmd.exez:shell not found: neither %ComSpec% nor %SystemRoot% is setz
{} /c "{}"subprocess.PopenT)+r-  r5  bytesr.  r   r   PathLiker   r&   r\   rS   rk   r   rT   rU   rV   rX   r1  r]   r   rf   r  r   r   r/  r   r   rW   environpathr   isabsFileNotFoundErrorr   rv   auditCreateProcessr  ru  r`   _handler0  rc   )"r6   r   rG  rH  rI  rP  rJ  rK  rL  rM  r   rV  rW  rX  rY  rZ  r[  unused_restore_signals
unused_gidunused_gids
unused_uidunused_umaskunused_start_new_sessionunused_process_groupuse_std_handlesattribute_listhave_handle_listrZ   comspecsystem_roothphtr0  tids"                                     r.   rC  zPopen._execute_child  s6    7 $$D%(#$JKK#TF+D"++.# %4 5 5#TF+#D)%[[4
 ")m *..0 (H(EEO##w'C'CC#(/%)1&(0%(88N#N %B$1^$C%B$2=$A C
  O	!)CEEN[%@++M2>?@n]; #CL#h-X#OOK!%!9!9+!FA$  '=>LN !&I##w'C'CC#*1//'! !jjnnY7G"&(jjnn\2&F"$'',,{J	"R!ww}}W5"34p"qqww}}W-%,
(G#**GT:kk#&II(*dCE8#*#8#8T)-t),]);)6),),)4$6 BS $$Wh%,h%,h8
 #'D!":DLDH# $$Wh%,h%,h8s   ,M Mc                     	 | j                   - || j                  d      |k(  r || j                        | _         | j                   S Nr   )r2   r  )r6   rs   _WaitForSingleObject_WAIT_OBJECT_0_GetExitCodeProcesss        r.   ru   zPopen._internal_poll  s@     &'a8NJ&9$,,&GDO??"r-   c                 `   	 |t         j                  }n|dk  rd}nt        |dz        }| j                  mt        j                  | j
                  |      }|t         j                  k(  rt        | j                  |      t        j                  | j
                        | _        | j                  S )Nr   i  )
rk   INFINITErf   r2   WaitForSingleObjectr  WAIT_TIMEOUTr   r   GetExitCodeProcess)r6   rM   timeout_millisr   s       r.   ro  zPopen._wait,  s    ?!(!1!1A!"!$Wt^!4& 44T\\5CEW111(G<<")"<"<T\\"J??"r-   c                 b    |j                  |j                                |j                          y r1   )r   r  rE  )r6   fhbuffers      r.   _readerthreadzPopen._readerthread>  s    MM"'')$HHJr-   c                    | j                   rzt        | d      sng | _        t        j                  | j
                  | j                   | j                  f      | _        d| j                  _        | j                  j                          | j                  rzt        | d      sng | _
        t        j                  | j
                  | j                  | j                  f      | _        d| j                  _        | j                  j                          | j                  r| j                  |       | j                   Z| j                  j                  | j                  |             | j                  j!                         rt#        | j$                  |      | j                  Z| j                  j                  | j                  |             | j                  j!                         rt#        | j$                  |      d }d }| j                   r&| j                  }| j                   j'                          | j                  r&| j                  }| j                  j'                          |r|d   nd }|r|d   nd }||fS )N_stdout_buff)targetr   T_stderr_buffr   )rB   r	  r  r(  Threadr  stdout_threaddaemonstartr5   r  stderr_threadr   r  r   r  is_aliver   r   rE  )r6   r   r  r  rB   r5   s         r.   r  zPopen._communicateC  s     {{74#@$&!!((0B0B/3{{D<M<M.NP " -1"")""((*{{74#@$&!!((0B0B/3{{D<M<M.NP " -1"")""((*zz!!%(
 {{&""''(<(<W(EF%%..0(LAA{{&""''(<(<W(EF%%..0(LAA FF{{**!!#{{**!!# #)VAYdF"(VAYdFF##r-   c                    	 | j                   y |t        j                  k(  r| j                          y |t        j                  k(  r/t        j                  | j                  t        j                         y |t        j                  k(  r/t        j                  | j                  t        j                         y t        dj                  |            )NzUnsupported signal: {})r2   r;   SIGTERM	terminateCTRL_C_EVENTr   r   r0  CTRL_BREAK_EVENTr=   r   r6   sigs     r.   send_signalzPopen.send_signalu  s    /*fnn$ +++&"5"56///&"9"9: !9!@!@!EFFr-   c                     	 | j                   y 	 t        j                  | j                  d       y # t        $ r= t        j
                  | j                        }|t        j                  k(  r || _         Y y w xY w)Nr   )r2   rk   TerminateProcessr  PermissionErrorr  STILL_ACTIVE)r6   rcs     r.   r  zPopen.terminate  sh    )*%((q9" % //=---"$%s    1 AA76A7c                 h   	 d\  }}d\  }}d\  }}	| j                         5 }
|n|t        k(  ryt        j                         \  }}|
j	                  ||f       | j
                  dkD  r}t        t        d      rmt        j                  |t        j                  | j
                         n=|t        k(  r| j                         }n#t        |t              r|}n|j                         }|n|t        k(  ryt        j                         \  }}|
j	                  ||f       | j
                  dkD  r}t        t        d      rmt        j                  |t        j                  | j
                         n=|t        k(  r| j                         }n#t        |t              r|}n|j                         }|n|t        k(  ryt        j                         \  }}	|
j	                  ||	f       | j
                  dkD  rt        t        d      rt        j                  |	t        j                  | j
                         nm|t        k(  r'|dk7  r|}	n\t        j                   j                         }	n=|t        k(  r| j                         }	n#t        |t              r|}	n|j                         }	d d d        ||||||	fS # 1 sw Y   xY w)Nr  r   F_SETPIPE_SZr{   )r  r   r   piper   r  r	  fcntlr  r   r}  r-  rf   r  r   rv   
__stdout__)r6   r   rB   r5   rV  rW  rX  rY  rZ  r[  r  s              r.   r=  zPopen._get_handles  sG    !'GX &GX &GX))+ 1/}=d](*	%GX!(('8)<=}}q(WUN-KHe.@.@$--Pg%"//1Gs+#G $llnG>t^(*	%GX!(('8)<=}}q(WUN-KHe.@.@$--Pw&#002H,%H  &}}H>t^(*	%GX!(('8)<=}}q(WUN-KHe.@.@$--Pv%2~#+#&>>#8#8#:w&#002H,%H  &}}Hc1/f XXX' 'g1/ 1/s   I7J((J1c                    	 |t         j                  }i }|r3g }dD ]'  }t        t        |d       }||j	                  |       ) ||d<   g }|||	fD ])  }|dk7  s	|j	                  t         j
                  |f       + |df|df|
dffD ]-  \  }}|dk7  s|j	                  t         j                  ||f       / |r||d<   t        j                  |||fi || _        d| _	        | j                  |||||	|
       y )	N)SIGPIPESIGXFZSIGXFSZ	setsigdefr{   r   r   r   file_actionsT)r   r  r   r;   r   POSIX_SPAWN_CLOSEPOSIX_SPAWN_DUP2r  r0  ru  r  )r6   r   rG  rK  rN  rV  rW  rX  rY  rZ  r[  r   sigsetsignamesignumr  r]  fd2s                     r.   _posix_spawnzPopen._posix_spawn  s8    :{jjF? .G$VWd;F)f-. '-{#L'2 D8 '')=)=r(BCD !11 HC
 8 '')<)<b#(FGH )5~&~~j$FvFDH"&D  (!((!((4r-   c                 ^	   	 t        |t        t        f      r|g}n6t        |t        j                        r|
rt        d      |g}nt        |      }|
r"t        t        d      rdnd}|dg|z   }r|d<   |d   t        j                  d|||       t        rrt        j                  j                        rS|Q|sO|sM|K|dk(  s|d	kD  rA|dk(  s|d	kD  r7|dk(  s|d	kD  r-|s+|dk(  r&|$|"| |dk  r| j                  |||||||||
       y }t        j                         \  }}g }|d
k  r,|j                  |       t        j                   |      }|d
k  r,|D ]  }t        j"                  |        	 	 |ig }|j%                         D ]S  \  }} t        j&                  |      }d|v rt)        d      |j                  |dz   t        j&                  |       z          U nd }t        j&                        t        j                  j                        rf}!n't+        fdt        j,                  |      D              }!t/        |      }"|"j1                  |       t3        ||!|t+        t5        t7        t8        |"                  ||||||||||||||||||t:              | _        d| _        t        j"                  |       | jA                  ||||||       tC               }#	 t        jD                  |d      }$|#|$z  }#|$rtG        |#      dkD  rn-	 t        j"                  |       |#r	 t        jH                  | j<                  d      \  }%}&|%| j<                  k(  r| jK                  |&       nt        jL                  | _'        	 |#jS                  dd	      \  }'}(})|)jU                         })tY        tZ        |'jU                  d      t\              }*t_        |*t`              rS|(rQt9        |(d      }+|)dk(  rd})|},n|)dk(  rd})d },n|},|+dk7  rt        jb                  |+      })|,
 |*|+|)|,       |*|+|)       |*|)      y # t        j"                  |       w xY w# t        j"                  |       w xY w# tP        $ r Y w xY w# t(        $ r! d}'d}(djW                  t        |#            })Y w xY w)Nr  getandroidapilevelz/system/bin/shz/bin/shz-cr   r  r{   r   r     =z!illegal environment variable namec              3      K   | ]7  }t         j                  j                  t        j                  |             9 y wr1   )r   r  r   fsencode).0dirrG  s     r.   	<genexpr>z'Popen._execute_child.<locals>.<genexpr>X  s1      0> # GGLLS)9:F0>s   =A TiP     :s   SubprocessError   0z#Bad exception data from child: {!r}ascii   znoexec:chdirr   noexec)2r-  r5  r  r   r  r.  r]   r	  rv   r  _USE_POSIX_SPAWNr  dirnamer  r  r   duprE  r   r  r=   r  get_exec_pathsetadd
_fork_execsortedr   rf   
_USE_VFORKr0  ru  r  	bytearrayr  r   waitpid_handle_exitstatusrw   r2   ChildProcessErrorr  rh  r   r   builtinsr   
issubclassr  strerror)-r6   r   rG  rH  rI  rP  rJ  rK  rL  rM  r   rV  rW  rX  rY  rZ  r[  rN  rQ  rR  rU  r  rO  r  
unix_shellorig_executableerrpipe_readerrpipe_writelow_fds_to_closelow_fdenv_listkr   executable_listfds_to_keeperrpipe_datapartr0  r  exception_name	hex_errnoerr_msgchild_exception_type	errno_numerr_filenames-     `                                          r.   rC  zPopen._execute_child  s    2$e-vD"++.# %4 5 5vDz "#';< /BK "D)D0(DG!!!W
II(*dCE 
3"*%$ B'A+!R8a<!R8a<-%+	!!$
C")8")8")85 (O
 +-'')'L-!!# ''6 "} 5  !# + ! !7'&, #%$'IIK GDAq "AA#qy&01T&U U$OOAHr{{1~,EF	G $(!#Z!8Jwwz2+5- +0 0>')'7'7'<0> +> #&h-KOOM2) /%uVC[4I-J'K#Xw#X(-+->)3c5&
	 4DH +/D' HH]+$$Wh%,h%,h8  ){77<7D D(L3|#4u#<	   &!zz$((A6HCdhh//4*-++7(..tQ7 7NIw
 &nn.G (/ ."7"7"@'()$ 2G< #Ir 2I.0"$'* H,"$'+'6 A~"$++i"8#/29g|TT29gFF*733U % HH]+  & )  " 7%7N $ICJJ"'"57G7sE   9D9P? 2A#Q /AQ3 	&R ?QQ Q03	Q?>Q?'R,+R,c                 N    	  ||      r ||       | _         y  ||      | _         y r1   )r2   )r6   r  _waitstatus_to_exitcode_WIFSTOPPED	_WSTOPSIGs        r.   r!  zPopen._handle_exitstatus  s+     M 3#,S>/"9#">r-   c                 4   	 | j                   | j                  j                  d      sy 	 | j                   &| j                   | j                  j                          S  || j                  |      \  }}|| j                  k(  r| j                  |       | j                  j                          | j                   S | j                   S # t        $ r*}||| _         n|j                  |k(  rd| _         Y d }~`d }~ww xY w# | j                  j                          w xY w)NFr   )r2   r*  acquirereleaser0  r!  r  r&  )r6   rs   _waitpid_WNOHANG_ECHILDr0  r  es           r.   ru   zPopen._internal_poll  s     &))11%8  12# &&..0  ((;HCdhh//4 &&..0??"4??"  	,!-*4G+ +,	, &&..0s/   C 6C 	C8 C3.C; 3C88C; ;Dc                     	 	 t        j                  | j                  |      \  }}||fS # t        $ r | j                  }d}Y ||fS w xY wr  )r   r   r0  r"  )r6   
wait_flagsr0  r  s       r.   	_try_waitzPopen._try_wait  sY    LZZ*=
c : %  hh:s   #* AAc                    	 | j                   | j                   S |6t               |z   }d}	 | j                  j                  d      r	 | j                   '	 | j                  j	                          | j                   S | j                  t        j                        \  }}|| j                  k(  r8| j                  |       	 | j                  j	                          | j                   S 	 | j                  j	                          | j                  |      }|dk  rt        | j                  |      t        |dz  |d      }t        j                  |       &| j                   w| j                  5  | j                   	 d d d        | j                   S | j                  d      \  }}|| j                  k(  r| j                  |       d d d        | j                   w| j                   S # | j                  j	                          w xY w# 1 sw Y   AxY w)NgMb@?Fr   r   g?)r2   r  r*  r=  r>  rE  r   WNOHANGr0  r!  r  r   r   r  timesleep)r6   rM   r  delayr0  r  	remainings          r.   ro  zPopen._wait  s   =*&"'G+ ))11%8	9#: % !..668" ??"/ *.

)CJS#"dhh $ 7 7 < % ..668" ??"+  / !..668 $ 4 4W =I A~,TYY@@	9c:EJJu%! $ oo-++ 9??6!9 ??" &*^^A%6
c $((? 33C89 oo- ??"# !..6689 9s%   	G" <AG" +H4H"G>H
c                 
   | j                   rD| j                  s8	 | j                   j                          |s	 | j                   j	                          d }d }| j                  sQi | _        | j                  rg | j
                  | j                  <   | j                  rg | j
                  | j                  <   | j                  r| j
                  | j                     }| j                  r| j
                  | j                     }| j                  |       | j                  rt        | j                        }t               5 }| j                   r,|r*|j                  | j                   t        j                         | j                  r@| j                  j                  s*|j                  | j                  t        j                          | j                  r@| j                  j                  s*|j                  | j                  t        j                          |j#                         r| j%                  |      }|&|dk  r!| j'                  ||||d       t)        d      |j+                  |      }	| j'                  ||||       |	D ]o  \  }
}|
j,                  | j                   u r| j.                  | j.                  t0        z    }	 | xj.                  t3        j4                  |
j6                  |      z  c_        | j.                  t9        | j                        k\  s|j;                  |
j,                         |
j,                  j	                          |
j,                  | j                  | j                  fv st3        j<                  |
j6                  d      }|s5|j;                  |
j,                         |
j,                  j	                          | j
                  |
j,                     j?                  |       r |j#                         rd d d        | jA                  | j%                  |             |djC                  |      }|djC                  |      }| jD                  rz|;| jG                  || j                  jH                  | j                  jJ                        }|;| jG                  || j                  jH                  | j                  jJ                        }||fS # t        $ r Y w xY w# t        $ r Y w xY w# t        $ r9 |j;                  |
j,                         |
j,                  j	                          Y w xY w# 1 sw Y   @xY w)Nr   T)r  zN_check_timeout(..., skip_check_and_raise=True) failed to raise TimeoutExpired.i   r   r-   )&r   r,  flushr  rE  _fileobj2outputrB   r5   _save_inputr+  
memoryview_PopenSelectorregister	selectorsEVENT_WRITErb   
EVENT_READget_mapr  r  RuntimeErrorselectfileobj_input_offset	_PIPE_BUFr   r  r]  r   
unregisterr  r   r   r   r2  rj  r   r   )r6   r   r  r  rB   r5   
input_viewselectorrM   readykeyeventschunkr   s                 r.   r  zPopen._communicate  sP   zz$"="=JJ$$& 

((* FF ..')$;;8:D((5;;8:D((5{{--dkk:{{--dkk:U#{{'4
! *KX::%%%djj)2G2GH;;t{{'9'9%%dkk93G3GH;;t{{'9'9%%dkk93G3GH&&("227;G*w{++G\,2FAE , G +>? ? %OOG4E''vvN
 (- KV;;$**4$.t/A/A/3/A/AI/M%OE8 $ 2 2bhhsvvu6M M 2
 $(#5#5T[[9I#I$,$7$7$D$'KK$5$5$7 [[T[[$++,FF#%773665#9D#' ( 3 3CKK @ # 1 1 3 00=DDTJ%K! &&(*KX IId227;I< !&)!&) ~~%!55f6:kk6J6J6:kk6H6HJF %!55f6:kk6J6J6:kk6H6HJF F##{ ' 
 + l $3 4 ( 3 3CKK @ # 1 1 34=*K *Ksa   S S( 8FT=:3S8-"T=AT=+BT=	S%$S%(	S54S58>T:6T=9T::T==Uc                    | j                   ru| j                  hd| _        || _        |W| j                  rJ| j                  j	                  | j                   j
                  | j                   j                        | _        y y y y y r  )r   r+  rZ  r2  encoder   r   )r6   r   s     r.   rO  zPopen._save_inputt  sn     zzdkk1%&"#$"&++"4"4TZZ5H5H59ZZ5F5F#HDK *8$ 2zr-   c                     	 | j                          | j                  y 	 t        j                  | j                  |       y # t
        $ r Y y w xY wr1   )r   r2   r   r   r0  ProcessLookupErrorr  s     r.   r  zPopen.send_signal  sF    /" IIK*
#&% s    A 	AAc                 D    	 | j                  t        j                         y r1   )r  r;   r  r>   s    r.   r  zPopen.terminate      V^^,r-   c                 D    	 | j                  t        j                         y r1   )r  r;   SIGKILLr>   s    r.   r   z
Popen.kill  rh  r-   )r{   NNNNNTFNNNNr   TFr,   rG   )Fr1   );r)   r*   r+   ru  r7   rj   r   r   r   r   rI   r   rJ   rj  rl  rr  rv   rw   r   r   rl   r}  r  r   r   r  r  r   r  r  contextmanagerr  r   r=  r  r  rC  rk   r  WAIT_OBJECT_0r  ru   ro  r  r  r  r  r   r  r9  r:  r;  r!  r?  r@  r&  ECHILDrE  rO  r,   r-   r.   r   r     s   6n N4815,0EI129> '+$Tt$b2#B $E$6$67 
 2 2>8  #{{(-- !
2A H%% -2	I.+:  & L	'^	
	5}	$~ -1%,%@%@&44$+$>$>	#"	#$	
0	$d	G	% =	'@%	4Ng	4V 8O+6)2
	? -18!5<< 	#F
	&	#Rc	$L		H	@	-
	-r-   r   )[r#  r&  r@  r   r   rH  r;   rv   r(  r   r  r   r  r   r  r7  __all__r>  r   ModuleNotFoundErrorr
  r%  rk   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r   _posixsubprocessr'   r  r   r?  waitstatus_to_exitcoder9  
WIFSTOPPEDr:  WSTOPSIGr;  rG  r@  rX  rS  	Exceptionr   r   r   r&   rf   r`   r   r[  r	  rn   rQ  SelectSelectorrt   rp   r   r   r   r   r   r   r   r   r   objectr   r   r   r	   r
   r  r  r  r   r,   r-   r.   <module>rw     sQ   D   	  	   
    # 
D J %;;O O O O O NN 	N 	O <::"$";";mmKK	::
"&	 'i &" "J_ 8 : :. , 
C0I
 y.)"//"11  G G 
	
:z$( " "& &* 2 j!2v !2J 5$eCCLCR &*$ @  $D 
E-d $% 
{- {-e  E  Js#   F= G =GGGG