o
    (j6h!                     @  s  U 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
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 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 d dlmZ d dlmZ d dlmZ ddlmZ ejdksJ d dlZd dl
mZ d dl
m Z  eeZ!ej"Z"e"j#Z#e"j$Z$e"j%Z%e"j&Z&e"j'Z'e edej"fZ(e eeeeedej)fZ*e eedej"fZ+e#dZ,e#dZ-e#dZ.d Z/dZ0d Z1dZ2dZ3d Z4dZ5dZ6d Z7d!Z8e	j9r	zd d"lm:Z: W n e;y   d d"l<m:Z: Y nw zd d#l
m=Z= W n e;y   dZ>Y nw G d$d% d%eZ?e=j@Z@e=jAZAdLdMd-d.Z>G d/d0 d0ejBZCG d1d2 d2eCZDG d3d4 d4eCZEG d5d6 d6ZFdNd:d;ZGdNd<d=ZHdNd>d?ZIeGeHeId@ZJdAeKdB< dOdDdEZLdPdJdKZMdS )Q    )annotationsN)Array)byref)c_char)c_char_p)c_int)	c_ssize_t)c_ulong)c_void_p)POINTER)	py_object)	Structure)DWORD)HANDLE)LPCWSTR)LPWSTR   )_NonClosingTextIOWrapperwin32)windll)WINFUNCTYPEGetCommandLineWCommandLineToArgvW	LocalFreeiii   i        i  )Buffer)	pythonapic                   @  sR   e Zd Zdefdefdefdefdefdefdefdefd	efd
efdefgZ	dS )	Py_bufferbufobjlenitemsizereadonlyndimformatshapestrides
suboffsetsinternalN)
__name__
__module____qualname__r
   r   r   r   r   	c_ssize_p_fields_ r0   r0   `/var/www/html/chefvision.cloud.itp360.com/venv/lib/python3.10/site-packages/click/_winconsole.pyr   W   s    r   Fr!   r   writableboolreturnArray[c_char]c              	   C  s^   t  }|rtnt}tt| t|| zt|j }||j	}|W t
t| S t
t| w N)r   PyBUF_WRITABLEPyBUF_SIMPLEPyObject_GetBufferr   r   r   r"   from_addressr    PyBuffer_Release)r!   r2   r    flagsbuffer_typeoutr0   r0   r1   
get_bufferi   s   
r?   c                      s(   e Zd Zd
ddZd fdd	Z  ZS )_WindowsConsoleRawIOBasehandle
int | Noner4   Nonec                 C  s
   || _ d S r6   )rA   )selfrA   r0   r0   r1   __init__w      
z!_WindowsConsoleRawIOBase.__init__t.Literal[True]c                   s   t    dS NT)superisattyrD   	__class__r0   r1   rJ   z   s   
z_WindowsConsoleRawIOBase.isatty)rA   rB   r4   rC   r4   rG   )r+   r,   r-   rE   rJ   __classcell__r0   r0   rL   r1   r@   v   s    
r@   c                   @  s    e Zd ZdddZddd	Zd
S )_WindowsConsoleReaderr4   rG   c                 C     dS rH   r0   rK   r0   r0   r1   readable      z_WindowsConsoleReader.readablebr   intc                 C  s   t |}|sdS |d rtdt|dd}|d }t }tt| j||t|d }t t	kr4t
d |s>tdt  |d tkrFdS d|j S )Nr   r   z>cannot read odd number of bytes from UTF-16-LE encoded consoleT)r2   g?zWindows error: )r"   
ValueErrorr?   r	   ReadConsoleWr   rA   r   GetLastErrorERROR_OPERATION_ABORTEDtimesleepOSErrorEOFvalue)rD   rT   bytes_to_be_readbuffercode_units_to_be_readcode_units_readrvr0   r0   r1   readinto   s0   


z_WindowsConsoleReader.readintoNrN   rT   r   r4   rU   )r+   r,   r-   rR   rd   r0   r0   r0   r1   rP      s    
rP   c                   @  s.   e Zd ZdddZeddd	ZdddZdS )_WindowsConsoleWriterr4   rG   c                 C  rQ   rH   r0   rK   r0   r0   r1   r2      rS   z_WindowsConsoleWriter.writableerrnorU   strc                 C  s"   | t krdS | tkrdS d|  S )NERROR_SUCCESSERROR_NOT_ENOUGH_MEMORYzWindows error )ri   rj   )rg   r0   r0   r1   _get_error_message   s
   
z(_WindowsConsoleWriter._get_error_messagerT   r   c                 C  sl   t |}t|}t|td }t }tt| j||t|d  d|j	 }|dkr4|dkr4t
| t |S )Nr   r   )r"   r?   minMAX_BYTES_WRITTENr	   WriteConsoleWr   rA   r   r^   r\   rk   rX   )rD   rT   bytes_to_be_writtenr    code_units_to_be_writtencode_units_writtenbytes_writtenr0   r0   r1   write   s   
z_WindowsConsoleWriter.writeNrN   )rg   rU   r4   rh   re   )r+   r,   r-   r2   staticmethodrk   rs   r0   r0   r0   r1   rf      s
    
rf   c                   @  sV   e Zd ZdddZed d
dZd!ddZd"ddZd#ddZd$ddZ	d ddZ
dS )%ConsoleStreamtext_streamt.TextIObyte_stream
t.BinaryIOr4   rC   c                 C  s   || _ || _d S r6   )_text_streamr`   )rD   rv   rx   r0   r0   r1   rE      s   
zConsoleStream.__init__rh   c                 C  s   | j jS r6   )r`   namerK   r0   r0   r1   r{      s   zConsoleStream.namext.AnyStrrU   c                 C  sB   t |tr| j|S z|   W n	 ty   Y nw | j|S r6   )
isinstancerh   rz   rs   flush	Exceptionr`   )rD   r|   r0   r0   r1   rs      s   
zConsoleStream.writelinescabc.Iterable[t.AnyStr]c                 C  s   |D ]}|  | qd S r6   )rs   )rD   r   liner0   r0   r1   
writelines   s   zConsoleStream.writelinesr{   t.Anyc                 C  s   t | j|S r6   )getattrrz   )rD   r{   r0   r0   r1   __getattr__   s   zConsoleStream.__getattr__r3   c                 C  s
   | j  S r6   )r`   rJ   rK   r0   r0   r1   rJ      rF   zConsoleStream.isattyc                 C  s   d| j d| jdS )Nz<ConsoleStream name=z
 encoding=>)r{   encodingrK   r0   r0   r1   __repr__   s   zConsoleStream.__repr__N)rv   rw   rx   ry   r4   rC   )r4   rh   )r|   r}   r4   rU   )r   r   r4   rC   )r{   rh   r4   r   )r4   r3   )r+   r,   r-   rE   propertyr{   rs   r   r   rJ   r   r0   r0   r0   r1   ru      s    


	

ru   buffer_streamry   rw   c                 C  .   t tttdddd}ttjt|| S N	utf-16-lestrictT)line_buffering)	r   ioBufferedReaderrP   STDIN_HANDLEtcastTextIOru   r   rv   r0   r0   r1   _get_text_stdin      r   c                 C  r   r   )	r   r   BufferedWriterrf   STDOUT_HANDLEr   r   r   ru   r   r0   r0   r1   _get_text_stdout   r   r   c                 C  r   r   )	r   r   r   rf   STDERR_HANDLEr   r   r   ru   r   r0   r0   r1   _get_text_stderr   r   r   )r   r   r   z5cabc.Mapping[int, t.Callable[[t.BinaryIO], t.TextIO]]_stream_factoriesfc              	   C  sT   t | dsdS z|  }W n ttjfy   Y dS w t|}tt|t	t
 S )NfilenoF)hasattrr   r\   r   UnsupportedOperationmsvcrtget_osfhandler3   GetConsoleModer   r   )r   r   rA   r0   r0   r1   _is_console  s   

r   r   
str | Noneerrorst.TextIO | Nonec                 C  s^   t d u s|dvs|dvst| sd S t|  }|d u rd S t| dd }|d u r+d S ||S )N>   Nr   >   Nr   r`   )r?   r   r   getr   r   )r   r   r   funcrT   r0   r0   r1   _get_windows_console_stream  s   r   )F)r!   r   r2   r3   r4   r5   )r   ry   r4   rw   )r   rw   r4   r3   )r   rw   r   r   r   r   r4   r   )N
__future__r   collections.abcabccabcr   sysrZ   typingr   ctypesr   r   r   r   r   r   r	   r
   r   r   r   ctypes.wintypesr   r   r   r   _compatr   platformr   r   r   r.   kernel32GetStdHandlerW   rn   r   rX   r   shell32r   r   r   r   r   r8   r7   ri   rj   rY   STDIN_FILENOSTDOUT_FILENOSTDERR_FILENOr]   rm   TYPE_CHECKINGr   ImportErrortyping_extensionsr   r?   r   r9   r;   	RawIOBaser@   rP   rf   ru   r   r   r   r   __annotations__r   r   r0   r0   r0   r1   <module>   s   	# 
 




