Hacked By AnonymousFox
�
c��f� � � � 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.� N�win32z
win32 only)�pipe�Popen�PIPE�
PipeHandlei F)TT)�duplex�
overlapped�bufsizec
�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 � NT�r )�tempfile�mktemp�format�os�getpid�next�
_mmap_counter�_winapi�PIPE_ACCESS_DUPLEX�GENERIC_READ�
GENERIC_WRITE�PIPE_ACCESS_INBOUND�FILE_FLAG_FIRST_PIPE_INSTANCE�FILE_FLAG_OVERLAPPED�CreateNamedPipe� PIPE_WAIT�NMPWAIT_WAIT_FOREVER�NULL�
CreateFile�
OPEN_EXISTING�ConnectNamedPipe�GetOverlappedResult�CloseHandle)r r r
�address�openmode�access�obsize�ibsize�flags_and_attribs�h1�h2�ovs �</opt/alt/python311/lib64/python3.11/asyncio/windows_utils.pyr r s� � ��o�1�8�8��I�K�K��m�,�,�.� .�/� /� /�G� � $��-���%��(=�=�� �'�����.���&���G�����5�5�H��!�}� 1��G�0�0���!�}� �#�8������N�B���
�
$��X�w�0�
�v�v�w�;�W�\�K� K�� �
��V�Q���g�.C��w�|�-� -�� �
%�b�T�
:�
:�
:��
���t�$�$�$��2�v�
���
�>����#�#�#�
�>����#�#�#�
���s
�BE7 �7/F&c �p � e Zd ZdZd� Zd� Zed� � � Zd� Ze j
d�d�Zej
fd�Zd � Zd
� ZdS )r z�Wrapper 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��_handle��self�handles r/ �__init__zPipeHandle.__init__V s
� ������ c �P � | j �d| j ��}nd}d| j j � d|� d�S )Nzhandle=�closed�<� �>)r4 � __class__�__name__r5 s r/ �__repr__zPipeHandle.__repr__Y s>