Ë
    è×ïiÏ   ã                   óà   — d dl Z d dlZd dlZd dlZddlmZ ddlmZ ddlmZ ddlm	Z	 ddl
mZ  G d„ d	ej                  «      Z G d
„ dej                  «      Z G d„ deej                   «      Zy)é    Né   )Úfutures)Ú	protocols)Ú
transports)Ú	coroutine)Úloggerc                   óÈ   ‡ — e Zd Z	 dˆ fd„	Zd„ Zd„ Zd„ Zd„ Zd„ Ze	j                  dk\  rd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zed„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zˆ xZS )ÚBaseSubprocessTransportc           
      ó@  •— t         ‰| �  |
«       d| _        || _        || _        d | _        d | _        d | _        g | _        t        j                  «       | _        i | _        d| _        |t        j                  k(  rd | j                  d<   |t        j                  k(  rd | j                  d<   |t        j                  k(  rd | j                  d<    | j                   d||||||dœ|¤Ž | j
                  j"                  | _        | j
                  | j$                  d<   | j                  j'                  «       r?t)        |t*        t,        f«      r|}n|d   }t/        j0                  d|| j                  «       | j                  j3                  | j5                  |	«      «       y )	NFr   r   é   )ÚargsÚshellÚstdinÚstdoutÚstderrÚbufsizeÚ
subprocesszprocess %r created: pid %s© )ÚsuperÚ__init__Ú_closedÚ	_protocolÚ_loopÚ_procÚ_pidÚ_returncodeÚ_exit_waitersÚcollectionsÚdequeÚ_pending_callsÚ_pipesÚ	_finishedr   ÚPIPEÚ_startÚpidÚ_extraÚ	get_debugÚ
isinstanceÚbytesÚstrr   ÚdebugÚcreate_taskÚ_connect_pipes)ÚselfÚloopÚprotocolr   r   r   r   r   r   ÚwaiterÚextraÚkwargsÚprogramÚ	__class__s                €úQ/var/www/html/aiagents/fe/lib/python3.12/site-packages/asyncio/base_subprocess.pyr   z BaseSubprocessTransport.__init__   s]  ø€ ô 	‰Ñ˜ÔØˆŒØ!ˆŒØˆŒ
ØˆŒ
ØˆŒ	ØˆÔØˆÔÜ)×/Ñ/Ó1ˆÔØˆŒØˆŒà”J—O‘OÒ#Ø!ˆD�K‰K˜‰NØ”Z—_‘_Ò$Ø!ˆD�K‰K˜‰NØ”Z—_‘_Ò$Ø!ˆD�K‰K˜‰Nð 	ˆ�‰ð 	>˜ U°%ÀØ!¨7ñ	>Ø6<ò	>à—J‘J—N‘NˆŒ	Ø$(§J¡Jˆ�‰�LÑ!à�:‰:×ÑÔ!Ü˜$¤¬ Ô-Ø‘à˜q™'�Ü�L‰LÐ5Ø  $§)¡)ô-ð 	�
‰
×Ñ˜t×2Ñ2°6Ó:Õ;ó    c                 óÎ  — | j                   j                  g}| j                  r|j                  d«       |j                  d| j                  z  «       | j
                  �|j                  d| j
                  z  «       | j                  j                  d«      }|�|j                  d|j                  z  «       | j                  j                  d«      }| j                  j                  d«      }|�#||u r|j                  d|j                  z  «       n@|�|j                  d	|j                  z  «       |�|j                  d
|j                  z  «       ddj                  |«      z  S )NÚclosedzpid=%szreturncode=%sr   zstdin=%sr   r   zstdout=stderr=%sz	stdout=%sz	stderr=%sz<%s>ú )
r5   Ú__name__r   Úappendr   r   r!   ÚgetÚpipeÚjoin)r.   Úinfor   r   r   s        r6   Ú__repr__z BaseSubprocessTransport.__repr__5   s  € Ø—‘×'Ñ'Ð(ˆØ�<Š<Ø�K‰K˜Ô!Ø�‰�H˜tŸy™yÑ(Ô)Ø×ÑÐ'Ø�K‰K˜¨$×*:Ñ*:Ñ:Ô;à—‘—‘ Ó"ˆØÐØ�K‰K˜
 U§Z¡ZÑ/Ô0à—‘—‘ Ó#ˆØ—‘—‘ Ó#ˆØÐ &¨FÑ"2Ø�K‰KÐ*¨V¯[©[Ñ8Õ9àÐ!Ø—‘˜K¨&¯+©+Ñ5Ô6ØÐ!Ø—‘˜K¨&¯+©+Ñ5Ô6à˜Ÿ™ ›Ñ&Ð&r7   c                 ó   — t         ‚©N©ÚNotImplementedError)r.   r   r   r   r   r   r   r3   s           r6   r$   zBaseSubprocessTransport._startM   ó   € Ü!Ð!r7   c                 ó   — t         ‚rC   rD   ©r.   Úfds     r6   Ú!_make_write_subprocess_pipe_protoz9BaseSubprocessTransport._make_write_subprocess_pipe_protoP   rF   r7   c                 ó   — t         ‚rC   rD   rH   s     r6   Ú _make_read_subprocess_pipe_protoz8BaseSubprocessTransport._make_read_subprocess_pipe_protoS   rF   r7   c                 óŒ  — | j                   ry d| _         | j                  j                  «       D ]  }|€Œ|j                  j	                  «        Œ! | j
                  �Y| j                  €L| j                  j                  «       rt        j                  d| «       	 | j
                  j                  «        y y y # t        $ r Y y w xY w)NTz$Close running child process: kill %r)r   r!   Úvaluesr>   Úcloser   r   r   r'   r   ÚwarningÚkillÚProcessLookupError)r.   Úprotos     r6   rO   zBaseSubprocessTransport.closeV   s¬   € Ø�<Š<ØØˆŒà—[‘[×'Ñ'Ó)ò 	ˆEØˆ}ØØ�J‰J×ÑÕð	ð
 �:‰:Ð! d×&6Ñ&6Ð&>Ø�z‰z×#Ñ#Ô%Ü—‘ÐEÀtÔLðØ—
‘
—‘Õ!ð '?Ð!øô &ò Ùðús   ÂB7 Â7	CÃC)é   é   c                 óx   — | j                   s.t        j                  d| z  t        «       | j	                  «        y y )Nzunclosed transport %r)r   ÚwarningsÚwarnÚResourceWarningrO   ©r.   s    r6   Ú__del__zBaseSubprocessTransport.__del__o   s+   € Ø—<’<Ü—‘Ð5¸Ñ<¼oÔNØ—
‘
•ð  r7   c                 ó   — | j                   S rC   )r   rZ   s    r6   Úget_pidzBaseSubprocessTransport.get_pidt   s   € Ø�y‰yÐr7   c                 ó   — | j                   S rC   )r   rZ   s    r6   Úget_returncodez&BaseSubprocessTransport.get_returncodew   s   € Ø×ÑÐr7   c                 óR   — || j                   v r| j                   |   j                  S y rC   )r!   r>   rH   s     r6   Úget_pipe_transportz*BaseSubprocessTransport.get_pipe_transportz   s%   € Ø�—‘ÑØ—;‘;˜r‘?×'Ñ'Ð'àr7   c                 ó0   — | j                   €
t        «       ‚y rC   )r   rR   rZ   s    r6   Ú_check_procz#BaseSubprocessTransport._check_proc€   s   € Ø�:‰:ÐÜ$Ó&Ð&ð r7   c                 óZ   — | j                  «        | j                  j                  |«       y rC   )rc   r   Úsend_signal)r.   Úsignals     r6   re   z#BaseSubprocessTransport.send_signal„   s    € Ø×ÑÔØ�
‰
×Ñ˜vÕ&r7   c                 óX   — | j                  «        | j                  j                  «        y rC   )rc   r   Ú	terminaterZ   s    r6   rh   z!BaseSubprocessTransport.terminateˆ   s   € Ø×ÑÔØ�
‰
×ÑÕr7   c                 óX   — | j                  «        | j                  j                  «        y rC   )rc   r   rQ   rZ   s    r6   rQ   zBaseSubprocessTransport.killŒ   s   € Ø×ÑÔØ�
‰
�‰Õr7   c              #   ó€  ‡ K  — 	 ‰ j                   }‰ j                  }|j                  �9|j                  ˆ fd„|j                  «      E d {  –—† \  }}|‰ j                  d<   |j
                  �9|j                  ˆ fd„|j
                  «      E d {  –—† \  }}|‰ j                  d<   |j                  �9|j                  ˆ fd„|j                  «      E d {  –—† \  }}|‰ j                  d<   ‰ j                  €J ‚|j                  ‰ j                  j                  ‰ «       ‰ j                  D ]  \  }} |j                  |g|¢­Ž  Œ d ‰ _        |�#|j                  «       s|j                  d «       y y y 7 �Œ)7 Œæ7 Œ£# t        $ r7}|�+|j                  «       s|j                  |«       Y d }~y Y d }~y Y d }~y d }~ww xY w­w)Nc                  ó   •— t        ‰ d«      S )Nr   )ÚWriteSubprocessPipeProtorZ   s   €r6   ú<lambda>z8BaseSubprocessTransport._connect_pipes.<locals>.<lambda>˜   s   ø€ Ô4°T¸1Ó=€ r7   r   c                  ó   •— t        ‰ d«      S )Nr   ©ÚReadSubprocessPipeProtorZ   s   €r6   rm   z8BaseSubprocessTransport._connect_pipes.<locals>.<lambda>ž   ó   ø€ Ô3°D¸!Ó<€ r7   r   c                  ó   •— t        ‰ d«      S )Nr   ro   rZ   s   €r6   rm   z8BaseSubprocessTransport._connect_pipes.<locals>.<lambda>¤   rq   r7   r   )r   r   r   Úconnect_write_piper!   r   Úconnect_read_piper   r    Ú	call_soonr   Úconnection_madeÚ	cancelledÚ
set_resultÚ	ExceptionÚset_exception)	r.   r1   Úprocr/   Ú_r>   ÚcallbackÚdataÚexcs	   `        r6   r-   z&BaseSubprocessTransport._connect_pipes�   s¥  øè ø€ ð!	(Ø—:‘:ˆDØ—:‘:ˆDà�z‰zÐ%Ø%)×%<Ñ%<Û=Ø—J‘Jó& ÷  ‘��4ð "&�—‘˜A‘à�{‰{Ð&Ø%)×%;Ñ%;Û<Ø—K‘Kó&!÷ !‘��4ð "&�—‘˜A‘à�{‰{Ð&Ø%)×%;Ñ%;Û<Ø—K‘Kó&!÷ !‘��4ð "&�—‘˜A‘à×&Ñ&Ð2Ð2Ð2à�N‰N˜4Ÿ>™>×9Ñ9¸4Ô@Ø"&×"5Ñ"5ò 0‘�˜$Ø�—‘˜xÐ/¨$Ô/ð0à"&ˆDÔð
 Ð!¨&×*:Ñ*:Ô*<Ø×!Ñ! $Õ'ð +=Ð!ð7 ùð!øð!ùô ò 	*ØÐ!¨&×*:Ñ*:Ô*<Ø×$Ñ$ S×)Ñ)ô +=Ô!ûð	*üsh   ƒF>…AE; ÁE4ÁAE; ÂE7ÂAE; ÃE9ÃA8E; Å&F>Å4E; Å7E; Å9E; Å;	F;Æ#F6Æ'F>Æ6F;Æ;F>c                 ó’   — | j                   �| j                   j                  ||f«       y  | j                  j                  |g|¢­Ž  y rC   )r    r<   r   ru   )r.   Úcbr~   s      r6   Ú_callzBaseSubprocessTransport._callµ   s?   € Ø×ÑÐ*Ø×Ñ×&Ñ&¨¨D zÕ2à ˆD�J‰J× Ñ  Ð+ dÔ+r7   c                 ór   — | j                  | j                  j                  ||«       | j                  «        y rC   )r‚   r   Úpipe_connection_lostÚ_try_finish)r.   rI   r   s      r6   Ú_pipe_connection_lostz-BaseSubprocessTransport._pipe_connection_lost»   s(   € Ø�
‰
�4—>‘>×6Ñ6¸¸CÔ@Ø×ÑÕr7   c                 óR   — | j                  | j                  j                  ||«       y rC   )r‚   r   Úpipe_data_received)r.   rI   r~   s      r6   Ú_pipe_data_receivedz+BaseSubprocessTransport._pipe_data_received¿   s   € Ø�
‰
�4—>‘>×4Ñ4°b¸$Õ?r7   c                 óž  — |€J |«       ‚| j                   �J | j                   «       ‚| j                  j                  «       rt        j                  d| |«       || _         | j                  | j                  j                  «       | j                  «        | j                  D ]$  }|j                  «       rŒ|j                  |«       Œ& d | _	        y )Nz%r exited with return code %r)r   r   r'   r   r@   r‚   r   Úprocess_exitedr…   r   rw   rx   )r.   Ú
returncoder1   s      r6   Ú_process_exitedz'BaseSubprocessTransport._process_exitedÂ   s¹   € ØÐ%Ð1 zÓ1Ð%Ø×ÑÐ'Ð9¨×)9Ñ)9Ó9Ð'Ø�:‰:×ÑÔ!Ü�K‰KÐ7Ø˜jô*à%ˆÔØ�
‰
�4—>‘>×0Ñ0Ô1Ø×ÑÔð ×(Ñ(ò 	.ˆFØ×#Ñ#Õ%Ø×!Ñ! *Õ-ð	.ð "ˆÕr7   c              #   óÈ   K  — | j                   �| j                   S t        j                  | j                  ¬«      }| j                  j                  |«       |E d{  –—† S 7 Œ­w)zdWait until the process exit and return the process return code.

        This method is a coroutine.N)r/   )r   r   ÚFuturer   r   r<   )r.   r1   s     r6   Ú_waitzBaseSubprocessTransport._waitÒ   sR   è ø€ ð ×ÑÐ'Ø×#Ñ#Ð#ä—‘ T§Z¡ZÔ0ˆØ×Ñ×!Ñ! &Ô)Ø!×!Ð"Ð!ús   ‚AA"ÁA ÁA"c                 óÖ   — | j                   rJ ‚| j                  €y t        d„ | j                  j	                  «       D «       «      r$d| _         | j                  | j                  d «       y y )Nc              3   ó@   K  — | ]  }|d uxr |j                   –— Œ y ­wrC   )Údisconnected)Ú.0Úps     r6   ú	<genexpr>z6BaseSubprocessTransport._try_finish.<locals>.<genexpr>á   s(   è ø€ ò .Øð ˜ˆ}Ò/ §¡Ó/ñ .ùs   ‚T)r"   r   Úallr!   rN   r‚   Ú_call_connection_lostrZ   s    r6   r…   z#BaseSubprocessTransport._try_finishÝ   s`   € Ø—>’>Ð!Ð!Ø×ÑÐ#ØÜñ .ØŸ™×*Ñ*Ó,ô.ô .à!ˆDŒNØ�J‰J�t×1Ñ1°4Õ8ð.r7   c                 óš   — 	 | j                   j                  |«       d | _        d | _        d | _         y # d | _        d | _        d | _         w xY wrC   )r   Úconnection_lostr   r   ©r.   r   s     r6   r˜   z-BaseSubprocessTransport._call_connection_lostæ   sG   € ð	"Ø�N‰N×*Ñ*¨3Ô/àˆDŒJØˆDŒJØ!ˆD�Nøð ˆDŒJØˆDŒJØ!ˆD�Nús	   ‚3 ³A
)NN)r;   Ú
__module__Ú__qualname__r   rA   r$   rJ   rL   rO   ÚsysÚversion_infor[   r]   r_   ra   rc   re   rh   rQ   r   r-   r‚   r†   r‰   r�   r�   r…   r˜   Ú__classcell__)r5   s   @r6   r
   r
      s˜   ø„ ð %)õ$<òL'ò0"ò"ò"òð0 ×Ñ˜6Ò!ò	ò
ò òò'ò'òòð ñ"(ó ð"(òH,òò@ò"ò 	#ò9ö"r7   r
   c                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)rl   c                 ó<   — || _         || _        d | _        d| _        y )NF)r{   rI   r>   r“   )r.   r{   rI   s      r6   r   z!WriteSubprocessPipeProto.__init__ñ   s   € ØˆŒ	ØˆŒØˆŒ	Ø!ˆÕr7   c                 ó   — || _         y rC   )r>   )r.   Ú	transports     r6   rv   z(WriteSubprocessPipeProto.connection_made÷   s	   € Øˆ�	r7   c                 ój   — d| j                   j                  ›d| j                  ›d| j                  ›d�S )Nú<z fd=z pipe=ú>)r5   r;   rI   r>   rZ   s    r6   rA   z!WriteSubprocessPipeProto.__repr__ú   s'   � à—>‘>×*Ó*¨D¯G«G°T·Y³Yð@ð 	Ar7   c                 ól   — d| _         | j                  j                  | j                  |«       d | _        y )NT)r“   r{   r†   rI   r›   s     r6   rš   z(WriteSubprocessPipeProto.connection_lostþ   s)   € Ø ˆÔØ�	‰	×'Ñ'¨¯©°Ô5Øˆ�	r7   c                 óL   — | j                   j                  j                  «        y rC   )r{   r   Úpause_writingrZ   s    r6   rª   z&WriteSubprocessPipeProto.pause_writing  s   € Ø�	‰	×Ñ×)Ñ)Õ+r7   c                 óL   — | j                   j                  j                  «        y rC   )r{   r   Úresume_writingrZ   s    r6   r¬   z'WriteSubprocessPipeProto.resume_writing  s   € Ø�	‰	×Ñ×*Ñ*Õ,r7   N)	r;   rœ   r�   r   rv   rA   rš   rª   r¬   r   r7   r6   rl   rl   ï   s!   „ ò"òòAòò
,ó-r7   rl   c                   ó   — e Zd Zd„ Zy)rp   c                 óP   — | j                   j                  | j                  |«       y rC   )r{   r‰   rI   )r.   r~   s     r6   Údata_receivedz%ReadSubprocessPipeProto.data_received  s   € Ø�	‰	×%Ñ% d§g¡g¨tÕ4r7   N)r;   rœ   r�   r¯   r   r7   r6   rp   rp   
  s   „ ó5r7   rp   )r   r   rž   rW   Ú r   r   r   Ú
coroutinesr   Úlogr   ÚSubprocessTransportr
   ÚBaseProtocolrl   ÚProtocolrp   r   r7   r6   ú<module>r¶      s]   ðÛ Û Û 
Û å Ý Ý Ý !Ý ô_"˜j×<Ñ<ô _"ôD-˜y×5Ñ5ô -ô65Ð6Ø'×0Ñ0õ5r7   