ó
    ‹A¾i~]  ã                   óì  • S r SSKrSSKrSSKrSSKrSSKrSSKrSSKJr  SSKJ	r	  SSK
Jr  SSK
Jr  SSK
Jr  SS	K
Jr  SS
KJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  / SQr\R<                  " 5       r\R@                  r \RB                  S:„  r"Sr#Sr$\RJ                  \RL                  \RN                  \RP                  \RR                  \RT                  \RV                  \RX                  \RZ                  \R\                  \R^                  \RP                  \R`                  \Rb                  0r2\Rf                  \Rh                  \Rj                  \Rl                  \Rn                  \Rp                  \Rr                  \Rt                  \Rv                  \Rx                  \Rz                  \R|                  \R~                  \R€                  \R‚                  \R„                  \R†                  \Rˆ                  \RŠ                  \RŒ                  \RŽ                  \R�                  \R’                  \R”                  \R–                  \#\R˜                  \$0rM\N" SSSSSSSSS S!S"S#S$9rOS% rPS& rQS' rRS( rSS) rTS* rUS+ rV\R®                  rW\R°                  rXS6S, jrY\R´                  rZ\R¶                  r[S7S- jr\S. r]S/ r^S0 r_S1 r`S2 raS3 rb " S4 S55      rcg)8z'Sun OS Solaris platform implementation.é    N)Ú
namedtuple)ÚAF_INETé   )Ú_common)Ú_ntuples)Ú_psposix)Ú_psutil_sunos)ÚAF_INET6)ÚENCODING)ÚAccessDenied)ÚNoSuchProcess)ÚZombieProcess)Údebug)Úget_procfs_path)Úisfile_strict)Úmemoize_when_activated)Úsockfam_to_enum)Úsocktype_to_enum)Úusage_percent)Ú	CONN_IDLEÚ
CONN_BOUNDÚPROCFS_PATHl        ÚIDLEÚBOUNDé   é   é   é   é   é   é   é	   é
   é   )ÚppidÚrssÚvmsÚcreate_timeÚniceÚnum_threadsÚstatusÚttynrÚuidÚeuidÚgidÚegidc                  óÄ   • [         R                  " S5      [        -  n [         R                  " S5      [        -  =pX-
  n[        X0SS9n[        R
                  " XXCU5      $ )zReport virtual memory metrics.ÚSC_PHYS_PAGESÚSC_AVPHYS_PAGESr   ©Úround_)ÚosÚsysconfÚ	PAGE_SIZEr   ÚntpÚsvmem)ÚtotalÚfreeÚavailÚusedÚpercents        Ú\/var/www/we8upmb/htdocs/scripts/db-diff/venv/lib/python3.13/site-packages/psutil/_pssunos.pyÚvirtual_memoryrA   `   sT   € ô �JŠJ�Ó'¬)Ñ3€Eä—:’:Ð/Ó0´9Ñ<Ð<€DØ‰<€DÜ˜D°Ñ2€GÜ�9Š9�U 7°$Ó7Ð7ó    c            	      óö  • [         R                  " 5       u  p[        R                  " SS[        R
                  S    3SS/[        R                  S9nUR                  5       u  p4UR                  [        R                  R                  5      nUR                  S:w  a  SUR                   S	3n[        U5      eUR                  5       R                  S
5      SS nU(       d  Sn[        U5      eS=pxU HN  n	U	R                  5       n	U	SS u  p«U[!        [!        U
5      S-  5      -  nU[!        [!        U5      S-  5      -  nMP     Xx-
  n[#        XÇSS9n[$        R&                  " X|X�U [(        -  U[(        -  5      $ )zReport swap memory metrics.z/usr/bin/envzPATH=/usr/sbin:/sbin:ÚPATHÚswapz-l)Ústdoutr   z'swap -l' failed (retcode=Ú)Ú
r   Nzno swap device(s) configuredr   r   i   r4   )ÚcextÚswap_memÚ
subprocessÚPopenr6   ÚenvironÚPIPEÚcommunicateÚdecodeÚsysrF   ÚencodingÚ
returncodeÚRuntimeErrorÚstripÚsplitÚintr   r9   Ússwapr8   )ÚsinÚsoutÚprF   Ú_ÚmsgÚlinesr;   r<   ÚlineÚtÚfr>   r?   s                 r@   Úswap_memoryrb   k   s\  € ä—’“�I€Cô 	×ÒàØ#¤B§J¡J¨vÑ$6Ð#7Ð8ØØð		
ô �‰ñ	€Að —‘“�I€FØ�]‰]œ3Ÿ:™:×.Ñ.Ó/€FØ‡|�|�qÓØ*¨1¯<©<¨.¸Ð:ˆÜ˜3ÓÐà�L‰L‹N× Ñ  Ó& q rÐ*€EÞØ,ˆÜ˜3ÓÐØÐ€EÛˆØ�z‰z‹|ˆØ�A�aˆy‰ˆØ””S˜“V˜c‘\Ó"Ñ"ˆØ””C˜“F˜S‘LÓ!Ñ!Šñ	 ð
 ‰<€DÜ˜D°Ñ2€GÜ�9Š9Ø�T C¬)¡O°T¼IÑ5Eóð rB   c                  óœ   • [         R                  " 5       n [        R                  " [	        U 6  Vs/ s H  n[        U5      PM     sn6 $ s  snf )z.Return system-wide CPU times as a named tuple.)rI   Úper_cpu_timesr9   Ú	scputimesÚzipÚsum©ÚretÚxs     r@   Ú	cpu_timesrk   ™   s9   € ä
×
Ò
Ó
€CÜ�=Š=¬3°©9Ó5ª9 aœ3˜qž6©9Ñ5Ð6Ð6ùÒ5s   °A	c                  ó~   • [         R                  " 5       n U  Vs/ s H  n[        R                  " U6 PM     sn$ s  snf )z6Return system per-CPU times as a list of named tuples.)rI   rd   r9   re   rh   s     r@   rd   rd   Ÿ   s1   € ä
×
Ò
Ó
€CÙ'*Ó+¢s !ŒC�MŠM˜1Ó¡sÑ+Ð+ùÒ+s   š:c                  óP   •  [         R                  " S5      $ ! [         a     gf = f)z0Return the number of logical CPUs in the system.ÚSC_NPROCESSORS_ONLNN)r6   r7   Ú
ValueError© rB   r@   Úcpu_count_logicalrq   ¥   s)   € ðÜ�zŠzÐ/Ó0Ð0øÜó áðús   ‚ ˜
%¤%c                  ó,   • [         R                  " 5       $ )z-Return the number of CPU cores in the system.)rI   Úcpu_count_coresrp   rB   r@   rs   rs   ®   s   € ä×ÒÓ!Ð!rB   c                  ód   • [         R                  " 5       u  pp#Sn[        R                  " XXB5      $ )z*Return various CPU stats as a named tuple.r   )rI   Ú	cpu_statsr9   Ú	scpustats)Úctx_switchesÚ
interruptsÚsyscallsÚ_trapsÚsoft_interruptss        r@   ru   ru   ³   s)   € ä15·²Ó1AÑ.€L˜hØ€OÜ�=Š=˜°?ÓMÐMrB   c                 óN  • / n[         R                  " 5       nU H]  nUu  pEpgUS:X  a  SnU (       d   [        U5      R                  (       d  M4   [        R                  " XEXg5      n	UR                  U	5        M_     U$ ! [         a  n[        SU< SU 35         SnAM…  SnAff = f)zReturn system disk partitions.ÚnoneÚ z	skipping z: N)	rI   Údisk_partitionsÚ
disk_usager;   ÚOSErrorr   r9   Ú	sdiskpartÚappend)
ÚallÚretlistÚ
partitionsÚ	partitionÚdeviceÚ
mountpointÚfstypeÚoptsÚerrÚntuples
             r@   r   r   Ã   s¥   € ð €GÜ×%Ò%Ó'€JÛˆ	Ø+4Ñ(ˆ˜FØ�VÓØˆFÞðÜ! *Ó-×3×3Ùð 4ô —’˜v°6Ó@ˆØ�‰�vÖñ!  ð" €Nøô ó ä˜	 *¡¨r°#°Ð7Ô8Ýûðús   ²A=Á=
B$ÂBÂB$c           
      ó  • [         R                  U    u  p#[        R                  " U5      n[	        5       nU HÄ  nUu  pxpšp¼nX‚;  a  M  X“;  a  M  U[
        [        1;   a4  U
(       a  [        R                  " U
6 n
U(       a  [        R                  " U6 n[        U   n[        U5      n[        U	5      n	US:X  a  [        R                  " XxXšX¼U5      nO[        R                  " XxXšX¼5      nUR                  U5        MÆ     [        U5      $ )z¯Return socket connections.  If pid == -1 return system-wide
connections (as opposed to connections opened by one process only).
Only INET sockets are returned (UNIX are not).
éÿÿÿÿ)r   Ú	conn_tmaprI   Únet_connectionsÚsetr   r
   r9   ÚaddrÚTCP_STATUSESr   r   ÚsconnÚpconnÚaddÚlist)ÚkindÚ_pidÚfamiliesÚtypesÚrawlistri   ÚitemÚfdÚfamÚtype_ÚladdrÚraddrr+   ÚpidÚnts                  r@   r‘   r‘   æ   sè   € ô
 ×'Ñ'¨Ñ-�O€HÜ×"Ò" 4Ó(€GÜ
‹%€CÛˆØ48Ñ1ˆ�˜u¨cØÓÙØÓÙà”7œHÐ%Ó%ÞÜŸš %Ð(�ÞÜŸš %Ð(�Ü˜fÑ%ˆÜ˜cÓ"ˆÜ  Ó'ˆØ�2‹:Ü—’˜2 E°%ÀÓE‰Bä—’˜2 E°%Ó@ˆBØ�‰�Žñ' ô( �‹9ÐrB   c                  óö   • [         R                  " 5       n U R                  5        HO  u  pUu  p4pV[        [        S5      (       a  [        R
                  " U5      n[        R                  " X4XVS5      X'   MQ     U $ )z)Get NIC stats (isup, duplex, speed, mtu).Ú	NicDuplexr~   )rI   Únet_if_statsÚitemsÚhasattrr   r§   r9   Ú	snicstats)ri   Únamer©   ÚisupÚduplexÚspeedÚmtus          r@   r¨   r¨     sd   € ä
×
Ò
Ó
€CØ—y‘y–{‰ˆØ#(Ñ ˆ�eÜ”7˜K×(Ñ(Ü×&Ò& vÓ.ˆFÜ—M’M $°¸BÓ?ˆ‹	ñ	 #ð
 €JrB   c                  ó,   • [         R                  " 5       $ )z:The system boot time expressed in seconds since the epoch.)rI   Ú	boot_timerp   rB   r@   r²   r²     s   € ä�>Š>ÓÐrB   c                  óÈ   • / n [         R                  " 5       nSnU HB  nUu  pEpgp‰U(       d  M  Xb;   a  Sn[        R                  " XEXgU	5      n
U R	                  U
5        MD     U $ )z:Return currently connected users as a list of namedtuples.)z:0.0z:0Ú	localhost)rI   Úusersr9   Úsuserrƒ   )r…   r�   r´   rž   ÚuserÚttyÚhostnameÚtstampÚuser_processr¤   r¥   s              r@   rµ   rµ     se   € à€GÜ�jŠj‹l€GØ€IÛˆØ9=Ñ6ˆ�8 \ö ÙØÓ Ø"ˆHÜ�YŠY�t (°CÓ8ˆØ�‰�rÖñ ð €NrB   c                  óÒ   • [        5       R                  [        5      n [        R                  " U 5       Vs/ s H$  oR                  5       (       d  M  [        U5      PM&     sn$ s  snf )z7Returns a list of PIDs currently running on the system.)r   Úencoder   r6   ÚlistdirÚisdigitrW   )Úpathrj   s     r@   ÚpidsrÁ   2  sD   € äÓ×#Ñ#¤HÓ-€DÜŸJšJ tÔ,Ó<Ò,�q·	±	·‹FŒC�ŽFÑ,Ñ<Ð<ùÒ<s   ¶A$ÁA$c                 ó.   • [         R                  " U 5      $ )z&Check for the existence of a unix pid.)r   Ú
pid_exists)r¤   s    r@   rÃ   rÃ   8  s   € ä×Ò˜sÓ#Ð#rB   c                 óF   ^ • [         R                  " T 5      U 4S j5       nU$ )z{Call callable into a try/except clause and translate ENOENT,
EACCES and EPERM in NoSuchProcess or AccessDenied exceptions.
c                 óv  >• U R                   U R                  U R                  pTn T" U /UQ70 UD6$ ! [        [        4 a.  n[        U5      (       d  [        X55      Ue[        X5U5      UeS nAf[         a  n[        X55      UeS nAf[         a'  nUS:X  a  S[        5       ;   a  [        X55      Uee e S nAff = f©Nr   )r¤   Ú_ppidÚ_nameÚFileNotFoundErrorÚProcessLookupErrorrÃ   r   r   ÚPermissionErrorr   r�   rÁ   )ÚselfÚargsÚkwargsr¤   r%   r¬   rŒ   Úfuns          €r@   ÚwrapperÚ wrap_exceptions.<locals>.wrapperB  s³   ø€ àŸ(™( D§J¡J°·
±
�4ˆð	Ù�tÐ-˜dÒ- fÑ-Ð-øÜ!Ô#5Ð6ó 	:ô ˜c—?‘?Ü# CÓ.°CÐ7Ü ¨4Ó0°cÐ9ûÜó 	3Ü˜sÓ)¨sÐ2ûÜó 	Ø�a‹xØœ›“;Ü& sÓ1°sÐ:ØØûð	ús-   ¦2 ²B8Á)A+Á+B8Á8BÂB8Â"B3Â3B8)Ú	functoolsÚwraps)rÏ   rÐ   s   ` r@   Úwrap_exceptionsrÔ   =  s'   ø€ ô
 ‡_‚_�SÓôó ðð( €NrB   c                   ó<  • \ rS rSrSr/ SQrS rS rS rS r	\
\S 5       5       r\
\S	 5       5       r\
\S
 5       5       r\
S 5       r\
S 5       r\
S 5       r\
S 5       r\
S 5       r\
S 5       r\
S 5       r\
S 5       r\
S 5       r\
S 5       r\
S 5       r\
S 5       r\
S 5       r\
S 5       r\
S 5       r\
S 5       r\r\
S 5       r \
S 5       r!\
S 5       r"S r#\
S)S j5       r$\%" S S!5      r&\%" S S"5      r'\
S# 5       r(\
S$ 5       r)\
S% 5       r*\
S*S' j5       r+S(r,g&)+ÚProcessiZ  z1Wrapper class around underlying C implementation.)Ú_cacherÈ   rÇ   Ú_procfs_pathr¤   c                 óJ   • Xl         S U l        S U l        [        5       U l        g ©N)r¤   rÈ   rÇ   r   rØ   )rÌ   r¤   s     r@   Ú__init__ÚProcess.__init___  s    € ØŒØˆŒ
ØˆŒ
Ü+Ó-ˆÕrB   c                 ób   • [         R                  " U R                   SU R                   35        g)z+Raise NSP if the process disappeared on us.Ú/N)r6   ÚstatrØ   r¤   ©rÌ   s    r@   Ú_assert_aliveÚProcess._assert_alivee  s&   € ô 	�Š�4×$Ñ$Ð% Q t§x¡x jÐ1Õ2rB   c                 ó¦   • U R                   R                  U 5        U R                  R                  U 5        U R                  R                  U 5        g rÚ   )Ú_proc_name_and_argsÚcache_activateÚ_proc_basic_infoÚ
_proc_credrà   s    r@   Úoneshot_enterÚProcess.oneshot_enterk  s<   € Ø× Ñ ×/Ñ/°Ô5Ø×Ñ×,Ñ,¨TÔ2Ø�‰×&Ñ& tÕ,rB   c                 ó¦   • U R                   R                  U 5        U R                  R                  U 5        U R                  R                  U 5        g rÚ   )rä   Úcache_deactivateræ   rç   rà   s    r@   Úoneshot_exitÚProcess.oneshot_exitp  s<   € Ø× Ñ ×1Ñ1°$Ô7Ø×Ñ×.Ñ.¨tÔ4Ø�‰×(Ñ(¨Õ.rB   c                 óX   • [         R                  " U R                  U R                  5      $ rÚ   )rI   Úproc_name_and_argsr¤   rØ   rà   s    r@   rä   ÚProcess._proc_name_and_argsu  s!   € ô ×&Ò& t§x¡x°×1BÑ1BÓCÐCrB   c                 ó^  • U R                   S:X  aS  [        R                  R                  U R                   SU R                    S35      (       d  [        U R                   5      e[        R                  " U R                   U R                  5      n[        U5      [        [        5      :X  d   eU$ )Nr   rÞ   z/psinfo)
r¤   r6   rÀ   ÚexistsrØ   r   rI   Úproc_basic_infoÚlenÚproc_info_map)rÌ   ri   s     r@   ræ   ÚProcess._proc_basic_infoz  s‡   € ð �8‰8�q‹=¤§¡§¡Ø× Ñ Ð!  4§8¡8 *¨GÐ4÷"
ñ "
ô ˜tŸx™xÓ(Ð(Ü×"Ò" 4§8¡8¨T×->Ñ->Ó?ˆÜ�3‹xœ3œ}Ó-Ó-Ð-Ð-Øˆ
rB   c                 óX   • [         R                  " U R                  U R                  5      $ rÚ   )rI   Ú	proc_credr¤   rØ   rà   s    r@   rç   ÚProcess._proc_cred…  s   € ô �~Š~˜dŸh™h¨×(9Ñ(9Ó:Ð:rB   c                 ó(   • U R                  5       S   $ rÆ   ©rä   rà   s    r@   r¬   ÚProcess.nameŠ  s   € ð ×'Ñ'Ó)¨!Ñ,Ð,rB   c                 ó¦   •  [         R                  " U R                   SU R                   S35      $ ! [         a     Of = fU R                  5         g)NrÞ   z/path/a.outr~   )r6   ÚreadlinkrØ   r¤   r�   Úcmdlinerà   s    r@   ÚexeÚProcess.exe�  sN   € ð	Ü—;’; $×"3Ñ"3Ð!4°A°d·h±h°Z¸{ÐKÓLÐLøÜó 	Ùð	úð
 	�‰ŒØs   ‚/2 ²
?¾?c                 ó(   • U R                  5       S   $ )Nr   rû   rà   s    r@   rÿ   ÚProcess.cmdline›  s   € à×'Ñ'Ó)¨!Ñ,Ð,rB   c                 óX   • [         R                  " U R                  U R                  5      $ rÚ   )rI   Úproc_environr¤   rØ   rà   s    r@   rM   ÚProcess.environŸ  ó   € ä× Ò  §¡¨4×+<Ñ+<Ó=Ð=rB   c                 ó6   • U R                  5       [        S      $ )Nr(   ©ræ   rõ   rà   s    r@   r(   ÚProcess.create_time£  ó   € à×$Ñ$Ó&¤}°]Ñ'CÑDÐDrB   c                 ó6   • U R                  5       [        S      $ )Nr*   r	  rà   s    r@   r*   ÚProcess.num_threads§  r  rB   c                 ó6   • U R                  5       [        S      $ )Nr)   r	  rà   s    r@   Únice_getÚProcess.nice_get«  s   € ð
 ×$Ñ$Ó&¤}°VÑ'<Ñ=Ð=rB   c                 ó¤   • U R                   S;   a   [        U R                   U R                  5      e[        R                  " U R                   U5      $ )N>   r   r   )r¤   r   rÈ   rI   Úproc_priority_set)rÌ   Úvalues     r@   Únice_setÚProcess.nice_set²  s<   € à�8‰8�vÓô
 ˜tŸx™x¨¯©Ó4Ð4Ü×%Ò% d§h¡h°Ó6Ð6rB   c                 óX   • U R                  5       [        S      U l        U R                  $ )Nr%   )ræ   rõ   rÇ   rà   s    r@   r%   ÚProcess.ppid¼  s&   € à×*Ñ*Ó,¬]¸6Ñ-BÑCˆŒ
Ø�z‰zÐrB   c                 óê   •  U R                  5       u  pn    n[        R
                  " XU5      $ ! [         a9    U R                  5       [        S      nU R                  5       [        S      nS n NYf = f)Nr-   r.   ©rç   r   ræ   rõ   r9   Úpuids)rÌ   ÚrealÚ	effectiveÚsavedr\   s        r@   ÚuidsÚProcess.uidsÁ  sw   € ð	Ø.2¯o©oÓ.?Ñ+ˆD˜U A q¨!ô
 �yŠy˜¨%Ó0Ð0øô	 ó 	Ø×(Ñ(Ó*¬=¸Ñ+?Ñ@ˆDØ×-Ñ-Ó/´¸fÑ0EÑFˆIØŠEð	ús   ‚/ ¯A A2Á1A2c                 óè   •  U R                  5       u      pp4[        R
                  " X#U5      $ ! [         a9    U R                  5       [        S      nU R                  5       [        S      nS n NYf = f)Nr/   r0   r  )rÌ   r\   r  r  r  s        r@   ÚgidsÚProcess.gidsË  su   € ð	Ø.2¯o©oÓ.?Ñ+ˆAˆq�!˜9ô
 �yŠy˜¨%Ó0Ð0øô	 ó 	Ø×(Ñ(Ó*¬=¸Ñ+?Ñ@ˆDØ×-Ñ-Ó/´¸fÑ0EÑFˆIØŠEð	ús   ‚. ®A A1Á0A1c                 ó  •  [         R                  " U R                  U R                  5      n[        R                  " U6 $ ! [         a6  nUR
                  [
        R                  :X  a  [        (       d  Sn S nANMe S nAff = f)N)ç        r$  r$  r$  )
rI   Úproc_cpu_timesr¤   rØ   r�   ÚerrnoÚ	EOVERFLOWÚ	IS_64_BITr9   Ú	pcputimes)rÌ   ÚtimesrŒ   s      r@   rk   ÚProcess.cpu_timesÕ  sd   € ð	Ü×'Ò'¨¯©°$×2CÑ2CÓDˆEô �}Š}˜eÐ$Ð$øô ó 	Ø�y‰yœEŸO™OÓ+·I²Ið -•àûð	ús   ‚+A  Á 
B Á
+A;Á:A;Á;B c                 óX   • [         R                  " U R                  U R                  5      $ rÚ   )rI   Úproc_cpu_numr¤   rØ   rà   s    r@   Úcpu_numÚProcess.cpu_numç  r  rB   c                 óH  • U R                   nSn[        U R                  5       [        S      5      nU[        R
                  :w  a2  S H,  n [        R                  " U SU R                   SU 35      s  $    U(       a  U R                  5         g g ! [         a    Sn MX  f = f)NFr,   )r   r   r   éÿ   rÞ   ú/path/T)rØ   rÔ   ræ   rõ   rI   ÚPRNODEVr6   rþ   r¤   rÉ   rá   )rÌ   Úprocfs_pathÚ
hit_enoentr¸   rj   s        r@   ÚterminalÚProcess.terminalë  s�   € à×'Ñ'ˆØˆ
Ü˜d×3Ñ3Ó5´mÀGÑ6LÑMÓNˆØ”$—,‘,ÓÛ#�ðÜŸ;š;¨+¨°a¸¿¹°zÀÈÀsÐ'KÓLÒLñ $ö Ø×ÑÕ ð øô )ó Ø!%�JÚðús   Á'BÂB!Â B!c                 óÒ   • U R                   n [        R                  " U SU R                   S35      $ ! [         a(    [        R
                  " U SU R                   35         gf = f)NrÞ   z	/path/cwdr~   )rØ   r6   rþ   r¤   rÉ   rß   )rÌ   r4  s     r@   ÚcwdÚProcess.cwdú  sa   € ð ×'Ñ'ˆð	Ü—;’; + ¨a°·±¨z¸ÐCÓDÐDøÜ ó 	Ü�GŠG�{�m 1 T§X¡X JÐ/Ô0Ùð	ús   Ž%4 ´/A&Á%A&c                 óŠ   • U R                  5       nU[        S      S-  nU[        S      S-  n[        R                  " X#5      $ )Nr&   i   r'   )ræ   rõ   r9   Úpmem)rÌ   ri   r&   r'   s       r@   Úmemory_infoÚProcess.memory_info  sG   € à×#Ñ#Ó%ˆØ”- Ñ&Ñ'¨$Ñ.ˆØ”- Ñ&Ñ'¨$Ñ.ˆÜ�xŠx˜Ó!Ð!rB   c                 ób   • U R                  5       [        S      n[        R                  US5      $ )Nr+   Ú?)ræ   rõ   ÚPROC_STATUSESÚget)rÌ   Úcodes     r@   r+   ÚProcess.status  s-   € à×$Ñ$Ó&¤}°XÑ'>Ñ?ˆä× Ñ   sÓ+Ð+rB   c                 ó0  • U R                   n/ n[        R                  " U SU R                   S35      nSnU HZ  n[	        U5      n [
        R                  " U R                  XQ5      u  pg[        R                  " XVU5      nUR                  U5        M\     U(       a  U R                  5         U$ ! [         a[  n	U	R                  [        R                  :X  a  [        (       d   S n	A	M°  U	R                  [        R                  :X  a  Sn S n	A	MÖ  e S n	A	ff = f)NrÞ   z/lwpFT)rØ   r6   r¾   r¤   rW   rI   Úquery_process_threadr9   Úpthreadrƒ   r�   r&  r'  r(  ÚENOENTrá   )
rÌ   r4  ri   Útidsr5  ÚtidÚutimeÚstimer¥   rŒ   s
             r@   ÚthreadsÚProcess.threads  sâ   € à×'Ñ'ˆØˆÜ�zŠz˜[˜M¨¨4¯8©8¨*°DÐ9Ó:ˆØˆ
ÛˆCÜ�c“(ˆCðÜ#×8Ò8Ø—H‘H˜có ‘�ô& —[’[ ¨UÓ3�Ø—
‘
˜2–ñ/ ö0 Ø×ÑÔ Øˆ
øô) ó Ø—9‘9¤§¡Ó/¿	º	õ à—9‘9¤§¡Ó,Ø!%�JÝØûðús$   Á#B0Â0
DÂ:)DÃ) DÄDÄDc           	      ó2  • / nSnU R                   nU SU R                   S3n[        R                  " U SU R                   S35       H   n[        R                  R                  XE5      n[        R                  R                  U5      (       d  MH   [        R                  " U5      n[        U5      (       a1  UR                  [        R                  " U[        U5      5      5        M   M¢     U(       a  U R                  5         U$ ! [         a    Sn MÌ  f = f)NFrÞ   z/pathú/fdT)rØ   r¤   r6   r¾   rÀ   ÚjoinÚislinkrþ   r   rƒ   r9   Ú	popenfilerW   rÉ   rá   )rÌ   r…   r5  r4  ÚpathdirrŸ   rÀ   Úfiles           r@   Ú
open_filesÚProcess.open_files8  sæ   € àˆØˆ
Ø×'Ñ'ˆØ �M  4§8¡8 *¨EÐ2ˆÜ—*’* ˜}¨A¨d¯h©h¨Z°sÐ;Ö<ˆBÜ—7‘7—<‘< Ó,ˆDÜ�w‰w�~‰~˜d×#Ó#ðEÜŸ;š; tÓ,�Dô
 % T×*Ñ*ØŸ™¤s§}¢}°T¼3¸r»7Ó'CÖDñ +ñ =ö Ø×ÑÔ Øˆøô )ó Ø!%�JÚðús   ÂDÄDÄDc              #   óz  #   • S[        U5      /n[        R                  " U[        R                  [        R                  S9nUR	                  5       u  pES XE4 5       u  pEUR
                  S:w  a{  SUR                  5       ;   a   [        U R                  U R                  5      eSUR                  5       ;   a   [        U R                  U R                  5      eU< SU 3n[        U5      eUR                  S5      S	S
 n[        U5       H¬  u  p‰U	R                  5       n	U	R                  S5      (       d  M-  U	R                  SS	5      S	   n
XxS	-
     R!                  5       nUS:X  a  ["        R$                  nOUS:X  a  ["        R&                  nOSnS["        R(                  XºS[*        R,                  4v •  M®     g
7f)z<Get UNIX sockets used by process by parsing 'pfiles' output.Úpfiles)rF   Ústderrc              3   ór   #   • U  H-  oR                  [        R                  R                  5      v •  M/     g 7frÚ   )rP   rQ   rF   rR   )Ú.0rj   s     r@   Ú	<genexpr>Ú,Process._get_unix_sockets.<locals>.<genexpr>V  s(   é € ð 
Ú3C¨a�H‰H”S—Z‘Z×(Ñ(×)Ð)Ò3Cùs   ‚57r   zpermission deniedzno such processz command error
rH   r   Nzsockname: AF_UNIXÚ ÚSOCK_STREAMÚ
SOCK_DGRAMr�   r~   )ÚstrrK   rL   rN   rO   rS   Úlowerr   r¤   rÈ   r   rT   rV   Ú	enumerateÚlstripÚ
startswithrU   Úsocketr`  ra  ÚAF_UNIXr   Ú	CONN_NONE)rÌ   r¤   Úcmdr[   rF   rZ  r]   r^   Úir_   rÀ   Útypes               r@   Ú_get_unix_socketsÚProcess._get_unix_socketsM  sw  é € ð œ˜S›Ð"ˆÜ×ÒØœ
Ÿ™´
·±ñ
ˆð Ÿ™›‰ˆñ
Ø4:Ñ3Có
‰ˆð �<‰<˜1ÓØ" f§l¡l£nÓ4Ü" 4§8¡8¨T¯Z©ZÓ8Ð8Ø  F§L¡L£NÓ2Ü# D§H¡H¨d¯j©jÓ9Ð9Ø‘GÐ+¨F¨8Ð4ˆCÜ˜sÓ#Ð#à—‘˜TÓ" 1 2Ð&ˆÜ  Ö'‰GˆAØ—;‘;“=ˆDØ�‰Ð2×3Ó3Ø—z‘z # qÓ)¨!Ñ,�Ø ™U‘|×)Ñ)Ó+�Ø˜=Ó(Ü!×-Ñ-‘DØ˜\Ó)Ü!×,Ñ,‘Dà�DØœ6Ÿ>™>¨4°r¼7×;LÑ;LÐMÔMò (ùs   ‚D1F;Ä7BF;c                 óF  • [        XR                  S9nU(       d/  [        R                  " U R                   SU R                   35        US;   aL  UR                  U R                  U R                  5       Vs/ s H  n[        R                  " U6 PM     sn5        U$ s  snf )N)rš   rÞ   >   r„   Úunix)	r‘   r¤   r6   rß   rØ   Úextendrm  r9   r–   )rÌ   r™   ri   Úconns       r@   r‘   ÚProcess.net_connectionso  s†   € ä˜d¯©Ñ2ˆö ä�GŠG�t×(Ñ(Ð)¨¨4¯8©8¨*Ð5Ô6ð �?Ó"Ø�J‰JØ.2×.DÑ.DÀTÇXÁXÔ.NÓOÒ.N d”—’˜DÓ!Ñ.NÑOôð ˆ
ùò Ps   Á8BÚmmapzpath rss anon lockedzaddr perms path rss anon lockedc           	      ó’  • S nU R                   n/ n [        R                  " U R                  U5      nSnU He  nUu  p‰p«pÍnU" X‰5      nUR                  S5      (       d)   [        R                  " U SU R                   SU 35      nUR                  XŠX¼XÞ45        Mg     U(       a  U R                  5         U$ ! [         a6  nUR
                  [
        R                  :X  a  [        (       d  / s S nA$ e S nAff = f! [         a?  nUR
                  [
        R                  :X  a  U SU R                   SU 3nSn S nAN·e S nAff = f)Nc                 ó’   • SR                  [        U 5      SS  R                  S5      [        U5      SS  R                  S5      5      $ )Nz{}-{}r   ÚL)ÚformatÚhexrU   )ÚstartÚends     r@   ÚtoaddrÚ#Process.memory_maps.<locals>.toaddr‡  sB   € Ø—>‘>Ü�E“
˜1˜2�×$Ñ$ SÓ)¬3¨s«8°A°B¨<×+=Ñ+=¸cÓ+Bóð rB   FÚ[rÞ   r2  T)rØ   rI   Úproc_memory_mapsr¤   r�   r&  r'  r(  rf  r6   rþ   rH  rƒ   rá   )rÌ   r|  r4  r…   r�   rŒ   r5  rž   r“   ÚaddrsizeÚpermr¬   r&   ÚanonÚlockeds                  r@   Úmemory_mapsÚProcess.memory_maps…  s5  € ò	ð
 ×'Ñ'ˆØˆð	Ü×+Ò+¨D¯H©H°kÓBˆGð ˆ
ÛˆDØ<@Ñ9ˆD˜D¨°6Ù˜$Ó)ˆDØ—?‘? 3×'Ñ'ðÜŸ;š;¨+¨°a¸¿¹°zÀÈÀvÐ'NÓO�Dð �N‰N˜D¨°4Ð@ÖAñ% ö& Ø×ÑÔ ØˆøôE ó 	Ø�y‰yœEŸO™OÓ+·I²Ið •	àûð	ûô& ó Ø—y‘y¤E§L¡LÓ0ð #. ¨a°·±¨z¸À¸vÐF˜Ø%)�
àûðúsA   “!B: Á!(C=Â:
C:Ã*C5Ã.C:Ã4C5Ã5C:Ã=
EÄ4EÅ EÅEc                 ót   • [        [        R                  " U R                   SU R                   S35      5      $ )NrÞ   rP  )rô   r6   r¾   rØ   r¤   rà   s    r@   Únum_fdsÚProcess.num_fds´  s.   € ä”2—:’: ×!2Ñ!2Ð 3°1°T·X±X°J¸cÐBÓCÓDÐDrB   c                 óz   • [         R                  " [        R                  " U R                  U R
                  5      6 $ rÚ   )r9   ÚpctxswrI   Úproc_num_ctx_switchesr¤   rØ   rà   s    r@   Únum_ctx_switchesÚProcess.num_ctx_switches¸  s-   € ä�zŠzÜ×'Ò'¨¯©°$×2CÑ2CÓDð
ð 	
rB   Nc                 óD   • [         R                  " U R                  U5      $ rÚ   )r   Úwait_pidr¤   )rÌ   Útimeouts     r@   ÚwaitÚProcess.wait¾  s   € ä× Ò  §¡¨7Ó3Ð3rB   )rÈ   rÇ   rØ   r¤   )ÚinetrÚ   )-Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú	__slots__rÛ   rá   rè   rì   rÔ   r   rä   ræ   rç   r¬   r   rÿ   rM   r(   r*   r  r  r%   r  r!  rk   r.  r6  r9  r=  Úmemory_full_infor+   rM  rV  rm  r‘   r   Únt_mmap_groupedÚnt_mmap_extr„  r‡  rŒ  r‘  Ú__static_attributes__rp   rB   r@   rÖ   rÖ   Z  sƒ  † Ù;âC€Iò.ò3ò-ò
/ð
 ØñDó ó ðDð Øñó ó ðð Øñ;ó ó ð;ð ñ-ó ð-ð ñ	ó ð	ð ñ-ó ð-ð ñ>ó ð>ð ñEó ðEð ñEó ðEð ñ>ó ð>ð ñ7ó ð7ð ñó ðð ñ1ó ð1ð ñ1ó ð1ð ñ%ó ð%ð" ñ>ó ð>ð ñ!ó ð!ð ñ
ó ð
ð ñ"ó ð"ð #Ðàñ,ó ð,ð
 ñó ððB ñó ðò( NðD óó ðñ$ ! Ð)?Ó@€OÙ˜VÐ%FÓG€Kàñ,ó ð,ð\ ñEó ðEð ñ
ó ð
ð
 ó4ó ó4rB   rÖ   )F)r�   )dr˜  r&  rÒ   r6   rg  rK   rQ   Úcollectionsr   r   r~   r   r   r9   r   r	   rI   r
   r   r   r   r   r   r   r   r   r   r   r   Ú__extra__all__Úgetpagesizer8   ÚAF_LINKÚmaxsizer(  r   r   ÚSSLEEPÚSTATUS_SLEEPINGÚSRUNÚSTATUS_RUNNINGÚSZOMBÚSTATUS_ZOMBIEÚSSTOPÚSTATUS_STOPPEDÚSIDLÚSTATUS_IDLEÚSONPROCÚSWAITÚSTATUS_WAITINGrA  ÚTCPS_ESTABLISHEDÚCONN_ESTABLISHEDÚTCPS_SYN_SENTÚCONN_SYN_SENTÚTCPS_SYN_RCVDÚCONN_SYN_RECVÚTCPS_FIN_WAIT_1ÚCONN_FIN_WAIT1ÚTCPS_FIN_WAIT_2ÚCONN_FIN_WAIT2ÚTCPS_TIME_WAITÚCONN_TIME_WAITÚTCPS_CLOSEDÚ
CONN_CLOSEÚTCPS_CLOSE_WAITÚCONN_CLOSE_WAITÚTCPS_LAST_ACKÚCONN_LAST_ACKÚTCPS_LISTENÚCONN_LISTENÚTCPS_CLOSINGÚCONN_CLOSINGÚPSUTIL_CONN_NONEri  Ú	TCPS_IDLEÚ
TCPS_BOUNDr”   Údictrõ   rA   rb   rk   rd   rq   rs   ru   Údisk_io_countersr€   r   Únet_io_countersÚnet_if_addrsr‘   r¨   r²   rµ   rÁ   rÃ   rÔ   rÖ   rp   rB   r@   Ú<module>rÍ     s›  ðñ
 .ã Û Û 	Û Û Û 
Ý "Ý å Ý Ý Ý #Ý Ý Ý !Ý "Ý "Ý Ý $Ý "Ý +Ý $Ý %Ý "â;€ð ×ÒÓ€	Ø
�,‰,€Ø�K‰K˜%Ñ€	à€	Ø€
ð 	‡K�K�×(Ñ(Ø‡I�Iˆw×%Ñ%Ø‡J�J�×%Ñ%Ø‡J�J�×&Ñ&Ø‡I�Iˆw×"Ñ"Ø‡L�L�'×(Ñ(Ø‡J�J�×&Ñ&ð€ð 	×Ñ˜7×3Ñ3Ø×Ñ˜×-Ñ-Ø×Ñ˜×-Ñ-Ø×Ñ˜'×0Ñ0Ø×Ñ˜'×0Ñ0Ø×Ñ˜×/Ñ/Ø×Ñ�g×(Ñ(Ø×Ñ˜'×1Ñ1Ø×Ñ˜×-Ñ-Ø×Ñ�g×)Ñ)Ø×Ñ�w×+Ñ+Ø×Ñ˜7×,Ñ,Ø‡N�N�IØ‡O�O�Zð€ñ" Ø	
Ø	Ø	ØØ	
ØØØ
Ø	Ø	
Ø
Ø	ñ€ò*8ò&ò\7ò,òò"ò
Nð ×(Ñ(Ð Ø× Ñ €
ôð> ×&Ñ&€Ø× Ñ €ôò>ò ò
ò0=ò$ò
÷:f4ò f4rB   