grthtrhthjhtyjytjytkergtrhtrjytjerhrfhU iÛfª1ã@s€ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddlm Z ddddddd d d d d dddgZ zddl Z ddlZdZWn0ek rÄdZddlZddlZddlZYn‚XddlmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%e  &ddddddddddddd d!d"d#d$d%d&g¡Gd'd„de'ƒZ(Gd(d „d e(ƒZ)Gd)d„de(ƒZ*e�rœGd*d„dƒZ+Gd+d,„d,e,ƒZ-n&e.ed-d.ƒZ/e0ed/ƒ�r¼ej1Z2nej3Z2e�rÖdZ4d0d1„Z5n gZ4d2d1„Z5d3Z6d4Z7d5Z8d6d7„Z9d8d9„Z:dd:œd;d„Z;dd„de>ƒZ?ddddd?œd@d „Z@dAdB„ZAdCd„ZBdDd „ZCdEdF„ZDeDƒZEGdGd„de>ƒZFdS)HéN)Ú monotonicÚPopenÚPIPEÚSTDOUTÚcallÚ check_callÚgetstatusoutputÚ getoutputÚ check_outputÚrunÚCalledProcessErrorÚDEVNULLÚSubprocessErrorÚTimeoutExpiredÚCompletedProcessTF)Ú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_JOBrrrrrrrrÚ STARTUPINFOrrrrrrrr r!r"c@s eZdZdS)rN)Ú__name__Ú __module__Ú __qualname__©r'r'ú//opt/alt/python38/lib64/python3.8/subprocess.pyr`sc@s8eZdZd dd„Zdd„Zedd„ƒZejdd„ƒZdS) r NcCs||_||_||_||_dS©N)Ú returncodeÚcmdÚoutputÚstderr)Úselfr*r+r,r-r'r'r(Ú__init__jszCalledProcessError.__init__cCsh|jrT|jdkrTzd|jt |j ¡fWStk rPd|j|j fYSXnd|j|jfSdS)NrzCommand '%s' died with %r.z)Command '%s' died with unknown signal %d.z.Command '%s' returned non-zero exit status %d.)r*r+ÚsignalZSignalsÚ ValueError©r.r'r'r(Ú__str__ps ÿÿÿzCalledProcessError.__str__cCs|jSr)©r,r2r'r'r(Ústdout|szCalledProcessError.stdoutcCs ||_dSr)r4©r.Úvaluer'r'r(r5�s)NN©r$r%r&r/r3Úpropertyr5Úsetterr'r'r'r(r cs    c@s8eZdZd dd„Zdd„Zedd„ƒZejdd„ƒZdS) rNcCs||_||_||_||_dSr))r+Útimeoutr,r-)r.r+r;r,r-r'r'r(r/�szTimeoutExpired.__init__cCsd|j|jfS)Nz'Command '%s' timed out after %s seconds)r+r;r2r'r'r(r3•s ÿzTimeoutExpired.__str__cCs|jSr)r4r2r'r'r(r5™szTimeoutExpired.stdoutcCs ||_dSr)r4r6r'r'r(r5�s)NNr8r'r'r'r(rˆs   c@s,eZdZdddddddœdd„Zdd„ZdS)r#rN©ÚdwFlagsÚ hStdInputÚ hStdOutputÚ hStdErrorÚ wShowWindowÚlpAttributeListcCs0||_||_||_||_||_|p(dgi|_dS)NÚ handle_listr<)r.r=r>r?r@rArBr'r'r(r/¦s zSTARTUPINFO.__init__cCs@|j ¡}d|kr"t|dƒ|d<t|j|j|j|j|j|d�S)NrCr<) rBÚcopyÚlistr#r=r>r?r@rA)r.Z attr_listr'r'r(rD¯s ûzSTARTUPINFO.copy)r$r%r&r/rDr'r'r'r(r#¥s ÿ c@s2eZdZdZejfdd„Zdd„Zdd„ZeZ dS) ÚHandleFcCs|jsd|_||ƒdS)NT)Úclosed)r.Ú CloseHandler'r'r(ÚClose¿sz Handle.ClosecCs |jsd|_t|ƒStdƒ‚dS)NTzalready closed)rGÚintr1r2r'r'r(ÚDetachÄsz Handle.DetachcCsd|jjt|ƒfS)Nz%s(%d))Ú __class__r$rJr2r'r'r(Ú__repr__ÊszHandle.__repr__N) r$r%r&rGÚ_winapirHrIrKrMÚ__del__r'r'r'r(rF¼s rFZPIPE_BUFiÚ PollSelectorcCsdSr)r'r'r'r'r(Ú_cleanupèsrQc Cs\tdkr dStdd…D]>}|jtjd�}|dk rzt |¡Wqtk rTYqXqdS)N©Ú _deadstate)Ú_activeÚ_internal_pollÚsysÚmaxsizeÚremover1)ÚinstÚresr'r'r(rQñséÿÿÿÿéþÿÿÿéýÿÿÿcCs*g}tjj}|dkr&| dd|¡|S)Nrú-ÚO)rVÚflagsÚoptimizeÚappend)Úargsr7r'r'r(Ú"_optim_args_from_interpreter_flagss rdc CsVdddddddœ}tƒ}| ¡D].\}}ttj|ƒ}|dkr | d ||¡q tjjrd| d ¡n$tjjrv| d ¡tjjrˆ| d ¡tj dd…}tjj }ttd iƒ}d|k}|dkrÆ|  d¡n|rÔ|  d¡|râ|  d¡|D]}| d|¡qæ|�r |  d¡dD]B}||k�r||} | dk�r4|} n d|| f} |  d| f¡�q|S)NÚdÚBÚSÚvÚbÚq)ÚdebugÚdont_write_bytecodeÚno_siteÚverboseÚ bytes_warningÚquietrr^z-Iz-Ez-sÚ _xoptionsÚdevézerror::BytesWarningzdefault::BytesWarningÚdefaultz-W)ú-Xrr)Z faulthandlerÚ tracemallocZ importtimeZshowalloccountZ showrefcountÚutf8Tz%s=%sru) rdÚitemsÚgetattrrVr`rbÚisolatedÚignore_environmentÚ no_user_siteÚ warnoptionsrorXÚextend) Z flag_opt_maprcÚflagÚoptrhZwarnoptsroZxoptionsÚdev_moder7Úargr'r'r(Ú_args_from_interpreter_flagssPø             rƒ©r;c OsLt||Ž�8}z|j|d�WW5QR£S| ¡‚YnXW5QRXdS)Nr„)rÚwaitÚkill)r;Ú popenargsÚkwargsÚpr'r'r(rLs  cOs6t||Ž}|r2| d¡}|dkr(|d}t||ƒ‚dS)Nrcr)rÚgetr )r‡rˆÚretcoder+r'r'r(r]s   cOsbd|krtdƒ‚d|krJ|ddkrJ| d¡s8| d¡r>d}nd}||d<t|t|dd œ|—ŽjS) Nr5z3stdout argument not allowed, it will be overridden.ÚinputÚuniversal_newlinesÚtextÚóT)r5r;Úcheck)r1rŠr rr5)r;r‡rˆÚemptyr'r'r(r ps#ÿc@s&eZdZddd„Zdd„Zdd„ZdS) rNcCs||_||_||_||_dSr))rcr*r5r-)r.rcr*r5r-r'r'r(r/®szCompletedProcess.__init__cCshd |j¡d |j¡g}|jdk r4| d |j¡¡|jdk rP| d |j¡¡d t|ƒjd |¡¡S)Nz args={!r}zreturncode={!r}z stdout={!r}z stderr={!r}z{}({})z, ) Úformatrcr*r5rbr-Útyper$Újoin)r.rcr'r'r(rM´s  ÿ  zCompletedProcess.__repr__cCs |jrt|j|j|j|jƒ‚dSr))r*r rcr5r-r2r'r'r(Úcheck_returncode½sÿz!CompletedProcess.check_returncode)NN)r$r%r&r/rMr–r'r'r'r(r£s  )rŒÚcapture_outputr;r‘c Os |dk r&| d¡dk rtdƒ‚t|d<|r^| d¡dk sF| d¡dk rNtdƒ‚t|d<t|d<t||Ž�¢}z|j||d�\}}Wn^tk rÊ} z,| ¡tr°| ¡\| _| _ n|  ¡‚W5d} ~ XYn| ¡‚YnX|  ¡} |�r| �rt | |j ||d�‚W5QRXt|j | ||ƒS)NÚstdinz/stdin and input arguments may not both be used.r5r-z@stdout and stderr arguments may not be used with capture_output.r„©r,r-)rŠr1rrÚ communicaterr†Ú _mswindowsr5r-r…Úpollr rcr) rŒr—r;r‘r‡rˆZprocessr5r-Úexcr‹r'r'r(r Äs8  ÿcCsèg}d}ttj|ƒD]È}g}|r*| d¡d|kp>d|kp>| }|rN| d¡|D]b}|dkrj| |¡qR|dkr˜| dt|ƒd¡g}| d¡qR|rª| |¡g}| |¡qR|rÄ| |¡|r| |¡| d¡qd |¡S) NFú ú ú"ú\éz\"r�)ÚmapÚosÚfsdecoderbÚlenr~r•)ÚseqÚresultZ needquoter‚Zbs_bufÚcr'r'r(Ú list2cmdline s4         rªc Cslzt|ddtd�}d}Wn.tk rF}z|j}|j}W5d}~XYnX|dd…dkrd|dd…}||fS)NT)ÚshellrŽr-rr[Ú )r rr r,r*)r+ÚdataZexitcodeZexr'r'r(rRs cCs t|ƒdS©Nrs)r)r+r'r'r(r qs c CsªtsttdƒsdStjdkr dSzjt d¡}|jdd�}t|ƒdkrHt‚|d }t t t |d d ¡ƒƒ}tjd krˆ|d krˆ|d krˆWdSWnt tt fk r¤YnXdS)NÚ posix_spawnFÚdarwinTÚCS_GNU_LIBC_VERSIONrs)Úmaxsplitr¢rÚ.ZlinuxZglibc)r¢é)r›Úhasattrr¤rVÚplatformÚconfstrÚsplitr¦r1Útupler£rJÚAttributeErrorÚOSError)ZverÚpartsZlibcÚversionr'r'r(Ú_use_posix_spawn~s      r¾c@s¤eZdZdZdJddddœdd „Zed d „ƒZejd d „ƒZd d„Zdd„Z dd„Z e j e jfdd„Zdd„Zdd„ZdKdd„Zdd„Zdd„ZdLdd „ZdMd!d"„Zd#d$„Ze�rd%d&„Zd'd(„Zd)d*„Zd+d,„Zdejejej fd-d.„Z!d/d0„Z"d1d2„Z#d3d4„Z$d5d6„Z%d7d8„Z&e&Z'nŠd9d&„Zd:d;„Z(d„Z0de)j1e)j2e3j4fd?d.„Z!d@dA„Z5dBd0„Z"dCd4„Z$dDdE„Z6dFd6„Z%dGd8„Z&dHdI„Z'dS)NrFr[NTrr')ÚencodingÚerrorsrŽcCsltƒt ¡|_d|_d|_|dkr(d}t|tƒs:tdƒ‚t rP|dk rˆt dƒ‚n8|rh|sht   dt ¡d}| dk rxt dƒ‚|dkrˆt d ƒ‚||_d|_d|_d|_d|_d|_||_||_|dk rà| dk ràt| ƒt|ƒkràtd ƒ‚| |||¡\}}}}}}t �rN|dk�rt | ¡d¡}|dk�r4t | ¡d¡}|dk�rNt | ¡d¡}|�pb|�pb|�pb| |_d |_d|_|j�r’|d k�rŽd}d}nd}zÖ|dk�rÎt  |d |¡|_|j�rÎtj!|jd|||d�|_|dk�rt  |d|¡|_|j�rtj!|j||d�|_|dk�r:t  |d|¡|_|j�r:tj!|j||d�|_| "|||||| | | || ||||||||¡Wnþt#d|j|j|jfƒD]*}z | $¡Wnt%k �r¬YnX�q†|j�s`g}|t&k�rÒ| '|¡|t&k�ræ| '|¡|t&k�rú| '|¡t(|dƒ�r| '|j)¡|D]H}z*t �r8t|t*ƒ�r8| +¡n t, $|¡Wnt%k �rZYnX�q‚YnXdS)NFr[zbufsize must be an integerz0preexec_fn is not supported on Windows platformszpass_fds overriding close_fds.Tz2startupinfo is only supported on Windows platformsrz4creationflags is only supported on Windows platformszlCannot disambiguate when both text and universal_newlines are supplied but different. Pass one or the other.gÐ?rsÚwb)Ú write_throughÚline_bufferingr¿rÀÚrb)r¿rÀÚ_devnull)-rQÚ threadingZLockÚ _waitpid_lockÚ_inputÚ_communication_startedÚ isinstancerJÚ TypeErrorr›r1ÚwarningsÚwarnÚRuntimeWarningrcr˜r5r-Úpidr*r¿rÀÚboolrÚ _get_handlesÚmsvcrtZopen_osfhandlerKÚ text_modeÚ_sigint_wait_secsÚ_closed_child_pipe_fdsÚioÚopenÚ TextIOWrapperÚ_execute_childÚfilterÚcloser»rrbrµrÅrFrIr¤)r.rcÚbufsizeÚ executabler˜r5r-Ú preexec_fnÚ close_fdsr«ÚcwdÚenvr�Ú startupinfoÚ creationflagsÚrestore_signalsÚstart_new_sessionÚpass_fdsr¿rÀrŽÚp2creadÚp2cwriteÚc2preadÚc2pwriteÚerrreadÚerrwriterÃÚfZto_closeÚfdr'r'r(r/àsä    ÿ þ      þ ÿ ÿ ú            zPopen.__init__cCs|jSr))rÓr2r'r'r(r�~szPopen.universal_newlinescCst|ƒ|_dSr))rÐrÓ)r.r�r'r'r(r�„scCs | ||¡}| dd¡ dd¡S)Nz r¬ú )ÚdecodeÚreplace)r.r­r¿rÀr'r'r(Ú_translate_newlinesˆs zPopen._translate_newlinescCs|Sr)r'r2r'r'r(Ú __enter__ŒszPopen.__enter__cCs�|jr|j ¡|jr |j ¡dz|jr4|j ¡W5|tkr€|jdkrrz|j|jd�Wntk rpYnXd|_£dS| ¡XdS)Nrr„) r5rÛr-ÚKeyboardInterruptrÔÚ_waitrr…r˜)r.Úexc_typer7Ú tracebackr'r'r(Ú__exit__�s    zPopen.__exit__cCsT|js dS|jdkr(|d|jt|d�|j|d�|jdkrPtdk rPt |¡dS)Nzsubprocess %s is still running)ÚsourcerR)Ú_child_createdr*rÏÚResourceWarningrUrTrb)r.Z_maxsizeZ_warnr'r'r(rO«s  ÿ z Popen.__del__cCs"t|dƒst tjtj¡|_|jS)NrÅ)rµr¤r×ÚdevnullÚO_RDWRrÅr2r'r'r(Ú _get_devnullºs zPopen._get_devnullc Cs²|rZz|j |¡WnDtk r(Yn2tk rX}z|jtjkrFn‚W5d}~XYnXz|j ¡WnDtk r|Yn2tk r¬}z|jtjkršn‚W5d}~XYnXdSr))r˜ÚwriteÚBrokenPipeErrorr»ÚerrnoZEINVALrÛ)r.rŒr�r'r'r(Ú _stdin_write¿s"  zPopen._stdin_writec CsT|jr|rtdƒ‚|dkr”|js”|j|j|jg d¡dkr”d}d}|jrT| |¡n6|jrp|j ¡}|j ¡n|jrŠ|j ¡}|j ¡|  ¡n¸|dk r¨t ƒ|}nd}z„z|  |||¡\}}Wnht k �r,|dk ròt |j| |¡ƒ}n|j}d|_z|j|d�Wntk �r$YnX‚YnXW5d|_X|j | |¡d�}||fS)Nz.Cannot send input after starting communicationr¢Trr„)rÉr1r˜r5r-ÚcountrÚreadrÛr…Ú_timeÚ _communicaterôÚminrÔÚ_remaining_timerõr)r.rŒr;r5r-ÚendtimeÚsigint_timeoutÚstsr'r'r(ršØsH ÿ       ÿ zPopen.communicatecCs| ¡Sr))rUr2r'r'r(rœsz Popen.pollcCs|dkr dS|tƒSdSr))r)r.r r'r'r(r"szPopen._remaining_timecCsL|dkr dS|stƒ|krHt|j||r0d |¡nd|r@d |¡ndd�‚dS)Nr�r™)rrrcr•)r.r Ú orig_timeoutZ stdout_seqZ stderr_seqÚskip_check_and_raiser'r'r(Ú_check_timeout*sýzPopen._check_timeoutc CsŠ|dk rtƒ|}z|j|d�WStk r„|dk rLt|j| |¡ƒ}n|j}d|_z|j|d�Wntk r|YnX‚YnXdS)Nr„r)rrõrôrrÔrr)r.r;r r r'r'r(r…6s  ÿz Popen.waitc Csôt|ddƒ}t ¡�Ð}trX|dkr.| |j¡|dkrB| |j¡|dkrÊ| |j¡nr|dkr~|dkr~||kr~| tj|¡|dkr¤|dkr¤||kr¤| tj|¡|dkrÊ|dkrÊ||krÊ| tj|¡|dk rà| tj|¡W5QRXd|_dS)NrÅr[T) ryÚ contextlibÚ ExitStackr›ÚcallbackrIr¤rÛrÕ) r.rçrèrérêrërìZ devnull_fdÚstackr'r'r(Ú_close_pipe_fdsMs$    zPopen._close_pipe_fdsc Cs~|dkr|dkr|dkrdSd\}}d\}}d\}} |dkrtt tj¡}|dkrÜt dd¡\}} t|ƒ}t | ¡nh|tkr t dd¡\}}t|ƒt|ƒ}}n<|tkr¸t  |  ¡¡}n$t |t ƒrÎt  |¡}nt  |  ¡¡}| |¡}|dk�r*t tj¡}|dk�r˜t dd¡\} }t|ƒ}t | ¡nn|tk�rXt dd¡\}}t|ƒt|ƒ}}n@|tk�rrt  |  ¡¡}n&t |t ƒ�rŠt  |¡}nt  |  ¡¡}| |¡}|dk�ræt tj¡} | dk�rdt dd¡\} } t| ƒ} t | ¡n~|tk�rt dd¡\}} t|ƒt| ƒ}} nP|tk�r$|} n@|tk�r>t  |  ¡¡} n&t |t ƒ�rVt  |¡} nt  |  ¡¡} | | ¡} |||||| fS)N)r[r[r[r[r[r[©r[r[r)rNZ GetStdHandlerZ CreatePiperFrHrr rÒZ get_osfhandlerþrÊrJÚfilenoÚ_make_inheritablerrr) r.r˜r5r-rçrèrérêrërìÚ_r'r'r(rÑnst                        þzPopen._get_handlescCs&t t ¡|t ¡ddtj¡}t|ƒS)Nrrs)rNZDuplicateHandleZGetCurrentProcessZDUPLICATE_SAME_ACCESSrF)r.ÚhandleÚhr'r'r(r¶sýzPopen._make_inheritablecCstdd„|DƒƒS)NcSs,h|]$}|d@dks$t |¡tjkr|’qS)é)rNZ GetFileTypeZFILE_TYPE_CHAR)Ú.0rr'r'r(Ú Æs  ÿþz,Popen._filter_handle_list..)rE)r.rCr'r'r(Ú_filter_handle_list¿szPopen._filter_handle_listcCszt|tƒr nNt|tƒr.| r"tdƒ‚t|gƒ}n,t|tjƒrR| rFtdƒ‚t|gƒ}nt|ƒ}|dk rlt |¡}|dkr|tƒ}n|  ¡}d| ||fk}|r¸|j t j O_ | |_ ||_||_|j}t|oÒd|koÒ|dƒ}|sæ|�r^|�r^|dkrøi}|_t| dg¡ƒ}|d<|�r0|t| ƒt|ƒt|ƒg7}| |¡|dd…<|�r^|�sZt dt¡d}| �rì|j t jO_ t j|_|�sÜtj d¡}|�sÈtj dd ¡}tj |d d ¡}tj |¡�sÈt d ƒ‚tj |¡�rà|}n|}d  !||¡}|dk �rt |¡}t" #d||||¡z,t  %||ddt| ƒ| |||¡ \}}}}W5| $| | | |||¡Xd|_&t'|ƒ|_(||_)t  *|¡dS)Nz$bytes args is not allowed on Windowsú0path-like args is not allowed when shell is truer[rCz?startupinfo.lpAttributeList['handle_list'] overriding close_fdsFZComSpecZ SystemRootr�ZSystem32zcmd.exez:shell not found: neither %ComSpec% nor %SystemRoot% is setz {} /c "{}"úsubprocess.PopenT)+rÊÚstrÚbytesrËrªr¤ÚPathLiker¥r#rDr=rNrr>r?r@rBrÐrErŠrJrrÌrÍrÎrrrAÚenvironÚpathr•ÚisabsÚFileNotFoundErrorr“rVÚauditrZ CreateProcessrúrFÚ_handlerÏrH)r.rcrÝrÞrßræràrárârãr«rçrèrérêrërìZunused_restore_signalsZunused_start_new_sessionZuse_std_handlesZattribute_listZhave_handle_listrCZcomspecZ system_rootZhpZhtrÏÚtidr'r'r(rÙÌsž      ÿþ ÿ ÿ    ùþ zPopen._execute_childcCs,|jdkr&||jdƒ|kr&||jƒ|_|jS©Nr)r*r()r.rSZ_WaitForSingleObjectZ_WAIT_OBJECT_0Z_GetExitCodeProcessr'r'r(rUHs  zPopen._internal_pollcCs^|dkrtj}n t|dƒ}|jdkrXt |j|¡}|tjkrJt|j|ƒ‚t  |j¡|_|jS)Niè) rNZINFINITErJr*ÚWaitForSingleObjectr(Z WAIT_TIMEOUTrrcÚGetExitCodeProcess)r.r;Ztimeout_millisr¨r'r'r(rõYs  ÿ  z Popen._waitcCs| | ¡¡| ¡dSr))rbrrÛ)r.ZfhÚbufferr'r'r(Ú _readerthreadiszPopen._readerthreadcCs\|jrBt|dƒsBg|_tj|j|j|jfd�|_d|j_|j ¡|j r„t|dƒs„g|_ tj|j|j |j fd�|_ d|j _|j  ¡|j r”|  |¡|jdk rÆ|j | |¡¡|j ¡rÆt|j|ƒ‚|j dk rø|j  | |¡¡|j  ¡røt|j|ƒ‚d}d}|j�r|j}|j ¡|j �r0|j }|j  ¡|�r>|dnd}|�rP|dnd}||fS)NÚ _stdout_buff)ÚtargetrcTÚ _stderr_buffr)r5rµr/rÆZThreadr.Z stdout_threadZdaemonÚstartr-r1Z stderr_threadr˜rr•rZis_aliverrcrÛ)r.rŒr r r5r-r'r'r(rnsJ ÿÿ  ÿÿ          zPopen._communicatecCsl|jdk rdS|tjkr"| ¡nF|tjkr>t |jtj¡n*|tjkrZt |jtj¡nt d  |¡ƒ‚dS)NzUnsupported signal: {}) r*r0ÚSIGTERMÚ terminateZ CTRL_C_EVENTr¤r†rÏZCTRL_BREAK_EVENTr1r“©r.Zsigr'r'r(Ú send_signal s     zPopen.send_signalcCsX|jdk rdSzt |jd¡Wn2tk rRt |j¡}|tjkrH‚||_YnXdSr®)r*rNZTerminateProcessr(ÚPermissionErrorr,Z STILL_ACTIVE)r.Zrcr'r'r(r4®s   zPopen.terminatec Cs,d\}}d\}}d\}} |dkr"n@|tkr8t ¡\}}n*|tkrJ| ¡}nt|tƒrZ|}n| ¡}|dkrln@|tkr‚t ¡\}}n*|tkr”| ¡}nt|tƒr¤|}n| ¡}|dkr¶nf|tkrÌt ¡\}} nP|tkrî|dkrâ|} n t j  ¡} n.|tk�r| ¡} nt|tƒ�r|} n| ¡} |||||| fS)Nrr[) rr¤Úpiper rþrÊrJrrrVÚ __stdout__) r.r˜r5r-rçrèrérêrërìr'r'r(rÑÃsP        þc Csî|dkrtj}i} |rJg} dD]"} tt| dƒ}|dk r|  |¡q| | d<g}||| fD]}|dkrX| tj|f¡qX|df|df| dffD]"\}}|dkrŒ| tj||f¡qŒ|r¼|| d<tj|||f| Ž|_d|_ |  ||||| | ¡dS) N)ÚSIGPIPEZSIGXFZÚSIGXFSZZ setsigdefr[rrsr¢Ú file_actionsT) r¤r#ryr0rbÚPOSIX_SPAWN_CLOSEÚPOSIX_SPAWN_DUP2r¯rÏrúr)r.rcrÝrárärçrèrérêrërìrˆZsigsetZsignameZsignumr<rîZfd2r'r'r(Ú _posix_spawnùs<  ý þzPopen._posix_spawnc)sÚt|ttfƒr|g}n(t|tjƒr6| r.tdƒ‚|g}nt|ƒ}| rlttdƒrPdnd}|dg|}ˆrlˆ|d<ˆdkr||d‰t  dˆ|||¡t �rtj   ˆ¡�r|dk�r|�s|�s|dk�r| dksÔ| d k�r|dksæ|d k�r|dksø|d k�r|�s|  |ˆ||| | | |||¡ dSˆ}t ¡\}}g}|d k�rT| |¡t |¡}�q2|D]}t |¡�qX�zJzî|dk �rÈg}| ¡D]>\}}t |¡}d |k�rªtd ƒ‚| |d t |¡¡�q†nd}t ˆ¡‰tj   ˆ¡�rìˆf}nt‡fd d„t |¡Dƒƒ}t|ƒ}| |¡t |||tttt|ƒƒƒ||| | | ||||||||¡|_d|_W5t |¡X|  | | | |||¡t!ƒ}t "|d¡}||7}|�r´t#|ƒdk�r„�q´�q„W5t |¡X|�rÖz6t $|jd¡\} }!| |jk�rö| %|!¡ntj&|_'Wnt(k �rYnXz| )dd ¡\}"}#}$|$ *¡}$Wn,tk �rbd}"d}#d +t|ƒ¡}$YnXt,t-|" *d¡t.ƒ}%t/|%t0ƒ�rÎ|#�rÎt|#dƒ}&|$dk}'|'�rªd}$|}(n|}(|&dk�rÂt 1|&¡}$|%|&|$|(ƒ‚|%|$ƒ‚dS)NrZgetandroidapilevelz/system/bin/shz/bin/shz-crrr[r¢ró=z!illegal environment variable namec3s"|]}tj t |¡ˆ¡VqdSr))r¤r$r•Úfsencode)rÚdir©rÝr'r(Ú rsÿz'Popen._execute_child..TiPÃó:sSubprocessErroró0z#Bad exception data from child: {!r}ÚasciiéZnoexecr�)2rÊr r!r¤r"rËrErµrVr'Ú_USE_POSIX_SPAWNr$Údirnamer?r8rbÚduprÛrxrAr1r¹Ú get_exec_pathÚsetÚaddÚ_posixsubprocessZ fork_execÚsortedr£rJrÏrúrÚ bytearrayrr¦ÚwaitpidÚ_handle_exitstatusrWr*ÚChildProcessErrorr¸rðr“ryÚbuiltinsrÚ issubclassr»Ústrerror))r.rcrÝrÞrßræràrárârãr«rçrèrérêrërìräråZ unix_shellZorig_executableZ errpipe_readZ errpipe_writeZlow_fds_to_closeZlow_fdZenv_listÚkrhZexecutable_listZ fds_to_keepZ errpipe_dataÚpartrÏr Zexception_nameZ hex_errnoÚerr_msgZchild_exception_typeZ errno_numZchild_exec_never_calledZ err_filenamer'rCr(rÙ s"  ÿÿ  ÿþýüûúúùùøø ÷ ý        þ ù  þ       ÿ ÿ þ    cCsL||ƒr||ƒ |_n2||ƒr*||ƒ|_n||ƒr@||ƒ |_ntdƒ‚dS)NzUnknown child exit status!)r*r)r.r Z _WIFSIGNALEDZ _WTERMSIGZ _WIFEXITEDZ _WEXITSTATUSZ _WIFSTOPPEDZ _WSTOPSIGr'r'r(rS¼s zPopen._handle_exitstatusc Cs´|jdkr®|j d¡sdSz†z>|jdk r4|jWW¢pS||j|ƒ\}}||jkrX| |¡WnBtk rœ}z$|dk r|||_n|j|krŒd|_W5d}~XYnXW5|j ¡X|jS)NFr)r*rÇÚacquireÚreleaserÏrSr»r)r.rSZ_waitpidZ_WNOHANGZ_ECHILDrÏr Úer'r'r(rUÎs       cCs>zt |j|¡\}}Wntk r4|j}d}YnX||fSr*)r¤rRrÏrT)r.Z wait_flagsrÏr r'r'r(Ú _try_waitñs  zPopen._try_waitc Cs|jdk r|jS|dk rºtƒ|}d}|j d¡r~z>|jdk rDW¢0q¸| tj¡\}}||jkrn|  |¡W¢q¸W5|j ¡X|  |¡}|dkrœt |j |ƒ‚t |d|dƒ}t |¡q&n\|jdk�r|j�B|jdk ræW5QR£�q| d¡\}}||jk�r |  |¡W5QRXqº|jS)Ngü©ñÒMb@?Frr¢gš™™™™™©?)r*rrÇr[r\r^r¤ÚWNOHANGrÏrSrrrcrÚtimeÚsleep)r.r;r ZdelayrÏr Z remainingr'r'r(rõþs6             c Cs"|jrX|jsXz|j ¡Wntk r.YnX|sXz|j ¡Wntk rVYnXd}d}|js�i|_|jr~g|j|j<|jr�g|j|j<|jr¢|j|j}|jr´|j|j}| |¡|j rÎt |j ƒ}t ƒ��¼}|jrò|rò|  |jt j¡|j�r|jj�s|  |jt j¡|j�r6|jj�s6|  |jt j¡| ¡�rŽ| |¡}|dk �rz|dk�rz|j||||dd�tdƒ‚| |¡} | ||||¡| D]ð\} } | j|jk�r6||j|jt…} z|jt | j| ¡7_Wn,tk �r | | j¡| j ¡Yn*X|jt|j ƒk�r†| | j¡| j ¡nP| j|j|jfk�r˜t | jd¡} | �st| | j¡| j ¡|j| j | ¡�q˜�q6W5QRX|j | |¡d�|dk �r¾d !|¡}|dk �rÒd !|¡}|j"�r|dk �rú| #||jj$|jj%¡}|dk �r| #||jj$|jj%¡}||fS)NrT)r zN_check_timeout(..., skip_check_and_raise=True) failed to raise TimeoutExpired.i€r„r�)&r˜rÉÚflushrrÛZ_fileobj2outputr5r-Ú _save_inputrÈÚ memoryviewÚ_PopenSelectorÚregisterÚ selectorsZ EVENT_WRITErGZ EVENT_READZget_maprrÚ RuntimeErrorÚselectZfileobjÚ _input_offsetÚ _PIPE_BUFr¤rÿrîZ unregisterr¦rrbr…r•rÓròr¿rÀ)r.rŒr r r5r-Z input_viewZselectorr;ZreadyÚkeyZeventsÚchunkr­r'r'r(r's¢           þÿ  ÿ     $     þ þcCsF|jrB|jdkrBd|_||_|dk rB|jrB|j |jj|jj¡|_dSr*)r˜rÈrjrÓÚencoder¿rÀ)r.rŒr'r'r(rc�s ÿzPopen._save_inputcCs|jdkrt |j|¡dSr))r*r¤r†rÏr5r'r'r(r6™s cCs| tj¡dSr))r6r0r3r2r'r'r(r4ŸscCs| tj¡dSr))r6r0ÚSIGKILLr2r'r'r(r†¤sz Popen.kill)r[NNNNNTFNNNNrTFr')NN)F)N)7r$r%r&rúr/r9r�r:ròrórørVrWrÌrÍrOrþrršrœrrr…rr›rÑrrrÙrNr+Z WAIT_OBJECT_0r,rUrõr.rr6r4r†r?r¤Ú WIFSIGNALEDÚWTERMSIGÚ WIFEXITEDÚ WEXITSTATUSÚ WIFSTOPPEDÚWSTOPSIGrSrRr_rZECHILDr^rcr'r'r'r(r°sš.úú    D ÿ H  |ý 26'ý ÿ # )f )GrUrrÖr¤r`r0rVrÆrÌrrrÚ__all__rÒrNr›ÚModuleNotFoundErrorrOrirgrrrrrrrrrrrrrrrr r!r"r~Ú Exceptionrr rr#rJrFryrkrµrPreZSelectSelectorrTrQrrr rdrƒrrr Úobjectrr rªrr r¾rIrr'r'r'r(Ú,s¨  þP ÷ %      ;3"ÿ EI /