§
    (¶Õi¶  ã                   óÂ   — d dl Z d dlZddlmZmZ ej        s ed¦  «        ‚ddlmZ ddlm	Z	 ddlm
Z
 ddlmZ d	gZ G d
„ de¦  «        Z G d„ d	e	j        ¦  «        ZdS )é    Né   )Ú	reductionÚset_spawning_popenz,No support for sending fds between processes)Ú
forkserver)Ú
popen_fork)Úspawn)ÚutilÚPopenc                   ó   — e Zd Zd„ Zd„ ZdS )Ú_DupFdc                 ó   — || _         d S ©N)Úind)Úselfr   s     ú7/usr/lib/python3.11/multiprocessing/popen_forkserver.pyÚ__init__z_DupFd.__init__   s   € ØˆŒˆˆó    c                 ó>   — t          j        ¦   «         | j                 S r   )r   Úget_inherited_fdsr   )r   s    r   Údetachz_DupFd.detach   s   € ÝÔ+Ñ-Ô-¨d¬hÔ7Ð7r   N)Ú__name__Ú
__module__Ú__qualname__r   r   © r   r   r   r      s2   € € € € € ðð ð ð8ð 8ð 8ð 8ð 8r   r   c                   óF   ‡ — e Zd ZdZeZˆ fd„Zd„ Zd„ Ze	j
        fd„Zˆ xZS )r
   r   c                 óX   •— g | _         t          ¦   «                              |¦  «         d S r   )Ú_fdsÚsuperr   )r   Úprocess_objÚ	__class__s     €r   r   zPopen.__init__!   s(   ø€ ØˆŒ	Ý‰Œ×Ò˜Ñ%Ô%Ð%Ð%Ð%r   c                 ód   — | j                              |¦  «         t          | j         ¦  «        dz
  S )Nr   )r   ÚappendÚlen)r   Úfds     r   Úduplicate_for_childzPopen.duplicate_for_child%   s+   € ØŒ	×Ò˜ÑÔÐÝ�4”9‰~Œ~ Ñ!Ð!r   c                 óº  — t          j        |j        ¦  «        }t          j        ¦   «         }t          | ¦  «         	 t          j        ||¦  «         t          j        ||¦  «         t          d ¦  «         n# t          d ¦  «         w xY wt          j	        | j
        ¦  «        \  | _        }t          j        |¦  «        }t          j        | t          j        || j        f¦  «        | _        t%          |dd¬¦  «        5 }|                     |                     ¦   «         ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        | j        ¦  «        | _        d S )NÚwbT)Úclosefd)r   Úget_preparation_dataÚ_nameÚioÚBytesIOr   r   Údumpr   Úconnect_to_new_processr   ÚsentinelÚosÚdupr	   ÚFinalizeÚ	close_fdsÚ	finalizerÚopenÚwriteÚ	getbufferÚread_signedÚpid)r   r   Ú	prep_dataÚbufÚwÚ	_parent_wÚfs          r   Ú_launchzPopen._launch)   sc  € ÝÔ.¨{Ô/@ÑAÔAˆ	ÝŒj‰lŒlˆÝ˜4Ñ Ô Ð ð	%ÝŒN˜9 cÑ*Ô*Ð*ÝŒN˜;¨Ñ,Ô,Ð,å˜tÑ$Ô$Ð$Ð$øÕ˜tÑ$Ô$Ð$Ð$øøøå%Ô<¸T¼YÑGÔGÑˆŒ�qõ ”F˜1‘I”Iˆ	Ýœ t­T¬^Ø(1°4´=Ð'AñCô CˆŒå�!�T 4Ð(Ñ(Ô(ð 	%¨AØ�GŠG�C—M’M‘O”OÑ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%åÔ)¨$¬-Ñ8Ô8ˆŒˆˆs   ½*A7 Á7BÃ>(D2Ä2D6Ä9D6c                 óö   — | j         €lddlm} |t          j        k    rdnd } || j        g|¦  «        sd S 	 t          j        | j        ¦  «        | _         n# t          t          f$ r
 d| _         Y nw xY w| j         S )Nr   )Úwaitéÿ   )
Ú
returncodeÚmultiprocessing.connectionrA   r0   ÚWNOHANGr/   r   r8   ÚOSErrorÚEOFError)r   ÚflagrA   Útimeouts       r   Úpollz
Popen.poll=   s    € ØŒ?Ð"Ø7Ð7Ð7Ð7Ð7Ð7Ø¥2¤:Ò-Ð-�a�a°4ˆGØ�4˜œ˜¨Ñ1Ô1ð Ø�tð&Ý",Ô"8¸¼Ñ"GÔ"G�”�øÝ�XÐ&ð &ð &ð &ð #&�”��ð&øøøð
 ŒÐs   ·A ÁA1Á0A1)r   r   r   Úmethodr   ÚDupFdr   r%   r?   r0   rE   rJ   Ú__classcell__)r    s   @r   r
   r
      s{   ø€ € € € € Ø€FØ€Eð&ð &ð &ð &ð &ð"ð "ð "ð9ð 9ð 9ð( œ
ð ð ð ð ð ð ð ð r   )r+   r0   Úcontextr   r   ÚHAVE_SEND_HANDLEÚImportErrorÚ r   r   r   r	   Ú__all__Úobjectr   r
   r   r   r   ú<module>rT      sþ   ðØ 	€	€	€	Ø 	€	€	€	à 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2ØÔ!ð FØ
ˆ+ÐDÑ
EÔ
EÐEØ Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ð ˆ)€ð8ð 8ð 8ð 8ð 8ˆVñ 8ô 8ð 8ð-ð -ð -ð -ð -ˆJÔñ -ô -ð -ð -ð -r   