PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  Ɵ[c@sdZddlZddlZddlZddlZejddkZerXeZ ndZ dZ de fdYZ d d Zd d ZdS( sEGeneric wrapper for read-eval-print-loops, a.k.a. interactive shells iNiiu[PEXPECT_PROMPT>u[PEXPECT_PROMPT+t REPLWrappercBsAeZdZeeddZdZddZddZ RS(sWrapper for a REPL. :param cmd_or_spawn: This can either be an instance of :class:`pexpect.spawn` in which a REPL has already been started, or a str command to start a new REPL process. :param str orig_prompt: The prompt to expect at first. :param str prompt_change: A command to change the prompt to something more unique. If this is ``None``, the prompt will not be changed. This will be formatted with the new and continuation prompts as positional parameters, so you can use ``{}`` style formatting to insert them into the command. :param str new_prompt: The more unique prompt to expect after the change. :param str extra_init_cmd: Commands to do extra initialisation, such as disabling pagers. cCst|tr0tj|dtdd|_n ||_|jjre|jjt|jjn|dkr}||_ n%|j ||j ||||_ ||_ |j|dk r|j|ndS(Ntechotencodingsutf-8(t isinstancet basestringtpexpecttspawntFalsetchildRtsetechot waitnoechotNonetpromptt set_prompttformattcontinuation_promptt_expect_promptt run_command(tselft cmd_or_spawnt orig_promptt prompt_changet new_promptRtextra_init_cmd((s1/tmp/pip-build-ViqJzN/pexpect/pexpect/replwrap.pyt__init__!s!         cCs$|jj||jj|dS(N(Rtexpecttsendline(RRR((s1/tmp/pip-build-ViqJzN/pexpect/pexpect/replwrap.pyR <sicCs"|jj|j|jgd|S(Nttimeout(Rt expect_exactR R(RR((s1/tmp/pip-build-ViqJzN/pexpect/pexpect/replwrap.pyR@scCs |j}|jdr+|jdn|s@tdng}|jj|dxE|dD]9}|jd||j|jj|jj|qeW|jd|dkr|jjt j |jddtd|ndj ||jjgS( sSend a command to the REPL, wait for and return output. :param str command: The command to send. Trailing newlines are not needed. This should be a complete block of input that will trigger execution; if a continuation prompt is found after sending input, :exc:`ValueError` will be raised. :param int timeout: How long to wait for the next prompt. -1 means the default from the :class:`pexpect.spawn` object (default 30 seconds). None means to wait indefinitely. s tsNo command was giveniiRs2Continuation prompt found - input was incomplete: u( t splitlinestendswithtappendt ValueErrorRRRtbeforetkilltsignaltSIGINTtjoin(RtcommandRtcmdlinestrestline((s1/tmp/pip-build-ViqJzN/pexpect/pexpect/replwrap.pyRDs"  N( t__name__t __module__t__doc__tPEXPECT_PROMPTtPEXPECT_CONTINUATION_PROMPTR RR RR(((s1/tmp/pip-build-ViqJzN/pexpect/pexpect/replwrap.pyRs   tpythoncCst|ddS(s>Start a Python shell and return a :class:`REPLWrapper` object.u>>> u(import sys; sys.ps1={0!r}; sys.ps2={1!r}(R(R'((s1/tmp/pip-build-ViqJzN/pexpect/pexpect/replwrap.pyR0gstbashcCstjjtjjtd}tj|d|gdtdd}td dtd}t d dt d}dj ||}t |d |d d S( s<Start a bash shell and return a :class:`REPLWrapper` object.s bashrc.shs--rcfileRRsutf-8iu\[\]u%PS1='{0}' PS2='{1}' PROMPT_COMMAND=''u\$Rsexport PAGER=cat( tostpathR&tdirnamet__file__RRRR.R/RR(R'tbashrcRtps1tps2R((s1/tmp/pip-build-ViqJzN/pexpect/pexpect/replwrap.pyR1ks! (R-tos.pathR2R$tsysRt version_infotPY3tstrRR.R/tobjectRR0R1(((s1/tmp/pip-build-ViqJzN/pexpect/pexpect/replwrap.pyts     V