Ë
     täic
  ã                   ó’   — d dl Z d dlZd dlZd dlZddlmZ dZdZ ej                  d«      Z	d„ Z
d„ Zd	„ Zd
„ Z G d„ de«      Zdd„Zy)é    Né   )ÚProcessé   é   z
\(.+\)|\S+c            	      óä   — t        j                  «       } dD ]M  }t         j                  j                  t         j                  j	                  dt        | «      |«      «      sŒK|c S  t        d«      ‚)züDetect /proc filesystem style.

    This checks the /proc/{pid} directory for possible formats. Returns one of
    the following as str:

    * `stat`: Linux-style, i.e. ``/proc/{pid}/stat``.
    * `status`: BSD-style, i.e. ``/proc/{pid}/status``.
    )ÚstatÚstatusú/proczunsupported proc format)ÚosÚgetpidÚpathÚexistsÚjoinÚstrÚProcFormatError)ÚpidÚnames     úe/Volumes/fast/ai/experiments/MLX_z-image/.venv/lib/python3.12/site-packages/shellingham/posix/proc.pyÚdetect_procr      sQ   € ô �)‰)‹+€CÛ"ˆÜ�7‰7�>‰>œ"Ÿ'™'Ÿ,™, w´°C³¸$Ó?Õ@ØŠKð #ô Ð3Ó
4Ð4ó    c                  ó~   — 	 t        j                  «       j                  j                  «       dv S # t        $ r Y yw xY w)N)ÚfreebsdÚnetbsdÚ	dragonflyF)r   ÚunameÚsysnameÚlowerÚ	Exception© r   r   Ú_use_bsd_stat_formatr    #   s:   € ðÜ�x‰x‹z×!Ñ!×'Ñ'Ó)Ð-OÐOÐOøÜò Ùðús   ‚-0 °	<»<c                 ó.  — t         j                  j                  dt        | «      |«      }t	        j
                  |dd¬«      5 }t        j                  |j                  «       «      }d d d «       t        «       r	t           S t           S # 1 sw Y   Œ%xY w)Nr
   ÚasciiÚreplace©ÚencodingÚerrors)r   r   r   r   ÚioÚopenÚSTAT_PATTERNÚfindallÚreadr    ÚBSD_STAT_PPIDÚLINUX_STAT_PPID)r   r   r   ÚfÚpartss        r   Ú	_get_ppidr0   *   sp   € Ü�7‰7�<‰<˜¤ S£¨4Ó0€DÜ	�‰� °	Õ	:¸aÜ×$Ñ$ Q§V¡V£XÓ.ˆ÷ 
;ô ÔØ”]Ñ#Ð#Ø”Ñ!Ð!÷ 
;Ð	:ús   Á$BÂBc                 ó8  — t         j                  j                  dt        | «      d«      }t	        j
                  «       xs d}t        j                  ||d¬«      5 }t        |j                  «       j                  d«      d d «      cd d d «       S # 1 sw Y   y xY w)Nr
   Úcmdlinezutf-8r#   r$   Ú éÿÿÿÿ)r   r   r   r   ÚsysÚgetfilesystemencodingr'   r(   Útupler+   Úsplit)r   r   r%   r.   s       r   Ú_get_cmdliner9   4   sm   € Ü�7‰7�<‰<˜¤ S£¨9Ó5€DÜ×(Ñ(Ó*Ò5¨g€HÜ	�‰� °Õ	;¸qô
 �Q—V‘V“X—^‘^ DÓ)¨#¨2Ð.Ó/÷ 
<×	;Ò	;ús   Á+BÂBc                   ó   — e Zd Zy)r   N)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   ?   s   „ Ør   r   c                 ó4   ‡— t        «       Šˆfd„} || |«      S )z8Try to look up the process tree via the /proc interface.c              3   óŽ   •K  — t        |«      D ]2  }t        | ‰«      }t        | «      }t        || |¬«      –— |dk(  r y |} Œ4 y ­w)N)Úargsr   ÚppidÚ0)Úranger0   r9   r   )r   Ú	max_depthÚ_rA   r@   Ú	stat_names        €r   Ú_iter_process_parentsz3iter_process_parents.<locals>._iter_process_parentsJ   sJ   øè ø€ Ü�yÖ!ˆAÜ˜S )Ó,ˆDÜ Ó$ˆDÜ˜t¨°4Ô8Ò8Ø�sŠ{ÙØ‰Cñ "ùs   ƒAA)r   )r   rD   rG   rF   s      @r   Úiter_process_parentsrH   C   s   ø€ ä“€Iô
ñ !  iÓ0Ð0r   )é
   )r'   r   Úrer5   Ú_corer   r,   r-   Úcompiler)   r   r    r0   r9   ÚEnvironmentErrorr   rH   r   r   r   Ú<module>rN      sX   ðÛ 	Û 	Û 	Û 
å ð
 €ð €àˆr�z‰z˜-Ó(€ò5ò ò"ò0ô	Ð&ô 	ô1r   