Files
order/.venv/Lib/site-packages/click/__pycache__/testing.cpython-312.pyc

209 lines
24 KiB
Plaintext
Raw Normal View History

2025-08-27 21:11:48 +08:00
<EFBFBD>
}<7D>g<EFBFBD>><00><00><><00>ddlZddlZddlZddlZddlZddlZddlZddlZddl m
Z
ddl m Z ddl m Z ddl mZddlmZej"rddlmZGd <09>d
<EFBFBD>Zej*d ej,ed ej.dfd <0A><04>ZGd<0E>dej2<00>Zdej,ej6eeej<ej>fded ej@fd<12>Z!Gd<13>d<14>Z"Gd<15>d<16>Z#y)<17>N)<01> TracebackType<70>)<01>
formatting)<01>termui)<01>utils)<01>_find_binary_reader)<01> BaseCommandc<00>
<00>eZdZdejdejddfd<05>Zdedejfd<07>Zde de fd <09>Z
dd
e de fd <0B>Z dd
e de fd <0C>Z dd
e de fd <0A>Zdeje fd<0E>Zdej"e fd<0F>Zdefd<10>Zy)<12> EchoingStdin<69>input<75>output<75>returnNc<00>.<00>||_||_d|_y)NF)<03>_input<75>_output<75>_paused)<03>selfr r s <20>6D:\mooc\order\.venv\Lib\site-packages\click/testing.py<70>__init__zEchoingStdin.__init__s<00><00><1B><04> <0B><1D><04> <0C><1C><04> <0C><00>xc<00>.<00>t|j|<01>S<00>N)<02>getattrr<00>rrs r<00> __getattr__zEchoingStdin.__getattr__s<00><00><16>t<EFBFBD>{<7B>{<7B>A<EFBFBD>&<26>&r<00>rvc<00>T<00>|js|jj|<01>|Sr)rr<00>write)rrs r<00>_echozEchoingStdin._echos <00><00><13>|<7C>|<7C> <10>L<EFBFBD>L<EFBFBD> <1E> <1E>r<EFBFBD> "<22><11> r<00>nc<00>V<00>|j|jj|<01><00>Sr)r r<00>read<61>rr!s rr#zEchoingStdin.read#s <00><00><13>z<EFBFBD>z<EFBFBD>$<24>+<2B>+<2B>*<2A>*<2A>1<EFBFBD>-<2D>.<2E>.rc<00>V<00>|j|jj|<01><00>Sr)r r<00>read1r$s rr&zEchoingStdin.read1&s <00><00><13>z<EFBFBD>z<EFBFBD>$<24>+<2B>+<2B>+<2B>+<2B>A<EFBFBD>.<2E>/<2F>/rc<00>V<00>|j|jj|<01><00>Sr)r r<00>readliner$s rr(zEchoingStdin.readline)s <00><00><13>z<EFBFBD>z<EFBFBD>$<24>+<2B>+<2B>.<2E>.<2E>q<EFBFBD>1<>2<>2rc<00>z<00>|jj<00>D<00>cgc]}|j|<01><00><02>c}Scc}wr)r<00> readlinesr rs rr*zEchoingStdin.readlines,s1<00><00>'+<2B>{<7B>{<7B>'<<3C>'<<3C>'><3E>?<3F>'><3E>!<21><04>
<EFBFBD>
<EFBFBD>1<EFBFBD> <0A>'><3E>?<3F>?<3F><>?s<00>8c<00>@<00><00>t<00>fd<01><08>jD<00><00>S)Nc3<00>@<00>K<00>|]}<01>j|<01><00><01><00>y<00>wr)r )<03>.0rrs <20>r<00> <genexpr>z(EchoingStdin.__iter__.<locals>.<genexpr>0s<00><><00><><00>7<>;<3B>a<EFBFBD>D<EFBFBD>J<EFBFBD>J<EFBFBD>q<EFBFBD>M<EFBFBD>;<3B>s<00>)<02>iterr<00>rs`r<00>__iter__zEchoingStdin.__iter__/s<00><><00><13>7<>4<EFBFBD>;<3B>;<3B>7<>7<>7rc<00>,<00>t|j<00>Sr)<02>reprrr0s r<00>__repr__zEchoingStdin.__repr__2s<00><00><13>D<EFBFBD>K<EFBFBD>K<EFBFBD> <20> r)<01><><EFBFBD><EFBFBD><EFBFBD>)<14>__name__<5F>
__module__<EFBFBD> __qualname__<5F>t<>BinaryIOr<00>str<74>Anyr<00>bytesr <00>intr#r&r(<00>Listr*<00>Iteratorr1r4<00>rrr r s<><00><00><1D>a<EFBFBD>j<EFBFBD>j<EFBFBD><1D>!<21>*<2A>*<2A><1D><14><1D>
'<27>S<EFBFBD>'<27>Q<EFBFBD>U<EFBFBD>U<EFBFBD>'<27><12><05><12>%<25><12> /<2F>c<EFBFBD>/<2F>5<EFBFBD>/<2F>0<>s<EFBFBD>0<>E<EFBFBD>0<>3<>#<23>3<>u<EFBFBD>3<>@<01>1<EFBFBD>6<EFBFBD>6<EFBFBD>%<25>=<3D>@<01>8<>!<21>*<2A>*<2A>U<EFBFBD>+<2B>8<>!<21>#<23>!rr <00>streamrc#<00>>K<00>|<00>d<00><01>yd|_d<00><01>d|_y<00>w)NTF)r)rBs r<00> _pause_echorD6s<00><00><><00> <0A>~<7E> <0A><1D><06><0E> <0A><1E><06><0E>s<00>c
<00><><00><00>eZdZdejdededej ddf
<EFBFBD>fd<07> Zedefd<08><04>Z edefd <09><04>Z
<EFBFBD>xZ S)
<EFBFBD>_NamedTextIOWrapper<65>buffer<65>name<6D>mode<64>kwargsrNc <00>B<00><01>t<00>|<00>|fi|<04><01>||_||_yr)<04>superr<00>_name<6D>_mode)rrGrHrIrJ<00> __class__s <20>rrz_NamedTextIOWrapper.__init__As%<00><><00> <0E><07><18><16>*<2A>6<EFBFBD>*<2A><19><04>
<EFBFBD><19><04>
rc<00><00>|jSr)rMr0s rrHz_NamedTextIOWrapper.nameH<00> <00><00><13>z<EFBFBD>z<EFBFBD>rc<00><00>|jSr)rNr0s rrIz_NamedTextIOWrapper.modeLrQr) r6r7r8r9r:r;r<r<00>propertyrHrI<00> __classcell__)rOs@rrFrF@sn<00><><00><1A><17>j<EFBFBD>j<EFBFBD><1A>(+<2B><1A>36<33><1A>BC<42>%<25>%<25><1A> <0A><1A><0E><1A>c<EFBFBD><1A><0E><1A><0E><1A>c<EFBFBD><1A><0E>rrFr <00>charsetc<00>*<00>t|d<01>rMttjtjtj
|<00><00>}|<02>|St d<02><00>|<00>d}n!t|t<00>r|j|<01>}tj|<00>S)Nr#z.Could not find binary reader for input stream.r) <0C>hasattrrr9<00>cast<73>IOr<<00> TypeError<6F>
isinstancer;<00>encode<64>io<69>BytesIO)r rUrs r<00>make_input_streamr_Qsv<00><00><0F>u<EFBFBD>f<EFBFBD><1D> <20><11><16><16><01><04><04>Q<EFBFBD>U<EFBFBD>U<EFBFBD> <0B>U<EFBFBD>!;<3B> <<3C><02> <0A>><3E><15>I<EFBFBD><17>H<>I<>I<> <0C>}<7D><13><05> <13>E<EFBFBD>3<EFBFBD> <1F><15> <0C> <0C>W<EFBFBD>%<25><05> <0A>:<3A>:<3A>e<EFBFBD> <1C>rc<00>"<00>eZdZdZ ddddedej edejded ej e d
ej ejeje e e ffd <0B>Z ed efd <0A><04>Zed efd<0E><04>Zed efd<0F><04>Zd efd<10>Zy)<12>Resultz3Holds the captured result of an invoked CLI script.N<>runner<65> CliRunner<65> stdout_bytes<65> stderr_bytes<65> return_value<75> exit_code<64> exception<6F>exc_infoc<00>f<00>||_||_||_||_||_||_||_yr<00>rbrdrerfrgrhri)rrbrdrerfrgrhris rrzResult.__init__hs:<00><00><1D><04> <0B>(<28><04><19>(<28><04><19>)<29><04><19>"<22><04><0E>"<22><04><0E> <20><04> rrc<00><00>|jS)z(The (standard) output as unicode string.)<01>stdoutr0s rr z Result.output<75>s<00><00><14>{<7B>{<7B>rc<00><><00>|jj|jjd<01>j dd<03>S)z&The standard output as unicode string.<2E>replace<63>
<EFBFBD>
)rd<00>decoderbrUror0s rrmz Result.stdout<75>s9<00><00><14> <20> <20>'<27>'<27><04> <0B> <0B>(;<3B>(;<3B>Y<EFBFBD>G<>O<>O<> <12>D<EFBFBD>
<EFBFBD>
rc<00><><00>|j<00> td<01><00>|jj|jjd<02>j dd<04>S)z%The standard error as unicode string.zstderr not separately capturedrorprq)re<00>
ValueErrorrrrbrUror0s r<00>stderrz Result.stderr<72>sQ<00><00> <10> <1C> <1C> $<24><1C>=<3D>><3E> ><3E><13> <20> <20>'<27>'<27><04> <0B> <0B>(;<3B>(;<3B>Y<EFBFBD>G<>O<>O<> <12>D<EFBFBD>
<EFBFBD>
rc<00><><00>|jrt|j<00>nd}dt|<00>j<00>d|<01>d<04>S)N<>okay<61><<3C> <20>>)rhr3<00>typer6)r<00>exc_strs rr4zResult.__repr__<5F>s8<00><00>*.<2E>.<2E>.<2E>$<24>t<EFBFBD>~<7E>~<7E>&<26>f<EFBFBD><07><12>4<EFBFBD><04>:<3A>&<26>&<26>'<27>q<EFBFBD><17> <09><11>3<>3rr)r6r7r8<00>__doc__r=r9<00>Optionalr<r><00> BaseException<6F>Tuple<6C>TyperrrSr;r rmrur4rArrraraes<><00><00>=<3D> <11>!<21><1B>!<21><1C>!<21><18>j<EFBFBD>j<EFBFBD><15>'<27> !<21>
<18>e<EFBFBD>e<EFBFBD> !<21> <17> !<21><15>:<3A>:<3A>m<EFBFBD>,<2C>!<21><14>*<2A>*<2A> <0A>G<EFBFBD>G<EFBFBD>A<EFBFBD>F<EFBFBD>F<EFBFBD>=<3D>)<29>=<3D>-<2D>G<> H<>
<EFBFBD>!<21>:<0E><1B><03><1B><0E><1B><0E>
<EFBFBD><03>
<EFBFBD><0E>
<EFBFBD> <0E>
<EFBFBD><03>
<EFBFBD><0E>
<EFBFBD>4<>#<23>4rrac<00><><00>eZdZdZ ddedej ejeej efdededdf
d<08>Z d d
defd <0B>Z
dd ej ejeej efdejeej effd <0A>Z e j ddej ejeeej ej"fdej ejeej efdedej$ej&ej*ej ej*ffd<10><05>Z dd d
dej ejeej.efdej ejeeej ej"fdej ejeej efdededej"defd<14>Ze j ddej ejedfdej$efd<17><05>Zy)rca<>The CLI runner provides functionality to invoke a Click command line
script for unittesting purposes in a isolated environment. This only
works in single-threaded systems without any concurrency as it changes the
global interpreter state.
:param charset: the character set for the input and output data.
:param env: a dictionary with environment variables for overriding.
:param echo_stdin: if this is set to `True`, then reading from stdin writes
to stdout. This is useful for showing examples in
some circumstances. Note that regular prompts
will automatically echo the input.
:param mix_stderr: if this is set to `False`, then stdout and stderr are
preserved as independent streams. This is useful for
Unix-philosophy apps that have predictable stdout and
noisy stderr, such that each may be measured
independently
NrU<00>env<6E>
echo_stdin<EFBFBD>
mix_stderrrc<00>D<00>||_|xsi|_||_||_yr)rUr<>r<>r<>)rrUr<>r<>r<>s rrzCliRunner.__init__<5F>s$<00><00><1F><04> <0C>47<34>I<EFBFBD>2<EFBFBD><04><08>$<24><04><0F>$<24><04>r<00>clir c<00>"<00>|jxsdS)z<>Given a command object it will return the default program name
for it. The default is the `name` attribute or ``"root"`` if not
set.
<20>root)rH)rr<>s r<00>get_default_prog_namezCliRunner.get_default_prog_name<6D>s<00><00>
<13>x<EFBFBD>x<EFBFBD>!<21>6<EFBFBD>!r<00> overridesc<00>V<00>t|j<00>}|r|j|<01>|S)z8Returns the environment overrides for invoking a script.)<03>dictr<74><00>update)rr<>rs r<00>make_envzCliRunner.make_env<6E>s%<00><00><12>$<24>(<28>(<28>^<5E><02> <14> <0E>I<EFBFBD>I<EFBFBD>i<EFBFBD> <20><11> rr <00>colorc#<00>0 <00><17>K<00>t||j<00>}d}tj}tj}tj
}t j} dt _|j|<02>}tj<00>}
|jr0tjtjt||
<EFBFBD><00>x}}t!||jdd<04><05>xt_<00>|jrd<06>_t!|
|jdd<08><05>t_d} |j$rtjt_n7tj<00>} t!| |jd dd
<EFBFBD> <0B>t_t'|<05>dd tj(t*d t*f<04>fd<0E> <0A>} t'|<05>dd tj(t*d t*f<04>fd<0F> <0A>} t'|<05>dt,d t*fd<11><04>}|<03> ddtj(tj.tj0dtj(t,d t,f<06>fd<14> }t2j4}t2j6}t2j8}t:j<}| t2_| t2_|t2_|t:_i} |j?<00>D]O\}}t@jBjE|<15>||<|<16> t@jB|=<00>=|t@jB|<<00>Q|
| f<02><02>|j?<00>D]-\}}|<16> t@jB|=<00>|t@jB|<<00>/|t_|t_|t_|t2_|t2_|t2_|t:_| t _y#tF$rY<00><>wxYw#tF$rY<00><>wxYw#|j?<00>D]<\}}|<16>" t@jB|=<00>#tF$rY<00>&wxYw|t@jB|<<00>>|t_|t_|t_|t2_|t2_|t2_|t:_| t _wxYw<01>w)anA context manager that sets up the isolation for invoking of a
command line tool. This sets up stdin with the given input data
and `os.environ` with the overrides from the given dictionary.
This also rebinds some internals in Click to be mocked (like the
prompt functionality).
This is automatically done in the :meth:`invoke` method.
:param input: the input stream to put into sys.stdin.
:param env: the environment overrides as dictionary.
:param color: whether the output should contain color codes. The
application can still override this explicitly.
.. versionchanged:: 8.0
``stderr`` is opened with ``errors="backslashreplace"``
instead of the default ``"strict"``.
.. versionchanged:: 4.0
Added the ``color`` parameter.
N<>Pz<stdin><3E>r)<03>encodingrHrIrz<stdout><3E>wz<stderr><3E>backslashreplace)r<>rHrI<00>errors<72>promptrc<00> <00><01>tjj|xsd<01><00>j<00>j d<02>}tjj|<01>d<03><02>tjj <00>|S)N<>rprq)<06>sysrmrr(<00>rstrip<69>flush)r<><00>val<61>
text_inputs <20>r<00> visible_inputz*CliRunner.isolation.<locals>.visible_inputs_<00><><00> <0F>J<EFBFBD>J<EFBFBD> <1C> <1C>V<EFBFBD>\<5C>r<EFBFBD> *<2A><1C>%<25>%<25>'<27>.<2E>.<2E>v<EFBFBD>6<>C<EFBFBD> <0F>J<EFBFBD>J<EFBFBD> <1C> <1C><03>u<EFBFBD>B<EFBFBD>Z<EFBFBD> (<28> <0F>J<EFBFBD>J<EFBFBD> <1C> <1C> <1E><16>Jrc<00><><00><01>tjj|xsd<01>d<02><02>tjj<00><00>j <00>j d<03>S)Nr<4E>rqrp)r<>rmrr<>r(r<>)r<>r<>s <20>r<00> hidden_inputz)CliRunner.isolation.<locals>.hidden_inputsJ<00><><00> <0F>J<EFBFBD>J<EFBFBD> <1C> <1C><06> <0C>"<22>~<7E>R<EFBFBD>0<> 1<> <0F>J<EFBFBD>J<EFBFBD> <1C> <1C> <1E><1D>&<26>&<26>(<28>/<2F>/<2F><06>7<> 7r<00>echoc<00><><00>tjjd<01>}|rtjj |<01>tjj <00>|S)Nr)r<><00>stdinr#rmrr<>)r<><00>chars r<00>_getcharz%CliRunner.isolation.<locals>._getchar#s><00><00><16>9<EFBFBD>9<EFBFBD>><3E>><3E>!<21>$<24>D<EFBFBD><13><13>
<EFBFBD>
<EFBFBD> <20> <20><14>&<26> <0F>J<EFBFBD>J<EFBFBD> <1C> <1C> <1E><17>KrrBr<>c<00><00><01>|<01><03> S| SrrA)rBr<><00> default_colors <20>r<00>should_strip_ansiz.CliRunner.isolation.<locals>.should_strip_ansi/s<00><><00><15>}<7D>(<28>(<28>(<28><1C>9<EFBFBD> rr)NN)$r_rUr<>r<>rmrur<00> FORCED_WIDTHr<48>r]r^r<>r9rXr:r rF<00> _CHUNK_SIZEr<45>rDr~r;<00>boolrYr<r<00>visible_prompt_func<6E>hidden_prompt_funcr<63>rr<><00>items<6D>os<6F>environ<6F>get<65> Exception)rr r<>r<><00> bytes_input<75>
echo_input<EFBFBD> old_stdin<69>
old_stdout<EFBFBD>
old_stderr<EFBFBD>old_forced_width<74> bytes_output<75> bytes_errorr<72>r<>r<>r<><00>old_visible_prompt_func<6E>old_hidden_prompt_func<6E>old__getchar_func<6E>old_should_strip_ansi<73>old_env<6E>key<65>valuer<65>r<>s @@r<00> isolationzCliRunner.isolation<6F>s<><00><><00><><00>6(<28><05>t<EFBFBD>|<7C>|<7C><<3C> <0B><19>
<EFBFBD><17>I<EFBFBD>I<EFBFBD> <09><18>Z<EFBFBD>Z<EFBFBD>
<EFBFBD><18>Z<EFBFBD>Z<EFBFBD>
<EFBFBD>%<25>2<>2<><18>"$<24>
<EFBFBD><1F><12>m<EFBFBD>m<EFBFBD>C<EFBFBD> <20><03><19>z<EFBFBD>z<EFBFBD>|<7C> <0C> <0F>?<3F>?<3F>'(<28>v<EFBFBD>v<EFBFBD><11>
<EFBFBD>
<EFBFBD>L<EFBFBD><1B>l<EFBFBD>C<>(<0E> <0E>K<EFBFBD>*<2A>"5<> <17>$<24>,<2C>,<2C>Y<EFBFBD>S<EFBFBD>"
<EFBFBD>
<EFBFBD><03> <09>J<EFBFBD> <10>?<3F>?<3F>&'<27>J<EFBFBD> "<22>(<28> <18>4<EFBFBD><<3C><<3C>j<EFBFBD>s<EFBFBD>
<EFBFBD><03>
<EFBFBD><1B> <0B> <0F>?<3F>?<3F><1C><1A><1A>C<EFBFBD>J<EFBFBD><1C>*<2A>*<2A>,<2C>K<EFBFBD>,<2C><1B><1D><1C><1C><1F><18>)<29> <0E>C<EFBFBD>J<EFBFBD>
<15>Z<EFBFBD> <20> <17>!<21>*<2A>*<2A>S<EFBFBD>/<2F> <17>S<EFBFBD> <17>
!<21> <17>
<15>Z<EFBFBD> <20> 8<><11><1A><1A>C<EFBFBD><1F> 8<>C<EFBFBD> 8<>
!<21> 8<>
<15>Z<EFBFBD> <20> <18>4<EFBFBD> <18>C<EFBFBD> <18>
!<21> <18><1E> <0A>OS<01> <1D><15>J<EFBFBD>J<EFBFBD>q<EFBFBD>t<EFBFBD>t<EFBFBD>A<EFBFBD>E<EFBFBD>E<EFBFBD>{<7B>+<2B> <1D>;<<3C>:<3A>:<3A>d<EFBFBD>;K<> <1D> <11> <1D>#)<29>"<<3C>"<<3C><1F>!'<27>!:<3A>!:<3A><1E>"<22>O<EFBFBD>O<EFBFBD><19> %<25> 7<> 7<><1D>%2<><06>"<22>$0<><06>!<21>"<22><06><0F>"3<><05><1F><14><07> 7<>!<21>i<EFBFBD>i<EFBFBD>k<EFBFBD>
<EFBFBD><03>U<EFBFBD>!<21>z<EFBFBD>z<EFBFBD>~<7E>~<7E>c<EFBFBD>2<><07><03> <0C><18>=<3D><1D><1E>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD>',<2C>B<EFBFBD>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD>*<2A> <20><1B>-<2D> -<2D>%<25>m<EFBFBD>m<EFBFBD>o<EFBFBD>
<EFBFBD><03>U<EFBFBD><18>=<3D><1D><1E>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD>',<2C>B<EFBFBD>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD>.<2E>$<24>C<EFBFBD>J<EFBFBD>#<23>C<EFBFBD>J<EFBFBD>!<21>C<EFBFBD>I<EFBFBD>)@<40>F<EFBFBD> &<26>(><3E>F<EFBFBD> %<25>/<2F>F<EFBFBD>O<EFBFBD>&;<3B>E<EFBFBD> #<23>&6<>J<EFBFBD> #<23><>+%<25><1D><1C><1D><>%<25><1D><1C><1D><> &<26>m<EFBFBD>m<EFBFBD>o<EFBFBD>
<EFBFBD><03>U<EFBFBD><18>=<3D><1D><1E>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD><4F>$<24><1D><1C><1D><>',<2C>B<EFBFBD>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD>.<2E>$<24>C<EFBFBD>J<EFBFBD>#<23>C<EFBFBD>J<EFBFBD>!<21>C<EFBFBD>I<EFBFBD>)@<40>F<EFBFBD> &<26>(><3E>F<EFBFBD> %<25>/<2F>F<EFBFBD>O<EFBFBD>&;<3B>E<EFBFBD> #<23>&6<>J<EFBFBD> #<23>s<EFBFBD><00>KR<01> :O*<00>O <02>O*<00>3R<01> O<02>A/R<01> O<05>O*<00>O<05>O*<00> O'<05>$R<01>&O'<05>'R<01>*R<03>P<06>R<03> P" <09>R<03>!P" <09>"A1R<03>R<01>args<67>catch_exceptions<6E>extrac <00><><00>d}|j|||<06><02>5} d}
d} d} t|t<00>rtj|<02>} |j d<04>} |jd|xsd| d<06>|<07><01>}
tj&j-<00>| dj/<00>}|j0rd}n| dj/<00>} ddd<01>t3|
  |<08> <09>S#t $r|j|<01>} Y<00><>wxYw#t$r<>}tj<00>}tjtjtjt tj"f|j$<00>}|<0F>d}|dk7r|} t|t <00>sItj&j)t|<0F><00>tj&j)d<07>d}|} Yd}~<0E><01>md}~wt*$r&}|s<01>|} d} tj<00>}Yd}~<0E><01><>d}~wwxYw#tj&j-<00>| dj/<00>}|j0rd}w| dj/<00>}wxYw#1swY<00><01><>xYw)
a<EFBFBD>Invokes a command in an isolated environment. The arguments are
forwarded directly to the command line script, the `extra` keyword
arguments are passed to the :meth:`~clickpkg.Command.main` function of
the command.
This returns a :class:`Result` object.
:param cli: the command to invoke
:param args: the arguments to invoke. It may be given as an iterable
or a string. When given as string it will be interpreted
as a Unix shell command. More details at
:func:`shlex.split`.
:param input: the input data for `sys.stdin`.
:param env: the environment overrides.
:param catch_exceptions: Whether to catch any other exceptions than
``SystemExit``.
:param extra: the keyword arguments to pass to :meth:`main`.
:param color: whether the output should contain color codes. The
application can still override this explicitly.
.. versionchanged:: 8.0
The result object has the ``return_value`` attribute with
the value returned from the invoked command.
.. versionchanged:: 4.0
Added the ``color`` parameter.
.. versionchanged:: 3.0
Added the ``catch_exceptions`` parameter.
.. versionchanged:: 3.0
The result object has the ``exc_info`` attribute with the
traceback if available.
N)r r<>r<>r<00> prog_namerA)r<>r<>rqrrk)r<>r[r;<00>shlex<65>split<69>pop<6F>KeyErrorr<72><00>main<69>
SystemExitr<EFBFBD>rir9rXr~<00>Unionr>r<<00>codermrr<>r<><00>getvaluer<65>ra)rr<>r<>r r<>r<>r<>r<>ri<00>
outstreamsrfrhrgr<><00>e<>e_codermrus r<00>invokezCliRunner.invoke]s<00><00>X<18><08> <11>^<5E>^<5E>%<25>S<EFBFBD><05>^<5E> ><3E>*<2A><1F>L<EFBFBD>37<33>I<EFBFBD><19>I<EFBFBD><19>$<24><03>$<24><1C>{<7B>{<7B>4<EFBFBD>(<28><04> <<3C>!<21>I<EFBFBD>I<EFBFBD>k<EFBFBD>2<> <09> 6<>'<27>s<EFBFBD>x<EFBFBD>x<EFBFBD>V<>T<EFBFBD>Z<EFBFBD>R<EFBFBD>9<EFBFBD>V<>PU<50>V<> <0C>2<14>
<EFBFBD>
<EFBFBD> <20> <20>"<22>#<23>A<EFBFBD><1D>/<2F>/<2F>1<><06><17>?<3F>?<3F>!<21>F<EFBFBD>'<27><01>]<5D>3<>3<>5<>F<EFBFBD>Y?<3F>\<16><17><1F><1F>%<25><1F><1F><1D>
<EFBFBD>
<EFBFBD><EFBFBD>I<1C> <<3C> <20>6<>6<>s<EFBFBD>;<3B> <09> <<3C><>
<1E> #<23><1E><<3C><<3C>><3E><08><1A><16><16><01>
<EFBFBD>
<EFBFBD>1<EFBFBD>7<EFBFBD>7<EFBFBD>3<EFBFBD><01><05><05>:<3A>+><3E> ?<3F><11><16><16>H<><06><19>><3E><1E>F<EFBFBD><19>Q<EFBFBD>;<3B> !<21>I<EFBFBD>!<21>&<26>#<23>.<2E><17>J<EFBFBD>J<EFBFBD>$<24>$<24>S<EFBFBD><16>[<5B>1<><17>J<EFBFBD>J<EFBFBD>$<24>$<24>T<EFBFBD>*<2A><1E>F<EFBFBD>"<22> <09><><1C> *<2A>'<27><19><1D> <09><1D> <09><1E><<3C><<3C>><3E><08><>  *<2A><><14>
<EFBFBD>
<EFBFBD> <20> <20>"<22>#<23>A<EFBFBD><1D>/<2F>/<2F>1<><06><17>?<3F>?<3F>!<21>F<EFBFBD>'<27><01>]<5D>3<>3<>5<>F<EFBFBD><46>Y?<3F> ><3E>st<00>,I)<03>C<02>C=<02>/AI)<03>C:<05>7I)<03>9C:<05>:I)<03>= H<05>CG<05>H<02> H<05>(H <05>H<02> H<05>H<02>AI&<05>&I)<03>)I3<07>temp_dirzos.PathLike[str]c#<00><>K<00>tj<00>}tj|<01><01>}tj|<03> |<03><02>tj|<02>|<01> t j |<03>yy#t$rYywxYw#tj|<02>|<01>& t j |<03>w#t$rYwwxYwwxYw<01>w)a<>A context manager that creates a temporary directory and
changes the current working directory to it. This isolates tests
that affect the contents of the CWD to prevent them from
interfering with each other.
:param temp_dir: Create the temporary directory under this
directory. If given, the created directory is not removed
when exiting.
.. versionchanged:: 8.0
Added the ``temp_dir`` parameter.
)<01>dirN)r<><00>getcwd<77>tempfile<6C>mkdtemp<6D>chdir<69>shutil<69>rmtree<65>OSError)rr<><00>cwd<77>dts r<00>isolated_filesystemzCliRunner.isolated_filesystem<65>s<><00><00><><00> <11>i<EFBFBD>i<EFBFBD>k<EFBFBD><03> <15> <1D> <1D>(<28> +<2B><02>
<EFBFBD><08><08><12> <0C> <19><14>H<EFBFBD> <0E>H<EFBFBD>H<EFBFBD>S<EFBFBD>M<EFBFBD><17><1F><19><1A>M<EFBFBD>M<EFBFBD>"<22>%<25> <20><><1F><19><18><19><> <0F>H<EFBFBD>H<EFBFBD>S<EFBFBD>M<EFBFBD><17><1F><19><1A>M<EFBFBD>M<EFBFBD>"<22>%<25><><1E><19><18><19><> <20>sf<00>AC<01>B<00>C<01>A6<00>4C<01>6 B<03>?C<01>B<03>C<01>C<03>B4<04>3C<03>4 C<07>=C<03>?C<07>C<03>C)zutf-8NFTr)NNF)NNNTF)r6r7r8r}r;r9r~<00>Mappingr<67>rr<>r<><00>
contextlib<EFBFBD>contextmanagerr<72>r=rYr<r@r<>r]r^r<><00>Sequencerar<>r<>rArrrcrc<00>s<><00><00><08>(<1F>;?<3F> <20><1F>
%<25><14>
%<25><0F>Z<EFBFBD>Z<EFBFBD><01> <09> <09>#<23>q<EFBFBD>z<EFBFBD>z<EFBFBD>#<23><EFBFBD>"6<>7<> 8<>
%<25><19>
%<25>
<19>
%<25>
<0E>
%<25>"<22><1D>"<22>3<EFBFBD>"<22>HL<01><12><1A><1A><1A>A<EFBFBD>I<EFBFBD>I<EFBFBD>c<EFBFBD>1<EFBFBD>:<3A>:<3A>c<EFBFBD>?<3F>.B<>$C<>D<><12>
<EFBFBD><19><19>3<EFBFBD><01>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F>'<27> (<28><12><10><1E><1E>?C<01>;?<3F><1B> L7<><10>z<EFBFBD>z<EFBFBD>!<21>'<27>'<27>#<23>u<EFBFBD>a<EFBFBD>d<EFBFBD>d<EFBFBD>1<EFBFBD>5<EFBFBD>5<EFBFBD>k<EFBFBD>"9<>:<3A>;<3B>L7<><0F>Z<EFBFBD>Z<EFBFBD><01> <09> <09>#<23>q<EFBFBD>z<EFBFBD>z<EFBFBD>#<23><EFBFBD>"6<>7<> 8<>L7<><14> L7<>
<0B><1A><1A>A<EFBFBD>G<EFBFBD>G<EFBFBD>B<EFBFBD>J<EFBFBD>J<EFBFBD><01>
<EFBFBD>
<EFBFBD>2<EFBFBD>:<3A>:<3A>(><3E>><3E>?<3F> @<40> L7<><1F>L7<>b;?<3F>>B<>;?<3F>!%<25><1B>c
<EFBFBD> <1A>c
<EFBFBD><10>j<EFBFBD>j<EFBFBD><11><17><17><13>a<EFBFBD>j<EFBFBD>j<EFBFBD><13>o<EFBFBD>!5<>6<>7<>c
<EFBFBD><11>z<EFBFBD>z<EFBFBD>!<21>'<27>'<27>#<23>u<EFBFBD>a<EFBFBD>d<EFBFBD>d<EFBFBD>1<EFBFBD>5<EFBFBD>5<EFBFBD>k<EFBFBD>"9<>:<3A>;<3B> c
<EFBFBD>
<0F>Z<EFBFBD>Z<EFBFBD><01> <09> <09>#<23>q<EFBFBD>z<EFBFBD>z<EFBFBD>#<23><EFBFBD>"6<>7<> 8<> c
<EFBFBD> <1F> c
<EFBFBD><14>c
<EFBFBD><13><15><15>c
<EFBFBD>
<10>c
<EFBFBD>J<10><1E><1E>GK<47><19><19>
<EFBFBD>
<EFBFBD>1<EFBFBD>7<EFBFBD>7<EFBFBD>3<EFBFBD>0B<EFBFBD>+B<>#C<>D<><19>
<EFBFBD><1A><1A>C<EFBFBD><1F><19><1F>rrc)$r<>r]r<>r<>r<>r<>r<><00>typingr9<00>typesrr<>rrr<00>_compatr<00> TYPE_CHECKING<4E>corer r r<>r~r@rD<00> TextIOWrapperrFr<>r;r=rYr<r:r_rarcrArr<00><module>r<>s<><00><01><11> <09> <09> <0C> <0A>
<EFBFBD><0F><12><1F><18><14><13>(<28><04>?<3F>?<3F>!<21>!<21>!<21>D <0C><1A><1A><1F><01>
<EFBFBD>
<EFBFBD><<3C>0<><1F>Q<EFBFBD>Z<EFBFBD>Z<EFBFBD><04>5E<35><1F><1B><1F><1A>"<22>*<2A>*<2A><1A>"<1D> <0C>:<3A>:<3A>a<EFBFBD>g<EFBFBD>g<EFBFBD>c<EFBFBD>5<EFBFBD>!<21>$<24>$<24>q<EFBFBD>u<EFBFBD>u<EFBFBD>+<2B>5<>6<> 7<><1D>BE<42><1D><06>Z<EFBFBD>Z<EFBFBD><1D>(74<>74<>t@<19>@r