U
    ÌZj´  ã                   @   sð  U 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 ejdksät‚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Z+d Z,dZ-dZ.d Z/dZ0dZ1dZ2dZ3zd d lm4Z4 W n e5k
�rÞ   dZ6Y n(X G d!d"„ d"eƒZ7e4j8Z8e4j9Z9d=d$d%„Z6G d&d'„ d'e j:ƒZ;G d(d)„ d)e;ƒZ<G d*d+„ d+e;ƒZ=G d,d-„ d-ƒZ>ej?ej@d.œd/d0„ZAej?ej@d.œd1d2„ZBej?ej@d.œd3d4„ZCeAeBeCd5œZDejEeFejGej?gej@f f eHd6< ej@eId7œd8d9„ZJej@ejKeL ejKeL ejKej@ d:œd;d<„ZMdS )>é    N)Ú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Ú	LocalFreeiöÿÿÿiõÿÿÿiôÿÿÿé   iã  é   ó   iÿ  )Ú	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Ú
suboffsetsZinternalN)
Ú__name__Ú
__module__Ú__qualname__r   r
   r   r   r   Ú	c_ssize_pZ_fields_© r+   r+   úT/var/www/html/TRUCKING_PROJECT/venv/lib/python3.8/site-packages/click/_winconsole.pyr   K   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   Zfrom_addressr   )r   Úwritabler   ÚflagsZbuffer_typer+   r+   r,   Ú
get_buffer]   s    
r4   c                       s$   e Zd Zdd„ Z‡ fdd„Z‡  ZS )Ú_WindowsConsoleRawIOBasec                 C   s
   || _ d S r-   )Úhandle)Úselfr6   r+   r+   r,   Ú__init__j   s    z!_WindowsConsoleRawIOBase.__init__c                    s   t ƒ  ¡  dS ©NT)ÚsuperÚisatty©r7   ©Ú	__class__r+   r,   r;   m   s    
z_WindowsConsoleRawIOBase.isatty)r'   r(   r)   r8   r;   Ú__classcell__r+   r+   r=   r,   r5   i   s   r5   c                   @   s   e Zd Zdd„ Zdd„ ZdS )Ú_WindowsConsoleReaderc                 C   s   dS r9   r+   r<   r+   r+   r,   Úreadables   s    z_WindowsConsoleReader.readablec                 C   s–   t |ƒ}|sdS |d r tdƒ‚t|dd�}|d }tƒ }tt| jƒ||t|ƒd ƒ}tƒ t	krht
 d¡ |s|tdtƒ › �ƒ‚|d tkrŒd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   Ú
ValueErrorr4   r   ÚReadConsoleWr   r6   r   ÚGetLastErrorÚERROR_OPERATION_ABORTEDÚtimeÚsleepÚOSErrorÚEOFÚvalue)r7   ÚbZbytes_to_be_readÚbufferZcode_units_to_be_readZcode_units_readÚrvr+   r+   r,   Úreadintov   s0    ÿû

z_WindowsConsoleReader.readintoN)r'   r(   r)   rA   rN   r+   r+   r+   r,   r@   r   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 r9   r+   r<   r+   r+   r,   r2   –   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 )rP   rQ   )Úerrnor+   r+   r,   Ú_get_error_message™   s
    z(_WindowsConsoleWriter._get_error_messagec                 C   sl   t |ƒ}t|ƒ}t|tƒd }tƒ }tt| jƒ||t|ƒd ƒ d|j	 }|dkrh|dkrht
|  tƒ ¡ƒ‚|S )Nr   r   )r   r4   ÚminÚMAX_BYTES_WRITTENr   ÚWriteConsoleWr   r6   r   rJ   rH   rS   rD   )r7   rK   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)   r2   ÚstaticmethodrS   rW   r+   r+   r+   r,   rO   •   s   
rO   c                   @   s†   e Zd Zejejddœdd„Zeedœdd„ƒZ	ej
edœd	d
„Zejej
 ddœdd„Zeejdœdd„Zedœdd„Zdd„ ZdS )ÚConsoleStreamN)Útext_streamÚbyte_streamÚreturnc                 C   s   || _ || _d S r-   )Ú_text_streamrL   )r7   rZ   r[   r+   r+   r,   r8   ¶   s    zConsoleStream.__init__)r\   c                 C   s   | j jS r-   )rL   Únamer<   r+   r+   r,   r^   º   s    zConsoleStream.name)Úxr\   c                 C   sD   t |tƒr| j |¡S z|  ¡  W n tk
r6   Y nX | j |¡S r-   )Ú
isinstanceÚstrr]   rW   ÚflushÚ	ExceptionrL   )r7   r_   r+   r+   r,   rW   ¾   s    
zConsoleStream.write)Úlinesr\   c                 C   s   |D ]}|   |¡ qd S r-   )rW   )r7   rd   Úliner+   r+   r,   Ú
writelinesÇ   s    zConsoleStream.writelines)r^   r\   c                 C   s   t | j|ƒS r-   )Úgetattrr]   )r7   r^   r+   r+   r,   Ú__getattr__Ë   s    zConsoleStream.__getattr__c                 C   s
   | j  ¡ S r-   )rL   r;   r<   r+   r+   r,   r;   Î   s    zConsoleStream.isattyc                 C   s   d| j ›d| j›d�S )Nz<ConsoleStream name=z
 encoding=ú>)r^   Úencodingr<   r+   r+   r,   Ú__repr__Ñ   s    zConsoleStream.__repr__)r'   r(   r)   ÚtÚTextIOÚBinaryIOr8   Úpropertyra   r^   ÚAnyStrÚintrW   ÚIterablerf   ÚAnyrh   Úboolr;   rk   r+   r+   r+   r,   rY   µ   s   	rY   )Úbuffer_streamr\   c                 C   s.   t t ttƒ¡dddd�}t tjt|| ƒ¡S ©Nú	utf-16-leÚstrictT)Úline_buffering)	r   ÚioÚBufferedReaderr@   ÚSTDIN_HANDLErl   Úcastrm   rY   ©ru   rZ   r+   r+   r,   Ú_get_text_stdinÕ   s    ür   c                 C   s.   t t ttƒ¡dddd�}t tjt|| ƒ¡S rv   )	r   rz   ÚBufferedWriterrO   ÚSTDOUT_HANDLErl   r}   rm   rY   r~   r+   r+   r,   Ú_get_text_stdoutß   s    ür‚   c                 C   s.   t t ttƒ¡dddd�}t tjt|| ƒ¡S rv   )	r   rz   r€   rO   ÚSTDERR_HANDLErl   r}   rm   rY   r~   r+   r+   r,   Ú_get_text_stderré   s    ür„   )r   r   r   Ú_stream_factories)Úfr\   c              	   C   sV   t | dƒsdS z|  ¡ }W n ttjfk
r6   Y dS X t |¡}tt|t	t
ƒ ƒƒƒS )NÚfilenoF)Úhasattrr‡   rH   rz   ÚUnsupportedOperationÚmsvcrtZget_osfhandlert   ÚGetConsoleModer   r   )r†   r‡   r6   r+   r+   r,   Ú_is_consoleú   s    

rŒ   )r†   rj   Úerrorsr\   c                 C   sZ   t d k	rV|dkrV|dkrVt| ƒrVt |  ¡ ¡}|d k	rVt| dd ƒ}|d krNd S ||ƒS d S )N>   Nrw   >   Nrx   rL   )r4   rŒ   r…   Úgetr‡   rg   )r†   rj   r�   ÚfuncrK   r+   r+   r,   Ú_get_windows_console_stream  s    ÿþýür�   )F)Nrz   ÚsysrF   Útypingrl   Úctypesr   r   r   r   r   r   r   r	   r
   r   Zctypes.wintypesr   r   r   r   Z_compatr   ÚplatformÚAssertionErrorrŠ   r   r   r*   Úkernel32ZGetStdHandlerC   rV   r‹   rD   r   Zshell32r   r   r|   r�   rƒ   r/   r.   rP   rQ   rE   ZSTDIN_FILENOZSTDOUT_FILENOZSTDERR_FILENOrI   rU   r   ÚImportErrorr4   r   r0   r1   Ú	RawIOBaser5   r@   rO   rY   rn   rm   r   r‚   r„   r…   ÚMappingrq   ÚCallableÚ__annotations__rt   rŒ   ÚOptionalra   r�   r+   r+   r+   r,   Ú<module>	   s’    ÿ

	#  

ý(  
þ