Ë
    E·jš?  ã                   ó  — 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  G d
„ d«      Ze j*                  dej,                  e   dej.                  d   fd„«       Z G d„ dej2                  «      Zdej,                  ej6                  eeej<                  ej>                     f      dedej@                  fd„Z! G d„ d«      Z" G d„ d«      Z#y)é    N)ÚTracebackTypeé   )Ú_compat)Ú
formatting)Útermui)Úutils)Ú_find_binary_reader)ÚBaseCommandc                   ó
  — e Zd Zdej                  dej                  ddfd„Zdedej                  fd„Zde	de	fd	„Z
dd
ede	fd„Zdd
ede	fd„Zdd
ede	fd„Zdej                  e	   fd„Zdej"                  e	   fd„Zdefd„Zy)ÚEchoingStdinÚinputÚoutputÚreturnNc                 ó.   — || _         || _        d| _        y )NF)Ú_inputÚ_outputÚ_paused)Úselfr   r   s      ú[/var/www/html/ai-video-generator/backend/venv/lib/python3.12/site-packages/click/testing.pyÚ__init__zEchoingStdin.__init__   s   € ØˆŒØˆŒØˆ�ó    Úxc                 ó.   — t        | j                  |«      S ©N)Úgetattrr   ©r   r   s     r   Ú__getattr__zEchoingStdin.__getattr__   s   € Ü�t—{‘{ AÓ&Ð&r   Úrvc                 óT   — | j                   s| j                  j                  |«       |S r   )r   r   Úwrite)r   r   s     r   Ú_echozEchoingStdin._echo   s    € Ø�|Š|Ø�L‰L×Ñ˜rÔ"àˆ	r   Únc                 óV   — | j                  | j                  j                  |«      «      S r   )r!   r   Úread©r   r"   s     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.readlines-   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>1   s   øè ø€ Ò7 a�D—J‘J˜q—MÑ7ùs   ƒ)Úiterr   ©r   s   `r   Ú__iter__zEchoingStdin.__iter__0   s   ø€ ÜÓ7¨4¯;©;Ô7Ó7Ð7r   c                 ó,   — t        | j                  «      S r   )Úreprr   r1   s    r   Ú__repr__zEchoingStdin.__repr__3   s   € Ü�D—K‘KÓ Ð r   )éÿÿÿÿ)Ú__name__Ú
__module__Ú__qualname__ÚtÚBinaryIOr   ÚstrÚAnyr   Úbytesr!   Úintr$   r'   r)   ÚListr+   ÚIteratorr2   r5   © r   r   r   r      s¾   „ ð˜aŸj™jð °!·*±*ð Àó ð
'˜Sð ' Q§U¡Uó 'ð˜ð  %ó ñ/�cð / 5ó /ñ0�sð 0 Eó 0ñ3˜#ð 3 uó 3ð@˜1Ÿ6™6 %™=ó @ð8˜!Ÿ*™* UÑ+ó 8ð!˜#ô !r   r   Ústreamr   c              #   ó>   K  — | €d –— y d| _         d –— d| _         y ­w)NTF)r   )rC   s    r   Ú_pause_echorE   7   s   è ø€ à€~ÜàˆŒÛØˆ�ùs   ‚c            
       óˆ   ‡ — e Zd Zdej                  dededej                  ddf
ˆ fd„Zedefd„«       Z	edefd	„«       Z
ˆ xZS )
Ú_NamedTextIOWrapperÚbufferÚnameÚmodeÚkwargsr   Nc                 óB   •— t        ‰| �  |fi |¤Ž || _        || _        y r   )Úsuperr   Ú_nameÚ_mode)r   rH   rI   rJ   rK   Ú	__class__s        €r   r   z_NamedTextIOWrapper.__init__B   s%   ø€ ô 	‰Ñ˜Ñ* 6Ò*ØˆŒ
Øˆ�
r   c                 ó   — | j                   S r   )rN   r1   s    r   rI   z_NamedTextIOWrapper.nameI   ó   € à�z‰zÐr   c                 ó   — | j                   S r   )rO   r1   s    r   rJ   z_NamedTextIOWrapper.modeM   rR   r   )r7   r8   r9   r:   r;   r<   r=   r   ÚpropertyrI   rJ   Ú__classcell__)rP   s   @r   rG   rG   A   sn   ø„ ðØ—j‘jðØ(+ðØ36ðØBCÇ%Á%ðà	õð ð�cò ó ðð ð�cò ó ôr   rG   r   Úcharsetc                 ó*  — t        | d«      rMt        t        j                  t        j                  t        j
                     | «      «      }|�|S t        d«      ‚| €d} n!t        | t        «      r| j                  |«      } t        j                  | «      S )Nr$   z.Could not find binary reader for input stream.r   )Úhasattrr	   r:   ÚcastÚIOr=   Ú	TypeErrorÚ
isinstancer<   ÚencodeÚioÚBytesIO)r   rV   r   s      r   Úmake_input_streamr`   R   sv   € ô ˆu�fÔÜ ¤§¡¬¯©¬Q¯U©U©°UÓ!;Ó<ˆàˆ>ØˆIäÐHÓIÐIà€}Ø‰Ü	�Eœ3Ô	Ø—‘˜WÓ%ˆä�:‰:�eÓÐr   c                   ó"  — e Zd ZdZ	 ddddedej                  e   dej                  ded	ej                  e	   d
ej                  ej                  ej                  e	   e	ef      fd„Zedefd„«       Zedefd„«       Zedefd„«       Zdefd„Zy)ÚResultz3Holds the captured result of an invoked CLI script.NÚrunnerÚ	CliRunnerÚstdout_bytesÚstderr_bytesÚreturn_valueÚ	exit_codeÚ	exceptionÚexc_infoc                 óf   — || _         || _        || _        || _        || _        || _        || _        y r   ©rc   re   rf   rg   rh   ri   rj   )r   rc   re   rf   rg   rh   ri   rj   s           r   r   zResult.__init__i   s:   € ð ˆŒà(ˆÔà(ˆÔð )ˆÔà"ˆŒà"ˆŒà ˆ�r   r   c                 ó   — | j                   S )z(The (standard) output as unicode string.)Ústdoutr1   s    r   r   zResult.output†   s   € ð �{‰{Ðr   c                 ó‚   — | j                   j                  | j                  j                  d«      j	                  dd«      S )z&The standard output as unicode string.Úreplaceú
ú
)re   Údecoderc   rV   rp   r1   s    r   rn   zResult.stdout‹   s9   € ð × Ñ ×'Ñ'¨¯©×(;Ñ(;¸YÓG×OÑOØ�Dó
ð 	
r   c                 ó°   — | j                   €t        d«      ‚| j                   j                  | j                  j                  d«      j                  dd«      S )z%The standard error as unicode string.zstderr not separately capturedrp   rq   rr   )rf   Ú
ValueErrorrs   rc   rV   rp   r1   s    r   ÚstderrzResult.stderr’   sQ   € ð ×ÑÐ$ÜÐ=Ó>Ð>Ø× Ñ ×'Ñ'¨¯©×(;Ñ(;¸YÓG×OÑOØ�Dó
ð 	
r   c                 ó€   — | j                   rt        | j                   «      nd}dt        | «      j                  › d|› d�S )NÚokayú<ú ú>)ri   r4   Útyper7   )r   Úexc_strs     r   r5   zResult.__repr__›   s8   € Ø*.¯.ª.”$�t—~‘~Ô&¸fˆØ”4˜“:×&Ñ&Ð' q¨¨	°Ð3Ð3r   r   )r7   r8   r9   Ú__doc__r>   r:   ÚOptionalr=   r?   ÚBaseExceptionÚTupleÚTyper   r   rT   r<   r   rn   rv   r5   rB   r   r   rb   rb   f   së   „ Ù=ð ñ!àð!ð ð!ð —j‘j Ñ'ð	!ð
 —e‘eð!ð ð!ð —:‘:˜mÑ,ð!ð —*‘*Ø�G‰G�A—F‘F˜=Ñ)¨=¸-ÐGÑHñ
ó!ð: ð˜ò ó ðð ð
˜ò 
ó ð
ð ð
˜ò 
ó ð
ð4˜#ô 4r   rb   c                   ó€  — e Zd ZdZ	 	 	 	 ddedej                  ej                  eej                  e   f      dededdf
d„Z	d	d
defd„Z
	 ddej                  ej                  eej                  e   f      dej                  eej                  e   f   fd„Zej                  	 	 	 ddej                  ej                  eeej                   ej"                     f      dej                  ej                  eej                  e   f      dedej$                  ej&                  ej*                  ej                  ej*                     f      fd„«       Z	 	 	 	 	 dd	d
dej                  ej                  eej.                  e   f      dej                  ej                  eeej                   ej"                     f      dej                  ej                  eej                  e   f      dededej"                  defd„Zej                  	 ddej                  ej                  edf      dej$                  e   fd„«       Zy)rd   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 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
    NrV   ÚenvÚ
echo_stdinÚ
mix_stderrr   c                 óD   — || _         |xs i | _        || _        || _        y r   )rV   r„   r…   r†   )r   rV   r„   r…   r†   s        r   r   zCliRunner.__init__³   s$   € ð ˆŒØ47²I¸2ˆŒØ$ˆŒØ$ˆ�r   Úclir
   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)rI   )r   rˆ   s     r   Úget_default_prog_namezCliRunner.get_default_prog_name¿   s   € ð
 �x‰xÒ!˜6Ð!r   Ú	overridesc                 óV   — t        | j                  «      }|r|j                  |«       |S )z8Returns the environment overrides for invoking a script.)Údictr„   Úupdate)r   rŒ   r   s      r   Úmake_envzCliRunner.make_envÆ   s%   € ô �$—(‘(‹^ˆÙØ�I‰I�iÔ Øˆ	r   r   Úcolorc              #   ó”	  ‡‡K  — t        || j                  «      }d}t        j                  }t        j                  }t        j
                  }t        j                  }	dt        _        | j                  |«      }t        j                  «       }
| j                  r0t        j                  t        j                  t        ||
«      «      x}}t!        || j                  dd¬«      xt        _        Š| j                  rd‰_        t!        |
| j                  dd¬«      t        _        d}| j$                  rt        j                  t        _        n7t        j                  «       }t!        || j                  d	dd
¬«      t        _        t'        |«      ddt        j(                  t*           dt*        fˆfd„«       }t'        |«      ddt        j(                  t*           dt*        fˆfd„«       }t'        |«      dt,        dt*        fd„«       }|Š	 ddt        j(                  t        j.                  t        j0                        dt        j(                  t,           dt,        fˆfd„}t2        j4                  }t2        j6                  }t2        j8                  }t:        j<                  }t>        j<                  }|t2        _        |t2        _        |t2        _        |t:        _        |t>        _        i }	 |jA                  «       D ]O  \  }}tB        jD                  jG                  |«      ||<   |€	 tB        jD                  |= Œ=|tB        jD                  |<   ŒQ |
|f–— |jA                  «       D ]-  \  }}|€	 tB        jD                  |= Œ|tB        jD                  |<   Œ/ |t        _        |t        _        |t        _        |t2        _        |t2        _        |t2        _        |t:        _        |t>        _        |	t        _        y# tH        $ r Y �Œw xY w# tH        $ r Y Œ¯w xY w# |jA                  «       D ]<  \  }}|€"	 tB        jD                  |= Œ# tH        $ r Y Œ&w xY w|tB        jD                  |<   Œ> |t        _        |t        _        |t        _        |t2        _        |t2        _        |t2        _        |t:        _        |t>        _        |	t        _        w xY w­w)an  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.

        .. 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)ÚencodingrI   rJ   r   z<stdout>Úwz<stderr>Úbackslashreplace)r•   rI   rJ   ÚerrorsÚpromptr   c                 ó  •— t         j                  j                  | xs d«       ‰j                  «       j	                  d«      }t         j                  j                  |› d�«       t         j                  j                  «        |S )NÚ rq   rr   )Úsysrn   r    r)   ÚrstripÚflush)r™   ÚvalÚ
text_inputs     €r   Úvisible_inputz*CliRunner.isolation.<locals>.visible_input  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›   rr   rq   )rœ   rn   r    rž   r)   r�   )r™   r    s    €r   Úhidden_inputz)CliRunner.isolation.<locals>.hidden_input  sJ   ø€ ä�J‰J×Ñ ¢¨"˜~¨RÐ0Ô1Ü�J‰J×ÑÔØ×&Ñ&Ó(×/Ñ/°Ó7Ð7r   Úechoc                 óÂ   — t         j                  j                  d«      }| rt         j                  j	                  |«       t         j                  j                  «        |S )Nr   )rœ   Ústdinr$   rn   r    rž   )r¤   Úchars     r   Ú_getcharz%CliRunner.isolation.<locals>._getchar$  s>   € ä—9‘9—>‘> !Ó$ˆDáÜ—
‘
× Ñ  Ô&ä�J‰J×ÑÔØˆKr   rC   r‘   c                 ó   •— |€‰ S | S r   rB   )rC   r‘   Údefault_colors     €r   Úshould_strip_ansiz.CliRunner.isolation.<locals>.should_strip_ansi0  s   ø€ ð ˆ}Ø(Ð(Ð(Ø�9Ðr   r   )NN)%r`   rV   rœ   r¦   rn   rv   r   ÚFORCED_WIDTHr�   r^   r_   r…   r:   rY   r;   r   rG   Ú_CHUNK_SIZEr†   rE   r   r<   ÚboolrZ   r=   r   Úvisible_prompt_funcÚhidden_prompt_funcr¨   r   r«   r   ÚitemsÚosÚenvironÚgetÚ	Exception)r   r   r„   r‘   Úbytes_inputÚ
echo_inputÚ	old_stdinÚ
old_stdoutÚ
old_stderrÚold_forced_widthÚbytes_outputÚbytes_errorr¡   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ÿ  ùè ø€ ô6 (¨¨t¯|©|Ó<ˆØˆ
ä—I‘Iˆ	Ü—Z‘Zˆ
Ü—Z‘Zˆ
Ü%×2Ñ2ÐØ"$Œ
Ôà�m‰m˜CÓ ˆä—z‘z“|ˆà�?Š?Ü'(§v¡vÜ—
‘
œL¨°lÓCó(ð ˆK˜*ô "5Ø $§,¡,°YÀSô"
ð 	
ŒŒ	�Jð �?Š?ð &'ˆJÔ"ä(Ø 4§<¡<°jÀsô
ŒŒ
ð ˆØ�?Š?ÜŸ™ŒC�JäŸ*™*›,ˆKÜ,ØØŸ™ØØØ)ôŒCŒJô 
�ZÓ	 ñ	¤!§*¡*¬S¡/ð 	¼Sô 	ó 
!ð	ô 
�ZÓ	 ñ	8¤§¡¬C¡ð 	8¼Cô 	8ó 
!ð	8ô
 
�ZÓ	 ð	œ4ð 	¤Cò 	ó 
!ð	ð ˆð OSñ	Ü—J‘JœqŸt™t¤A§E¡E™{Ñ+ð	Ü;<¿:¹:ÄdÑ;Kð	äõ	ô #)×"<Ñ"<ÐÜ!'×!:Ñ!:ÐÜ"Ÿ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ð,ð   Ð-Ò-à%Ÿ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Œ   „K!SË&:P Ì!O2Ì2P ÍSÍ'PÍ8A:SÏ2	O?Ï;P Ï>O?Ï?P Ð	PÐSÐPÐSÐSÐ+P=Ð<SÐ=	Q		ÑSÑQ		Ñ	A<SÓSÚargsÚcatch_exceptionsÚextrac           	      óì  — d}| j                  |||¬«      5 }	d}
d}d}t        |t        «      rt        j                  |«      }	 |j                  d«      }	  |j                  d|xs d|dœ|¤Ž}
t        j&                  j-                  «        |	d   j/                  «       }| j0                  rd}n|	d   j/                  «       }	 ddd«       t3        | 
|¬	«      S # t        $ r | j                  |«      }Y Œ¤w xY w# t        $ rÛ}t        j                  «       }t        j                  t        j                  t        j                  t         t        j"                  f      |j$                  «      }|€d}|dk7  r|}t        |t         «      sIt        j&                  j)                  t        |«      «       t        j&                  j)                  d«       d}|}Y d}~�Œmd}~wt*        $ r&}|s‚ |}d}t        j                  «       }Y d}~�Œšd}~ww xY w# t        j&                  j-                  «        |	d   j/                  «       }| j0                  rd}w |	d   j/                  «       }w xY w# 1 sw Y   �Œ¨x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``.
        :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   Ú	prog_namerB   )rÇ   rË   rr   r   rl   )rÆ   r\   r<   ÚshlexÚsplitÚpopÚKeyErrorr‹   ÚmainÚ
SystemExitrœ   rj   r:   rY   r   ÚUnionr?   r=   Úcodern   r    rµ   rž   Úgetvaluer†   rb   )r   rˆ   rÇ   r   r„   rÈ   r‘   rÉ   rj   Ú
outstreamsrg   ri   rh   rË   ÚeÚe_codern   rv   s                     r   ÚinvokezCliRunner.invokea  s  € ðX ˆØ�^‰^ %¨S¸ˆ^Ó>ð ,	6À*ØˆLØ37ˆIØˆIä˜$¤Ô$Ü—{‘{ 4Ó(�ð<Ø!ŸI™I kÓ2�	ð6Ø'˜sŸx™xÐV¨TªZ°RÀ9ÑVÐPUÑV�ô2 —
‘
× Ñ Ô"Ø# A™×/Ñ/Ó1�Ø—?’?Ø!‘Fà'¨™]×3Ñ3Ó5‘F÷Y,	6ô\ ØØØØ%ØØØô
ð 	
øôI ò <Ø ×6Ñ6°sÓ;’	ð<ûô
 ò #ÜŸ<™<›>�ÜŸ™¤§
¡
¬1¯7©7´3¼¿¹°:Ñ+>Ñ ?ÀÇÁÓH�à�>Ø�Fà˜Q’;Ø !�Iä! &¬#Ô.Ü—J‘J×$Ñ$¤S¨£[Ô1Ü—J‘J×$Ñ$ TÔ*Ø�Fà"–	ûäò *Ù'ØØ�	Ø�	ÜŸ<™<›>–ûð*ûô —
‘
× Ñ Ô"Ø# A™×/Ñ/Ó1�Ø—?’?Ø!‘Fà'¨™]×3Ñ3Ó5‘Fú÷Y,	6ñ ,	6úst   —,I)ÁCÁC=Á/AI)ÃC:Ã7I)Ã9C:Ã:I)Ã=	HÄCGÇHÇHÇ(H	ÈHÈ	HÈHÈAI&É&I)É)I3Útemp_dirzos.PathLike[str]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   rÙ   Ú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-8NFTr   )NNF)NNNTF)r7   r8   r9   r~   r<   r:   r   ÚMappingr®   r   r‹   r�   Ú
contextlibÚcontextmanagerrÒ   r>   rZ   r=   rA   r�   r^   r_   rÆ   ÚSequencerb   rØ   rå   rB   r   r   rd   rd       s®  „ ñð( Ø;?Ø Øñ
%àð
%ð �Z‰Z˜Ÿ	™	 # q§z¡z°#¡Ð"6Ñ7Ñ8ð
%ð ð	
%ð
 ð
%ð 
ó
%ð"¨ð "¸3ó "ð HLñØŸ™ A§I¡I¨c°1·:±:¸c±?Ð.BÑ$CÑDðà	
�‰�3˜Ÿ
™
 3™Ð'Ñ	(óð ×Ñð ?CØ;?Øñ	O7à�z‰z˜!Ÿ'™' # u¨a¯d©d°1·5±5©kÐ"9Ñ:Ñ;ðO7ð �Z‰Z˜Ÿ	™	 # q§z¡z°#¡Ð"6Ñ7Ñ8ðO7ð ð	O7ð
 
�‰�A—G‘G˜BŸJ™J¨¯
©
°2·:±:Ñ(>Ð>Ñ?Ñ	@òO7ó ðO7ðh ;?Ø>BØ;?Ø!%Øñc
àðc
ð �j‰j˜Ÿ™  a§j¡j°¡oÐ!5Ñ6Ñ7ðc
ð �z‰z˜!Ÿ'™' # u¨a¯d©d°1·5±5©kÐ"9Ñ:Ñ;ð	c
ð
 �Z‰Z˜Ÿ	™	 # q§z¡z°#¡Ð"6Ñ7Ñ8ðc
ð ðc
ð ðc
ð —‘ðc
ð 
óc
ðJ ×ÑàGKñØŸ
™
 1§7¡7¨3Ð0BÐ+BÑ#CÑDðà	
�‰�C‰òó ñr   rd   )$rç   r^   r²   rÌ   rà   rœ   rÝ   Útypingr:   Útypesr   r›   r   r   r   r   r	   ÚTYPE_CHECKINGÚcorer
   r   rè   r   rA   rE   ÚTextIOWrapperrG   rÒ   r<   r>   rZ   r=   r;   r`   rb   rd   rB   r   r   ú<module>rï      sí   ðÛ Û 	Û 	Û Û Û 
Û Û Ý å Ý Ý Ý Ý (à‡?‚?Ý!÷!ñ !ðD ×Ñð˜Ÿ
™
 <Ñ0ð °Q·Z±ZÀÑ5Eò ó ðô˜"×*Ñ*ô ð"Ø�:‰:�a—g‘g˜c 5¨!¯$©$¨q¯u©u©+Ð5Ñ6Ñ7ðØBEðà‡Z�Zó÷(74ñ 74÷tCò Cr   