§
    !¾<iŠ  ã                   ól   — d Z ddlZddlZddlZddlZddlmZ  ej        e¦  «        Z	d	dede
ddfd„ZdS )
z;
POSIX-specific functionality for stdio client operations.
é    N)ÚProcessç       @ÚprocessÚtimeout_secondsÚreturnc              ƒ   óN  K  — t          | dd¦  «        pt          t          | dd¦  «        dd¦  «        }|sdS 	 t          j        |¦  «        }t          j        |t          j        ¦  «         t          j        |¦  «        5  	 	 t          j        |d¦  «         t          j        d¦  «        ƒ d{V —† n# t          $ r Y ddd¦  «         dS w xY wŒN# 1 swxY w Y   	 t          j        |t          j
        ¦  «         dS # t          $ r Y dS w xY w# t          t          t          f$ rÿ}t                               d|› d|› d	¦  «         	 |                      ¦   «          t          j        |¦  «        5  |                      ¦   «         ƒ d{V —† ddd¦  «         n# 1 swxY w Y   nq# t$          $ rd t                               d
|› d¦  «         	 |                      ¦   «          n-# t$          $ r  t                               d|› ¦  «         Y nw xY wY n
w xY wY d}~dS Y d}~dS d}~ww xY w)a  
    Terminate a process and all its children on POSIX systems.

    Uses os.killpg() for atomic process group termination.

    Args:
        process: The process to terminate
        timeout_seconds: Timeout in seconds before force killing (default: 2.0)
    ÚpidNÚpopenTr   gš™™™™™¹?z)Process group termination failed for PID z: z", falling back to simple terminatez#Process termination failed for PID z, attempting force killzFailed to kill process )ÚgetattrÚosÚgetpgidÚkillpgÚsignalÚSIGTERMÚanyioÚmove_on_afterÚsleepÚProcessLookupErrorÚSIGKILLÚPermissionErrorÚOSErrorÚloggerÚwarningÚ	terminateÚ
fail_afterÚwaitÚ	ExceptionÚkillÚ	exception)r   r   r	   ÚpgidÚes        ú‘/Users/kimhansen/Desktop/03 Workspace/ceo-agents/chl-effectiveness/mcp-servers/whoop/.venv/lib/python3.11/site-packages/mcp/os/posix/utilities.pyÚterminate_posix_process_treer#      s  è è € õ '˜5 $Ñ
'Ô
'Ð
`­7µ7¸7ÀGÈTÑ3RÔ3RÐTYÐ[_Ñ+`Ô+`€CØð ð 	ˆðBÝŒz˜#‰ŒˆÝ
Œ	$œÑ'Ô'Ð'åÔ  Ñ1Ô1ð 	ð 	ððå”I˜d AÑ&Ô&Ð&Ýœ+ cÑ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ð*øÝ)ð ð ð Øð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ðøøøðð	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð	ÝŒIdFœNÑ+Ô+Ð+Ð+Ð+øÝ!ð 	ð 	ð 	ØˆDˆDð	øøøøõ ¥µÐ9ð Bð Bð BÝŠÐoÀ3ÐoÐoÈ!ÐoÐoÐoÑpÔpÐpð		BØ×ÒÑÔÐÝÔ! /Ñ2Ô2ð %ð %Ø—l’l‘n”nÐ$Ð$Ð$Ð$Ð$Ð$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %øøåð 	Bð 	Bð 	BÝNŠNÐ]ÀÐ]Ð]Ð]Ñ^Ô^Ð^ðBØ—’‘”øÝð Bð Bð BÝ× Ò Ð!@¸3Ð!@Ð!@ÑAÔAÐAÐAÐAðBøøøøøð		Bøøøè è è è è è è è è è è è øøøøðBøøøsê   ¹AD Â CÂ/B3Â2CÂ3
CÂ=CÂ>D ÃCÃCÃCÃD ÃCÃD ÃC= Ã=
DÄD Ä
DÄD ÄH$Ä%!HÅ(F"Å/FÆ
F"ÆF	ÆF"ÆF	ÆF"Æ!HÆ"(HÇG ÇHÇ 'H
ÈHÈ	H
È
HÈHÈHÈHÈH$)r   )Ú__doc__Úloggingr   r   r   Ú	anyio.abcr   Ú	getLoggerÚ__name__r   Úfloatr#   © ó    r"   ú<module>r,      sœ   ððð ð €€€Ø 	€	€	€	Ø €€€à €€€Ø Ð Ð Ð Ð Ð à	ˆÔ	˜8Ñ	$Ô	$€ð-Bð -B°ð -BÈ%ð -BÐZ^ð -Bð -Bð -Bð -Bð -Bð -Br+   