
    -hh]                       S SK r S SKrS SKrS SKrS SKrS SKrS SKrS SKrS SKrS SK	r	S SK
r
S SKJr  S SKr S SKr/ SQr S SKrSr\R(                  S;  r\(       aD  S SKrS SKJrJrJrJrJrJrJrJrJrJ r J!r!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*  \RW                  / SQ5        O*\(       a  S S	K,J-r.   " S
 S5      r/O
 " S S5      r/S SK0r0S SK1r1 " S S\25      r3 " S S\35      r4 " S S\35      r5\(       a   " S S5      r6 " S S\75      r8O1\9" \0SS5      r:\;" \1S5      (       a  \1Rx                  r=O\1R|                  r=\(       a  Sr?S r@O/ r?S r@SrASrBSrCS rDS  rES! rFSS".S# jrGS$ rHSS".S% jrI " S& S'\J5      rKSSSSS(.S) jrLS* rMSSS+.S, jrNSSS+.S- jrOS. rP\P" 5       rQSrR\;" \S/5      rS " S0 S15      rTg! \ a    Sr GNf = f! \ a    Sr GNf = f)2    N)	monotonic)PopenPIPESTDOUTcall
check_callgetstatusoutput	getoutputcheck_outputrunCalledProcessErrorDEVNULLSubprocessErrorTimeoutExpiredCompletedProcessTF>   iostvoswasiwatchos
emscripten)CREATE_NEW_CONSOLECREATE_NEW_PROCESS_GROUPSTD_INPUT_HANDLESTD_OUTPUT_HANDLESTD_ERROR_HANDLESW_HIDESTARTF_USESTDHANDLESSTARTF_USESHOWWINDOWSTARTF_FORCEONFEEDBACKSTARTF_FORCEOFFFEEDBACK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   r   r    STARTUPINFOr!   r"   r#   r$   r%   r&   r'   r(   r)   r*   )	fork_execc                       \ rS rSr\R
                  r\R                  r\R                  r\R                  r\R                  r	\
R                  rSrg)	_del_safel    N)__name__
__module____qualname____firstlineno__oswaitpidwaitstatus_to_exitcode
WIFSTOPPEDWSTOPSIGWNOHANGerrnoECHILD__static_attributes__r0       3/opt/python-3.13.8/usr/lib/python3.13/subprocess.pyr.   r.   l   s;    jjG%'%>%>"J{{HjjG\\Fr>   r.   c                   @    \ rS rSrSrSrSrSrSr\	R                  r
Srg)r.   t   Nr0   )r1   r2   r3   r4   r6   r7   r8   r9   r:   r;   r<   r=   r0   r>   r?   r.   r.   t   s%    G%)"JHG\\Fr>   c                       \ rS rSrSrg)r      r0   N)r1   r2   r3   r4   r=   r0   r>   r?   r   r      s    $r>   r   c                   X    \ rS rSrSS jrS r\S 5       r\R                  S 5       rSr	g)	r      Nc                 4    Xl         X l        X0l        X@l        g N)
returncodecmdoutputstderr)selfrH   rI   rJ   rK   s        r?   __init__CalledProcessError.__init__   s    $r>   c                 :   U R                   (       aD  U R                   S:  a4  SU R                  < S[        R                  " U R                   * 5      < S3$ SU R                  U R                   4-  $ ! [         a    SU R                  U R                   * 4-  s $ f = f)Nr   	Command 'z' died with .z)Command '%s' died with unknown signal %d.z.Command '%s' returned non-zero exit status %d.)rH   rI   signalSignals
ValueErrorrL   s    r?   __str__CalledProcessError.__str__   s    ??t24&..$//1A"BD D DHHdooG/ / /	  4B4??"2F4 4 44s   3A1 1&BBc                     U R                   $ rG   rJ   rU   s    r?   stdoutCalledProcessError.stdout   s     {{r>   c                     Xl         g rG   rY   rL   values     r?   rZ   r[      	     r>   )rI   rJ   rH   rK   NN
r1   r2   r3   r4   rM   rV   propertyrZ   setterr=   r0   r>   r?   r   r      s8    
/   ]] r>   r   c                   X    \ rS rSrSS jrS r\S 5       r\R                  S 5       rSr	g)	r      Nc                 4    Xl         X l        X0l        X@l        g rG   )rI   timeoutrJ   rK   )rL   rI   rg   rJ   rK   s        r?   rM   TimeoutExpired.__init__   s    r>   c                 @    SU R                   < SU R                  < S3$ )NrP   z' timed out after z seconds)rI   rg   rU   s    r?   rV   TimeoutExpired.__str__   s    4<<) 	*r>   c                     U R                   $ rG   rY   rU   s    r?   rZ   TimeoutExpired.stdout   s    {{r>   c                     Xl         g rG   rY   r]   s     r?   rZ   rl      r_   r>   )rI   rJ   rK   rg   r`   ra   r0   r>   r?   r   r      s8    *   ]] r>   r   c                   2    \ rS rSrSSSSSSS.S jrS rSrg)r+      r   NdwFlags	hStdInput
hStdOutput	hStdErrorwShowWindowlpAttributeListc                d    Xl         X l        X0l        X@l        XPl        U=(       d    S/ 0U l        g )Nhandle_listrp   )rL   rq   rr   rs   rt   ru   rv   s          r?   rM   STARTUPINFO.__init__   s.    "L&N(O&N*#2#I}b6ID r>   c           	          U R                   R                  5       nSU;   a  [        US   5      US'   [        U R                  U R
                  U R                  U R                  U R                  US9$ )Nrx   rp   )	rv   copylistr+   rq   rr   rs   rt   ru   )rL   	attr_lists     r?   r{   STARTUPINFO.copy   sf    ,,113I	)+/	-0H+I	-(t||)-*.//)-+/+;+;/8: :r>   )rq   rt   rr   rs   rv   ru   )r1   r2   r3   r4   rM   r{   r=   r0   r>   r?   r+   r+      s    &'4D#D	J
	:r>   r+   c                   H    \ rS rSrSr\R                  4S jrS rS r	\r
Srg)Handle   Fc                 F    U R                   (       d  SU l         U" U 5        g g )NTclosed)rL   CloseHandles     r?   CloseHandle.Close   s    ;;"D! r>   c                 ^    U R                   (       d  SU l         [        U 5      $ [        S5      e)NTzalready closed)r   intrT   rU   s    r?   DetachHandle.Detach   s&    ;;"4y -..r>   c                 J    SU R                   R                  [        U 5      4-  $ )Nz%s(%d))	__class__r1   r   rU   s    r?   __repr__Handle.__repr__   s     t~~66D	BBBr>   r   N)r1   r2   r3   r4   r   _winapir   r   r   r   __del__r=   r0   r>   r?   r   r      s'    $+$7$7 	"
	/	C r>   r   PIPE_BUFi   PollSelectorc                      g rG   r0   r0   r>   r?   _cleanupr   	  s    r>   c                      [         c  g [         S S   H;  n U R                  [        R                  S9nUc  M%   [         R	                  U 5        M=     g ! [
         a     MM  f = f)N
_deadstate)_active_internal_pollsysmaxsizeremoverT   )instress     r?   r   r     s[    ?AJD%%%=CNN4(	 
 "  s   A
A A c                  x    / n [         R                  R                  nUS:  a  U R                  SSU-  -   5        U $ )Nr   -O)r   flagsoptimizeappend)argsr^   s     r?   "_optim_args_from_interpreter_flagsr   (  s9     DIIEqyC#+%&Kr>   c                  j   SSSSSSS.n [        5       nU R                  5        H=  u  p#[        [        R                  U5      nUS:  d  M'  UR                  S	X4-  -   5        M?     [        R                  R                  (       a  UR                  S
5        O[        R                  R                  (       a  UR                  S5        [        R                  R                  (       a  UR                  S5        [        R                  R                  (       a  UR                  S5        [        R                  S S  n[        [        S0 5      n[        R                  R                  n[        R                  R                  nUS:  a  UR                  S5        OU(       a  UR                  S5        U(       a  UR                  S5        U H  nUR                  SU-   5        M     U(       a  UR                  S5        S H2  nX6;   d  M
  Xc   n	U	SL a  Un
O	U< SU	< 3n
UR                  SU
45        M4     U$ )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utf8gilT=r   )r   itemsgetattrr   r   r   isolatedignore_environmentno_user_site	safe_pathwarnoptionsr   dev_moder   extend)flag_opt_mapr   flagoptr   warnoptsxoptionsr   r   r^   args              r?   _args_from_interpreter_flagsr   2  s      #
L ./D!'')	CIIt$q5KKcg& *
 yyD99''KK99!!KK99KK q!HsK,HII++Myy!!Hq-.	/0	"D3J  M"A?ME}!$e,KKs$A Kr>   c                     [         R                  R                  (       a  [         R                  " 5       n U R                  R
                  nSnU R                  =n (       a5  U R                  R
                  U:w  a  OUS-  nU R                  =n (       a  M5  [        R                  " S[        U5        [         R                  R                  (       a  g[        R                  " 5       $ )N   r   z"'encoding' argument not specified.zutf-8)r   r   warn_default_encoding	_getframef_codeco_filenamef_backwarningswarnEncodingWarning	utf8_modelocalegetencoding)ffilename
stacklevels      r?   _text_encodingr   o  s     yy&&MMO88''
88mamxx##x/!OJ 88mam 	:%z	3 yy!!##r>   rg   c                     [        U0 UD6 n UR                  U S9sS S S 5        $ !   UR                  5         e = f! , (       d  f       g = f)Nr   )r   waitkill)rg   	popenargskwargsps       r?   r   r     sJ     
		$V	$	66'6* 
%	$	FFH 
%	$s   <&9<
A
c                  p    [        U 0 UD6nU(       a$  UR                  S5      nUc  U S   n[        X#5      eg)Nr   r   )r   getr   )r   r   retcoderI   s       r?   r   r     s@     I((Gjj ;A,C ..r>   c                 N   S H  nX2;   d  M
  [        U S35      e   SU;   ag  US   ca  UR                  S5      (       dB  UR                  S5      (       d,  UR                  S5      (       d  UR                  S5      (       a  SnOS	nXBS'   [        U[        U S
S.UD6R                  $ )N)rZ   checkz- argument not allowed, it will be overridden.inputuniversal_newlinestextencodingerrors r>   T)rZ   rg   r   )rT   r   r   r   rZ   )rg   r   r   kwemptys        r?   r   r     s    F "<t#PQRR " &VG_4 ::*++vzz&/A/AVZZPZE[E[::h''EEw	$t  r>   c                   N    \ rS rSrSS jrS r\" \R                  5      r	S r
Srg)r   i  Nc                 4    Xl         X l        X0l        X@l        g rG   )r   rH   rZ   rK   )rL   r   rH   rZ   rK   s        r?   rM   CompletedProcess.__init__  s    	$r>   c                    SR                  U R                  5      SR                  U R                  5      /nU R                  b*  UR	                  SR                  U R                  5      5        U R
                  b*  UR	                  SR                  U R
                  5      5        SR                  [        U 5      R                  SR                  U5      5      $ )Nz	args={!r}zreturncode={!r}zstdout={!r}zstderr={!r}z{}({})z, )	formatr   rH   rZ   r   rK   typer1   join)rL   r   s     r?   r   CompletedProcess.__repr__  s    ""499-!((9;;;"KK,,T[[9:;;"KK,,T[[9:tDz22DIIdODDr>   c                     U R                   (       a6  [        U R                   U R                  U R                  U R                  5      eg rG   )rH   r   r   rZ   rK   rU   s    r?   check_returncode!CompletedProcess.check_returncode  s4    ??$T__dii%)[[2 2 r>   )r   rH   rK   rZ   r`   )r1   r2   r3   r4   rM   r   classmethodtypesGenericAlias__class_getitem__r  r=   r0   r>   r?   r   r     s%    E $E$6$672r>   r   )r   capture_outputrg   r   c                    U b&  UR                  S5      b  [        S5      e[        US'   U(       aA  UR                  S5      c  UR                  S5      b  [        S5      e[        US'   [        US'   [        U0 UD6 n UR	                  XS9u  pxUR                  5       n
U(       a  U
(       a  [        XR                  XxS9eS S S 5        [        WR                  W
WW5      $ ! [
         aO  n	UR                  5         [        (       a  UR	                  5       u  U	l        U	l	        e UR                  5         e S n	A	f  UR                  5         e = f! , (       d  f       N= f)Nstdinz/stdin and input arguments may not both be used.rZ   rK   z@stdout and stderr arguments may not be used with capture_output.r   rJ   rK   )r   rT   r   r   communicater   r   
_mswindowsrZ   rK   r   pollr   r   r   )r   r	  rg   r   r   r   processrZ   rK   excr   s              r?   r   r      sD   < ::g*NOOw::h+vzz(/C/O 4 5 5xx			$V	$	$000HNF& ,,.W$Wll,2C C/ 
%2 GLL'66BB-  	LLNz *1)<)<)>&
CJ
  	LLN) 
%	$s1   =E?C"2E"
E,A
D66EE
Ec                    / nSn[        [        R                  U 5       GH   n/ nU(       a  UR                  S5        SU;   =(       d    SU;   =(       d    U(       + nU(       a  UR                  S5        U H  nUS:X  a  UR                  U5        M  US:X  a5  UR                  S[	        U5      -  S-  5        / nUR                  S5        MW  U(       a  UR                  U5        / nUR                  U5        M     U(       a  UR                  U5        U(       d  M  UR                  U5        UR                  S5        GM#     SR                  U5      $ )	NF 	"\r   z\"r   )mapr5   fsdecoder   lenr   r   )seqresult	needquoter   bs_bufcs         r?   list2cmdliner  F  s   < FI2;;$ MM#CZ<TS[<W	MM#ADya cdS[023e$ MM&)Fa  " MM&!9MM&!MM#C %F 776?r>   r   r   c          	           [        U SS[        XS9nSnUSS  S:X  a  US S nXC4$ ! [         a"  nUR                  nUR                  n S nAN8S nAff = f)NT)shellr   rK   r   r   r   r   
)r   r   r   rJ   rH   )rI   r   r   dataexitcodeexs         r?   r	   r	     sh    *!Ct$v%-> BCyDCRy>  !yy==!s   & 
AAAc                    [        XUS9S   $ )Nr   r   )r	   )rI   r   r   s      r?   r
   r
     s     3&A!DDr>   c                  0   [         (       d  [        [        S5      (       d  g[        R                  R	                  S5      =n S;   a  [        [        U 5      5      $ [        R                  S;   a  g [        R                  " S5      nUR                  SS	9n[        U5      S
:w  a  [        eUS   n[        [        [        US   R                  S5      5      5      n[        R                  S:X  a  US:X  a  US:  a  gg! [        [        [         4 a     gf = f)Nposix_spawnF"_PYTHON_SUBPROCESS_USE_POSIX_SPAWN)01)darwinsunos5TCS_GNU_LIBC_VERSIONr   )maxsplitr   r   rQ   linuxglibc)r      )r  hasattrr5   environr   boolr   r   platformconfstrsplitr  rT   tupler  AttributeErrorOSError)_envverpartslibcversions        r?   _use_posix_spawnrB    s     z]33 DE	E*TCI
||++ jj./		1	%u:?QxCq!456<<7"tw7g;M   J0  s   1B
C= =DDPOSIX_SPAWN_CLOSEFROMc                   B   \ rS rSrSr       S.SSSSSSSSSS.	S jjrS r\" \R                  5      r
\S 5       r\R                  S	 5       rS
 rS rS r\R$                  \R(                  4S jrS rS rS/S jrS rS r S0S jrS1S jrS r\R>                  S 5       r \!(       aG  S r"S r#S r$S r%S\&RN                  \&RP                  \&RR                  4S jr*S r+S r,S r-S r.S  r/\/r0S-r6gS! r"S" r1S# r%\24S$ jr3S\24S% jr*S& r4S' r+S( r-S) r5S* r.S+ r/S, r0S-r6g)2r   i  Fr   N)	usergroupextra_groupsr   r   r   umaskpipesizeprocess_groupc       	         f   [         (       d+  [        [        R                  [        R
                   S35      e[        5         [        R                  " 5       U l	        S U l
        SU l        Uc  Sn[        U[        5      (       d  [        S5      eU[        L a  [!        S5      eUc  Sn[        U[        5      (       d  [        S5      e["        (       a  Ub  [!        S5      eOJU(       a$  U(       d  [$        R&                  " S[(        5        S	nUb  [!        S
5      eUS:w  a  [!        S5      eXl        S U l        S U l        S U l        S U l        S U l        UU l        UU l        UU l        Ub&  Ub#  [=        U5      [=        U5      :w  a  [?        S5      eU=(       d    U=(       d    U=(       d    UU l         U R@                  (       a  Uc  [C        5       =U l        nSU l"        SU l#        U R@                  (       a  US:X  a  S	nSnOSnUc  SnS nUb  [I        [J        S5      (       d  [!        S5      e[        U[L        5      (       a!   SS K'nURS                  U5      RT                  nO;[        U[        5      (       a  UnO#[        SRW                  [Y        U5      5      5      eUS:  a  [!        SU 35      eS nUb  [I        [J        S5      (       d  [!        S5      e[        U[L        5      (       a  [!        S5      e/ nU H  n[        U[L        5      (       a1   SS K'nUR[                  URS                  U5      RT                  5        MI  [        U[        5      (       a  UR[                  U5        Mq  [        SRW                  [Y        U5      5      5      e   U H  n U S:  d  M  [!        SU  35      e   S n!Ub  [I        [J        S5      (       d  [!        S5      e[        U[L        5      (       a!   SS K.n"U"R_                  U5      R`                  n!O#[        U[        5      (       a  Un!O[        S5      eU!S:  a  [!        SU! 35      eU Rc                  XEU5      u  n#n$n%n&n'n(["        (       a  U$S:w  a%  [d        Rf                  " U$Ri                  5       S5      n$U%S:w  a%  [d        Rf                  " U%Ri                  5       S5      n%U'S:w  a%  [d        Rf                  " U'Ri                  5       S5      n' U$S:w  aU  [j        Rl                  " U$SU5      U l        U R@                  (       a'  [j        Rn                  " U R,                  S	WUUS 9U l        U%S:w  aS  [j        Rl                  " U%S!U5      U l        U R@                  (       a%  [j        Rn                  " U R.                  UUS"9U l        U'S:w  aS  [j        Rl                  " U'S!U5      U l        U R@                  (       a%  [j        Rn                  " U R0                  UUS"9U l        U Rq                  XXxUXXU	U#U$U%U&U'U(UUUU!UUU5        g ! [P         a    [!        S5      ef = f! [P         a    [!        S5      ef = f! [P         a    [!        S5      ef = f!   [s        S U R,                  U R.                  U R0                  45       H%  n) U)Ru                  5         M  ! [         a     M#  f = f   U RF                  (       d  / n*U[v        :X  a  U*R[                  U#5        U[v        :X  a  U*R[                  U&5        U[v        :X  a  U*R[                  U(5        [I        U S#5      (       a  U*R[                  U Rx                  5        U* H]  n+ ["        (       a'  [        U+[z        5      (       a  U+R}                  5         M6  [J        Rt                  " U+5        MN  ! [         a     M[  f = f   e = f)$Nz does not support processes.Fr   zbufsize must be an integerz"STDOUT can only be used for stderrz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<  r;   ENOTSUPr   r7  r   	threadingLock_waitpid_lock_input_communication_started
isinstancer   	TypeErrorr   rT   r  r   r   RuntimeWarningr   r  rZ   rK   pidrH   r   r   rI  r6  r   	text_moder   _sigint_wait_secs_closed_child_pipe_fdsr4  r5   strgrpImportErrorgetgrnamgr_gidr   r   r   pwdgetpwnampw_uid_get_handlesmsvcrtopen_osfhandler   ioopenTextIOWrapper_execute_childfiltercloser   rS  r   r   ),rL   r   bufsize
executabler  rZ   rK   
preexec_fn	close_fdsr"  cwdenvr   startupinfocreationflagsrestore_signalsstart_new_sessionpass_fdsrE  rF  rG  r   r   r   rH  rI  rJ  rQ  gidrc  gidsextra_group	gid_checkuidrg  p2creadp2cwritec2preadc2pwriteerrreaderrwriter   to_closefds,                                               r?   rM   Popen.__init__1  s$    ~#,,/KL  	
 '^^-&+#?G'3''899VABB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1KK,# %9%+VD,=%>@ @  ,& "	q=$'H%TUU " 2z**  "8 9 9 D#&&J ll4(//D#&& EFFQw #CC5!IJJ& #//v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 * (# +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  J ..D=OOG,T>OOH-T>OOH-4,,OODMM2"B%:*R*@*@HHJHHRL"  # s   X X2+Y (D0Y$ X/2YY!$2^0Z)'^0)
Z73^06Z77B^00^^0^^0
^*&^0)^**^0c                     SU R                   R                   SU R                   SU R                  < S3n[	        U5      S:  a  US S S-   nU$ )N<z: returncode: z args: >P   L   z...>)r   r1   rH   r   r  )rL   obj_reprs     r?   r   Popen.__repr__5  s]    ''( )??+7499-qB 	 x=2}v-Hr>   c                     U R                   $ rG   )r_  rU   s    r?   r   Popen.universal_newlines@  s     ~~r>   c                 $    [        U5      U l        g rG   )r6  r_  )rL   r   s     r?   r   r  F  s    01r>   c                 h    UR                  X#5      nUR                  SS5      R                  SS5      $ )Nz
r#  )decodereplace)rL   r$  r   r   s       r?   _translate_newlinesPopen._translate_newlinesJ  s.    {{8,||FD)11$==r>   c                     U $ rG   r0   rU   s    r?   	__enter__Popen.__enter__N  s    r>   c                    U R                   (       a  U R                   R                  5         U R                  (       a  U R                  R                  5          U R                  (       a  U R                  R                  5         U[        :X  a2  U R
                  S:  a   U R                  U R
                  S9  SU l        g U R                  5         g ! [         a     N%f = f! U[        :X  aE  U R
                  S:  a+   U R                  U R
                  S9  O! [         a     Of = fSU l           g U R                  5         f = f)Nr   r   )	rZ   rr  rK   r  KeyboardInterruptr`  _waitr   r   )rL   exc_typer^   	tracebacks       r?   __exit__Popen.__exit__Q  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                     U R                   (       d  g U R                  c  U" SU R                  -  [        U S9  U R	                  US9  U R                  c  [
        b  [
        R                  U 5        g g g )Nzsubprocess %s is still running)sourcer   )_child_createdrH   r^  ResourceWarningr   r   r   )rL   _maxsize_warns      r?   r   Popen.__del__m  si    ""??" 2TXX=!$0 	x0??"w':NN4  (;"r>   c                     [        U S5      (       d8  [        R                  " [        R                  [        R                  5      U l        U R
                  $ NrS  )r4  r5   rn  devnullO_RDWRrS  rU   s    r?   _get_devnullPopen._get_devnull|  s3    tZ((GGBJJ		:DM}}r>   c                    U(       a   U R                   R                  U5         U R                   R                  5         g ! [         a     N([         a)  nUR                  [        R
                  :X  a   S nANTe S nAff = f! [         a     g [         a)  nUR                  [        R
                  :X  a   S nAg e S nAff = frG   )r  writeBrokenPipeErrorr<  r;   EINVALrr  )rL   r   r  s      r?   _stdin_writePopen._stdin_write  s    

  '	JJ #  99,   	 	yyELL(		sF   A  B  
A>	A>A98A99A>
B?	B?B:9B::B?c                 ,   U R                   (       a  U(       a  [        S5      eUGc  U R                   (       d  U R                  U R                  U R                  /R                  S 5      S:  a  S nS nU R                  (       a  U R                  U5        OU R                  (       a5  U R                  R                  5       nU R                  R                  5         OEU R                  (       a4  U R                  R                  5       nU R                  R                  5         U R                  5         X44$ Ub  [        5       U-   nOS n U R                  XU5      u  p4 SU l          U R                  U R                  U5      S9nX44$ ! [         a^    Ub&  [        U R                  U R                  U5      5      nOU R                  nSU l         U R!                  US9  e ! ["         a     e f = ff = f! SU l         f = f! ["         a  nX(l        e S nAff = f)Nz.Cannot send input after starting communicationr   r   r   T)rZ  rT   r  rZ   rK   countr  readrr  r   _time_communicater  minr`  _remaining_timer  r   rg   )	rL   r   rg   rZ   rK   endtimesigint_timeoutstsr  s	            r?   r  Popen.communicate  s   $ &&5MNN
 OD$?$?ZZdkk288>!CFFzz!!%())+!!#))+!!#IIK@ = "'G+3!%!2!257!K" /3+ii(<(<W(EiF
 / %  &%()?)?)-)=)=g)F&HN &*%;%;N)*&JJ~J6  &   /3+ " %sU   F %G= AG.GG.
G*'G.)G**G..G1 1	G:=
HHHc                 "    U R                  5       $ rG   )r   rU   s    r?   r  
Popen.poll  s     ""$$r>   c                 $    Uc  g U[        5       -
  $ rG   )r  )rL   r  s     r?   r  Popen._remaining_time  s    ?UW$$r>   c                     Uc  g U(       d  [        5       U:  aH  [        U R                  UU(       a  SR                  U5      OS U(       a  SR                  U5      S9eS S9eg )Nr>   r  )r  r   r   r   )rL   r  orig_timeout
stdout_seq
stderr_seqskip_check_and_raises         r?   _check_timeoutPopen._check_timeout  sf     ?57W#4 II|3=388J/43=388J/I I DHI I $5r>   c                    Ub  [        5       U-   n U R                  US9$ ! [         a^    Ub&  [        U R                  U R                  W5      5      nOU R                  nSU l         U R                  US9  e ! [         a     e f = ff = f)Nr   r   )r  r  r  r  r`  r  r   )rL   rg   r  r  s       r?   r   
Popen.wait  s    g'G	::g:..  	
 "!$T%;%;%)%9%9'%B"D "&!7!7%&D"

>
2  " 	s.   ! AB	(A87B	8
BB	BB	c                    [        U SS 5      n[        R                  " 5        n[        (       ad  US:w  a  UR	                  UR
                  5        US:w  a  UR	                  UR
                  5        US:w  a  UR	                  UR
                  5        OUS:w  a+  US:w  a%  X:w  a   UR	                  [        R                  U5        US:w  a+  US:w  a%  XG:w  a   UR	                  [        R                  U5        US:w  a+  US:w  a%  Xg:w  a   UR	                  [        R                  U5        Ub   UR	                  [        R                  U5        S S S 5        SU l        g ! , (       d  f       N= f)NrS  r   T)	r   
contextlib	ExitStackr  callbackr   r5   rr  ra  )	rL   r  r  r  r  r  r  
devnull_fdstacks	            r?   _close_pipe_fdsPopen._close_pipe_fds  s   
 T:t4
!!#uzb=NN7==1r>NN8>>2r>NN8>>2b=X^8MNN288W5r>gm8NNN288X6r>gm8NNN288X6%rxx4# $( '+#) $#s   D&E
E'c              #   H  #    / n Uv   g !   [        U S5      (       a  UR                  U R                  5        U ?U H]  n [        (       a'  [	        U[
        5      (       a  UR                  5         M6  [        R                  " U5        MN  ! [         a     M[  f = f   e = f7fr  )
r4  r   rS  r  r[  r   r   r5   rr  r<  )rL   r  r  s      r?   _on_error_fd_closerPopen._on_error_fd_closer/  s      	N	tZ((.M!zjV&<&<
   sI   B" B"5B0B1B3B	B
BBBBB"c                    Uc  Uc  Uc  gSu  pESu  pgSu  pU R                  5        n
Ucs  [        R                  " [        R                  5      nUcK  [        R                  " S S5      u  pK[        U5      nU
R                  U5        [        R                  " U5        OU[        :X  aA  [        R                  " S S5      u  pE[        U5      [        U5      pTU
R                  XE45        OU[        :X  a%  [        R                  " U R                  5       5      nOP[        U[        5      (       a  [        R                  " U5      nO$[        R                  " UR!                  5       5      nU R#                  U5      nUcs  [        R                  " [        R$                  5      nUcK  [        R                  " S S5      u  p[        U5      nU
R                  U5        [        R                  " U5        OU[        :X  aA  [        R                  " S S5      u  pg[        U5      [        U5      pvU
R                  Xg45        OU[        :X  a%  [        R                  " U R                  5       5      nOP[        U[        5      (       a  [        R                  " U5      nO$[        R                  " UR!                  5       5      nU R#                  U5      nUcs  [        R                  " [        R&                  5      n	U	cK  [        R                  " S S5      u  p[        U	5      n	U
R                  U	5        [        R                  " U5        OU[        :X  aA  [        R                  " S S5      u  p[        U5      [        U	5      pU
R                  X45        OU[(        :X  a  Un	OU[        :X  a%  [        R                  " U R                  5       5      n	OP[        U[        5      (       a  [        R                  " U5      n	O$[        R                  " UR!                  5       5      n	U R#                  U	5      n	S S S 5        XEXgX4$ ! , (       d  f       N= f)N)r   r   r   r   r   r   r   r   r   )r  r   GetStdHandler   
CreatePiper   r   r   r   r   r   rk  get_osfhandler  r[  r   fileno_make_inheritabler   r   r   )rL   r  rZ   rK   r  r  r  r  r  r  err_close_fds_s               r?   rj  Popen._get_handlesG  sh    }FN/ &G &G &G))+}=%2273K3KLG%,%7%7a%@
"(/%,,W5++A.d](/(:(:4(C%G(.w9IX!((')<=g%$2243D3D3FGGs++$2259G %225<<>BG009>&33G4M4MNH'&-&8&8q&A#)(#3%,,X6++A.t^(/(:(:4(C%G(.w9IX!((')<=w&%33D4E4E4GHH,,%33F;H  &33FMMODH11(;>&33G4L4LMH'&-&8&8q&A#)(#3%,,X6++A.t^(/(:(:4(C%G(.w9IX!((')<=v%'Hw&%33D4E4E4GHH,,%33F;H  &33FMMODH11(;{ ,~ ' ' ,+s   PP55
Qc                     [         R                  " [         R                  " 5       U[         R                  " 5       SS[         R                  5      n[	        U5      $ )Nr   r   )r   DuplicateHandleGetCurrentProcessDUPLICATE_SAME_ACCESSr   )rL   handlehs      r?   r  Popen._make_inheritable  sE    ''))+V))+Q--/A !9r>   c                     [        U Vs1 s H8  nUS-  S:w  d*  [        R                  " U5      [        R                  :w  d  M6  UiM:     sn5      $ s  snf )N   )r|   r   GetFileTypeFILE_TYPE_CHAR)rL   rx   r  s      r?   _filter_handle_listPopen._filter_handle_list  sV     k 4kF"SLC/#//7#223  k 4 5 5 4s   5AAc                    [        U[        5      (       a  O}[        U[        5      (       a  U
(       a  [        S5      e[	        U/5      nOI[        U[
        R                  5      (       a  U
(       a  [        S5      e[	        U/5      nO[	        U5      nUb  [
        R                  " U5      nUc  [        5       nOUR                  5       nSXU4;  nU(       a6  U=R                  [        R                  -  sl
        Xl        Xl        UUl        UR                   n[#        U=(       a    SU;   =(       a    US   5      nU(       d  U(       a  U(       a  Uc	  0 =nUl        [%        UR'                  S/ 5      5      =nUS'   U(       a#  U[)        U5      [)        U5      [)        U5      /-  nU R+                  U5      US S & U(       a$  U(       d  [,        R.                  " S[0        5        SnU
(       Ga  U=R                  [        R2                  -  sl
        [        R4                  Ul        U(       d  [
        R8                  R'                  S5      nU(       dp  [
        R8                  R'                  SS	5      n[
        R:                  R=                  US
S5      n[
        R:                  R?                  U5      (       d  [A        S5      e[
        R:                  R?                  U5      (       a  UnOUnSRC                  UU5      nUb  [
        R                  " U5      n[D        RF                  " SX!Xg5         [        RH                  " X!S S [)        U(       + 5      U	UUU5	      u  nnn n!U RK                  XXUU5        SU l&        [O        U5      U l(        U U l)        [        RT                  " U5        g ! U RK                  XXUU5        f = f)Nz$bytes args is not allowed on Windows0path-like args is not allowed when shell is truer   rx   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[  rb  bytesr\  r  r5   PathLiker  r+   r{   rq   r   r   rr   rs   rt   rv   r6  r|   r   r   r  r   r   r]  r   r   ru   r5  pathr   isabsFileNotFoundErrorr   r   auditCreateProcessr  r  r   _handler^  r   )"rL   r   rt  ru  rv  r}  rw  rx  ry  rz  r"  r  r  r  r  r  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_listrx   comspecsystem_roothphtr^  tids"                                     r?   rp  Popen._execute_child  s-    $$$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5"34p"qqww}}W--%,
(G#**GT:kk#&II(*CE8#*#8#8)-t),]);)6),),)4$6 BS $$W%,%,h8
 #'D!":DLDH# $$W%,%,h8s   20N+ +Oc                     U R                   c.  U" U R                  S5      U:X  a  U" U R                  5      U l         U R                   $ Nr   )rH   r   )rL   r   _WaitForSingleObject_WAIT_OBJECT_0_GetExitCodeProcesss        r?   r   Popen._internal_poll+  s;     &'a8NJ&9$,,&GDO??"r>   c                 j   Uc  [         R                  nOUS::  a  SnO[        US-  5      nU R                  cp  [         R                  " U R
                  U5      nU[         R                  :X  a  [        U R                  U5      e[         R                  " U R
                  5      U l        U R                  $ )Nr   i  )
r   INFINITEr   rH   WaitForSingleObjectr   WAIT_TIMEOUTr   r   GetExitCodeProcess)rL   rg   timeout_millisr  s       r?   r  Popen._wait<  s    !(!1!1A!"!$Wt^!4& 44T\\5CEW111(G<<")"<"<T\\"J??"r>   c                 b    UR                  UR                  5       5        UR                  5         g rG   )r   r  rr  )rL   fhbuffers      r?   _readerthreadPopen._readerthreadN  s    MM"'')$HHJr>   c                 P   U R                   (       a}  [        U S5      (       dl  / U l        [        R                  " U R
                  U R                   U R                  4S9U l        SU R                  l        U R                  R                  5         U R                  (       a}  [        U S5      (       dl  / U l
        [        R                  " U R
                  U R                  U R                  4S9U l        SU R                  l        U R                  R                  5         U R                  (       a  U R                  U5        U R                   b_  U R                  R                  U R                  U5      5        U R                  R!                  5       (       a  [#        U R$                  U5      eU R                  b_  U R                  R                  U R                  U5      5        U R                  R!                  5       (       a  [#        U R$                  U5      eS nS nU R                   (       a&  U R                  nU R                   R'                  5         U R                  (       a&  U R                  nU R                  R'                  5         U(       a  US   OS nU(       a  US   OS nXE4$ )N_stdout_buff)targetr   T_stderr_buffr   )rZ   r4  r$  rV  Threadr!  stdout_threaddaemonstartrK   r&  stderr_threadr  r  r   r  is_aliver   r   rr  )rL   r   r  r  rZ   rK   s         r?   r  Popen._communicateS  s
    {{74#@#@$&!!((0B0B/3{{D<M<M.NP " -1"")""((*{{74#@#@$&!!((0B0B/3{{D<M<M.NP " -1"")""((*zz!!%(
 {{&""''(<(<W(EF%%..00(LAA{{&""''(<(<W(EF%%..00(LAA FF{{**!!#{{**!!# #)VAYdF"(VAYdF##r>   c                    U R                   b  g U[        R                  :X  a  U R                  5         g U[        R                  :X  a0  [
        R                  " U R                  [        R                  5        g U[        R                  :X  a0  [
        R                  " U R                  [        R                  5        g [        SR                  U5      5      e)NzUnsupported signal: {})rH   rR   SIGTERM	terminateCTRL_C_EVENTr5   r   r^  CTRL_BREAK_EVENTrT   r   rL   sigs     r?   send_signalPopen.send_signal  s     *fnn$ +++&"5"56///&"9"9: !9!@!@!EFFr>   c                     U R                   b  g  [        R                  " U R                  S5        g ! [         a>    [        R
                  " U R                  5      nU[        R                  :X  a  e Xl          g f = f)Nr   )rH   r   TerminateProcessr   PermissionErrorr  STILL_ACTIVE)rL   rcs     r?   r0  Popen.terminate  se     *%((q9" % //=---"$%s   !2 AA:9A:c                    Su  pESu  pgSu  pU R                  5        n
Uc  OU[        :X  a  [        R                  " 5       u  pEU
R	                  XE45        U R
                  S:  aE  [        [        S5      (       a0  [        R                  " U[        R                  U R
                  5        OCU[        :X  a  U R                  5       nO([        U[        5      (       a  UnOUR                  5       nUc  OU[        :X  a  [        R                  " 5       u  pgU
R	                  Xg45        U R
                  S:  aE  [        [        S5      (       a0  [        R                  " U[        R                  U R
                  5        OCU[        :X  a  U R                  5       nO([        U[        5      (       a  UnOUR                  5       nUc  OU[        :X  a  [        R                  " 5       u  pU
R	                  X45        U R
                  S:  aE  [        [        S5      (       a0  [        R                  " U	[        R                  U R
                  5        OuU[        :X  a(  US:w  a  Un	Ob[        R                   R                  5       n	OCU[        :X  a  U R                  5       n	O([        U[        5      (       a  Un	OUR                  5       n	S S S 5        XEXgX4$ ! , (       d  f       N= f)Nr  r   F_SETPIPE_SZr   )r  r   r5   piper   rI  r4  fcntlr>  r   r  r[  r   r  r   r   
__stdout__)rL   r  rZ   rK   r  r  r  r  r  r  r  s              r?   rj  r    s8    !'G &G &G))+}=d](*	%G!((')<=}}q(WUN-K-KHe.@.@$--Pg%"//1Gs++#G $llnG>t^(*	%G!((')<=}}q(WUN-K-KHe.@.@$--Pw&#002H,,%H  &}}H>t^(*	%G!((')<=}}q(WUN-K-KHe.@.@$--Pv%2~#+#&>>#8#8#:w&#002H,,%H  &}}Hc ,f ' 'g ,+s   J#K
Kc                 B   0 nU(       a6  / nS H*  n[        [        US 5      nUc  M  UR                  U5        M,     XS'   / nXxU
4 H,  nUS:w  d  M  UR                  [        R                  U45        M.     US4U	S4US44 H0  u  nnUS:w  d  M  UR                  [        R
                  UU45        M2     U(       a!  UR                  [        R                  S45        U(       a  UUS'   [        R                  " X!U40 UD6U l        S	U l	        U R                  XgXX5        g )
N)SIGPIPESIGXFZSIGXFSZ	setsigdefr   r   r   r   r  file_actionsT)r   rR   r   r5   POSIX_SPAWN_CLOSEPOSIX_SPAWN_DUP2rC  r)  r^  r  r  )rL   r   rt  rx  r{  rv  r  r  r  r  r  r  r   sigsetsignamesignumrG  r  fd2s                      r?   _posix_spawnPopen._posix_spawn  s%   
 F?G$VWd;F)f-  @ '-{#L'28 '')=)=r(BC 3 !11C
 8 '')<)<b#(FG ##R%=%=q$AB)5~&~~jFvFDH"&D  !(!(4r>   c                 l
  ^ [        U[        [        45      (       a  U/nO@[        U[        R                  5      (       a  U
(       a  [        S5      eU/nO[        U5      nU
(       a,  [        [        S5      (       a  SOSnUS/U-   nT(       a  TUS'   Tc  US   m[        R                  " STXU5        [        (       a  [        R                  R                  T5      (       ay  Ucv  U(       a  [        (       ad  U(       d]  UcZ  US:X  d  US	:  aN  US:X  d  US	:  aB  US:X  d  US	:  a6  U(       d/  US:X  a)  Uc&  Uc#  Uc   US:  a  U R                  UTUUUXXUU5        g Tn[        R                  " 5       u  nn/ nUS
:  a/  UR!                  U5        [        R"                  " U5      nUS
:  a  M/  U H  n[        R$                  " U5        M       Ubo  / nUR'                  5        HX  u  nn [        R(                  " U5      nSU;   a  [+        S5      eUR!                  US-   [        R(                  " U 5      -   5        MZ     OS n[        R(                  " T5      m[        R                  R                  T5      (       a  T4n!O)[-        U4S j[        R.                  " U5       5       5      n![1        U5      n"U"R3                  U5        [5        UU!U[-        [7        [9        [:        U"5      5      5      UUXXUUUUUUUUUUUU[<        5      U l        SU l         [        R$                  " U5        U RC                  XXUU5        [E        5       n# [        RF                  " US5      n$U#U$-  n#U$(       a  [I        U#5      S:  a  OM5  [        R$                  " U5        U#(       Ga"   [        RJ                  " U R>                  S5      u  n%n&U%U R>                  :X  a  U RM                  U&5        O[        RN                  U l(          U#RU                  SS	5      u  n'n(n)U)RW                  5       n)[[        [\        U'RW                  S5      [^        5      n*[a        U*[b        5      (       a]  U((       aV  [;        U(S5      n+U)S:X  a  Sn)Un,OU)S:X  a  Sn)S n,OUn,U+S:w  a  [        Rd                  " U+5      n)U,b
  U*" U+U)U,5      eU*" U+U)5      eU*" U)5      eg ! [        R$                  " U5        f = f! [        R$                  " U5        f = f! [R         a     GN	f = f! [*         a"    Sn'Sn(SRY                  [        U#5      5      n) GNf = f)Nr  getandroidapilevelz/system/bin/shz/bin/shz-cr   r  r   r   r     =z!illegal environment variable namec              3      >#    U  H9  n[         R                  R                  [         R                  " U5      T5      v   M;     g 7frG   )r5   r  r   fsencode).0dirrt  s     r?   	<genexpr>'Popen._execute_child.<locals>.<genexpr>i  s3      0>'< GGLLS)9:FF'<s   AATiP     :s   SubprocessError   0z#Bad exception data from child: {!r}ascii   znoexec:chdirr   noexec)3r[  rb  r  r5   r  r\  r|   r4  r   r  _USE_POSIX_SPAWNr  dirname_HAVE_POSIX_SPAWN_CLOSEFROMrN  r?  r   duprr  r   rT  rT   r:  get_exec_pathsetadd
_fork_execsortedr  r   
_USE_VFORKr^  r  r  	bytearrayr  r  r6   _handle_exitstatusr   rH   ChildProcessErrorr9  r  r   r   builtinsr   
issubclassr<  strerror)-rL   r   rt  ru  rv  r}  rw  rx  ry  rz  r"  r  r  r  r  r  r  r{  r~  r  r  rH  r|  rJ  
unix_shellorig_executableerrpipe_readerrpipe_writelow_fds_to_closelow_fdenv_listkr   executable_listfds_to_keeperrpipe_datapartr^  r  exception_name	hex_errnoerr_msgchild_exception_type	errno_numerr_filenames-     `                                          r?   rp  r    s    $e--vD"++..# %4 5 5vDz "#';<< /BK "D)D0(DG!!!W
II(*dE  
33"*&*E*E$ B'A+!R8a<!R8a<-%+	!!$
C)")")")85 (O
 +-'')'L-!!# ''6 "} 5  !# +  +7'&, #%$'IIKDAq "AA#qy&01T&U U$OOAHr{{1~,EF	 %0 $(!#Z!8Jwwz22+5- +0 0>')'7'7'<0> +> #&h-KOOM2) /%uVC[4I-J'K#w#X(-+->)3c5&
	 4DH +/D' HH]+$$W%,%,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7sK   ES  A*S AS6 $S6 ;&T  SS S36
TT(T32T3c                     UR                  U5      (       a  UR                  U5      * U l        g UR                  U5      U l        g rG   )r8   r9   rH   r7   )rL   r  r.   s      r?   ri  Popen._handle_exitstatus  s<     ##C((#,#5#5c#:":"+"B"B3"Gr>   c                    U R                   c  U R                  R                  S5      (       d  g  U R                   b&  U R                   U R                  R                  5         $ UR	                  U R
                  UR                  5      u  p4X0R
                  :X  a  U R                  U5        U R                  R                  5         U R                   $ U R                   $ ! [         a9  nUb  Xl          S nANJUR                  UR                  :X  a  SU l          S nANpS nAff = f! U R                  R                  5         f = f)NFr   )rH   rX  acquirereleaser6   r^  r:   ri  r<  r;   r<   )rL   r   r.   r^  r  es         r?   r   r    s    &))11%88  12# &&..0  )009;L;LMHChh//4 &&..0??"4??"  	,!-*4I$4$44 +,	, &&..0s<   C #AC 
D '	D0D# 5!DD# D  D# #D?c                      [         R                  " U R                  U5      u  p#X#4$ ! [         a    U R                  nSn X#4$ f = fr  )r5   r6   r^  rj  )rL   
wait_flagsr^  r  s       r?   	_try_waitPopen._try_wait  sP    ZZ*=
 : %  hh:s   #( AAc                 <   U R                   b  U R                   $ UGb>  [        5       U-   nSn U R                  R                  S5      (       a   U R                   b'   U R                  R	                  5         U R                   $ U R                  [        R                  5      u  pEX@R                  :X  a8  U R                  U5         U R                  R	                  5         U R                   $  U R                  R	                  5         U R                  U5      nUS::  a  [        U R                  U5      e[        US-  US5      n[        R                  " U5        GM.  U R                   cy  U R                     U R                   b   S S S 5        U R                   $ U R                  S5      u  pEX@R                  :X  a  U R                  U5        S S S 5        U R                   c  My  U R                   $ ! U R                  R	                  5         f = f! , (       d  f       NH= f)NgMb@?Fr   r   g?)rH   r  rX  r  r  r  r5   r:   r^  ri  r  r   r   r  timesleep)rL   rg   r  delayr^  r  	remainings          r?   r  r    s   *&"'G+ ))11%88	9#: % !..668" ??"/ *.

)CJS"hh $ 7 7 < % ..668" ??"+  / !..668 $ 4 4W =I A~,TYY@@	9c:EJJu%! $ oo-++??6! , ??" &*^^A%6
 ((? 33C8 , oo- ??"# !..668 ,+s%   G. AG. 5H3H.H

Hc           	         U R                   (       aN  U R                  (       d=   U R                   R                  5         U(       d   U R                   R	                  5         S nS nU R                  (       d[  0 U l        U R                  (       a  / U R
                  U R                  '   U R                  (       a  / U R
                  U R                  '   U R                  (       a  U R
                  U R                     nU R                  (       a  U R
                  U R                     nU R                  U5        U R                  (       a  [        U R                  5      n[        5        nU R                   (       a1  U(       a*  UR                  U R                   [        R                  5        U R                  (       aE  U R                  R                  (       d*  UR                  U R                  [        R                   5        U R                  (       aE  U R                  R                  (       d*  UR                  U R                  [        R                   5        UR#                  5       (       Ga  U R%                  U5      nUb"  US:  a  U R'                  X#XESS9  [)        S5      eUR+                  U5      n	U R'                  X#XE5        U	 GH}  u  pU
R,                  U R                   L a  WU R.                  U R.                  [0        -    n U =R.                  [2        R4                  " U
R6                  U5      -  sl        U R.                  [9        U R                  5      :  a7  UR;                  U
R,                  5        U
R,                  R	                  5         M  M  U
R,                  U R                  U R                  4;   d  M  [2        R<                  " U
R6                  S5      nU(       d5  UR;                  U
R,                  5        U
R,                  R	                  5         U R
                  U
R,                     R?                  U5        GM     UR#                  5       (       a  GM  S S S 5         U RA                  U R%                  U5      S9  Ub  SRG                  U5      nUb  SRG                  U5      nU RH                  (       a|  Ub;  U RK                  UU R                  RL                  U R                  RN                  5      nUb;  U RK                  UU R                  RL                  U R                  RN                  5      nXE4$ ! [         a     GNf = f! [         a     GNf = f! [         a:    UR;                  U
R,                  5        U
R,                  R	                  5          GM  f = f! , (       d  f       GNO= f! [B         a  nX>l"        e S nAff = f)Nr   T)r  zN_check_timeout(..., skip_check_and_raise=True) failed to raise TimeoutExpired.i   r   r>   )(r  rZ  flushr  rr  _fileobj2outputrZ   rK   _save_inputrY  
memoryview_PopenSelectorregister	selectorsEVENT_WRITEr   
EVENT_READget_mapr  r  RuntimeErrorselectfileobj_input_offset	_PIPE_BUFr5   r  r  r  
unregisterr  r   r   r   rg   r   r_  r  r   r   )rL   r   r  r  rZ   rK   
input_viewselectorrg   readykeyeventschunkr$  r  s                  r?   r  r-    s`   zz$"="=JJ$$& 

((* FF ..')$;;8:D((5;;8:D((5{{--dkk:{{--dkk:U#{{'4
!X::%%%djj)2G2GH;;t{{'9'9%%dkk93G3GH;;t{{'9'9%%dkk93G3GH&&(("227;G*w{++G,2AE , G +>? ? %OOG4E''vN
 (-;;$**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 $J ![[T[[$++,FF#%773665#9D#' ( 3 3CKK @ # 1 1 3 00=DDTJ% (-! &&(( "V		$"6"6w"?	@ !&)!&) ~~%!55f6:kk6J6J6:kk6H6HJF %!55f6:kk6J6J6:kk6H6HJF ##A ' 
 + l $3 4 ( 3 3CKK @ # 1 1 3 34= "!Z " *st   T> U %FV'4U 9B V'=BV'(V9 >
UU
UU ?V$V'#V$$V''
V69
WW

Wc                    U R                   (       a{  U R                  cm  SU l        Xl        Ub\  U R                  (       aJ  U R                  R	                  U R                   R
                  U R                   R                  5      U l        g g g g g r  )r  rY  r  r_  encoder   r   )rL   r   s     r?   r  Popen._save_input  sl     zzdkk1%&"#$"&++"4"4TZZ5H5H59ZZ5F5F#HDK *8$ 2zr>   c                     U R                  5         U R                  b  g  [        R                  " U R                  U5        g ! [
         a     g f = frG   )r  rH   r5   r   r^  ProcessLookupErrorr3  s     r?   r5  r6    sC    $ IIK*
#&% s   !A 
AAc                 B    U R                  [        R                  5        g rG   )r5  rR   r/  rU   s    r?   r0  r<         V^^,r>   c                 B    U R                  [        R                  5        g rG   )r5  rR   SIGKILLrU   s    r?   r   
Popen.kill  r  r>   )r  ra  rZ  rS  r  r   rY  r  r`  r&  r$  rX  r   r   r   r^  rI  rH   rK   r+  r  rZ   r(  r_  )r   NNNNNTFNNNNr   TFr0   r`   )FrG   )7r1   r2   r3   r4   r  rM   r   r  r  r  r  rb   r   rc   r  r  r  r   r   r   r   r   r  r  r  r  r  r  r   r  r  contextmanagerr  r  rj  r  r  rp  r   r  WAIT_OBJECT_0r  r   r  r!  r  r5  r0  r   rN  r.   ri  r  r  r=   r0   r>   r?   r   r     s   p N4815,0EI129>B '+$Tt$b2#BH $E$6$67 
 2 2>8  #{{(-- !
2D N%% -2	I.+:  & L	'^	
	5}	$~ -1%,%@%@&44$+$>$>	#"	#$	
0	$d	G	% =	'@&	4Pg	4T 5> 	H -1I 	#D
	&	#Rf	$R		H	@	-
	-r>   r   )Urk  r;   rm  r   r5   r  rR   r   rV  r   r  r   r  r  r@  rd  __all__rk  r  ModuleNotFoundErrorr7  rT  r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r   _posixsubprocessr,   re  r.   r  r  	Exceptionr   r   r   r+   r   r   r   r  r4  r   r  SelectSelectorr   r   r   r   r   r   r   r   r   r   r   objectr   r   r  r	   r
   rB  r^  rg  r`  r   r0   r>   r?   <module>r     s*  V   	  	   
    # 
D J %UU	O 	O 	O 	O 	O 	O NN 
N 
O <	" 	"	" 	"  'i &" "J_ 8 : :. , 
C0I
 y.))"//"11  G G 
	
:z$( " "& &* 2 j!2v !2J 5$eCCLCR &*$ @  $D 
E0j $% 
%b*AB A- A-y  E  Js#   F4 G 4G ?G GG