
­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
U
    Wn                     @   s  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m	Z	m
Z
 d dlmZmZmZmZmZmZmZmZmZmZmZ zd dlmZ ejZejZW n ek
r   dZY nX d dlmZmZ ee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dZ&ed	Z'ed
Z(d Z)dZ*d Z+dZ,dZ-d Z.dZ/dZ0dZ1dZ2G dd dej3Z4edkr~dZ5n
d+ddZ5G dd de j6Z7G dd de7Z8G dd de7Z9G dd de:Z;dd Z<d d! Z=d"d# Z>e
rd$d% Z?e? Z@d&d' ZAe<e=e>d(ZBd)d* ZCdS ),    N)_NonClosingTextIOWrapper	text_typePY2)byrefPOINTERc_intc_charc_char_pc_void_p	py_object	c_ssize_tc_ulongwindllWINFUNCTYPE)	pythonapi)LPWSTRLPCWSTRGetCommandLineWCommandLineToArgvWiii      i        i  c                   @   sj   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	e
rfe	dded f dS )	Py_bufferbufobjlenitemsizereadonlyndimformatshapestrides
suboffsetsZinternalZ
smalltabler   N)__name__
__module____qualname__r
   r   r   r   r	   	c_ssize_p_fields_r   insert r+   r+   B/opt/alt/python38/lib/python3.8/site-packages/click/_winconsole.pyr   @   s   r   Fc              	   C   sT   t  }|rtnt}tt| t|| zt|j }|	|j
W S tt| X d S N)r   PyBUF_WRITABLEPyBUF_SIMPLEPyObject_GetBufferr   r   PyBuffer_Releaser   r   from_addressr   )r   writabler   flagsZbuffer_typer+   r+   r,   
get_bufferX   s    
r5   c                   @   s   e Zd Zdd Zdd ZdS )_WindowsConsoleRawIOBasec                 C   s
   || _ d S r-   )handle)selfr7   r+   r+   r,   __init__e   s    z!_WindowsConsoleRawIOBase.__init__c                 C   s   t j|  dS NT)io	RawIOBaseisattyr8   r+   r+   r,   r=   h   s    z_WindowsConsoleRawIOBase.isattyN)r%   r&   r'   r9   r=   r+   r+   r+   r,   r6   c   s   r6   c                   @   s   e Zd Zdd Zdd ZdS )_WindowsConsoleReaderc                 C   s   dS r:   r+   r>   r+   r+   r,   readableo   s    z_WindowsConsoleReader.readablec                 C   s   t |}|sdS |d r tdt|dd}|d }t }t| j||t|d }t tkrdt	
d |svtdt  |d tkrdS d|j S )Nr   r   z>cannot read odd number of bytes from UTF-16-LE encoded consoleT)r3   g?zWindows error: %s)r   
ValueErrorr5   r   ReadConsoleWr7   r   GetLastErrorERROR_OPERATION_ABORTEDtimesleepOSErrorEOFvalue)r8   bZbytes_to_be_readbufferZcode_units_to_be_readZcode_units_readrvr+   r+   r,   readintor   s&    
 

z_WindowsConsoleReader.readintoN)r%   r&   r'   r@   rM   r+   r+   r+   r,   r?   m   s   r?   c                   @   s(   e Zd Zdd Zedd Zdd ZdS )_WindowsConsoleWriterc                 C   s   dS r:   r+   r>   r+   r+   r,   r3      s    z_WindowsConsoleWriter.writablec                 C   s    | t krdS | tkrdS d|  S )NERROR_SUCCESSERROR_NOT_ENOUGH_MEMORYzWindows error %s)rO   rP   )errnor+   r+   r,   _get_error_message   s
    z(_WindowsConsoleWriter._get_error_messagec                 C   sh   t |}t|}t|td }t }t| j||t|d  d|j }|dkrd|dkrdt	| 
t |S )Nr   r   )r   r5   minMAX_BYTES_WRITTENr   WriteConsoleWr7   r   rI   rG   rR   rC   )r8   rJ   Zbytes_to_be_writtenr   Zcode_units_to_be_writtenZcode_units_writtenZbytes_writtenr+   r+   r,   write   s     
 
z_WindowsConsoleWriter.writeN)r%   r&   r'   r3   staticmethodrR   rV   r+   r+   r+   r,   rN      s   
rN   c                   @   sH   e Zd Zdd Zedd Zdd Zdd Zd	d
 Zdd Z	dd Z
dS )ConsoleStreamc                 C   s   || _ || _d S r-   )_text_streamrK   )r8   text_streamZbyte_streamr+   r+   r,   r9      s    zConsoleStream.__init__c                 C   s   | j jS r-   )rK   namer>   r+   r+   r,   r[      s    zConsoleStream.namec                 C   sD   t |tr| j|S z|   W n tk
r6   Y nX | j|S r-   )
isinstancer   rY   rV   flush	ExceptionrK   )r8   xr+   r+   r,   rV      s    
zConsoleStream.writec                 C   s   |D ]}|  | qd S r-   )rV   )r8   linesliner+   r+   r,   
writelines   s    zConsoleStream.writelinesc                 C   s   t | j|S r-   )getattrrY   )r8   r[   r+   r+   r,   __getattr__   s    zConsoleStream.__getattr__c                 C   s
   | j  S r-   )rK   r=   r>   r+   r+   r,   r=      s    zConsoleStream.isattyc                 C   s   d| j | jf S )Nz#<ConsoleStream name=%r encoding=%r>)r[   encodingr>   r+   r+   r,   __repr__   s    zConsoleStream.__repr__N)r%   r&   r'   r9   propertyr[   rV   rb   rd   r=   rf   r+   r+   r+   r,   rX      s   
	rX   c                 C   s$   t tttdddd}t|| S N	utf-16-lestrictT)line_buffering)r   r;   BufferedReaderr?   STDIN_HANDLErX   Zbuffer_streamrZ   r+   r+   r,   _get_text_stdin   s      ro   c                 C   s   t ttdddd}t|| S rh   )r   rN   STDOUT_HANDLErX   rn   r+   r+   r,   _get_text_stdout   s      rq   c                 C   s   t ttdddd}t|| S rh   )r   rN   STDERR_HANDLErX   rn   r+   r+   r,   _get_text_stderr   s      rs   c                   C   s   t dtjdd  S )N r   )zlibcrc32joinsysargvr+   r+   r+   r,   _hash_py_argv   s    rz   c                     s   t d} tt t|   fddtd| jD }ttds|dd  }t|dkr|d }|	dr|dkrpq|dd  }|	drHqqH|dd  S )Nr   c                    s   g | ]} | qS r+   r+   ).0iZargv_unicoder+   r,   
<listcomp>   s     z%_get_windows_argv.<locals>.<listcomp>frozenr   -)z-cz-m)
r   r   r   r   rangerI   hasattrrx   r   
startswith)Zargcry   argr+   r}   r,   _get_windows_argv   s    

r   )r   r   r   c                 C   sz   t d k	rv|dkrv|dkrvt| drv|  rvt|  }|d k	rvts\t| d} | d krnd S nt	|  t
j || S d S )N)ri   N)rj   Nr=   rK   )r5   r   r=   _stream_factoriesgetfilenor   rc   msvcrtZsetmodeosO_BINARY)fre   errorsfuncr+   r+   r,   _get_windows_console_stream   s"    
r   )F)Dr;   r   rx   ru   rE   ctypesr   Zclick._compatr   r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r0   r1   ImportErrorZctypes.wintypesr   r   r(   kernel32ZGetStdHandlerB   rU   rC   r   shell32r   rm   rp   rr   r/   r.   rO   rP   rD   ZSTDIN_FILENOZSTDOUT_FILENOZSTDERR_FILENOrH   rT   	Structurer   r5   r<   r6   r?   rN   objectrX   ro   rq   rs   rz   Z_initial_argv_hashr   r   r   r+   r+   r+   r,   <module>   s   4

  


$