VH|u d Z ddlZej dk r ed ddlZddlZddlZddlZddlZddl Z ddl Z dZdZej Z ej Z ej Zdded d Z G d d Z G d dej ZdS )z)Various Windows specific bits and pieces. Nwin32z win32 only)pipePopenPIPE PipeHandlei F)TT)duplex overlappedbufsizec R t j d t j t t }| r*t j }t j t j z }||}}nt j }t j }d|}}|t j z }|d r|t j z }|d r t j }nd}dx} } t j ||t j d||t j t j } t j ||dt j t j |t j } t j | d }| d | | fS # | t j | | t j | xY w)zELike os.pipe() but with overlapped support and using handles not fds.z\\.\pipe\python-pipe-{:d}-{:d}-)prefixr NTr )tempfilemktempformatosgetpidnext _mmap_counter_winapiPIPE_ACCESS_DUPLEXGENERIC_READ GENERIC_WRITEPIPE_ACCESS_INBOUNDFILE_FLAG_FIRST_PIPE_INSTANCEFILE_FLAG_OVERLAPPEDCreateNamedPipe PIPE_WAITNMPWAIT_WAIT_FOREVERNULL CreateFile OPEN_EXISTINGConnectNamedPipeGetOverlappedResultCloseHandle)r r r addressopenmodeaccessobsizeibsizeflags_and_attribsh1h2ovs B/opt/alt/python-internal/lib64/python3.11/asyncio/windows_utils.pyr r s o188IKKm,,. ./ / /G $-%(== '.&G55H!} 1G00!} #8NB $Xw0 vvw;W\K K VQg.Cw|- - %bT : : : t$$$2v >### >### s BE7 7/F&c p e Zd ZdZd Zd Zed Zd Ze j ddZej fdZd Zd ZdS )r zWrapper for an overlapped pipe handle which is vaguely file-object like. The IOCP event loop can use these instead of socket objects. c || _ d S N_handleselfhandles r/ __init__zPipeHandle.__init__V s c P | j d| j }nd}d| j j d| dS )Nzhandle=closed< >)r4 __class____name__r5 s r/ __repr__zPipeHandle.__repr__Y s> <#/t|//FFF64>*66V6666r9 c | j S r2 r3 r6 s r/ r7 zPipeHandle.handle` s |r9 c <