o
    ßý°j_!  ã                   @  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 ddlmZ ejdksŠJ ‚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ƒZ0d Z1dZ2d Z3dZ4dZ5d Z6dZ7d Z8d!Z9d"Z:e	j;�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ƒZAe?jBZBe?jCZCdMdNd.d/„Z@G d0d1„ d1ejDƒZEG d2d3„ d3eEƒZFG d4d5„ d5eEƒZGG d6d7„ d7ƒZHdOd;d<„ZIdOd=d>„ZJdOd?d@„ZKeIeJeKdAœZLdBeMdC< dPdEdF„ZNdQdKdL„ZOdS )Ré    )Ú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)Úgettexté   )Ú_NonClosingTextIOWrapperÚwin32)Úwindll)ÚWINFUNCTYPEÚGetCommandLineWÚCommandLineToArgvWÚ	LocalFreeiöÿÿÿiõÿÿÿiôÿÿÿé   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_© r1   r1   ú„/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/click/_winconsole.pyr    X   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"   r3   r!   ÚflagsÚbuffer_typeÚoutr1   r1   r2   Ú
get_bufferj   s   
r@   c                      s(   e Zd Zd
dd„Zd‡ fdd	„Z‡  ZS )Ú_WindowsConsoleRawIOBaseÚhandleú
int | Noner5   ÚNonec                 C  s
   || _ d S r7   )rB   )ÚselfrB   r1   r1   r2   Ú__init__x   ó   
z!_WindowsConsoleRawIOBase.__init__út.Literal[True]c                   s   t ƒ  ¡  dS ©NT)ÚsuperÚisatty©rE   ©Ú	__class__r1   r2   rK   {   s   
z_WindowsConsoleRawIOBase.isatty)rB   rC   r5   rD   ©r5   rH   )r,   r-   r.   rF   rK   Ú__classcell__r1   r1   rM   r2   rA   w   s    
rA   c                   @  s    e Zd Zddd„Zddd	„Zd
S )Ú_WindowsConsoleReaderr5   rH   c                 C  ó   dS rI   r1   rL   r1   r1   r2   Ú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¡ |sAttdƒjtƒ d�ƒ‚|d tkrIdS d|j S )	Nr   r   z>cannot read odd number of bytes from UTF-16-LE encoded consoleT)r3   gš™™™™™¹?úWindows error: {error}©Úerror)r#   Ú
ValueErrorr@   r	   ÚReadConsoleWr   rB   r   ÚGetLastErrorÚERROR_OPERATION_ABORTEDÚtimeÚsleepÚOSErrorÚ_r'   ÚEOFÚvalue)rE   rU   Úbytes_to_be_readÚbufferÚcode_units_to_be_readÚcode_units_readÚrvr1   r1   r2   Úreadinto„   s0   ÿû


z_WindowsConsoleReader.readintoNrO   ©rU   r   r5   rV   )r,   r-   r.   rS   ri   r1   r1   r1   r2   rQ   €   s    
rQ   c                   @  s.   e Zd Zddd„Zeddd	„ƒZddd„ZdS )Ú_WindowsConsoleWriterr5   rH   c                 C  rR   rI   r1   rL   r1   r1   r2   r3   ¤   rT   z_WindowsConsoleWriter.writableÚerrnorV   Ústrc                 C  s(   | t krdS | tkrdS tdƒj| d�S )NÚERROR_SUCCESSÚERROR_NOT_ENOUGH_MEMORYrW   rX   )rn   ro   ra   r'   )rl   r1   r1   r2   Ú_get_error_message§   s
   z(_WindowsConsoleWriter._get_error_messagerU   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   rB   r   rc   r`   rp   r\   )rE   rU   Úbytes_to_be_writtenr!   Úcode_units_to_be_writtenÚcode_units_writtenÚbytes_writtenr1   r1   r2   Úwrite¯   s   û
z_WindowsConsoleWriter.writeNrO   )rl   rV   r5   rm   rj   )r,   r-   r.   r3   Ústaticmethodrp   rx   r1   r1   r1   r2   rk   £   s
    
rk   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.BinaryIOr5   rD   c                 C  s   || _ || _d S r7   )Ú_text_streamre   )rE   r{   r}   r1   r1   r2   rF   Ä   s   
zConsoleStream.__init__rm   c                 C  s   | j jS r7   )re   ÚnamerL   r1   r1   r2   r€   È   s   zConsoleStream.nameÚxút.AnyStrrV   c                 C  sB   t |tƒr| j |¡S z|  ¡  W n	 ty   Y nw | j |¡S r7   )Ú
isinstancerm   r   rx   ÚflushÚ	Exceptionre   )rE   r�   r1   r1   r2   rx   Ì   s   
ÿzConsoleStream.writeÚlinesúcabc.Iterable[t.AnyStr]c                 C  s   |D ]}|   |¡ qd S r7   )rx   )rE   r†   Úliner1   r1   r2   Ú
writelinesÕ   s   ÿzConsoleStream.writelinesr€   út.Anyc                 C  s   t | j|ƒS r7   )Úgetattrr   )rE   r€   r1   r1   r2   Ú__getattr__Ù   s   zConsoleStream.__getattr__r4   c                 C  s
   | j  ¡ S r7   )re   rK   rL   r1   r1   r2   rK   Ü   rG   zConsoleStream.isattyc                 C  s   d| j ›d| j›d�S )Nz<ConsoleStream name=z
 encoding=ú>)r€   ÚencodingrL   r1   r1   r2   Ú__repr__ß   s   zConsoleStream.__repr__N)r{   r|   r}   r~   r5   rD   )r5   rm   )r�   r‚   r5   rV   )r†   r‡   r5   rD   )r€   rm   r5   rŠ   )r5   r4   )r,   r-   r.   rF   Úpropertyr€   rx   r‰   rŒ   rK   r�   r1   r1   r1   r2   rz   Ã   s    


	

rz   Úbuffer_streamr~   r|   c                 C  ó.   t t ttƒ¡dddd�}t tjt|| ƒ¡S ©Nú	utf-16-leÚstrictT)Úline_buffering)	r   ÚioÚBufferedReaderrQ   ÚSTDIN_HANDLEÚtÚcastÚTextIOrz   ©r‘   r{   r1   r1   r2   Ú_get_text_stdinã   ó   ürž   c                 C  r’   r“   )	r   r—   ÚBufferedWriterrk   ÚSTDOUT_HANDLErš   r›   rœ   rz   r�   r1   r1   r2   Ú_get_text_stdoutí   rŸ   r¢   c                 C  r’   r“   )	r   r—   r    rk   ÚSTDERR_HANDLErš   r›   rœ   rz   r�   r1   r1   r2   Ú_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_osfhandler4   ÚGetConsoleModer   r   )r¦   r§   rB   r1   r1   r2   Ú_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•   re   )r@   r­   r¥   Úgetr§   r‹   )r¦   rŽ   r¯   ÚfuncrU   r1   r1   r2   Ú_get_windows_console_stream  s   ÿr³   )F)r"   r   r3   r4   r5   r6   )r‘   r~   r5   r|   )r¦   r|   r5   r4   )r¦   r|   rŽ   r®   r¯   r®   r5   r°   )PÚ
__future__r   Úcollections.abcÚabcÚcabcr—   Úsysr^   Útypingrš   Úctypesr   r   r   r   r   r   r	   r
   r   r   r   Úctypes.wintypesr   r   r   r   r   ra   Ú_compatr   Úplatformrª   r   r   r/   Úkernel32ÚGetStdHandler[   rs   r¬   r\   r   Úshell32r   r   r™   r¡   r£   r9   r8   rn   ro   r]   ÚSTDIN_FILENOÚSTDOUT_FILENOÚSTDERR_FILENOrb   rr   ÚTYPE_CHECKINGr   ÚImportErrorÚtyping_extensionsr   r@   r    r:   r<   Ú	RawIOBaserA   rQ   rk   rz   rž   r¢   r¤   r¥   Ú__annotations__r­   r³   r1   r1   r1   r2   Ú<module>   s    ÿÿý	# 
 



ý
