+
    i  c                   sn   ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIHtHt ^RIH	t	H
t
Ht ^RIHt ^RIHt R.tRt]P"                  R8H  ;'       d    ]! ]R	R
4      t]P(                  P+                  4       P-                  R4      tR t]! ]P(                  ]P2                  4      '       * tR t ! R R]4      tR# )    N)STARTUPINFOSTARTF_FORCEOFFFEEDBACK)	reductionget_spawning_popenset_spawning_popen)spawn)utilPopeni   Zwin32ZfrozenFzpythonservice.exec                 s    W8H  ;'       g@    \         P                  P                  V 4      \         P                  P                  V4      8H  # N)osZpathZnormcase)Zp1Zp2   &&:/usr/lib64/python3.14/multiprocessing/popen_spawn_win32.py_path_eqr      s5    8CCrww''+rww/?/?/CCC    c                  sD    V  F  p\         P                  ! V4       K  	  R # r	   )_winapiCloseHandle)Zhandleshandles   * r   _close_handlesr      s    F# r   c                   sT   a  ] tR t^(t o RtRtR tR tRR ltR t	R t
]
tR	 tR
tV tR# )r   z8
Start a subprocess to run the code of a process object
r   c                s   \         P                  ! VP                  4      p\        P                  ! R ^ 4      w  r4\
        P                  ! V^ 4      p\         P                  ! \        P                  ! 4       VR7      p\         P                  ! 4       p\        '       dh   \        V\        P                  4      '       dH   \        P                  ;V^ &   p\        P                   P#                  4       p\        P                  VR&   MR pRP%                  R V 4       4      p\'        VRRR7      ;_uu_ 4       p	 \        P(                  ! WvR R R^ VR \+        \,        R	7      4	      w  rr\        P.                  ! V4       Yn        R T n        Yn        \7        T
4      T n        \:        P<                  ! T \>        T P8                  \7        T4      34      T n         \C        T 4        \D        PF                  ! Y)4       \D        PF                  ! Y4       \C        R 4        R R R 4       R #    \        P.                  ! T4       h ; i  \C        R 4       i ; i  + '       g   i     R # ; i)
N)Z
parent_pidZpipe_handleZ__PYVENV_LAUNCHER__Z c              3   s4   "   T F  pR V,          x  K  	  R# 5i)z"%s"N )Z.0Zx   & r   Z	<genexpr>Z!Popen.__init__.<locals>.<genexpr>G   s     /3avzz3s   ZwbT)ZclosefdF)ZdwFlags)$r   Zget_preparation_dataZ_namer   Z
CreatePipemsvcrtZopen_osfhandleZget_command_liner
   ZgetpidZget_executableWINENVr   sys
executable_base_executableZenvironZcopyZjoinZopenZCreateProcessr   r   r   pid
returncode_handleintsentinelr   ZFinalizer   	finalizerr   r   Zdump)selfZprocess_objZ	prep_dataZrhandleZwhandleZwfdZcmdZ
python_exeZenvZto_childZhpZhtr   Ztids   &&            r   __init__ZPopen.__init__.   s   ..{/@/@A	 #--dA6##GQ/$$		18: ))+
 6hz3>>::"%"6"66CFZ**//#C),C%&Chh/3//#tT**h#*#8#8$q#t(?@$B  ##B' H"DOLGDM!]]4,0MM3w<+HJDN t$)y3{5"4(5 +*##G,  #4(5 +**s>   4I6AH!:A$I,H=I!H::I=I

II	c                sB    \         P                  ! WP                  4      # r	   )r   Z	duplicater   )r    r   r   r   duplicate_for_childZPopen.duplicate_for_childe   s    ""6==99r   Nc                s   V P                   e   V P                   # Vf   \        P                  pM#\        ^ \	        VR,          R,           4      4      p\        P
                  ! \	        V P                  4      V4      pV\        P                  8X  dC   \        P                  ! V P                  4      pV\        8X  d   \        P                  ) pW@n         V P                   # )Ni  g      ?)r   r   ZINFINITEZmaxr   ZWaitForSingleObjectr   ZWAIT_OBJECT_0GetExitCodeProcess	TERMINATEsignalZSIGTERM)r    timeoutZmsecsZrescodes   &&   r   waitZ
Popen.waiti   s    ??&??"?$$E3w~345E))#dll*;UC''''--dll;Dy "Or   c                s&    V P                  ^ R7      # )r    )r&   )r(   r       &r   pollZ
Popen.poll{   s    yyy##r   c                s&   V P                   e   R #  \        P                  ! \        V P                  4      \
        4       R #   \         dD    \        P                  ! \        T P                  4      4      pT\        P                  8X  d   h  R # i ; ir	   )	r   r   ZTerminateProcessr   r   r$   ZPermissionErrorr#   ZSTILL_ACTIVE)r    r'   r   r   	terminateZPopen.terminate~   sm    ??&	$$S%6	B 	 --c$,,.?@Dw+++ ,		s   .A A
BBc                s&    V P                  4        R # r	   )r   r)   r*   r   closeZPopen.close   s    r   )r   r   r   r   r   r	   )Z__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__Zmethodr!   r"   r(   r+   r,   Zkillr-   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r   r   (   s<      F5)n:$$$ D r   )r
   r   r%   r   r   Z
subprocessr   r   Zcontextr   r   r   Z r   r   Z__all__r$   ZplatformZgetattrZWINEXEr   ZlowerZendswithZ
WINSERVICEr   r   r   r   Zobjectr   r   r   r   <module>r.      s    	   
  ; F F  ) 	
,,'
!
C
Cgc8U&C^^!!#,,-@A
D cnnc&:&:;	;$kF kr   