a =jg@sUddlZddlZddlZddlZddlmZddlmZddlmZddlm Z ddlm Z ddlm Z ddlm Z dd lm Z dd lmZdd lmZdd lmZdd lmZddlmZddlmZddlmZejdksJddlZddlmZddlmZe e ZejZejZejZejZej Z ej!Z!eedejfZ"ee eee e dej#fZ$ee e dejfZ%edZ&edZ'edZ(dZ)dZ*dZ+dZ,dZ-dZ.dZ/dZ0dZ1dZ2zdd lm3Z3Wne4ydZ5Yn(0Gd!d"d"eZ6e3j7Z7e3j8Z8d=d$d%Z5Gd&d'd'ej9Z:Gd(d)d)e:Z;Gd*d+d+e:Zej?d.d/d0Z@ej>ej?d.d1d2ZAej>ej?d.d3d4ZBe@eAeBd5ZCejDeEejFej>gej?ffeGd6<ej?eHd7d8d9ZIej?ejJeKejJeKejJej?d:d;d<ZLdS)>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)_NonClosingTextIOWrapperwin32)windll) WINFUNCTYPEGetCommandLineWCommandLineToArgvW LocalFreeiiiii) pythonapic @sReZdZdefdefdefdefdefdefdefdefd efd efd efg Z d S) Py_bufferbufobjlenitemsizereadonlyndimformatshapestrides suboffsetsZinternalN) __name__ __module__ __qualname__rr rrr c_ssize_pZ_fields_r+r+;/usr/local/lib/python3.9/site-packages/click/_winconsole.pyrKsrFc Cs^t}|rtnt}tt|t||z$t|j}||j Wt t|St t|0dSN) rPyBUF_WRITABLE PyBUF_SIMPLEPyObject_GetBufferr rrrZ from_addressrPyBuffer_Release)rwritablerflagsZ buffer_typer+r+r, get_buffer]s    r4cs$eZdZddZfddZZS)_WindowsConsoleRawIOBasecCs ||_dSr-)handle)selfr6r+r+r,__init__jsz!_WindowsConsoleRawIOBase.__init__cstdSNT)superisattyr7 __class__r+r,r;ms z_WindowsConsoleRawIOBase.isatty)r'r(r)r8r; __classcell__r+r+r=r,r5isr5c@seZdZddZddZdS)_WindowsConsoleReadercCsdSr9r+r<r+r+r,readablessz_WindowsConsoleReader.readablecCst|}|sdS|dr tdt|dd}|d}t}tt|j||t|d}tt krht d|s|t dt|dt krdSd|jS)Nrrz>cannot read odd number of bytes from UTF-16-LE encoded consoleT)r2g?zWindows error: )r ValueErrorr4r ReadConsoleWr r6r GetLastErrorERROR_OPERATION_ABORTEDtimesleepOSErrorEOFvalue)r7bZbytes_to_be_readbufferZcode_units_to_be_readZcode_units_readrvr+r+r,readintovs0    z_WindowsConsoleReader.readintoN)r'r(r)rArNr+r+r+r,r@rsr@c@s(eZdZddZeddZddZdS)_WindowsConsoleWritercCsdSr9r+r<r+r+r,r2sz_WindowsConsoleWriter.writablecCs"|tkr dS|tkrdSd|S)N ERROR_SUCCESSERROR_NOT_ENOUGH_MEMORYzWindows error )rPrQ)errnor+r+r,_get_error_messages z(_WindowsConsoleWriter._get_error_messagecCslt|}t|}t|td}t}tt|j||t|dd|j }|dkrh|dkrht | t |S)Nrr) rr4minMAX_BYTES_WRITTENr WriteConsoleWr r6rrJrHrSrD)r7rKZbytes_to_be_writtenrZcode_units_to_be_writtenZcode_units_writtenZ bytes_writtenr+r+r,writes z_WindowsConsoleWriter.writeN)r'r(r)r2 staticmethodrSrWr+r+r+r,rOs rOc@seZdZejejddddZeedddZ ej e dd d Z ej ej dd d d ZeejdddZedddZddZdS) ConsoleStreamN) text_stream byte_streamreturncCs||_||_dSr-) _text_streamrL)r7rZr[r+r+r,r8szConsoleStream.__init__)r\cCs|jjSr-)rLnamer<r+r+r,r^szConsoleStream.name)xr\cCsBt|tr|j|Sz |Wnty4Yn0|j|Sr-) isinstancestrr]rWflush ExceptionrL)r7r_r+r+r,rWs    zConsoleStream.write)linesr\cCs|D]}||qdSr-)rW)r7rdliner+r+r, writelinesszConsoleStream.writelines)r^r\cCs t|j|Sr-)getattrr])r7r^r+r+r, __getattr__szConsoleStream.__getattr__cCs |jSr-)rLr;r<r+r+r,r;szConsoleStream.isattycCsd|jd|jdS)Nz)r^encodingr<r+r+r,__repr__szConsoleStream.__repr__)r'r(r)tTextIOBinaryIOr8propertyrar^AnyStrintrWIterablerfAnyrhboolr;rkr+r+r+r,rYs rY) buffer_streamr\cCs.ttttdddd}ttjt||SN utf-16-lestrictT)line_buffering) rioBufferedReaderr@ STDIN_HANDLErlcastrmrYrurZr+r+r,_get_text_stdins rcCs.ttttdddd}ttjt||Srv) rrzBufferedWriterrO STDOUT_HANDLErlr}rmrYr~r+r+r,_get_text_stdouts rcCs.ttttdddd}ttjt||Srv) rrzrrO STDERR_HANDLErlr}rmrYr~r+r+r,_get_text_stderrs r)rrr_stream_factories)fr\c CsTt|dsdSz |}Wnttjfy4YdS0t|}tt|t t S)NfilenoF) hasattrrrHrzUnsupportedOperationmsvcrtZ get_osfhandlertGetConsoleModerr )rrr6r+r+r, _is_consoles   r)rrjerrorsr\cCsZtdurV|dvrV|dvrVt|rVt|}|durVt|dd}|durNdS||SdS)N>Nrw>NrxrL)r4rrgetrrg)rrjrfuncrKr+r+r,_get_windows_console_streams r)F)MrzsysrFtypingrlctypesrrrrrrrr r r Zctypes.wintypesr r rrZ_compatrplatformrrrr*Zkernel32Z GetStdHandlerCrVrrDrZshell32rrr|rrr/r.rPrQrEZ STDIN_FILENOZ STDOUT_FILENOZ STDERR_FILENOrIrUr ImportErrorr4rr0r1 RawIOBaser5r@rOrYrnrmrrrrMappingrqCallable__annotations__rtrOptionalrarr+r+r+r, s                     #     (