Ë
    "ž%h7H  ã                  ó²  — d dl mZ d dlmZ d dlZd dlZd dlZd dlZd dl	Z	d dl
Z
d dlZd dlZd dlmZ ddlmZ ddlmZ ddlmZ ddlmZ dd	lmZ ej,                  rd d
lmZ ddlmZ  G d„ d«      Zej8                  dd„«       Z G d„ dej<                  «      Z G d„ d«      Z  G d„ dejB                  «      Z"	 	 	 	 	 	 dd„Z# G d„ d«      Z$ G d„ d«      Z%y)é    )ÚannotationsN)ÚTracebackTypeé   )Ú_compat)Ú
formatting)Útermui)Úutils)Ú_find_binary_reader)ÚReadableBuffer)ÚCommandc                  óZ   — e Zd Zdd„Zdd„Zdd„Zddd„Zddd„Zddd„Zdd„Z	dd„Z
dd	„Zy
)ÚEchoingStdinc                ó.   — || _         || _        d| _        y )NF)Ú_inputÚ_outputÚ_paused)ÚselfÚinputÚoutputs      úK/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/click/testing.pyÚ__init__zEchoingStdin.__init__   s   € ØˆŒØˆŒØˆ�ó    c                ó.   — t        | j                  |«      S ©N)Úgetattrr   ©r   Úxs     r   Ú__getattr__zEchoingStdin.__getattr__    s   € Ü�t—{‘{ AÓ&Ð&r   c                óT   — | j                   s| j                  j                  |«       |S r   )r   r   Úwrite)r   Úrvs     r   Ú_echozEchoingStdin._echo#   s    € Ø�|Š|Ø�L‰L×Ñ˜rÔ"àˆ	r   c                óV   — | j                  | j                  j                  |«      «      S r   )r"   r   Úread©r   Úns     r   r$   zEchoingStdin.read)   s    € Ø�z‰z˜$Ÿ+™+×*Ñ*¨1Ó-Ó.Ð.r   c                óV   — | j                  | j                  j                  |«      «      S r   )r"   r   Úread1r%   s     r   r(   zEchoingStdin.read1,   s    € Ø�z‰z˜$Ÿ+™+×+Ñ+¨AÓ.Ó/Ð/r   c                óV   — | j                  | j                  j                  |«      «      S r   )r"   r   Úreadliner%   s     r   r*   zEchoingStdin.readline/   s    € Ø�z‰z˜$Ÿ+™+×.Ñ.¨qÓ1Ó2Ð2r   c                óz   — | j                   j                  «       D �cg c]  }| j                  |«      ‘Œ c}S c c}w r   )r   Ú	readlinesr"   r   s     r   r,   zEchoingStdin.readlines2   s+   € Ø'+§{¡{×'<Ñ'<Ó'>Ö? !�—
‘
˜1•Ò?Ð?ùÒ?s   �8c                ó@   ‡ — t        ˆ fd„‰ j                  D «       «      S )Nc              3  ó@   •K  — | ]  }‰j                  |«      –— Œ y ­wr   )r"   )Ú.0r   r   s     €r   ú	<genexpr>z(EchoingStdin.__iter__.<locals>.<genexpr>6   s   øè ø€ Ò7 a�D—J‘J˜q—MÑ7ùs   ƒ)Úiterr   ©r   s   `r   Ú__iter__zEchoingStdin.__iter__5   s   ø€ ÜÓ7¨4¯;©;Ô7Ó7Ð7r   c                ó,   — t        | j                  «      S r   )Úreprr   r2   s    r   Ú__repr__zEchoingStdin.__repr__8   s   € Ü�D—K‘KÓ Ð r   N)r   ú
t.BinaryIOr   r7   ÚreturnÚNone)r   Ústrr8   út.Any)r!   Úbytesr8   r<   )éÿÿÿÿ)r&   Úintr8   r<   )r8   zlist[bytes])r8   zcabc.Iterator[bytes]©r8   r:   )Ú__name__Ú
__module__Ú__qualname__r   r   r"   r$   r(   r*   r,   r3   r6   © r   r   r   r      s0   „ óó
'óô/ô0ô3ó@ó8ô!r   r   c              #  ó>   K  — | €d –— y d| _         d –— d| _         y ­w)NTF)r   )Ústreams    r   Ú_pause_echorF   <   s   è ø€ à€~ÜàˆŒÛØˆ�ùs   ‚c                  ó<   ‡ — e Zd ZdZdˆ fd„Zdˆ fd„Zdˆ fd„Zˆ xZS )ÚBytesIOCopyzdPatch ``io.BytesIO`` to let the written stream be copied to another.

    .. versionadded:: 8.2
    c                ó0   •— t         ‰| �  «        || _        y r   )Úsuperr   Úcopy_to)r   rK   Ú	__class__s     €r   r   zBytesIOCopy.__init__L   s   ø€ Ü‰ÑÔØˆ�r   c                óV   •— t         ‰| �  «        | j                  j                  «        y r   )rJ   ÚflushrK   )r   rL   s    €r   rN   zBytesIOCopy.flushP   s   ø€ Ü‰‰ŒØ�‰×ÑÕr   c                óX   •— | j                   j                  |«       t        ‰| �  |«      S r   )rK   r    rJ   )r   ÚbrL   s     €r   r    zBytesIOCopy.writeT   s$   ø€ Ø�‰×Ñ˜1ÔÜ‰w‰}˜QÓÐr   )rK   z
io.BytesIOr8   r9   ©r8   r9   )rP   r   r8   r>   )r@   rA   rB   Ú__doc__r   rN   r    Ú__classcell__©rL   s   @r   rH   rH   F   s   ø„ ñõ
õ÷ ñ  r   rH   c                  ó   — e Zd ZdZdd„Zy)ÚStreamMixerz‚Mixes `<stdout>` and `<stderr>` streams.

    The result is available in the ``output`` attribute.

    .. versionadded:: 8.2
    c                ó¢   — t        j                  «       | _        t        | j                  ¬«      | _        t        | j                  ¬«      | _        y )N)rK   )ÚioÚBytesIOr   rH   ÚstdoutÚstderrr2   s    r   r   zStreamMixer.__init__a   s/   € Ü"$§*¡*£,ˆŒÜ"-°d·k±kÔ"BˆŒÜ"-°d·k±kÔ"Bˆ�r   NrQ   )r@   rA   rB   rR   r   rC   r   r   rV   rV   Y   s   „ ñôCr   rV   c                  óX   ‡ — e Zd Z	 	 	 	 	 	 	 	 	 	 dˆ fd„Zedd„«       Zedd„«       Zˆ xZS )Ú_NamedTextIOWrapperc                óB   •— t        ‰| �  |fi |¤Ž || _        || _        y r   )rJ   r   Ú_nameÚ_mode)r   ÚbufferÚnameÚmodeÚkwargsrL   s        €r   r   z_NamedTextIOWrapper.__init__h   s%   ø€ ô 	‰Ñ˜Ñ* 6Ò*ØˆŒ
Øˆ�
r   c                ó   — | j                   S r   )r_   r2   s    r   rb   z_NamedTextIOWrapper.nameo   ó   € à�z‰zÐr   c                ó   — | j                   S r   )r`   r2   s    r   rc   z_NamedTextIOWrapper.modes   rf   r   )
ra   r7   rb   r:   rc   r:   rd   r;   r8   r9   r?   )r@   rA   rB   r   Úpropertyrb   rc   rS   rT   s   @r   r]   r]   g   sX   ø„ ðØ ðØ(+ðØ36ðØBGðà	õð òó ðð òó ôr   r]   c                óì   — t        | d«      r.t        t        j                  d| «      «      }|�|S t	        d«      ‚| €d} n!t        | t        «      r| j                  |«      } t        j                  | «      S )Nr$   zt.IO[t.Any]z.Could not find binary reader for input stream.r   )
Úhasattrr
   ÚtÚcastÚ	TypeErrorÚ
isinstancer:   ÚencoderX   rY   )r   Úcharsetr!   s      r   Úmake_input_streamrq   x   sj   € ô ˆu�fÔÜ ¤§¡¨°uÓ!=Ó>ˆàˆ>ØˆIäÐHÓIÐIà€}Ø‰Ü	�Eœ3Ô	Ø—‘˜WÓ%ˆä�:‰:�eÓÐr   c                  óx   — e Zd ZdZ	 d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d	d„Zed
d„«       Zed
d„«       Zed
d„«       Zd
d„Z	y)ÚResultaC  Holds the captured result of an invoked CLI script.

    :param runner: The runner that created the result
    :param stdout_bytes: The standard output as bytes.
    :param stderr_bytes: The standard error as bytes.
    :param output_bytes: A mix of ``stdout_bytes`` and ``stderr_bytes``, as the
        user would see  it in its terminal.
    :param return_value: The value returned from the invoked command.
    :param exit_code: The exit code as integer.
    :param exception: The exception that happened if one did.
    :param exc_info: Exception information (exception type, exception instance,
        traceback type).

    .. versionchanged:: 8.2
        ``stderr_bytes`` no longer optional, ``output_bytes`` introduced and
        ``mix_stderr`` has been removed.

    .. versionadded:: 8.0
        Added ``return_value``.
    Nc	                ót   — || _         || _        || _        || _        || _        || _        || _        || _        y r   ©ÚrunnerÚstdout_bytesÚstderr_bytesÚoutput_bytesÚreturn_valueÚ	exit_codeÚ	exceptionÚexc_info)	r   rv   rw   rx   ry   rz   r{   r|   r}   s	            r   r   zResult.__init__¢   s@   € ð ˆŒØ(ˆÔØ(ˆÔØ(ˆÔØ(ˆÔØ"ˆŒØ"ˆŒØ ˆ�r   c                ó‚   — | j                   j                  | j                  j                  d«      j	                  dd«      S )a  The terminal output as unicode string, as the user would see it.

        .. versionchanged:: 8.2
            No longer a proxy for ``self.stdout``. Now has its own independent stream
            that is mixing `<stdout>` and `<stderr>`, in the order they were written.
        Úreplaceú
ú
)ry   Údecoderv   rp   r   r2   s    r   r   zResult.output·   s9   € ð × Ñ ×'Ñ'¨¯©×(;Ñ(;¸YÓG×OÑOØ�Dó
ð 	
r   c                ó‚   — | j                   j                  | j                  j                  d«      j	                  dd«      S )z&The standard output as unicode string.r   r€   r�   )rw   r‚   rv   rp   r   r2   s    r   rZ   zResult.stdoutÃ   s9   € ð × Ñ ×'Ñ'¨¯©×(;Ñ(;¸YÓG×OÑOØ�Dó
ð 	
r   c                ó‚   — | j                   j                  | j                  j                  d«      j	                  dd«      S )zŸThe standard error as unicode string.

        .. versionchanged:: 8.2
            No longer raise an exception, always returns the `<stderr>` string.
        r   r€   r�   )rx   r‚   rv   rp   r   r2   s    r   r[   zResult.stderrÊ   s9   € ð × Ñ ×'Ñ'¨¯©×(;Ñ(;¸YÓG×OÑOØ�Dó
ð 	
r   c                ó€   — | j                   rt        | j                   «      nd}dt        | «      j                  › d|› d�S )NÚokayú<ú ú>)r|   r5   Útyper@   )r   Úexc_strs     r   r6   zResult.__repr__Õ   s8   € Ø*.¯.ª.”$�t—~‘~Ô&¸fˆØ”4˜“:×&Ñ&Ð' q¨¨	°Ð3Ð3r   r   )rv   Ú	CliRunnerrw   r<   rx   r<   ry   r<   rz   r;   r{   r>   r|   zBaseException | Noner}   z?tuple[type[BaseException], BaseException, TracebackType] | Noner?   )
r@   rA   rB   rR   r   rh   r   rZ   r[   r6   rC   r   r   rs   rs   Œ   s    „ ñð> ð!àð!ð ð!ð ð	!ð
 ð!ð ð!ð ð!ð (ð!ðó!ð* ò	
ó ð	
ð ò
ó ð
ð ò
ó ð
ô4r   rs   c                  óì   — e Zd ZdZ	 	 	 	 d		 	 	 	 	 	 	 	 	 d
d„Zdd„Z	 d	 	 	 dd„Zej                  	 	 	 d	 	 	 	 	 	 	 dd„«       Z		 	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Z
ej                  	 d	 	 	 dd„«       Zy)rŒ   aë  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 catch_exceptions: Whether to catch any exceptions other than
                             ``SystemExit`` when running :meth:`~CliRunner.invoke`.

    .. versionchanged:: 8.2
        Added the ``catch_exceptions`` parameter.

    .. versionchanged:: 8.2
        ``mix_stderr`` parameter has been removed.
    Nc                óD   — || _         |xs i | _        || _        || _        y r   )rp   ÚenvÚ
echo_stdinÚcatch_exceptions)r   rp   r�   r�   r‘   s        r   r   zCliRunner.__init__ð   s%   € ð ˆŒØ25²)¸ˆŒØ$ˆŒØ 0ˆÕr   c                ó"   — |j                   xs dS )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.
        Úroot)rb   )r   Úclis     r   Úget_default_prog_namezCliRunner.get_default_prog_nameü   s   € ð
 �x‰xÒ!˜6Ð!r   c                óV   — t        | j                  «      }|r|j                  |«       |S )z8Returns the environment overrides for invoking a script.)Údictr�   Úupdate)r   Ú	overridesr!   s      r   Úmake_envzCliRunner.make_env  s%   € ô �$—(‘(‹^ˆÙØ�I‰I�iÔ Øˆ	r   c              #  ób  ‡‡K  — t        || j                  «      }d}t        j                  }t        j                  }t        j
                  }t        j                  }	dt        _        | j                  |«      }t        «       }
| j                  r:t        j                  t        j                  t        ||
j                  «      «      x}}t        || j                  dd¬«      xt        _        Š| j                  rd‰_        t        |
j                  | j                  dd¬«      t        _        t        |
j
                  | j                  d	dd
¬«      t        _        t#        |«      ddˆfd„«       }t#        |«      ddˆfd„«       }t#        |«      dd„«       }|Š	 d	 	 	 	 	 dˆfd„}t$        j&                  }t$        j(                  }t$        j*                  }t,        j.                  }t0        j.                  }|t$        _        |t$        _        |t$        _        |t,        _        |t0        _        i }	 |j3                  «       D ]O  \  }}t4        j6                  j9                  |«      ||<   |€	 t4        j6                  |= Œ=|t4        j6                  |<   ŒQ |
j                  |
j
                  |
j<                  f–— |j3                  «       D ]-  \  }}|€	 t4        j6                  |= Œ|t4        j6                  |<   Œ/ |t        _        |t        _        |t        _        |t$        _        |t$        _        |t$        _        |t,        _        |t0        _        |	t        _        y# t:        $ r Y �Œ'w xY w# t:        $ r Y Œ¯w xY w# |j3                  «       D ]<  \  }}|€"	 t4        j6                  |= Œ# t:        $ r Y Œ&w xY w|t4        j6                  |<   Œ> |t        _        |t        _        |t        _        |t$        _        |t$        _        |t$        _        |t,        _        |t0        _        |	t        _        w xY w­w)a\  A 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.

        .. versionadded:: 8.2
            An additional output stream is returned, which is a mix of
            `<stdout>` and `<stderr>` streams.

        .. versionchanged:: 8.2
            Always returns the `<stderr>` stream.

        .. versionchanged:: 8.0
            `<stderr>` is opened with ``errors="backslashreplace"``
            instead of the default ``"strict"``.

        .. versionchanged:: 4.0
            Added the ``color`` parameter.
        NéP   z<stdin>Úr)Úencodingrb   rc   r   z<stdout>Úwz<stderr>Úbackslashreplace)rž   rb   rc   Úerrorsc                ó  •— t         j                  j                  | xs d«       ‰j                  «       j	                  d«      }t         j                  j                  |› d�«       t         j                  j                  «        |S )NÚ r€   r�   )ÚsysrZ   r    r*   ÚrstriprN   )ÚpromptÚvalÚ
text_inputs     €r   Úvisible_inputz*CliRunner.isolation.<locals>.visible_inputU  s_   ø€ ä�J‰J×Ñ˜Vš\ rÔ*Ø×%Ñ%Ó'×.Ñ.¨vÓ6ˆCÜ�J‰J×Ñ ˜u B˜ZÔ(Ü�J‰J×ÑÔØˆJr   c                óÊ   •— t         j                  j                  | xs d› d�«       t         j                  j                  «        ‰j	                  «       j                  d«      S )Nr£   r�   r€   )r¤   rZ   r    rN   r*   r¥   )r¦   r¨   s    €r   Úhidden_inputz)CliRunner.isolation.<locals>.hidden_input]  sJ   ø€ ä�J‰J×Ñ ¢¨"˜~¨RÐ0Ô1Ü�J‰J×ÑÔØ×&Ñ&Ó(×/Ñ/°Ó7Ð7r   c                óÂ   — t         j                  j                  d«      }| rt         j                  j	                  |«       t         j                  j                  «        |S )Nr   )r¤   Ústdinr$   rZ   r    rN   )ÚechoÚchars     r   Ú_getcharz%CliRunner.isolation.<locals>._getcharc  s>   € ä—9‘9—>‘> !Ó$ˆDáÜ—
‘
× Ñ  Ô&ä�J‰J×ÑÔØˆKr   c                ó   •— |€‰ S | S r   rC   )rE   ÚcolorÚdefault_colors     €r   Úshould_strip_ansiz.CliRunner.isolation.<locals>.should_strip_ansio  s   ø€ ð ˆ}Ø(Ð(Ð(Ø�9Ðr   r   )r¦   z
str | Noner8   r:   )r®   Úboolr8   r:   )NN)rE   zt.IO[t.Any] | Noner²   úbool | Noner8   rµ   )rq   rp   r¤   r­   rZ   r[   r   ÚFORCED_WIDTHrš   rV   r�   rk   rl   ÚBinaryIOr   r]   Ú_CHUNK_SIZErF   r   Úvisible_prompt_funcÚhidden_prompt_funcr°   r	   r´   r   ÚitemsÚosÚenvironÚgetÚ	Exceptionr   )r   r   r�   r²   Úbytes_inputÚ
echo_inputÚ	old_stdinÚ
old_stdoutÚ
old_stderrÚold_forced_widthÚstream_mixerr©   r«   r°   r´   Úold_visible_prompt_funcÚold_hidden_prompt_funcÚold__getchar_funcÚold_should_strip_ansiÚold__compat_should_strip_ansiÚold_envÚkeyÚvaluer³   r¨   s                          @@r   Ú	isolationzCliRunner.isolation  s¨  ùè ø€ ôD (¨¨t¯|©|Ó<ˆØˆ
ä—I‘Iˆ	Ü—Z‘Zˆ
Ü—Z‘Zˆ
Ü%×2Ñ2ÐØ"$Œ
Ôà�m‰m˜CÓ ˆä"“}ˆà�?Š?Ü'(§v¡vÜ—
‘
œL¨°l×6IÑ6IÓJó(ð ˆK˜*ô "5Ø $§,¡,°YÀSô"
ð 	
ŒŒ	�Jð �?Š?ð &'ˆJÔ"ä(Ø×Ñ¨$¯,©,¸ZÈcô
ŒŒ
ô )Ø×ÑØ—\‘\ØØØ%ô
ŒŒ
ô 
�ZÓ	 õ	ó 
!ð	ô 
�ZÓ	 õ	8ó 
!ð	8ô
 
�ZÓ	 ò	ó 
!ð	ð ˆð EIð	Ø&ð	Ø6Að	àõ	ô #)×"<Ñ"<ÐÜ!'×!:Ñ!:ÐÜ"ŸO™OÐÜ %× 7Ñ 7ÐÜ(/×(AÑ(AÐ%Ø%2ŒÔ"Ø$0ŒÔ!Ø"ŒŒØ"3ŒÔØ$5ŒÔ!àˆð	7Ø!Ÿi™i›kò ,‘
��UÜ!Ÿz™zŸ~™~¨cÓ2�˜‘Ø�=ðÜŸJ™J s™Oð ',”B—J‘J˜s’Oð,ð  ×&Ñ&¨×(;Ñ(;¸\×=PÑ=PÐQÒQà%Ÿm™m›oò ,‘
��UØ�=ðÜŸJ™J s™Oð ',”B—J‘J˜s’Oð,ð $ŒCŒJØ#ŒCŒJØ!ŒCŒIØ)@ŒFÔ&Ø(>ŒFÔ%Ø/ŒFŒOØ&;ŒEÔ#Ø(EŒGÔ%Ø&6ŒJÕ#øô- %ò Úðûô %ò Ùðûð	 &Ÿm™m›oò ,‘
��UØ�=ðÜŸJ™J s™OøÜ$ò Ùðúð ',”B—J‘J˜s’Oð,ð $ŒCŒJØ#ŒCŒJØ!ŒCŒIØ)@ŒFÔ&Ø(>ŒFÔ%Ø/ŒFŒOØ&;ŒEÔ#Ø(EŒGÔ%Ø&6ŒJÕ#üsŒ   „H)P/È.:M8 É)MÉ:;M8 Ê5P/ËM)ËA:P/Í	M&Í"M8 Í%M&Í&M8 Í)	M5Í2P/Í4M5Í5P/Í8P,ÎN$Î#P,Î$	N0	Î-P,Î/N0	Î0A<P,Ð,P/c           
     ó®  — d}|€| j                   }| j                  |||¬«      5 }	d}
d}d}t        |t        «      rt	        j
                  |«      }	 |j                  d«      }	  |j                  d|xs d|dœ|¤Ž}
t        j"                  j)                  «        |	d   j+                  «       }|	d	   j+                  «       }|	d
   j+                  «       }	 ddd«       t-        | 
|¬«      S # t        $ r | j                  |«      }Y Œ©w xY w# t        $ r¥}t        j                  «       }t        j                  d|j                  «      }|€d}|dk7  r|}t        |t         «      sIt        j"                  j%                  t        |«      «       t        j"                  j%                  d«       d	}|}Y d}~�Œ<d}~wt&        $ r&}|s‚ |}d	}t        j                  «       }Y d}~�Œid}~ww xY w# t        j"                  j)                  «        |	d   j+                  «       }|	d	   j+                  «       }|	d
   j+                  «       }w xY w# 1 sw Y   �ŒwxY w)a{  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``. If :data:`None`, the value
                                 from :class:`CliRunner` is used.
        :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.

        .. versionadded:: 8.2
            The result object has the ``output_bytes`` attribute with
            the mix of ``stdout_bytes`` and ``stderr_bytes``, as the user would
            see it in its terminal.

        .. versionchanged:: 8.2
            The result object always returns the ``stderr_bytes`` stream.

        .. 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   Ú	prog_namerC   )ÚargsrÒ   zint | t.Any | Noner�   r   é   ru   )r‘   rÐ   rn   r:   ÚshlexÚsplitÚpopÚKeyErrorr•   ÚmainÚ
SystemExitr¤   r}   rk   rl   Úcoder>   rZ   r    rÀ   rN   Úgetvaluers   )r   r”   rÓ   r   r�   r‘   r²   Úextrar}   Ú
outstreamsrz   r|   r{   rÒ   ÚeÚe_coderZ   r[   r   s                      r   ÚinvokezCliRunner.invoke   s'  € ðj ˆØÐ#Ø#×4Ñ4Ðà�^‰^ %¨S¸ˆ^Ó>ð *	2À*ØˆLØ.2ˆIØˆIä˜$¤Ô$Ü—{‘{ 4Ó(�ð<Ø!ŸI™I kÓ2�	ð2Ø'˜sŸx™xÐV¨TªZ°RÀ9ÑVÐPUÑV�ô2 —
‘
× Ñ Ô"Ø# A™×/Ñ/Ó1�Ø# A™×/Ñ/Ó1�Ø# A™×/Ñ/Ó1‘÷U*	2ôX ØØØØØ%ØØØô	
ð 		
øôE ò <Ø ×6Ñ6°sÓ;’	ð<ûô
 ò #ÜŸ<™<›>�ÜŸ™Ð 4°a·f±fÓ=�à�>Ø�Fà˜Q’;Ø !�Iä! &¬#Ô.Ü—J‘J×$Ñ$¤S¨£[Ô1Ü—J‘J×$Ñ$ TÔ*Ø�Fà"–	ûäò *Ù'ØØ�	Ø�	ÜŸ<™<›>–ûð*ûô —
‘
× Ñ Ô"Ø# A™×/Ñ/Ó1�Ø# A™×/Ñ/Ó1�Ø# A™×/Ñ/Ó1‘ú÷U*	2ñ *	2úst   ¥,I
ÁC0Á$DÁ=AI
Ã0DÄ
I
ÄDÄI
Ä	G+ÄBF9Æ3G.Æ9G+ÇG&Ç G.Ç&G+Ç+G.Ç.AIÉI
É
Ic              #  ó’  K  — t        j                  «       }t        j                  |¬«      }t        j                  |«       	 |–— t        j                  |«       |€	 t        j                  |«       yy# t        $ r Y yw xY w# t        j                  |«       |€&	 t        j                  |«       w # t        $ r Y w w xY ww xY w­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.
        )ÚdirN)r½   ÚgetcwdÚtempfileÚmkdtempÚchdirÚshutilÚrmtreeÚOSError)r   Útemp_dirÚcwdÚdts       r   Úisolated_filesystemzCliRunner.isolated_filesystem  s®   è ø€ ô  �i‰i‹kˆÜ×Ñ (Ô+ˆÜ
�‰�Œð		ØŠHä�H‰H�SŒMàÐðÜ—M‘M "Õ%ð  øô ò Ùðûô �H‰H�SŒMàÐðÜ—M‘M "Õ%øÜò Ùðúð  üsf   ‚A CÁB ÁCÁA6 Á4CÁ6	BÁ?CÂBÂCÂCÂB4Â3CÂ4	C Â=CÂ?C Ã CÃC)zutf-8NFT)
rp   r:   r�   ú$cabc.Mapping[str, str | None] | Noner�   rµ   r‘   rµ   r8   r9   )r”   r   r8   r:   r   )r™   rï   r8   zcabc.Mapping[str, str | None])NNF)r   ú str | bytes | t.IO[t.Any] | Noner�   rï   r²   rµ   r8   z8cabc.Iterator[tuple[io.BytesIO, io.BytesIO, io.BytesIO]])NNNNF)r”   r   rÓ   zstr | cabc.Sequence[str] | Noner   rð   r�   rï   r‘   r¶   r²   rµ   rÝ   r;   r8   rs   )rë   zstr | os.PathLike[str] | Noner8   zcabc.Iterator[str])r@   rA   rB   rR   r   r•   rš   Ú
contextlibÚcontextmanagerrÐ   rá   rî   rC   r   r   rŒ   rŒ   Ú   sY  „ ñð. Ø48Ø Ø!%ð
1àð
1ð 2ð
1ð ð	
1ð
 ð
1ð 
ó
1ó"ð AEðØ=ðà	&óð ×Ñð 37Ø48Øð	Q7à/ðQ7ð 2ðQ7ð ð	Q7ð
 
BòQ7ó ðQ7ðl 15Ø26Ø48Ø(,Øðn
àðn
ð .ðn
ð 0ð	n
ð
 2ðn
ð &ðn
ð ðn
ð ðn
ð 
ón
ð` ×Ñà8<ðØ5ðà	òó ñr   rŒ   )rE   zEchoingStdin | Noner8   zcabc.Iterator[None])r   rð   rp   r:   r8   r7   )&Ú
__future__r   Úcollections.abcÚabcÚcabcrñ   rX   r½   rÕ   rè   r¤   rå   Útypingrk   Útypesr   r£   r   r   r   r	   r
   ÚTYPE_CHECKINGÚ	_typeshedr   Úcorer   r   rò   rF   rY   rH   rV   ÚTextIOWrapperr]   rq   rs   rŒ   rC   r   r   ú<module>rý      sË   ðÝ "å Û Û 	Û 	Û Û Û 
Û Û Ý å Ý Ý Ý Ý (à‡?‚?Ý(å÷!ñ !ðD ×Ñòó ðô �"—*‘*ô  ÷&Cñ Cô˜"×*Ñ*ô ð"Ø+ðØ69ðàó÷(K4ñ K4÷\Sò Sr   