§
    ¯õi÷  ã                  óú   — d dl mZ d dlZd dlmZ ddlmZ ddlmZm	Z	 ddl
mZmZmZ ddlmZmZ ej        d	k    serJ ‚d
Z G d„ d¦  «        Ze G d„ de	¦  «        ¦   «         Ze G d„ de¦  «        ¦   «         ZdS )é    )ÚannotationsN)ÚTYPE_CHECKINGé   )Ú_core)ÚReceiveStreamÚ
SendStream)Ú_handleÚkernel32Úraise_winerror)ÚConflictDetectorÚfinalÚwin32i   c                  ó>   — e Zd Zdd„Zedd„¦   «         Zdd„Zdd	„Zd
S )Ú_HandleHolderÚhandleÚintÚreturnÚNonec                óœ   — d| _         t          |t          ¦  «        st          d¦  «        ‚|| _         t	          j        | j         ¦  «         d S )Néÿÿÿÿzhandle must be an int)r   Ú
isinstancer   Ú	TypeErrorr   Úregister_with_iocp©Úselfr   s     ú_/var/www/html/nodeJS/PythonScripts/venv3.11/lib/python3.11/site-packages/trio/_windows_pipes.pyÚ__init__z_HandleHolder.__init__   sJ   € ØˆŒÝ˜&¥#Ñ&Ô&ð 	5ÝÐ3Ñ4Ô4Ð4ØˆŒÝÔ  ¤Ñ-Ô-Ð-Ð-Ð-ó    Úboolc                ó   — | j         dk    S ©Nr   )r   ©r   s    r   Úclosedz_HandleHolder.closed   s   € àŒ{˜bÒ Ð r   c                ó–   — | j         rd S | j        }d| _        t          j        t	          |¦  «        ¦  «        st          ¦   «          d S d S r!   )r#   r   r
   ÚCloseHandler	   r   r   s     r   Úclosez_HandleHolder.close   sT   € ØŒ;ð 	ØˆFØ”ˆØˆŒÝÔ#¥G¨F¡O¤OÑ4Ô4ð 	ÝÑÔÐÐÐð	ð 	r   c                ó.   — |                       ¦   «          d S ©N)r&   r"   s    r   Ú__del__z_HandleHolder.__del__'   s   € Ø�
Š
‰Œˆˆˆr   N©r   r   r   r   )r   r   ©r   r   )Ú__name__Ú
__module__Ú__qualname__r   Úpropertyr#   r&   r)   © r   r   r   r      sp   € € € € € ð.ð .ð .ð .ð ð!ð !ð !ñ „Xð!ðð ð ð ðð ð ð ð ð r   r   c                  ó:   — e Zd ZdZdd„Zdd	„Zdd
„Zdd„Zdd„ZdS )ÚPipeSendStreamzdRepresents a send stream over a Windows named pipe that has been
    opened in OVERLAPPED mode.
    r   r   r   r   c                óV   — t          |¦  «        | _        t          d¦  «        | _        d S ©Nz)another task is currently using this pipe©r   Ú_handle_holderr   Ú_conflict_detectorr   s     r   r   zPipeSendStream.__init__1   ó-   € Ý+¨FÑ3Ô3ˆÔÝ"2Ø7ñ#
ô #
ˆÔÐÐr   ÚdataÚbytesc              ƒ  ó”  K  — | j         5  | j        j        rt          j        d¦  «        ‚|s't          j        ¦   «         ƒ d {V —† 	 d d d ¦  «         d S 	 t          j        | j        j        |¦  «        ƒ d {V —†}n# t          $ r}t          j	        |‚d }~ww xY w|t          |¦  «        k    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Núthis pipe is already closed)r7   r6   r#   r   ÚClosedResourceErrorÚ
checkpointÚwrite_overlappedr   ÚBrokenPipeErrorÚBrokenResourceErrorÚlen)r   r9   ÚwrittenÚexs       r   Úsend_allzPipeSendStream.send_all7   s`  è è € ØÔ$ð 	(ð 	(ØÔ"Ô)ð OÝÔ/Ð0MÑNÔNÐNàð ÝÔ&Ñ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(Øð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð8Ý %Ô 6°tÔ7JÔ7QÐSWÑ XÔ XÐXÐXÐXÐXÐXÐX��øÝ"ð 8ð 8ð 8ÝÔ/°RÐ7øøøøð8øøøð
 �c $™iœiÒ'Ð'Ð'Ð'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð 	(ð 	(s5   Š=B=Á%A;Á:B=Á;
BÂBÂBÂB=Â=CÃCc              ƒ  ó¼   K  — | j         5  | j        j        rt          j        d¦  «        ‚t          j        ¦   «         ƒ d {V —† d d d ¦  «         d S # 1 swxY w Y   d S )NzThis pipe is already closed)r7   r6   r#   r   r=   r>   r"   s    r   Úwait_send_all_might_not_blockz,PipeSendStream.wait_send_all_might_not_blockI   s·   è è € ØÔ$ð 	%ð 	%ØÔ"Ô)ð OÝÔ/Ð0MÑNÔNÐNõ Ô"Ñ$Ô$Ð$Ð$Ð$Ð$Ð$Ð$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%ð 	%ð 	%s   Š:AÁAÁAc                ó8   — | j                              ¦   «          d S r(   ©r6   r&   r"   s    r   r&   zPipeSendStream.closeQ   ó   € ØÔ×!Ò!Ñ#Ô#Ð#Ð#Ð#r   c              ƒ  ód   K  — |                       ¦   «          t          j        ¦   «         ƒ d {V —† d S r(   ©r&   r   r>   r"   s    r   ÚaclosezPipeSendStream.acloseT   ó:   è è € Ø�
Š
‰ŒˆÝÔÑ Ô Ð Ð Ð Ð Ð Ð Ð Ð Ð r   Nr*   )r9   r:   r   r   r+   )	r,   r-   r.   Ú__doc__r   rE   rG   r&   rM   r0   r   r   r2   r2   +   s‚   € € € € € ðð ð
ð 
ð 
ð 
ð(ð (ð (ð (ð$%ð %ð %ð %ð$ð $ð $ð $ð!ð !ð !ð !ð !ð !r   r2   c                  ó4   — e Zd ZdZdd„Zddd„Zdd„Zdd„ZdS )ÚPipeReceiveStreamz3Represents a receive stream over an os.pipe object.r   r   r   r   c                óV   — t          |¦  «        | _        t          d¦  «        | _        d S r4   r5   r   s     r   r   zPipeReceiveStream.__init__]   r8   r   NÚ	max_bytesú
int | Noner:   c              ƒ  ó2  K  — | j         5  | j        j        rt          j        d¦  «        ‚|€t
          }n9t          |t          ¦  «        st          d¦  «        ‚|dk     rt          d¦  «        ‚t          |¦  «        }	 t          j        | j        j        |¦  «        ƒ d {V —†}||d …= |cd d d ¦  «         S # t          $ rI | j        j        rt          j        d¦  «        d ‚t          j        ¦   «         ƒ d {V —† Y d d d ¦  «         dS w xY w# 1 swxY w Y   d S )Nr<   zmax_bytes must be integer >= 1r   zanother task closed this piper   )r7   r6   r#   r   r=   ÚDEFAULT_RECEIVE_SIZEr   r   r   Ú
ValueErrorÚ	bytearrayÚreadinto_overlappedr   r@   r>   )r   rS   ÚbufferÚsizes       r   Úreceive_somezPipeReceiveStream.receive_somec   sÏ  è è € ØÔ$ð %	ð %	ØÔ"Ô)ð OÝÔ/Ð0MÑNÔNÐNàÐ Ý0�	�	å! )­SÑ1Ô1ð FÝ#Ð$DÑEÔEÐEØ˜q’=�=Ý$Ð%EÑFÔFÐFå˜yÑ)Ô)ˆFðÝ"Ô6ØÔ'Ô.Øñô ð ð ð ð ð ð �ð, ˜4˜5˜5�MØðK%	ð %	ð %	ð %	ñ %	ô %	ð %	ð %	øõ$ #ð ð ð ØÔ&Ô-ð  ÝÔ3Ø7ñô àð õ Ô&Ñ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(ØðE%	ð %	ð %	ñ %	ô %	ð %	ð %	ð %	ð$øøøð%%	ð %	ð %	ð %	øøøð %	ð %	ð %	ð %	ð %	ð %	s7   ŠA3DÁ>%B6Â#DÂ6AD	Ã:DÄD	Ä	DÄDÄDc                ó8   — | j                              ¦   «          d S r(   rI   r"   s    r   r&   zPipeReceiveStream.close‹   rJ   r   c              ƒ  ód   K  — |                       ¦   «          t          j        ¦   «         ƒ d {V —† d S r(   rL   r"   s    r   rM   zPipeReceiveStream.acloseŽ   rN   r   r*   r(   )rS   rT   r   r:   r+   )r,   r-   r.   rO   r   r\   r&   rM   r0   r   r   rQ   rQ   Y   sp   € € € € € à=Ð=ð
ð 
ð 
ð 
ð&ð &ð &ð &ð &ðP$ð $ð $ð $ð!ð !ð !ð !ð !ð !r   rQ   )Ú
__future__r   ÚsysÚtypingr   Ú r   Ú_abcr   r   Ú_core._windows_cffir	   r
   r   Ú_utilr   r   ÚplatformrV   r   r2   rQ   r0   r   r   ú<module>rg      sQ  ðØ "Ð "Ð "Ð "Ð "Ð "à 
€
€
€
Ø  Ð  Ð  Ð  Ð  Ð  à Ð Ð Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ø BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BØ *Ð *Ð *Ð *Ð *Ð *Ð *Ð *à
„|�wÒÐ mÐÐÐð Ð ð
ð ð ð ð ñ ô ð ð0 ð*!ð *!ð *!ð *!ð *!�Zñ *!ô *!ñ „ð*!ðZ ð6!ð 6!ð 6!ð 6!ð 6!˜ñ 6!ô 6!ñ „ð6!ð 6!ð 6!r   