+
    VN÷h’x  ã                   ó®
  € R t ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RIH	t	 ^RI
Ht ^RI
Ht ^RI
Ht ^RI
Ht ^R	IHt ^R
IHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt . t]'       dŸ   ]P<                  ]P>                  ]P@                  ]PB                  ]PD                  ]PF                  ]PH                  ]PJ                  ]PL                  ]PN                  ]PP                  ]PR                  ]PT                  ]PV                  /t,EM3]'       dž   ]P<                  ]P>                  ]PD                  ]PF                  ]PH                  ]PJ                  ]PZ                  ]PN                  ]PL                  ]PN                  ]P@                  ]P\                  ]P^                  ]PB                  /t,MŽ]'       d‡   ]P<                  ]P>                  ]PD                  ]PF                  ]PH                  ]PJ                  ]PL                  ]PN                  ]P@                  ]P\                  ]P^                  ]PB                  /t,]P`                  ]Pb                  ]Pd                  ]Pf                  ]Ph                  ]Pj                  ]Pl                  ]Pn                  ]Pp                  ]Pr                  ]Pt                  ]Pv                  ]Px                  ]Pz                  ]P|                  ]P~                  ]P€                  ]P‚                  ]P„                  ]P†                  ]Pˆ                  ]PŠ                  ]PŒ                  ]PŽ                  /tH]P’                  ! 4       tJ]P–                  tK]L! ]R4      tM]N! RT/ R^ bR^bR^bR^bR^bR^bR^bR^bR^bR^	bR ^
bR!^bR"^bR#^bR$^bR%^bR&^bR'^bR(^bR)^bR*^bR+^bR,^bR-^bR.^b tO]! R/. RUO4      tP]! R0. RVO4      tQ]! R1. RWO4      tR]RtS]! R2. RXO4      tT]! R3R44      tU]! R5R64      tV]'       d   ]! R7. RYO4      tWM]! R7. RZO4      tWR8 tXR9 tYR: tZR; t[R< t\]'       g	   ]'       d   R= t]MR> t]R? t^]'       d   R@ t_M]'       d   RA t_R[RB lt`]PÂ                  ta]PÄ                  tb]PÆ                  tc]PÈ                  tdRC teRD tf]'       d   RE tgRF thRG ti]'       d    ]i! 4       tjRI tmRJ tn]RK 4       toRL tp]'       d   RM tqM]'       d   RN tqM]Pâ                  tqRO trRP ts]Pè                  RQ 4       tu ! RR RS4      tvR#   ]k d   tl]! RH]l: 24       ^ tj RtlAlLsRtlAlii ; i)\z5FreeBSD, OpenBSD and NetBSD platforms implementation.N)Údefaultdict)Ú
namedtuple)ÚElementTree)Ú_common)Ú_psposix)Ú_psutil_bsd)Ú_psutil_posix)ÚFREEBSD)ÚNETBSD)ÚOPENBSD)ÚAccessDenied)ÚNoSuchProcess)ÚZombieProcess)Ú	conn_tmap)Úconn_to_ntuple)Údebug)Úmemoize)Úmemoize_when_activated)Úusage_percentÚproc_num_threadsÚppidÚstatusÚreal_uidÚeffective_uidÚ	saved_uidÚreal_gidÚeffective_gidÚ	saved_gidÚttynrÚcreate_timeÚctx_switches_volÚctx_switches_unvolÚread_io_countÚwrite_io_countÚ	user_timeÚsys_timeÚch_user_timeÚch_sys_timeÚrssÚvmsÚmemtextÚmemdataÚmemstackÚcpunumÚnameÚsvmemÚ	scputimesÚpmemÚ	pcputimesÚpmmap_groupedú*path rss, private, ref_count, shadow_countÚ	pmmap_extú6addr, perms path rss, private, ref_count, shadow_countÚsdiskioc                  ó€  € \         P                  ! 4       p \        '       d¾   V w  rr4rV\        R R4      ;_uu_ 4       pV Fƒ  pVP	                  R4      '       d*   \        VP                  4       ^,          4      R,          p	KC  VP	                  R4      '       g   K\  \        VP                  4       ^,          4      R,          p
K…  	  RRR4       W5,           pW,
          pM%V w  rr4rVršWF,           V,           pW5,           V,           p\        W,
          V^R7      p\        VVVVVVVX	VX
V4      #   + '       g   i     Lo; i)z/proc/meminfoÚrbs   Buffers:i   s
   MemShared:N©Úround_)	ÚcextÚvirtual_memr
   ÚopenÚ
startswithÚintÚsplitr   r/   )ÚmemÚtotalÚfreeÚactiveÚinactiveÚwiredÚcachedÚfÚlineÚbuffersÚsharedÚusedÚavailÚpercents                 Ú//usr/lib/python3/dist-packages/psutil/_psbsd.pyÚvirtual_memoryrQ   ®   s  € Ü
×
Ò
Ó
€CßƒvØ7:Ñ4ˆ�V uô �/ 4×(Ô(¨AÛ�Ø—?‘? ;×/Ò/Ü! $§*¡*£,¨q¥/Ó2°TÕ9’GØ—_‘_ ]×3Ô3Ü  §¡£¨a¥Ó1°DÕ8’Fñ	 ÷ )ð �~ˆØ•‰àHKÑEˆ�V u°gð Õ! DÕ(ˆØ�~ Õ&ˆä˜U�]¨U¸1Ô=€GÜØØØØØØØØØØØóð ÷5 )×(ús   ¼AD-Â+D-Ä-D=	c                 ó~   € \         P                  ! 4       w  rr#p\        W^R7      p\        P                  ! WW%W44      # )z@System swap memory as (total, used, free, sin, sout) namedtuple.r:   )r<   Úswap_memr   r   Ússwap)rC   rM   rD   ÚsinÚsoutrO   s         rP   Úswap_memoryrW   Ý   s3   € ä#'§=¢=£?Ñ €E�˜DÜ˜D°Ô2€GÜ�=Š=˜ d°SÓ?Ð?ó    c                 óN   € \         P                  ! 4       w  rr#p\        WW#V4      # )z,Return system per-CPU times as a namedtuple.)r<   Ú	cpu_timesr0   ©ÚuserÚniceÚsystemÚidleÚirqs        rP   rZ   rZ   é   s$   € ä$(§N¢NÓ$4Ñ!€D�˜cÜ�T ¨sÓ3Ð3rX   c                 óŠ   € . p \         P                  ! 4        F'  pVw  r#rEp\        W#WEV4      pV P                  V4       K)  	  V # )z(Return system CPU times as a namedtuple.)r<   Úper_cpu_timesr0   Úappend)ÚretÚcpu_tr\   r]   r^   r_   r`   Úitems           rP   rb   rb   ï   sG   € à
€CÜ×#Ò#Ö%ˆØ(-Ñ%ˆ�F #Ü˜ V°3Ó7ˆØ�
‰
�4Öñ &ð €JrX   c                 ó,   € \         P                  ! 4       # )z0Return the number of logical CPUs in the system.)r<   Úcpu_count_logical© rX   rP   rh   rh   ù   s   € ä×!Ò!Ó#Ð#rX   c                  ó(   € \        4       ^8X  d   ^# R# )é   N)rh   ri   rX   rP   Úcpu_count_coresrl      s   € ä%Ó'¨1Ô,ˆqÐ6°$Ð6rX   c                 óv  € Rp \         P                  ! 4       pVep   VP                  R4      pVR8w  dX   VRV^	,            p\        P                  ! V4      p \        VP                  R4      4      ;'       g    Rp VP                  4        V '       g   \        4       ^8X  d   ^# V #   TP                  4        i ; i)z-Return the number of CPU cores in the system.Nz	</groups>zgroup/children/group/cpuéÿÿÿÿ)	r<   Úcpu_topologyÚrfindr   Ú
fromstringÚlenÚfindallÚclearrh   )rd   ÚsÚindexÚroots       rP   rl   rl     sŸ   € ð ˆÜ×ÒÓˆØŠ=à—G‘G˜KÓ(ˆEØ˜Œ{Ø�k˜ �	�N�Ü"×-Ò-¨aÓ0�ð!Ü˜dŸl™lÐ+EÓFÓG×OÐOÈ4�Cð —J‘J”Lßä Ó" aÔ'ÙØˆ
øð —J‘J•Lús   Á B& Á8B& Â&B8c                 óþ  € \         '       d   \        P                  ! 4       w  rr#pM¬\        '       d{   \        P                  ! 4       w  rr#rEp\	        RR4      ;_uu_ 4       pV F<  pVP                  R4      '       g   K  \        VP                  4       ^,          4      pK>  	  RRR4       M&\        '       d   \        P                  ! 4       w  rr#rEp\        P                  ! X XXX4      #   + '       g   i     L); i)z*Return various CPU stats as a named tuple.z
/proc/statr9   s   intrN)r	   r<   Ú	cpu_statsr
   r>   r?   r@   rA   r   r   Ú	scpustats)	ÚctxswÚintrsÚ
soft_intrsÚsyscallsÚ_trapsÚ_faultsÚ_forksrI   rJ   s	            rP   ry   ry   !  sÄ   € çƒwô 6:·^²^Ó5EÑ2ˆ�j©Fß	‹ô �NŠNÓñ 	Dˆ�j¨F¸Vô �, ×%Ô%¨Û�Ø—?‘? 7×+Ô+Ü §
¡
£¨Q¥Ó0’Eñ ÷ &Ð%÷ 
‹ô �NŠNÓñ 	Dˆ�j¨F¸Vô ×Ò˜U E¨:°xÓ@Ð@÷ &×%ús   Á!C,Â $C,Ã,C<	c                 ó:  € . p \        4       p\        V4       F»  p \        P                  ! V4      w  r4T'       dq    \        TP                  R4      R,          P                  R4      ^ ,          4      p \        TP                  R4      ^ ,          P                  R4      ^ ,          4      pT P                  \        P                  ! TXX4      4       K½  	  V #   \         d     KÏ  i ; i  \        \        3 d    Rp LŒi ; i  \        \        3 d    Rp Lmi ; i)z’Return frequency metrics for CPUs. As of Dec 2018 only
CPU 0 appears to be supported by FreeBSD and all other cores
match the frequency of CPU 0.
Ú Ú/Nrn   )rh   Úranger<   Úcpu_freqÚNotImplementedErrorr@   rA   Ú
IndexErrorÚ
ValueErrorrc   r   Úscpufreq)rd   Únum_cpusÚcpuÚcurrentÚavailable_freqÚmin_freqÚmax_freqs          rP   r†   r†   C  s  € ð
 ˆÜ$Ó&ˆÜ˜–?ˆCðÜ*.¯-ª-¸Ó*<Ñ'�÷ ð$Ü" >×#7Ñ#7¸Ó#<¸RÕ#@×#FÑ#FÀsÓ#KÈAÕ#NÓO�Hð$Ü" >×#7Ñ#7¸Ó#<¸QÕ#?×#EÑ#EÀcÓ#JÈ1Õ#MÓN�Hð �J‰J”w×'Ò'¨°¸8ÓDÖEñ #ð ˆ
øô 'ô Úðûô
 #¤JÐ/ô $Ø#’Hð$ûô #¤JÐ/ô $Ø#’Hð$ús4   œC½7C+Á57DÃC(Ã'C(Ã+DÄ DÄDÄDc                  óp   € \        \        P                  ! 4       4      p \        P                  ! V R R 4      .# )g        )Úfloatr<   r†   r   rŠ   )Úcurrs    rP   r†   r†   ]  s*   € Ü”T—]’]“_Ó%ˆÜ× Ò   s¨CÓ0Ð1Ð1rX   c                ó    € . p\         P                  ! 4       pV F0  pVw  rErg\        P                  ! WEWg4      pVP	                  V4       K2  	  V# )z‰Return mounted disk partitions as a list of namedtuples.
'all' argument is ignored, see:
https://github.com/giampaolo/psutil/issues/906.
)r<   Údisk_partitionsr   Ú	sdiskpartrc   )	ÚallÚretlistÚ
partitionsÚ	partitionÚdeviceÚ
mountpointÚfstypeÚoptsÚntuples	   &        rP   r•   r•   g  sP   € ð
 €GÜ×%Ò%Ó'€JÛˆ	Ø+4Ñ(ˆ˜FÜ×"Ò" 6°vÓDˆØ�‰�vÖñ  ð €NrX   c                 ó   € \        4       P                  4       p / pV  F¤  p \        P                  ! V4      p\        P                  ! V4      p\        P
                  ! V4      w  rV\        \        R4      '       d   \        P                  ! V4      pRP                  V4      pRV9   p\        P                  ! W…WcV4      W&   K¦  	  V#   \         d,   p	T	P                  \        P                  8w  d   h  Rp	?	KÛ  Rp	?	ii ; i)z)Get NIC stats (isup, duplex, speed, mtu).Ú	NicDuplexÚ,ÚrunningN)Únet_io_countersÚkeysÚ
cext_posixÚ
net_if_mtuÚnet_if_flagsÚnet_if_duplex_speedÚhasattrr   r¡   ÚjoinÚ	snicstatsÚOSErrorÚerrnoÚENODEV)
Únamesrd   r.   ÚmtuÚflagsÚduplexÚspeedÚoutput_flagsÚisupÚerrs
             rP   Únet_if_statsr¸   ‚  sÙ   € äÓ×"Ñ"Ó$€EØ
€CÛˆð	Ü×'Ò'¨Ó-ˆCÜ×+Ò+¨DÓ1ˆEÜ&×:Ò:¸4Ó@‰MˆFô ”w ×,Ò,Ü ×*Ò*¨6Ó2�ØŸ8™8 E›?ˆLØ Ñ%ˆDÜ×)Ò)Ø˜e¨,óˆC‹Iñ ð" €Jøô ô 	à�y‰yœEŸL™LÔ(Øõ )ûð	ús   ¡ACÃC=Ã C8Ã8C=c                ón  € \         V ,          w  r\        4       p\        '       d   \        P                  ! RW4      pM:\
        '       d   \        P                  ! RV 4      pM\        P                  ! W4      pV F.  pVw  rgr‰r«p\        WgW‰W«\        V4      pVP                  V4       K0  	  \        V4      # )z System-wide network connections.rn   )
r   Úsetr   r<   Únet_connectionsr
   r   ÚTCP_STATUSESÚaddÚlist)ÚkindÚfamiliesÚtypesrd   Úrawlistrf   ÚfdÚfamÚtypeÚladdrÚraddrr   ÚpidÚnts   &             rP   r»   r»   š  s˜   € ä •o�O€HÜ
‹%€CßƒwÜ×&Ò& r¨8Ó;‰ß	‹Ü×&Ò& r¨4Ó0‰ä×&Ò& xÓ7ˆãˆØ37Ñ0ˆ�˜e¨SÜØ�T %´¸só
ˆð 	�‰�Žñ ô �‹9ÐrX   c                 ó  €  \         P                  ! 4       w  rpT^8H  pT'       d   \        P                  pM!TR8X  d   \        P
                  pM	T^<,          p\        P                  ! YT4      #   \         d     R# i ; i)zReturn battery info.Nrn   )r<   Úsensors_batteryr‡   r   ÚPOWER_TIME_UNLIMITEDÚPOWER_TIME_UNKNOWNÚsbattery)rO   ÚminsleftÚpower_pluggedÚsecslefts       rP   rË   rË   µ  sv   € ð	Ü/3×/CÒ/CÓ/EÑ,ˆG˜}ð &¨Ñ*ˆßÜ×3Ñ3‰HØ˜Œ^Ü×1Ñ1‰Hà "•}ˆHÜ×Ò °=ÓAÐAøô #ô 	âð	ús   ‚A0 Á0A?Á>A?c            	     ó(  € \        \        4      p \        4       p\        V4       FW  p \        P
                  ! V4      w  r4V^ 8:  d   RpRV 2pV R,          P                  \        P                  ! WSWD4      4       KY  	  V #   \         d     Kk  i ; i)z?Return CPU cores temperatures if available, else an empty dict.NzCore Úcoretemp)
r   r¾   rh   r…   r<   Úsensors_cpu_temperaturerc   r   Úshwtempr‡   )rd   r‹   rŒ   r�   Úhighr.   s         rP   Úsensors_temperaturesr×   Å  s‹   € äœ$ÓˆÜ$Ó&ˆÜ˜–?ˆCð	Ü $× <Ò <¸SÓ A‘�Ø˜1”9Ø�DØ˜s˜e�}�Ø�J•×&Ñ&Ü—O’O D°4Ó>öñ #ð ˆ
øô 'ô Úðús   ©ABÂBÂBc                 ó,   € \         P                  ! 4       # )z:The system boot time expressed in seconds since the epoch.)r<   Ú	boot_timeri   rX   rP   rÙ   rÙ   Ý  s   € ä�>Š>ÓÐrX   zignoring exception on import: c                ó¼   € \         ^ 8X  d   V # \         \        4       ,
          pV^ 8X  g   \        V4      ^8  d   V # \        R4       V^ 8  d	   W,
          # W,           # )z!Account for system clock updates.z9system clock was updated; adjusting process create_time())ÚINIT_BOOT_TIMErÙ   Úabsr   )ÚctimeÚdiffs   & rP   Úadjust_proc_create_timerß   ë  sQ   € ä˜QÔØˆLä¤	£Õ+ˆØ�1Œ9œ˜D›	 AœØˆLäÐIÔJØ�!Œ8Ø•<ÐØ�|ÐrX   c                 ó  € . p \         '       d   \        P                  ! 4       M\        P                  ! 4       pV FE  pVw  r4rVpVR8X  d   K  \        P
                  ! Y4;'       g    RWVV4      pV P                  V4       KG  	  V # )z:Return currently connected users as a list of namedtuples.Ú~N)r   r<   Úusersr¦   r   Úsuserrc   )	r˜   rÂ   rf   r\   ÚttyÚhostnameÚtstamprÈ   rÉ   s	            rP   râ   râ   ú  sl   € à€Gß%›gŒd�jŠjŒl¬:×+;Ò+;Ó+=€GÛˆØ+/Ñ(ˆ�8 SØ�#Œ:ÙÜ�]Š]˜4§ ¨¨hÀÓDˆØ�‰�rÖñ ð €NrX   c                  óx   €  \        ^ 4      P                  4        R#   \         d     R# \         d     R# i ; i)é    TF)ÚProcessr.   r   r   ri   rX   rP   Ú_pid_0_existsrê     s9   € ðÜ�‹
�‰Ôñ øô ô ÚÜô Úðús   ‚ �9«9´9¸9c                 óš   € \         P                  ! 4       p \        '       d*   ^ V 9  d#   \        4       '       d   V P	                  ^ ^ 4       V # )z7Returns a list of PIDs currently running on the system.)r<   Úpidsr   rê   Úinsert)rd   s    rP   rì   rì     s3   € ä
�)Š)‹+€Cßƒw�A˜S”L¤m§o¢oð 	�
‰
�1�aÔØ€JrX   c                 ó\   € \         P                  ! V 4      pV'       g   V \        4       9   # R # )T©r   Ú
pid_existsrì   ©rÈ   Úexistss   & rP   rð   rð   $  s&   € Ü×$Ò$ SÓ)ˆßð œ$›&‘=Ð árX   c                 ó\   € \         P                  ! V 4      pV'       g   R # V \        4       9   # ©Frï   rñ   s   & rP   rð   rð   /  s&   € Ü×$Ò$ SÓ)ˆßÙð
 œ$›&‘=Ð rX   c                 óÄ   €  \         P                  ! V 4      \        R ,          ,          p\        P	                  V4      \
        P                  8H  #   \         d     R# i ; i)r   F)r<   Úproc_oneshot_infoÚkinfo_proc_mapÚPROC_STATUSESÚgetr   ÚSTATUS_ZOMBIEr­   )rÈ   Ústs   & rP   Ú	is_zombierü   =  sO   € ðÜ×#Ò# CÓ(¬¸Õ)AÕBˆÜ× Ñ  Ó$¬×(=Ñ(=Ñ=Ð=øÜô Úðús   ‚AA ÁAÁAc                óF   a € \         P                  ! S 4      V 3R l4       pV# )zXDecorator which translates bare OSError exceptions into
NoSuchProcess and AccessDenied.
c                 ót  <€ V P                   V P                  V P                  rTp S! V .VO5/ VB #   \         d0   p\	        T4      '       d   \        Y5T4      Th\        Y54      ThR p?i\         d   p\        Y54      ThR p?i\         d)   pT^ 8X  d   ^ \        4       9   d   \        Y54      Thh R p?ii ; i©N)rÈ   Ú_ppidÚ_nameÚProcessLookupErrorrü   r   r   ÚPermissionErrorr   r­   rì   )ÚselfÚargsÚkwargsrÈ   r   r.   r·   Úfuns   &*,    €rP   ÚwrapperÚ wrap_exceptions.<locals>.wrapperJ  s§   ø€ àŸ(™( D§J¡J°·
±
�4ˆð	Ù�tÐ-˜dÒ- fÑ-Ð-øÜ!ô 	4Ü˜�~Š~Ü# C¨tÓ4¸#Ð=Ü Ó*°Ð3ûÜô 	3Ü˜sÓ)¨sÐ2ûÜô 	Ø�aŒx˜A¤£œKÜ" 3Ó-°3Ð6Øûð	ús8   ¦2 ²B7½*A'Á'B7Á4B7Á5BÂB7ÂB7Â#B2Â2B7)Ú	functoolsÚwraps)r  r  s   f rP   Úwrap_exceptionsr  E  s'   ø€ ô
 ‡_‚_�SÓôó ðð €NrX   c              #  ó,  "  € V P                   V P                  V P                  r2p Rx € R#   \        \        3 d:   p\        T P                   4      '       d   \        YT4      Th\        Y4      ThRp?i\         d   p\        Y4      ThRp?ii ; i5i)z8Same as above, for routines relying on reading /proc fs.N)
rÈ   r  r   r  ÚFileNotFoundErrorrü   r   r   r  r   )ÚinstrÈ   r.   r   r·   s   &    rP   Úwrap_exceptions_procfsr  ]  s~   é € ð —h‘h §
¡
¨D¯J©Jˆt€Cð/ÝøÜÔ 1Ð2ô 4ô �T—X‘X×ÒÜ ¨4Ó0°cÐ9ä Ó*°Ð3ûÜô /Ü˜3Ó%¨3Ð.ûð/üs6   ‚$B§- «B­B¾4A2Á2BÁ?BÂ BÂBÂBc                   ó‚  a € ] tR tRt o Rt. R)OtR tR t]]	R 4       4       t
R tR t]R 4       t]R	 4       t]R
 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t]'       d	   ]R 4       t]R 4       t]t]R*R l4       t]R 4       t]R 4       t]R 4       t]R+R l4       t]R,R l4       t]R 4       t ]R 4       t!]R 4       t"]R 4       t#]R 4       t$]%! RR 4      t&]%! RR!4      t']R" 4       t(]R# 4       t)]'       d)   ]R$ 4       t*]R% 4       t+]R& 4       t,]R,R' l4       t-R(t.V t/R# R(t.V t/R# )-ré   io  z1Wrapper class around underlying C implementation.c                ó.   € Wn         R V n        R V n        R # rÿ   )rÈ   r  r   )r  rÈ   s   &&rP   Ú__init__ÚProcess.__init__t  s   € ØŒØˆŒ
ØˆŽ
rX   c                óF   € \         P                  ! V P                  4       R# )z+Raise NSP if the process disappeared on us.N)r<   Ú	proc_namerÈ   ©r  s   &rP   Ú_assert_aliveÚProcess._assert_alivey  s   € ô 	�Š�t—x‘xÖ rX   c                ó„   € \         P                  ! V P                  4      p\        V4      \        \        4      8X  g   Q hV# )z;Retrieves multiple process info in one shot as a raw tuple.)r<   rö   rÈ   rr   r÷   ©r  rd   s   & rP   ÚoneshotÚProcess.oneshot  s4   € ô ×$Ò$ T§X¡XÓ.ˆÜ�3‹xœ3œ~Ó.Ô.Ð.Ð.Øˆ
rX   c                ó<   € V P                   P                  V 4       R # rÿ   )r  Úcache_activater  s   &rP   Úoneshot_enterÚProcess.oneshot_enter‡  s   € Ø�‰×#Ñ# DÖ)rX   c                ó<   € V P                   P                  V 4       R # rÿ   )r  Úcache_deactivater  s   &rP   Úoneshot_exitÚProcess.oneshot_exitŠ  s   € Ø�‰×%Ñ% dÖ+rX   c                ó’   € V P                  4       \        R ,          ,          pVe   V# \        P                  ! V P                  4      # )r.   )r  r÷   r<   r  rÈ   )r  r.   s   & rP   r.   ÚProcess.name�  s4   € à�|‰|‹~œn¨VÕ4Õ5ˆØÒ'ˆtÐE¬T¯^ª^¸D¿H¹HÓ-EÐErX   c                óê  € \         '       d4   V P                  ^ 8X  d   R# \        P                  ! V P                  4      # \        '       dV   V P                  ^ 8X  d   R# \        V 4      ;_uu_ 4        \        P                  ! RV P                   R24      uuRRR4       # ^ RIpV P                  4       pV'       d#   VP                  V^ ,          4      ;'       g    R# R#   + '       g   i     R# ; i)rè   Ú z/proc/z/exeN)r	   rÈ   r<   Úproc_exer
   r  ÚosÚreadlinkÚshutilÚcmdlineÚwhich)r  r-  r.  s   &  rP   ÚexeÚProcess.exe’  s¤   € ç‹7Ø�x‰x˜1Œ}ÙÜ—=’= §¡Ó*Ð*ß‹VØ�x‰x˜1Œ}áÜ'¨×-Õ-Ü—{’{ V¨D¯H©H¨:°TÐ#:Ó;÷ .Ò-ó à—l‘l“nˆGßØ—|‘| G¨A¥JÓ/×5Ð5°2Ð5á÷ .×-Ð-ús   Á2$C!Ã!C2	c                óT  € \         '       d   V P                  ^ 8X  d   . # \        '       d"    \        P                  ! V P                  4      # \        P                  ! V P                  4      #   \
         d°   pTP                  \        P                  8X  d‹   T P                  T P                  T P                  rCp\        T P                  4      '       d   \        Y#T4      Th\        T P                  4      '       g   \        Y#T4      Th\        RT: R24       . u Rp?# h Rp?ii ; i)rè   z	ignoring z and returning an empty listN)r   rÈ   r
   r<   Úproc_cmdliner­   r®   ÚEINVALr  r   rü   r   rð   r   r   )r  r·   rÈ   r.   r   s   &    rP   r.  ÚProcess.cmdline¬  sÝ   € ç‹7�t—x‘x 1”}ØˆIß‹Vð
Ü×(Ò(¨¯©Ó2Ð2ô ×$Ò$ T§X¡XÓ.Ð.øô ô Ø—9‘9¤§¡Ô,Ø&*§h¡h°·
±
¸D¿J¹J˜t�CÜ  §¡×*Ò*Ü+¨C°tÓ<À#ÐEÜ% d§h¡h×/Ò/Ü+¨C°tÓ<À#ÐEô ˜I c¡WÐ,HÐIÔJØ•Iàûðús$   ­A- Á-D'Á8B#D"ÄD'Ä!D"Ä"D'c                óB   € \         P                  ! V P                  4      # rÿ   )r<   Úproc_environrÈ   r  s   &rP   ÚenvironÚProcess.environÇ  s   € ä× Ò  §¡Ó*Ð*rX   c                ó¦   € V P                  4       \        R ,          ,          p\        P                  ! 4       p W!,          #   \         d     R# i ; i)r   N)r  r÷   r   Úget_terminal_mapÚKeyError)r  Útty_nrÚtmaps   &  rP   ÚterminalÚProcess.terminalË  sD   € à—‘“¤¨wÕ 7Õ8ˆÜ×(Ò(Ó*ˆð	Ø•<ÐøÜô 	Úð	ús   ¹A ÁAÁAc                óh   € V P                  4       \        R ,          ,          V n        V P                  # )r   )r  r÷   r   r  s   &rP   r   ÚProcess.ppidÔ  s#   € à—\‘\“^¤N°6Õ$:Õ;ˆŒ
Ø�z‰zÐrX   c                ó¾   € V P                  4       p\        P                  ! V\        R ,          ,          V\        R,          ,          V\        R,          ,          4      # )r   r   r   )r  r   Úpuidsr÷   ©r  Úrawtuples   & rP   ÚuidsÚProcess.uidsÙ  óE   € à—<‘<“>ˆÜ�}Š}Ø”^ JÕ/Õ0Ø”^ OÕ4Õ5Ø”^ KÕ0Õ1ó
ð 	
rX   c                ó¾   € V P                  4       p\        P                  ! V\        R ,          ,          V\        R,          ,          V\        R,          ,          4      # )r   r   r   )r  r   Úpgidsr÷   rE  s   & rP   ÚgidsÚProcess.gidsâ  rI  rX   c                óä   € V P                  4       p\        P                  ! V\        R ,          ,          V\        R,          ,          V\        R,          ,          V\        R,          ,          4      # )r$   r%   r&   r'   )r  r   r2   r÷   rE  s   & rP   rZ   ÚProcess.cpu_timesë  sT   € à—<‘<“>ˆÜ× Ò Ø”^ KÕ0Õ1Ø”^ JÕ/Õ0Ø”^ NÕ3Õ4Ø”^ MÕ2Õ3ó	
ð 	
rX   c                óF   € V P                  4       \        R ,          ,          # )r-   )r  r÷   r  s   &rP   Úcpu_numÚProcess.cpu_num÷  s   € à—<‘<“>¤.°Õ":Õ;Ð;rX   c           	     óô   € V P                  4       p\        V\        R ,          ,          V\        R,          ,          V\        R,          ,          V\        R,          ,          V\        R,          ,          4      # )r(   r)   r*   r+   r,   )r  r1   r÷   rE  s   & rP   Úmemory_infoÚProcess.memory_infoû  s[   € à—<‘<“>ˆÜØ”^ EÕ*Õ+Ø”^ EÕ*Õ+Ø”^ IÕ.Õ/Ø”^ IÕ.Õ/Ø”^ JÕ/Õ0ó
ð 	
rX   c                óˆ   € V P                  4       \        R ,          ,          p\        '       d   V'       g   \        V4      pV# )r   )r  r÷   r
   rß   )r  Ú	monotonicrÝ   s   && rP   r   ÚProcess.create_time  s-   € à—‘“œ~¨mÕ<Õ=ˆß‹6Ÿ)ä+¨EÓ2ˆEØˆrX   c                óŒ   € \         '       d!   \        P                  ! V P                  4      # \	        V P                  4       4      # rÿ   )ÚHAS_PROC_NUM_THREADSr<   r   rÈ   rr   Úthreadsr  s   &rP   Únum_threadsÚProcess.num_threads  s.   € çÓä×(Ò(¨¯©Ó2Ð2ä�t—|‘|“~Ó&Ð&rX   c                ó˜   € V P                  4       p\        P                  ! V\        R ,          ,          V\        R,          ,          4      # )r    r!   )r  r   Úpctxswr÷   rE  s   & rP   Únum_ctx_switchesÚProcess.num_ctx_switches  s:   € à—<‘<“>ˆÜ�~Š~Ø”^Ð$6Õ7Õ8Ø”^Ð$8Õ9Õ:ó
ð 	
rX   c                óê   € \         P                  ! V P                  4      p. pV F.  w  r4p\        P                  ! W4V4      pVP                  V4       K0  	  \        '       d   V P                  4        V# rÿ   )r<   Úproc_threadsrÈ   r   Úpthreadrc   r   r  )r  rÂ   r˜   Ú	thread_idÚutimeÚstimerŸ   s   &      rP   r[  ÚProcess.threads   s`   € ô ×#Ò# D§H¡HÓ-ˆØˆÛ'.Ñ#ˆI˜eÜ—_’_ Y°uÓ=ˆFØ�N‰N˜6Ö"ñ (/÷ ‹7Ø×ÑÔ ØˆrX   c           
     óè  € \         V,          w  r#. p\        '       d#   \        P                  ! V P                  V4      pMO\
        '       d#   \        P                  ! V P                  W#4      pM!\        P                  ! V P                  W#4      pV FM  pVR ,          w  rxršr¼\        '       d   W‚9  g   W“9  d   K*  \        WxWšW¼\        4      pVP                  V4       KO  	  V P                  4        V# ):Né   N)r   r
   r<   r»   rÈ   r   Úproc_net_connectionsr	   r   r¼   rc   r  )r  r¿   rÀ   rÁ   rd   rÂ   rf   rÃ   rÄ   rÅ   rÆ   rÇ   r   rÉ   s   &&            rP   r»   ÚProcess.net_connections,  s¾   € ä# D�/‰ˆØˆç‹6Ü×*Ò*¨4¯8©8°TÓ:‰Gß‹WÜ×*Ò*¨4¯8©8°XÓE‰Gä×/Ò/°·±¸(ÓJˆGãˆDØ26°rµ(Ñ/ˆB�T %ß‹wØÔ'¨TÔ->ÙÜØ˜ e´\óˆBð �J‰J�rŽNñ ð 	×ÑÔØˆ
rX   Nc                óX   € \         P                  ! V P                  WP                  4      # rÿ   )r   Úwait_pidrÈ   r  )r  Útimeouts   &&rP   ÚwaitÚProcess.waitE  s   € ä× Ò  §¡¨7·J±JÓ?Ð?rX   c                óB   € \         P                  ! V P                  4      # rÿ   )r¦   ÚgetpriorityrÈ   r  s   &rP   Únice_getÚProcess.nice_getI  s   € ä×%Ò% d§h¡hÓ/Ð/rX   c                óD   € \         P                  ! V P                  V4      # rÿ   )r¦   ÚsetpriorityrÈ   )r  Úvalues   &&rP   Únice_setÚProcess.nice_setM  s   € ä×%Ò% d§h¡h°Ó6Ð6rX   c                ór   € V P                  4       \        R ,          ,          p\        P                  VR4      # )r   Ú?)r  r÷   rø   rù   )r  Úcodes   & rP   r   ÚProcess.statusQ  s*   € à�|‰|‹~œn¨XÕ6Õ7ˆä× Ñ   sÓ+Ð+rX   c                óœ   € V P                  4       p\        P                  ! V\        R ,          ,          V\        R,          ,          RR4      # )r"   r#   rn   )r  r   Úpior÷   rE  s   & rP   Úio_countersÚProcess.io_countersW  s?   € à—<‘<“>ˆÜ�{Š{Ø”^ OÕ4Õ5Ø”^Ð$4Õ5Õ6ØØó	
ð 	
rX   c                ó€   € \         '       d   V P                  ^ 8X  d   R# \        P                  ! V P                  4      # )z)Return process current working directory.r)  )r   rÈ   r<   Úproc_cwdr  s   &rP   ÚcwdÚProcess.cwda  s)   € ÷
 ‹7�t—x‘x 1”}ÙÜ�}Š}˜TŸX™XÓ&Ð&rX   Úmmapr4   r6   c                ó¢   € \         P                  ! V P                  4      pV UUu. uF  w  r#\        P                  ! W#4      NK  	  upp# u uppi )z8Return files opened by process as a list of namedtuples.)r<   Úproc_open_filesrÈ   r   Ú	popenfile)r  rÂ   ÚpathrÃ   s   &   rP   Ú
open_filesÚProcess.open_filesq  s=   € ô ×&Ò& t§x¡xÓ0ˆÙ<CÔD¹G±°”×!Ò! $Ö+¹GÒDÐDùÓDs   ¦!Ac                ó~   € \         P                  ! V P                  4      p\        '       d   V P	                  4        V# )z=Return the number of file descriptors opened by this process.)r<   Úproc_num_fdsrÈ   r
   r  r  s   & rP   Únum_fdsÚProcess.num_fdsw  s.   € ô ×Ò §¡Ó)ˆß‹6Ø×ÑÔ Øˆ
rX   c                óB   € \         P                  ! V P                  4      # rÿ   )r<   Úproc_cpu_affinity_getrÈ   r  s   &rP   Úcpu_affinity_getÚProcess.cpu_affinity_getƒ  s   € ä×-Ò-¨d¯h©hÓ7Ð7rX   c                ó¬  € \        \        \        \        4       4      4      4      pV F  pW29  g   K  R V: RV R2p\	        V4      h	   \
        P                  ! V P                  V4       R#   \         d[   pTP                  \        P                  \        P                  09   d&   T F  pY29  g   K  R T: RT R2p\	        T4      Th	  h Rp?ii ; i)zinvalid CPU z (choose between Ú)N)rº   r…   rr   rb   r‰   r<   Úproc_cpu_affinity_setrÈ   r­   r®   r4  ÚEDEADLK)r  ÚcpusÚallcpusrŒ   Úmsgr·   s   &&    rP   Úcpu_affinity_setÚProcess.cpu_affinity_set‡  sÍ   € ô
 œ%¤¤M£OÓ 4Ó5Ó6ˆGÛ�ØÖ%Ø(¨©Ð/@ÀÀ	ÈÐK�CÜ$ S›/Ð)ñ ðÜ×*Ò*¨4¯8©8°TÖ:øÜô ð
 —9‘9¤§¡¬u¯}©}Ð =Ô=Û#˜ØÖ-à".¨s©gð 6$Ø$+ 9¨Að!/ð  ô #-¨S£/°sÐ:ñ  $ð ûðús   Á!A. Á.CÁ97CÂ5CÃCc                óB   € \         P                  ! V P                  4      # rÿ   )r<   Úproc_memory_mapsrÈ   r  s   &rP   Úmemory_mapsÚProcess.memory_maps¢  s   € ä×(Ò(¨¯©Ó2Ð2rX   c                óÚ   € Vf"   \         P                  ! V P                  V4      # \        V4      ^8w  d   RV: 2p\	        V4      hVw  rE\         P
                  ! V P                  WV4      # )Nz2second argument must be a (soft, hard) tuple, got )r<   Úproc_getrlimitrÈ   rr   r‰   Úproc_setrlimit)r  ÚresourceÚlimitsrœ  ÚsoftÚhards   &&&   rP   ÚrlimitÚProcess.rlimit¦  sj   € àŠ~Ü×*Ò*¨4¯8©8°XÓ>Ð>ä�v“; !Ô#ðØ"™:ð'ð ô % S›/Ð)Ø#‘
�Ü×*Ò*¨4¯8©8°XÀTÓJÐJrX   )r  r   rÈ   )Ú_cacher  r   rÈ   rô   )Úinetrÿ   )0Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú	__slots__r  r  r  r   r  r   r$  r.   r0  r.  r8  r?  r   rG  rL  rZ   r	   rQ  rT  Úmemory_full_infor   r\  r`  r[  r»   rp  rt  ry  r   r�  r…  r   Únt_mmap_groupedÚnt_mmap_extrŒ  r�  r”  r�  r¡  rª  Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @rP   ré   ré   o  s«  ø‡ € Ù;â3€Iòò
!ð Øñó ó ðò*ò,ð ñFó ðFð ñó ðð2 ñ/ó ð/ð4 ñ+ó ð+ð ñó ðð ñó ðð ñ
ó ð
ð ñ
ó ð
ð ñ
ó ð
÷ à	ñ	<ó 
ð	<ð ñ
ó ð
ð #Ðàóó ðð ñ'ó ð'ð ñ
ó ð
ð ñ	ó ð	ð óó ðð0 ó@ó ð@ð ñ0ó ð0ð ñ7ó ð7ð ñ,ó ð,ð
 ñ
ó ð
ð ñ'ó ð'ñ !ØÐ<ó€Oñ ØÐHó€Kð ñEó ðEð
 ñó ð÷ à	ñ	8ó 
ð	8ð 
ñ	ó 
ð	ð4 
ñ	3ó 
ð	3ð 
ó	Kó 
ö	KõM rX   ré   ri   )rC   Ú	availablerO   rM   rD   rE   rF   rK   rH   rL   rG   r[   )r(   r)   ÚtextÚdataÚstack)r\   r^   Úchildren_userÚchildren_system)Ú
read_countÚwrite_countÚ
read_bytesÚwrite_bytesÚ	read_timeÚ
write_timeÚ	busy_time)rÀ  rÁ  rÂ  rÃ  rô   )wr²  Ú
contextlibr®   r
  r+  Úcollectionsr   r   Ú	xml.etreer   r)  r   r   r   r<   r   r¦   r	   r
   r   r   r   r   r   r   r   r   r   r   Ú__extra__all__ÚSIDLÚSTATUS_IDLEÚSRUNÚSTATUS_RUNNINGÚSSLEEPÚSTATUS_SLEEPINGÚSSTOPÚSTATUS_STOPPEDÚSZOMBrú   ÚSWAITÚSTATUS_WAITINGÚSLOCKÚSTATUS_LOCKEDrø   ÚSDEADÚSTATUS_WAKINGÚSONPROCÚTCPS_ESTABLISHEDÚCONN_ESTABLISHEDÚTCPS_SYN_SENTÚCONN_SYN_SENTÚTCPS_SYN_RECEIVEDÚ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_NONEÚ	CONN_NONEr¼   ÚgetpagesizeÚPAGESIZEÚAF_LINKrª   rZ  Údictr÷   r/   r0   r1   Úpfullmemr2   r3   r5   r7   rQ   rW   rZ   rb   rh   rl   ry   r†   r•   Ú
disk_usageÚdisk_io_countersr¤   Únet_if_addrsr¸   r»   rË   r×   rÙ   rÛ   Ú	Exceptionr·   rß   râ   rê   rì   rð   rü   r  Úcontextmanagerr  ré   ri   rX   rP   Ú<module>rý     s�  ðñ
 <ã Û Û Û 	Ý #Ý "Ý !å Ý Ý !Ý )Ý Ý Ý Ý !Ý "Ý "Ý Ý #Ý Ý Ý +Ý "à€÷ à�	‰	�7×&Ñ&Ø�	‰	�7×)Ñ)Ø�‰�W×,Ñ,Ø�
‰
�G×*Ñ*Ø�
‰
�G×)Ñ)Ø�
‰
�G×*Ñ*Ø�
‰
�G×)Ñ)ð‚M÷ à�	‰	�7×&Ñ&Ø�‰�W×,Ñ,Ø�
‰
�G×*Ñ*ð 	�
‰
�G×)Ñ)Ø�
‰
�G×)Ñ)ð 	�	‰	�7×(Ñ(Ø�‰�g×,Ñ,ð'�M÷* à�	‰	�7×&Ñ&Ø�‰�W×,Ñ,Ø�
‰
�G×*Ñ*Ø�
‰
�G×)Ñ)Ø�	‰	�7×(Ñ(Ø�‰�g×,Ñ,ð€Mð 	×Ñ˜7×3Ñ3Ø×Ñ˜×-Ñ-Ø×Ñ˜G×1Ñ1Ø×Ñ˜'×0Ñ0Ø×Ñ˜'×0Ñ0Ø×Ñ˜×/Ñ/Ø×Ñ�g×(Ñ(Ø×Ñ˜'×1Ñ1Ø×Ñ˜×-Ñ-Ø×Ñ�g×)Ñ)Ø×Ñ�w×+Ñ+Ø×Ñ˜7×,Ñ,ð€ð ×!Ò!Ó#€Ø
×
Ñ
€á˜tÐ%7Ó8Ð áò Ù	
ðáðñ ðñ ð	ñ
 ðñ ðñ ðñ ðñ ðñ ðñ ðñ ðñ ðñ ðñ ðñ  ð!ñ" ð#ñ$ ð%ñ& 	ð'ñ( 	ð)ñ* ð+ñ, ð-ñ. ð/ñ0 ð1ñ2 
ð3€ñH 	Øò Ló	M€ñ ØÒ:ó<€	ñ �&ÒAÓB€à€á�{ÚMóO€	ñ ØÐAóC€ñ ØÐIóK€	÷ Ù˜ò %2ó 3�Gñ
 ˜ò %Bó C€Gò,ò^@ò4òò$÷
 �fó7òò6A÷@ ó÷0 ò2ôð × Ñ €
Ø×(Ñ(Ð ð ×&Ñ&€Ø×&Ñ&€òò0÷2 òBò ò0÷
 
ðÙ"›ˆòò
ð$ 	ñó 	ðò÷ 
ó÷ ó!ð ×$Ñ$€Jòòð0 ×Ññ/ó ð/÷"CKó CKøðS ô áÐ.¨s©gÐ6Ô7Ø�ûðús   ÓT5 Ô5UÔ<UÕU