§
    Ètºf¥  ã                   ó  — d Z ddlZddlZddlmZ ddlZddlmZmZ ddl	m
Z
mZmZmZmZ ddlmZ ddlmZ  e¦   «         Z ee
¦  «         G d„ d	¦  «        ¦   «         Z eeee¦  «         G d
„ dej        ¦  «        ¦   «         ZdS )zM
Windows-specific implementation of the L{twisted.internet.stdio} interface.
é    N)Úimplementer)Ú_pollingfileÚmain)ÚIAddressÚ	IConsumerÚIHalfCloseableProtocolÚIPushProducerÚ
ITransport)ÚLogger)ÚFailurec                   ó   — e Zd ZdS )ÚWin32PipeAddressN)Ú__name__Ú
__module__Ú__qualname__© ó    ú[/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/twisted/internet/_win32stdio.pyr   r      s   € € € € € à€Dr   r   c                   óv   — e Zd ZdZdZdd„Zd„ Zd„ Zd„ ZdZ	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )Ú
StandardIOFNc                 óf  — |€ddl m} t          ddd¦  «        D ]!}t          j        |t
          j        ¦  «         Œ"t          j         	                    | |¦  «         || _
        t          j        t          j        ¦  «        }t          j        t          j        ¦  «        }t          j        || j        | j        ¦  «        | _        t          j        || j        ¦  «        | _        |                      | j        ¦  «         |                      | j        ¦  «         | j
                             | ¦  «         dS )zƒ
        Start talking to standard IO with the given protocol.

        Also, put it stdin/stdout/stderr into binary mode.
        Nr   )Úreactoré   é   )Útwisted.internetr   ÚrangeÚmsvcrtÚsetmodeÚosÚO_BINARYr   Ú_PollingTimerÚ__init__ÚprotoÚwin32apiÚGetStdHandleÚSTD_INPUT_HANDLEÚSTD_OUTPUT_HANDLEÚ_PollableReadPipeÚdataReceivedÚreadConnectionLostÚstdinÚ_PollableWritePipeÚwriteConnectionLostÚstdoutÚ_addPollableResourceÚmakeConnection)Úselfr#   r   ÚstdfdÚhstdinÚhstdouts         r   r"   zStandardIO.__init__'   s  € ð ˆ?Ø0Ð0Ð0Ð0Ð0Ð0å˜1˜a ‘^”^ð 	/ð 	/ˆEÝŒN˜5¥"¤+Ñ.Ô.Ð.Ð.åÔ"×+Ò+¨D°'Ñ:Ô:Ð:ØˆŒ
åÔ&¥xÔ'@ÑAÔAˆÝÔ'­Ô(BÑCÔCˆå!Ô3Ø�DÔ% tÔ'>ñ
ô 
ˆŒ
õ #Ô5°g¸tÔ?WÑXÔXˆŒà×!Ò! $¤*Ñ-Ô-Ð-Ø×!Ò! $¤+Ñ.Ô.Ð.àŒ
×!Ò! $Ñ'Ô'Ð'Ð'Ð'r   c                 ó:   — | j                              |¦  «         d S ©N)r#   r)   ©r1   Údatas     r   r)   zStandardIO.dataReceivedD   s   € ØŒ
×Ò Ñ%Ô%Ð%Ð%Ð%r   c                 óB  — t                                d¦  «        5 }t          j        | j        ¦  «        r| j                             ¦   «          d d d ¦  «         n# 1 swxY w Y   |                      ¦   «          |j        s| j        s|  	                    ¦   «          d S d S d S )Nzread connection lost)
Ú_logÚfailuresHandledr   Ú
providedByr#   r*   ÚcheckConnLostÚ	succeededÚdisconnectingÚloseConnection©r1   Úops     r   r*   zStandardIO.readConnectionLostG   sæ   € Ý×!Ò!Ð"8Ñ9Ô9ð 	0¸RÝ%Ô0°´Ñ<Ô<ð 0Ø”
×-Ò-Ñ/Ô/Ð/ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð 	×ÒÑÔÐØŒ|ð 	" DÔ$6ð 	"Ø×ÒÑ!Ô!Ð!Ð!Ð!ð	"ð 	"ð 	"ð 	"ó   ›3AÁAÁ!Ac                 óB  — t                                d¦  «        5 }t          j        | j        ¦  «        r| j                             ¦   «          d d d ¦  «         n# 1 swxY w Y   |                      ¦   «          |j        s| j        s|  	                    ¦   «          d S d S d S )Nzwrite connection lost)
r:   r;   r   r<   r#   r-   r=   r>   r?   r@   rA   s     r   r-   zStandardIO.writeConnectionLostO   sæ   € Ý×!Ò!Ð"9Ñ:Ô:ð 	1¸bÝ%Ô0°´Ñ<Ô<ð 1Ø”
×.Ò.Ñ0Ô0Ð0ð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1ð 	×ÒÑÔÐØŒ|ð 	" DÔ$6ð 	"Ø×ÒÑ!Ô!Ð!Ð!Ð!ð	"ð 	"ð 	"ð 	"rC   r   c                 ó¾   — | xj         dz  c_         | j         dk    rAd| _        d| _        | j                             t          t          j        ¦  «        ¦  «         d S d S )Nr   r   T)Ú	connsLostr?   Údisconnectedr#   ÚconnectionLostr   r   ÚCONNECTION_DONE©r1   s    r   r=   zStandardIO.checkConnLostY   s^   € ØˆŒ˜!ÑˆŒØŒ>˜QÒÐØ!%ˆDÔØ $ˆDÔØŒJ×%Ò%¥g­dÔ.BÑ&CÔ&CÑDÔDÐDÐDÐDð Ðr   c                 ó:   — | j                              |¦  «         d S r6   )r.   Úwriter7   s     r   rL   zStandardIO.writeb   s   € ØŒ×Ò˜$ÑÔÐÐÐr   c                 ó`   — | j                              d                     |¦  «        ¦  «         d S )Nr   )r.   rL   Újoin)r1   Úseqs     r   ÚwriteSequencezStandardIO.writeSequencee   s(   € ØŒ×Ò˜#Ÿ(š( 3™-œ-Ñ(Ô(Ð(Ð(Ð(r   c                 óx   — d| _         | j                             ¦   «          | j                             ¦   «          d S )NT)r?   r+   Úcloser.   rJ   s    r   r@   zStandardIO.loseConnectionh   s8   € Ø!ˆÔØŒ
×ÒÑÔÐØŒ×ÒÑÔÐÐÐr   c                 ó   — t          ¦   «         S r6   ©r   rJ   s    r   ÚgetPeerzStandardIO.getPeerm   ó   € ÝÑ!Ô!Ð!r   c                 ó   — t          ¦   «         S r6   rT   rJ   s    r   ÚgetHostzStandardIO.getHostp   rV   r   c                 ó8   — | j                              ||¦  «        S r6   )r.   ÚregisterProducer)r1   ÚproducerÚ	streamings      r   rZ   zStandardIO.registerProduceru   s   € ØŒ{×+Ò+¨H°iÑ@Ô@Ð@r   c                 ó4   — | j                              ¦   «         S r6   )r.   ÚunregisterProducerrJ   s    r   r^   zStandardIO.unregisterProducerx   s   € ØŒ{×-Ò-Ñ/Ô/Ð/r   c                 ó8   — | j                              ¦   «          d S r6   )r+   ÚstopProducingrJ   s    r   r`   zStandardIO.stopProducing   s   € ØŒ
× Ò Ñ"Ô"Ð"Ð"Ð"r   c                 ó8   — | j                              ¦   «          d S r6   )r+   ÚpauseProducingrJ   s    r   rb   zStandardIO.pauseProducing„   s   € ØŒ
×!Ò!Ñ#Ô#Ð#Ð#Ð#r   c                 ó8   — | j                              ¦   «          d S r6   )r+   ÚresumeProducingrJ   s    r   rd   zStandardIO.resumeProducing‡   s   € ØŒ
×"Ò"Ñ$Ô$Ð$Ð$Ð$r   r6   )r   r   r   r?   rG   r"   r)   r*   r-   rF   r=   rL   rP   r@   rU   rX   rZ   r^   r`   rb   rd   r   r   r   r   r   "   s  € € € € € à€MØ€Lð(ð (ð (ð (ð:&ð &ð &ð"ð "ð "ð"ð "ð "ð €IðEð Eð Eð ð  ð  ð)ð )ð )ðð ð ð
"ð "ð "ð"ð "ð "ð
Að Að Að0ð 0ð 0ð#ð #ð #ð
$ð $ð $ð%ð %ð %ð %ð %r   r   )Ú__doc__r   r   Úzope.interfacer   r$   r   r   r   Útwisted.internet.interfacesr   r   r   r	   r
   Útwisted.loggerr   Útwisted.python.failurer   r:   r   r!   r   r   r   r   ú<module>rj      sh  ððð ð
 €€€Ø 	€	€	€	à &Ð &Ð &Ð &Ð &Ð &à €€€à /Ð /Ð /Ð /Ð /Ð /Ð /Ð /ðð ð ð ð ð ð ð ð ð ð ð ð ð ð "Ð !Ð !Ð !Ð !Ð !Ø *Ð *Ð *Ð *Ð *Ð *à€v�x„x€ð €ˆXÑÔð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ Ôð	ð €ˆZ˜ MÑ2Ô2ðe%ð e%ð e%ð e%ð e%�Ô+ñ e%ô e%ñ 3Ô2ðe%ð e%ð e%r   