
    /hI                    \   U d dl mZ d dl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mZ d dlmZ e	j                            d          Ze	j                            d          ZdZded<    ej        d	          Z	 	 dgdhdZdidZdjdZ G d dej                  Z G d d          ZdkdldZdkdld Zdmd"Z dmd#Z!dnd$Z"dod'Z#dpd(Z$	 	 dgdqd.Z%	 dkdrd0Z&	 dkdsd2Z'dtd3Z(dtd4Z)dtd5Z*dudvd6Z+dudvd7Z,dudvd8Z-dwd<Z.	 	 	 	 dxdydCZ/ G dD dE          Z0dzdFZ1d{dGZ2	 dud|dKZ3e	j                            d          r!erdLdMl4m5Z5 d}dNZ6 e            Z7dOedP<   d~ddQZnd}dRZ6ddUZ5ddXZ8d{dYZ9dd^Z: e:d_ e+          Z; e:d` e,          Z< e:da e-          Z=e(e)e*dbZ>dcedd<   e+e,e-dbZ?deedf<   dS )    )annotationsN)TracebackTypeWeakKeyDictionarycygwinwinz't.Callable[[t.TextIO], t.TextIO] | Noneauto_wrap_for_ansiz\033\[[;?0-9]*[a-zA-Z]Fstream
t.BinaryIOencoding
str | Noneerrorsforce_readableboolforce_writablereturnt.TextIOc                V    |t          |           }|d}t          | ||d||          S )NreplaceT)line_bufferingr   r   )get_best_encoding_NonClosingTextIOWrapper)r
   r   r   r   r   s        @/var/www/html/venv/lib/python3.11/site-packages/click/_compat.py_make_text_streamr      sJ     $V,,~#%%       strc                `    	 t          j        |           j        dk    S # t          $ r Y dS w xY w)z$Checks if a given encoding is ascii.asciiF)codecslookupnameLookupError)r   s    r   is_ascii_encodingr#   (   sA    }X&&+w66   uus    
--t.IO[t.Any]c                p    t          | dd          pt          j                    }t          |          rdS |S )z1Returns the default stream encoding if not found.r   Nzutf-8)getattrsysgetdefaultencodingr#   )r
   rvs     r   r   r   0   s;    	T	*	*	Fc.D.F.FB wIr   c                  6     e Zd Z	 	 dd fdZddZddZ xZS )r   Fr
   r   r   r   r   r   r   r   extrat.Anyr   Nonec                    t          j        t           j        t          |||                    x| _        } t                      j        |||fi | d S N)tcastBinaryIO_FixupStream_streamsuper__init__)selfr
   r   r   r   r   r+   	__class__s          r   r6   z!_NonClosingTextIOWrapper.__init__9   s]     !"JV^^LL!
 !
 	
v 	6;;U;;;;;r   c                R    	 |                                   d S # t          $ r Y d S w xY wr/   )detach	Exceptionr7   s    r   __del__z _NonClosingTextIOWrapper.__del__G   s:    	KKMMMMM 	 	 	DD	s    
&&c                4    | j                                         S r/   )r4   isattyr<   s    r   r?   z_NonClosingTextIOWrapper.isattyM   s    |""$$$r   FF)r
   r   r   r   r   r   r   r   r   r   r+   r,   r   r-   )r   r-   r   r   )__name__
__module____qualname__r6   r=   r?   __classcell__)r8   s   @r   r   r   8   sr          %$< < < < < < <   % % % % % % % %r   r   c                  H    e Zd ZdZ	 	 dddZddZddZddZddZddZ	dS )r3   aQ  The new io interface needs more from streams than streams
    traditionally implement.  As such, this fix-up code is necessary in
    some circumstances.

    The forcing of readable and writable flags are there because some tools
    put badly patched objects on sys (one such offender are certain version
    of jupyter notebook).
    Fr
   r   r   r   r   c                0    || _         || _        || _        d S r/   )r4   _force_readable_force_writable)r7   r
   r   r   s       r   r6   z_FixupStream.__init__\   s!     --r   r!   r   r   r,   c                ,    t          | j        |          S r/   )r&   r4   r7   r!   s     r   __getattr__z_FixupStream.__getattr__f   s    t|T***r   sizeintbytesc                    t          | j        dd           }|#t          j        t           ||                    S | j                            |          S )Nread1)r&   r4   r0   r1   rO   read)r7   rM   fs      r   rQ   z_FixupStream.read1i   sJ    DL'400=6%4)))|  &&&r   c                    | j         rdS t          | j        dd           }|"t          j        t
           |                      S 	 | j                            d           n# t          $ r Y dS w xY wdS )NTreadabler   F)rH   r&   r4   r0   r1   r   rR   r;   r7   xs     r   rU   z_FixupStream.readableq   s     	4DL*d33=6$$$$	La     	 	 	55	ts   A   
A.-A.c                @   | j         rdS t          | j        dd           }|"t          j        t
           |                      S 	 | j                            d           n># t          $ r1 	 | j                            d           n# t          $ r Y Y dS w xY wY nw xY wdS )NTwritabler   F)rI   r&   r4   r0   r1   r   writer;   rV   s     r   rY   z_FixupStream.writable}   s     	4DL*d33=6$$$$	Ls#### 	 	 	""3''''   uuu ('	
 ts6   A   
B+BB
BBBBBc                   t          | j        dd           }|"t          j        t           |                      S 	 | j                            | j                                                   n# t          $ r Y dS w xY wdS )NseekableFT)r&   r4   r0   r1   r   seektellr;   rV   s     r   r\   z_FixupStream.seekable   s    DL*d33=6$$$$	Ldl//112222 	 	 	55	ts   1A. .
A<;A<Nr@   )r
   r   r   r   r   r   r!   r   r   r,   )rM   rN   r   rO   rA   )
rB   rC   rD   __doc__r6   rL   rQ   rU   rY   r\    r   r   r3   r3   R   s           %$	. . . . .+ + + +' ' ' '
 
 
 
        r   r3   defaultc                x    	 t          |                     d          t                    S # t          $ r |cY S w xY wNr   )
isinstancerR   rO   r;   r
   rb   s     r   _is_binary_readerrg      sE    &++a..%000   s   '* 99c                    	 |                      d           n;# t          $ r. 	 |                      d           Y dS # t          $ r Y nw xY w|cY S w xY wdS )Nr    FT)rZ   r;   rf   s     r   _is_binary_writerrj      s    S   	LL55 	 	 	D	 4s*    
A;
AAAAAt.BinaryIO | Nonec                    t          | d          rt          j        t          j        |           S t	          | dd           }|/t          |d          rt          j        t          j        |          S d S NFbufferT)rg   r0   r1   r2   r&   r
   bufs     r   _find_binary_readerrq      j    
 '' *vaj&)))
&(D
)
)C ,S$77vaj#&&&4r   c                    t          | d          rt          j        t          j        |           S t	          | dd           }|/t          |d          rt          j        t          j        |          S d S rm   )rj   r0   r1   r2   r&   ro   s     r   _find_binary_writerrt      rr   r   c                B    t          t          | dd          pd          S )z3A stream is misconfigured if its encoding is ASCII.r   Nr   )r#   r&   r
   s    r   _stream_is_misconfiguredrw      s#     WVZ>>I'JJJr   attrvaluec                @    t          | |d          }||k    p|du o|duS )zA stream attribute is compatible if it is equal to the
    desired value or the desired value is unset and the attribute
    has a value.
    N)r&   )r
   rx   ry   stream_values       r   _is_compat_stream_attrr|      s3    
 64..L5 PUd]%O|47OPr   c                F    t          | d|          ot          | d|          S )zcCheck if a stream's encoding and errors attributes are
    compatible with the desired values.
    r   r   )r|   )r
   r   r   s      r   _is_compatible_text_streamr~      s1     "
H  ;
 6
:
:;r   text_stream	is_binary%t.Callable[[t.IO[t.Any], bool], bool]find_binary,t.Callable[[t.IO[t.Any]], t.BinaryIO | None]c                2    || d          r t          j        t           j        |           }nTt          j        t           j        |           } t	          | ||          r|t          |           s| S  ||           }|| S |}|d}t          |||||          S )NFr   )r   r   )r0   r1   r2   TextIOr~   rw   r   )	r   r   r   r   r   r   r   binary_readerpossible_binary_readers	            r   _force_correct_text_streamr      s     ye$$ /qz;77fQX{33 &k8VDD 	!9+!F!F "-[!9!9 "). ~ %%   r   text_readerc                @    t          | ||t          t          |          S )Nr   )r   rg   rq   )r   r   r   r   s       r   _force_correct_text_readerr     -     &%   r   text_writerc                @    t          | ||t          t          |          S )Nr   )r   rj   rt   )r   r   r   r   s       r   _force_correct_text_writerr   ,  r   r   c                 Z    t          t          j                  } | t          d          | S )Nz6Was not able to determine binary stream for sys.stdin.)rq   r'   stdinRuntimeError)readers    r   get_binary_stdinr   <  s*     ++F~STTTMr   c                 Z    t          t          j                  } | t          d          | S )Nz7Was not able to determine binary stream for sys.stdout.)rt   r'   stdoutr   writers    r   get_binary_stdoutr   C  *     ,,F~TUUUMr   c                 Z    t          t          j                  } | t          d          | S )Nz7Was not able to determine binary stream for sys.stderr.)rt   r'   stderrr   r   s    r   get_binary_stderrr   J  r   r   c                z    t          t          j        | |          }||S t          t          j        | |d          S )NTr   )_get_windows_console_streamr'   r   r   r   r   r)   s      r   get_text_stdinr   Q  s9    	$SY&	A	AB	~	%ci6RVWWWWr   c                z    t          t          j        | |          }||S t          t          j        | |d          S NTr   )r   r'   r   r   r   s      r   get_text_stdoutr   X  9    	$SZ6	B	BB	~	%cj(FSWXXXXr   c                z    t          t          j        | |          }||S t          t          j        | |d          S r   )r   r'   r   r   r   s      r   get_text_stderrr   _  r   r   filestr | os.PathLike[str] | intmodec                P    d|v rt          | |          S t          | |||          S )z?Handles not passing ``encoding`` and ``errors`` in binary mode.br   r   )open)r   r   r   r   s       r   _wrap_io_openr   f  s4     d{{D$dXf====r   rstrictfilenamestr | os.PathLike[str]atomictuple[t.IO[t.Any], bool]c                   dv }t          j        |           } t          j        |           dk    ret          fddD                       r%|rt	                      dfS t          ||          dfS |rt                      dfS t          ||          dfS |st          | ||          dfS dv rt          d	          d
v rt          d          dvrt          d          dd l
}dd l}	 t          j        |           j        }n# t          $ r d }Y nw xY wt           j        t           j        z  t           j        z  }	|r|	t%          t           dd          z  }		 t           j                            t           j                            |           d|                    d          d          }
	 t          j        |
|	|dn|          }n# t          $ r}|j
        |j        k    sht           j        dk    r]|j
        |j        k    rMt           j                            |j                  r)t          j        |j        t           j                  rY d }~ d }~ww xY w|t          j        |
|           t          |||          }tA          ||
t           j        !                    |                     }tE          j#        tD          j$        tD          j%                 |          dfS )Nr   -c              3      K   | ]}|v V  	d S r/   ra   ).0mr   s     r   	<genexpr>zopen_stream.<locals>.<genexpr>  s'      22QqDy222222r   )warW   Fr   Tr   zAppending to an existing file is not supported, because that would involve an expensive `copy`-operation to a temporary file. Open the file in normal `w`-mode and copy explicitly if that's what you're after.rW   z&Use the `overwrite`-parameter instead.r   z,Atomic writes only make sense with `w`-mode.r   O_BINARYz.__atomic-writel        08xi  nt)&osfspathfsdecodeanyr   r   r   r   r   
ValueErrorerrnorandomstatst_modeOSErrorO_RDWRO_CREATO_EXCLr&   pathjoindirname	randranger   EEXISTr!   EACCESisdirr   accessW_OKchmod_AtomicFilerealpathr0   r1   IOAny)r   r   r   r   r   binaryr   r   permflagstmp_filenamefderS   afs    `             r   open_streamr   s  s    D[Fy""H 
{8##2222/22222 	L 2(**E11"HVDDDeKK 	-#%%u,,x???FF  EXtXv>>DD d{{,
 
 	
 d{{ABBB
$GHHH LLLMMM78,,4    I
"RY.E ,Z+++w||GOOH%%=f..w77===
 
	ut|eeNNB 	 	 	w%,&&4Gu|++GMM!*-- ,Iaj"'22 , 	 
t$$$b$&11A	Qbg&6&6x&@&@	A	AB6!$qu+r""D((s1   /D	 	DD2G 
IA8IIIc                  X    e Zd ZddZedd	            ZdddZddZd dZd!dZ	ddZ
dS )"r   rS   r$   r   r   real_filenamer   r-   c                >    || _         || _        || _        d| _        d S NF)_f_tmp_filename_real_filenameclosed)r7   rS   r   r   s       r   r6   z_AtomicFile.__init__  s$    )+r   c                    | j         S r/   )r   r<   s    r   r!   z_AtomicFile.name  s    ""r   Fdeleter   c                    | j         rd S | j                                         t          j        | j        | j                   d| _         d S )NT)r   r   closer   r   r   r   )r7   r   s     r   r   z_AtomicFile.close  sC    ; 	F

4%t':;;;r   r!   r,   c                ,    t          | j        |          S r/   )r&   r   rK   s     r   rL   z_AtomicFile.__getattr__  s    tw%%%r   c                    | S r/   ra   r<   s    r   	__enter__z_AtomicFile.__enter__  s    r   exc_typetype[BaseException] | None	exc_valueBaseException | NonetbTracebackType | Nonec                6    |                      |d u           d S )N)r   )r   )r7   r   r   r   s       r   __exit__z_AtomicFile.__exit__  s#     	

($.
/////r   c                *    t          | j                  S r/   )reprr   r<   s    r   __repr__z_AtomicFile.__repr__  s    DG}}r   N)rS   r$   r   r   r   r   r   r-   r   r   F)r   r   r   r-   r_   )r   r   )r   r   r   r   r   r   r   r-   )rB   rC   rD   r6   propertyr!   r   rL   r   r   r   ra   r   r   r   r     s            # # # X#    & & & &   0 0 0 0     r   r   c                8    t                               d|           S )Nri   )_ansi_resub)ry   s    r   
strip_ansir    s    <<E"""r   c                    t          | t          t          f          r#| j        } t          | t          t          f          #| j        j                            d          S )Nz
ipykernel.)re   r3   r   r4   r8   rC   
startswithrv   s    r   _is_jupyter_kernel_outputr	    sW    
Vl,DE
F
F   Vl,DE
F
F   &11,???r   t.IO[t.Any] | Nonecolorbool | Nonec                h    |.| t           j        } t          |            ot          |            S | S r/   )r'   r   r?   r	  )r
   r  s     r   should_strip_ansir    s=     }>YF&>>!K*CF*K*K&KK9r      )r   c                 2    dd l } |                                 S rd   )localegetpreferredencoding)r  s    r   _get_argv_encodingr    s    **,,,r   z'cabc.MutableMapping[t.TextIO, t.TextIO]_ansi_stream_wrappersc                n   	 t                               |           }n# t          $ r d}Y nw xY w||S ddl}t	          | |          }|                    | |          t          j        t          j        j	                  }|j
        d	fd}||_
        	 |t           | <   n# t          $ r Y nw xY w|S )
zbSupport ANSI color and style codes on Windows by wrapping a
        stream with colorama.
        Nr   )stripsr   r   rN   c                b    	  |           S # t           $ r                                   w xY wr/   )BaseException	reset_all)r  _writeansi_wrappers    r   _safe_writez'auto_wrap_for_ansi.<locals>._safe_write  sF    vayy     &&(((s   
  .)r  r   r   rN   )r  getr;   coloramar  AnsiToWin32r0   r1   r   r
   rZ   )	r
   r  cachedr  r  r)   r  r  r  s	          @@r   r	   r	   
  s   	*..v66FF 	 	 	FFF	 M!&%00++F%+@@VAHl122	 	 	 	 	 	 	 	,.!&)) 	 	 	D	 	s    ..
B% %
B21B2c                 ^    t          t          j        dd           pt          j                    S )Nr   )r&   r'   r   getfilesystemencodingra   r   r   r  r  /  s$    sy*d33Rs7P7R7RRr   rS   t.TextIO | Nonec                    d S r/   ra   )rS   r   r   s      r   r   r   2  s	     tr   rW   rN   c                :    t          t          |                     S r/   )lenr  )rW   s    r   term_lenr(  8  s    z!}}r   c                N    	 |                                  S # t          $ r Y dS w xY wr   )r?   r;   rv   s    r   r?   r?   <  s7    }}   uus    
$$src_funct.Callable[[], t.TextIO | None]wrapper_funct.Callable[[], t.TextIO]c                8     t                      d fd}|S )Nr   r$  c                                  } | d S 	                      |           }n# t          $ r d }Y nw xY w||S              }	 || <   n# t          $ r Y nw xY w|S r/   )r  r;   )r
   r)   cacher*  r,  s     r   funcz&_make_cached_stream_func.<locals>.funcI  s    >4	6""BB 	 	 	BBB	>I\^^	E&MM 	 	 	D		s   ' 66A 
AA)r   r$  r   )r*  r,  r1  r0  s   `` @r   _make_cached_stream_funcr2  C  sB     6G5H5HE       & Kr   c                     t           j        S r/   )r'   r   ra   r   r   <lambda>r4  _  s    sy r   c                     t           j        S r/   )r'   r   ra   r   r   r4  r4  `      
 r   c                     t           j        S r/   )r'   r   ra   r   r   r4  r4  a  r6  r   )r   r   r   z-cabc.Mapping[str, t.Callable[[], t.BinaryIO]]binary_streamszAcabc.Mapping[str, t.Callable[[str | None, str | None], t.TextIO]]text_streamsr@   )r
   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   )r
   r$   r   r   r  )r
   r$   rb   r   r   r   )r
   r$   r   rk   )r
   r   r   r   )r
   r   rx   r   ry   r   r   r   )r
   r   r   r   r   r   r   r   )r   r$   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )
r   r$   r   r   r   r   r   r   r   r   )
r   r$   r   r   r   r   r   r   r   r   )r   r   )NN)r   r   r   r   r   r   )
r   r   r   r   r   r   r   r   r   r$   )r   Nr   F)r   r   r   r   r   r   r   r   r   r   r   r   )ry   r   r   r   )r
   r$   r   r   )r
   r
  r  r  r   r   r   r/   )r
   r   r  r  r   r   )rS   r   r   r   r   r   r   r$  )rW   r   r   rN   )r*  r+  r,  r-  r   r+  )@
__future__r   r   collections.abcabccabcior   rer'   typingr0   typesr   weakrefr   platformr  CYGWINWINr	   __annotations__compiler  r   r#   r   TextIOWrapperr   r3   rg   rj   rq   rt   rw   r|   r~   r   r   r   r   r   r   r   r   r   r   r   r   r  r	  r  _winconsoler   r  r  r(  r?   r2  _default_text_stdin_default_text_stdout_default_text_stderrr8  r9  ra   r   r   <module>rM     s]   " " " " " " "        				 				 				 



           % % % % % %		 	 	*	*	le$$>B  B B B B2:/00 !     *      % % % % %r/ % % %4B B B B B B B BJ    
 
 
 
 
   $   $K K K KQ Q Q Q; ; ; ;" ! + + + + +d !	    ( !	              X X X X XY Y Y Y YY Y Y Y Y
> 
> 
> 
> !N) N) N) N) N)b! ! ! ! ! ! ! !H# # # #@ @ @ @ =A     <5!! 5c 5888888- - - -
 FWEVEXEXXXXX! ! ! ! ! !JS S S S            8 /./@/@.QQ //0B0BOTT //0B0BOTT  A A     S S      r   