+
    VN÷hÆŽ  ã                   ó¸  € R t ^ RIt^ RIt^ RIt^ RI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 ^RIHt  ^RIHt  . RgOt)Rt*Rt+R]PX                  9   t-]P\                  ! RRRh/4      t/]/P`                  t0] Pb                  ]Pd                  ] Pf                  ]Ph                  ] Pj                  ]Pl                  ] Pn                  ]Pp                  ] Pr                  ]Pt                  ] Pv                  ]Px                  ] Pz                  ]P|                  ] P~                  ]P€                  ] P‚                  ]P„                  ] P†                  ]Pˆ                  ] PŠ                  ]PŒ                  ] PŽ                  ]*] P�                  ]P’                  /tJ ! R  R!]P\                  4      tK]L! 4       P›                  ]KPœ                  4        ! R" R#]P\                  4      tO]L! 4       P›                  ]OPœ                  4       ]P! Ri/ R$^ bR%^bR&^bR'^bR(^bR)^bR*^bR+^bR,^bR-^	bR.^
bR/^bR0^bR1^bR2^bR3^bR4^bR5^bR6^bR7^bR8^bR9^b tQ]
! R:. RjO4      tR]
! R;. RkO4      tS]
! R<. RlO4      tT]
! R>]TPª                  Rm,           4      tV]
! R?R@R=.4      tW]
! RARBRCP±                  ]WPª                  4      ,           4      tY]
! RD. RnO4      tZ]P¶                  ! RERF7      RG 4       t\]RH 4       t]RI t^RJ t_] PÀ                  t`RK taRL tbRM tcRN tdRO teRP tfRQ tgRR thRSsi]PÔ                  ! 4       tkRT tlRU tmRoRV ltnRW toRX tpRY tqRZ tr^ ssR[ ttR\ tuR] tvR^ tw ! R_ R`4      tx] Pò                  ty] Pô                  tz] Pö                  t{Ra t|RpRb lt}Rc t~Rd t ! Re Rf4      t€R#   ]! dl   t"]#! ]"4      PI                  4       PK                  R4      '       d;   ]PL                  ! 4       ^ ,          ^8  d   Rt']'R,          t']'R,          t'](! ]'4      ]"hh Rt"A"ii ; i)qz Windows platform implementation.N)Ú
namedtuple)Ú_common)ÚENCODING)ÚAccessDenied)ÚNoSuchProcess)ÚTimeoutExpired)Ú	conn_tmap)Úconn_to_ntuple)Údebug)Úisfile_strict)Úmemoize)Úmemoize_when_activated)Úparse_environ_block)Úusage_percent)ÚABOVE_NORMAL_PRIORITY_CLASS)ÚBELOW_NORMAL_PRIORITY_CLASS)ÚHIGH_PRIORITY_CLASS)ÚIDLE_PRIORITY_CLASS)ÚNORMAL_PRIORITY_CLASS)ÚREALTIME_PRIORITY_CLASS)Ú_psutil_windowszdll load failedz3this Windows version is too old (< Windows Vista); z:psutil 3.4.2 is the latest version which supports Windows z2000, XP and 2003 serverÚAF_LINKÚ
DELETE_TCBi+  Ú__pypy__ÚAddressFamilyc                   ó.   € ] tR t^et]t]t]t]t]t]	t	Rt
R# )ÚPriority© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r   r   r   r   Ú__static_attributes__r   ó    Ú3/usr/lib/python3/dist-packages/psutil/_pswindows.pyr   r   e   s&   † Ø"=ÐØ"=ÐØ-ÐØ-ÐØ1ÐØ5Ôr#   r   c                   ó&   € ] tR t^qt^ t^t^t^tRtR# )Ú
IOPriorityr   N)	r   r   r    r!   ÚIOPRIO_VERYLOWÚ
IOPRIO_LOWÚIOPRIO_NORMALÚIOPRIO_HIGHr"   r   r#   r$   r&   r&   q   s   † Ø€NØ€JØ€MØ„Kr#   r&   Únum_handlesÚctx_switchesÚ	user_timeÚkernel_timeÚcreate_timeÚnum_threadsÚ	io_rcountÚ	io_wcountÚ	io_rbytesÚ	io_wbytesÚio_count_othersÚio_bytes_othersÚnum_page_faultsÚ	peak_wsetÚwsetÚpeak_paged_poolÚ
paged_poolÚpeak_non_paged_poolÚnon_paged_poolÚpagefileÚpeak_pagefileÚmem_privateÚ	scputimesÚsvmemÚpmemÚrssÚpfullmemÚpmmap_groupedÚpathÚ	pmmap_extzaddr perms Ú Úpioi   )Úmaxsizec                ó"  € V P                  R4      '       d   V # RP                  V P                  R4      R,          4      pVR9   dW   RP                  V P                  R4      R,          4      pRRP                  V P                  R4      R,          4      ,           pMFVP                  R4      '       d   V P                  R4      ^,          pM\        P                  ! V4      pV \        V4      R p\        P                  P                  W#4      # )	z¸Convert paths using native DOS format like:
    "\Device\HarddiskVolume1\Windows\systemew\file.txt" or
    "\??\C:\Windows\systemew\file.txt"
into:
    "C:\Windows\systemew\file.txt".
z\\Ú\:Né   N:Né   N:rN   rO   Nz\??\N>   ú\??\UNCú\Device\Mup)Ú
startswithÚjoinÚsplitÚcextÚQueryDosDeviceÚlenÚosrG   )ÚsÚrawdriveÚdriveletterÚ	remainders   &   r$   Úconvert_dos_pathr]   ¸   sÍ   € ð 	‡|�|�F×ÒØˆØ�y‰y˜Ÿ™ › rÕ*Ó+€HØÐ1Ô1Ø—9‘9˜QŸW™W T›]¨2Õ.Ó/ˆØ˜tŸy™y¨¯©°«°sÕ);Ó<Õ<‰Ø	×	Ñ	˜X×	&Ò	&Ø—g‘g˜d“m AÕ&‰ä×)Ò)¨(Ó3ˆØ”#�h“-�/Ð"€IÜ�7‰7�<‰<˜Ó/Ð/r#   c                  ó,   € \         P                  ! 4       # ©N)rU   Úgetpagesizer   r#   r$   r`   r`   Î   s   € ä×ÒÓÐr#   c                 ó”   € \         P                  ! 4       p V w  rr4TpTpTpWV,
          p\        WV,
          V^R7      p	\        WVW˜V4      # )z&System virtual memory as a namedtuple.©Úround_)rU   Úvirtual_memr   rB   )
ÚmemÚtotphysÚ	availphysÚ_totsysÚ	_availsysÚtotalÚavailÚfreeÚusedÚpercents
             r$   Úvirtual_memoryro   Ø   sO   € ä
×
Ò
Ó
€CØ-0Ñ*€G˜Ø€EØ€EØ€DØ�=€DÜ˜U�]¨U¸1Ô=€GÜ�˜w¨dÓ3Ð3r#   c                 ó.  € \         P                  ! 4       p V ^ ,          pV ^,          pW!,
          pV^ 8”  d0   \         P                  ! 4       p\        RV,          V,          4      pMRp^ pW5,
          p\	        V^4      p\
        P                  ! W5Wg^ ^ 4      # )z=Swap system memory as a (total, used, free, sin, sout) tuple.g{®Gáz„?ç        )rU   rd   Úswap_percentÚintÚroundr   Ússwap)re   Ú
total_physÚtotal_systemrj   Úpercentswaprm   rl   rn   s           r$   Úswap_memoryry   ä   s‰   € ä
×
Ò
Ó
€Cà�Q•€JØ�q•6€Lð Õ%€Eð
 ˆq„yÜ×'Ò'Ó)ˆÜ�4˜+Õ%¨Õ-Ó.‰àˆØˆà�<€DÜ�K Ó#€GÜ�=Š=˜ d°Q¸Ó:Ð:r#   c                óä   € \        V \        4      '       d   V P                  \        RR7      p \        P
                  ! V 4      w  rW,
          p\        W1^R7      p\        P                  ! WW$4      # )z'Return disk usage associated with path.Ústrict)Úerrorsrb   )	Ú
isinstanceÚbytesÚdecoder   rU   Ú
disk_usager   r   Ú
sdiskusage)rG   rj   rl   rm   rn   s   &    r$   r€   r€     sY   € ä�$œ×Òð �{‰{œ8¨Hˆ{Ó5ˆÜ—/’/ $Ó'�K€EØ�<€DÜ˜D°Ô2€GÜ×Ò˜e¨4Ó9Ð9r#   c                ó€   € \         P                  ! V 4      pV Uu. uF  p\        P                  ! V!  NK  	  up# u upi )zReturn disk partitions.)rU   Údisk_partitionsr   Ú	sdiskpart)ÚallÚrawlistÚxs   &  r$   rƒ   rƒ     s5   € ä×"Ò" 3Ó'€GÙ+2Ó3©7 aŒG×Ò˜qÔ!©7Ñ3Ð3ùÒ3s   ›;c                 óö   € \         P                  ! 4       w  rp\        \        \         P                  ! 4       !   Uu. uF  p\        V4      NK  	  up!  p\        WW$P                  VP                  4      # u upi )z)Return system CPU times as a named tuple.)rU   Ú	cpu_timesrA   ÚzipÚper_cpu_timesÚsumÚ	interruptÚdpc)ÚuserÚsystemÚidleÚnÚpercpu_summeds        r$   r‰   r‰     sh   € äŸšÓ)Ñ€D�$ô ´´T×5GÒ5GÓ5IÒ0JÓKÑ0J¨1¤ A¦Ñ0JÑKÑL€MÜØ�d×3Ñ3°]×5FÑ5Fóð ùò  Ls   ¼A6c                 ó†   € . p \         P                  ! 4        F%  w  rr4p\        WW4V4      pV P                  V4       K'  	  V # )z6Return system per-CPU times as a list of named tuples.)rU   r‹   rA   Úappend)Úretr�   r�   r‘   r�   rŽ   Úitems          r$   r‹   r‹   )  sC   € à
€CÜ.2×.@Ò.@Ö.BÑ*ˆ�d sÜ˜ t¸Ó<ˆØ�
‰
�4Öñ /Cð €Jr#   c                 ó,   € \         P                  ! 4       # )z0Return the number of logical CPUs in the system.)rU   Úcpu_count_logicalr   r#   r$   r™   r™   2  s   € ä×!Ò!Ó#Ð#r#   c                 ó,   € \         P                  ! 4       # )z-Return the number of CPU cores in the system.)rU   Úcpu_count_coresr   r#   r$   r›   r›   7  s   € ä×ÒÓ!Ð!r#   c                 ód   € \         P                  ! 4       w  rr#^ p\        P                  ! WWC4      # )zReturn CPU statistics.)rU   Ú	cpu_statsr   Ú	scpustats)r,   Ú
interruptsÚ_dpcsÚsyscallsÚsoft_interruptss        r$   r�   r�   <  s0   € ä04·²Ó0@Ñ-€L˜eØ€OÜ×ÒØ /óð r#   c                 óŠ   € \         P                  ! 4       w  rRp\        P                  ! \	        V 4      V\	        V4      4      .# )zEReturn CPU frequency.
On Windows per-cpu frequency is not supported.
rq   )rU   Úcpu_freqr   ÚscpufreqÚfloat)ÚcurrÚmax_Úmin_s      r$   r¤   r¤   E  s6   € ô —’“�J€DØ€DÜ×ÒœU 4›[¨$´°d³Ó<Ð=Ð=r#   Fc                  ó„   € \         P                  ! 4       p \        ;QJ d    . R  V  4       F  NK  	  5# ! R  V  4       4      # )c              3   ó:   "  € T F  p\        V^4      x € K  	  R# 5i)é   N)rt   )Ú.0Úloads   & r$   Ú	<genexpr>Ú#_getloadavg_impl.<locals>.<genexpr>U  s   é € Ð6©I D”�t˜Q—�«Iùs   ‚)rU   Ú
getloadavgÚtuple)Ú	raw_loadss    r$   Ú_getloadavg_implr´   R  s0   € ä—’Ó!€IßŒ5Ñ6©IÓ6�5Ð6ˆ5Ñ6©IÓ6Ó6Ð6r#   c                 óî   € \         '       d   \        4       # \        ;_uu_ 4        \         '       g   \        P                  ! 4        Rs RRR4       \        4       #   + '       g   i     \        4       # ; i)z|Return the number of processes in the system run queue averaged
over the last 1, 5, and 15 minutes respectively as a tuple.
TN)Ú_loadavg_initializedr´   Ú_lockrU   Úinit_loadavg_counterr   r#   r$   r±   r±   X  sS   € ÷ ÓÜÓ!Ð!ç	Žß#Ó#Ü×%Ò%Ô'Ø#'Ð ÷ 
ô
 ÓÐ÷ 
Žô
 ÓÐús   ¥$AÁA4	c                óú   € \         V ,          w  r#\        P                  ! WV4      p\        4       pV F;  pVw  rxršr¼p\	        TTT	T
TT\
        VR8X  d   TMRR7      pVP                  V4       K=  	  \        V4      # )z€Return socket connections.  If pid == -1 return system-wide
connections (as opposed to connections opened by one process only).
N)Úpidéÿÿÿÿ)r   rU   Únet_connectionsÚsetr	   ÚTCP_STATUSESÚaddÚlist)ÚkindÚ_pidÚfamiliesÚtypesr†   r–   r—   ÚfdÚfamÚtypeÚladdrÚraddrÚstatusrº   Únts   &&             r$   r¼   r¼   n  sƒ   € ô   •o�O€HÜ×"Ò" 4°5Ó9€GÜ
‹%€CÛˆØ37Ñ0ˆ�˜e¨SÜØØØØØØÜØ˜r”z‘ tô	
ˆð 	�‰�Žñ ô �‹9Ðr#   c                 óü   € / p \         P                  ! 4       pVP                  4        FP  w  r#Vw  rErg\        \        R4      '       d   \        P
                  ! V4      p\        P                  ! WEWgR4      W&   KR  	  V # )z)Get NIC stats (isup, duplex, speed, mtu).Ú	NicDuplexÚ )rU   Únet_if_statsÚitemsÚhasattrr   rÍ   Ú	snicstats)r–   ÚrawdictÚnamerÐ   ÚisupÚduplexÚspeedÚmtus           r$   rÏ   rÏ   …  sk   € à
€CÜ×ÒÓ!€GØ—}‘}–‰ˆØ#(Ñ ˆ�eÜ”7˜K×(Ò(Ü×&Ò& vÓ.ˆFÜ×%Ò% d°EÀÓCˆ‹	ñ	 'ð
 €Jr#   c                 ó,   € \         P                  ! 4       # )zkReturn network I/O statistics for every network interface
installed on the system as a dict of raw tuples.
)rU   Únet_io_countersr   r#   r$   rÚ   rÚ   ‘  s   € ô ×ÒÓ!Ð!r#   c                 ó,   € \         P                  ! 4       # )z,Return the addresses associated to each NIC.)rU   Únet_if_addrsr   r#   r$   rÜ   rÜ   ˜  s   € ä×ÒÓÐr#   c                 ó6  € \         P                  ! 4       w  rr#V ^8H  p\        V^€,          4      p\        V^,          4      pV'       d   R# V'       g	   V'       d   \        P                  pMVR8X  d   \        P
                  p\        P                  ! W#V4      # )zReturn battery information.Nr»   )rU   Úsensors_batteryÚboolr   ÚPOWER_TIME_UNLIMITEDÚPOWER_TIME_UNKNOWNÚsbattery)Úacline_statusÚflagsrn   ÚsecsleftÚpower_pluggedÚ
no_batteryÚchargings          r$   rÞ   rÞ   ¢  sw   € ô
 /3×.BÒ.BÓ.DÑ+€M˜'Ø! QÑ&€MÜ�e˜c•kÓ"€JÜ�E˜A•I‹€HçÙßŸÜ×/Ñ/‰Ø	�RŒÜ×-Ñ-ˆä×Ò˜G¨}Ó=Ð=r#   c                 óª   € \         P                   ! 4       \        P                  ! 4       ,
          p \        V \        ,
          4      ^8:  d   \        # V sV # )zyThe system boot time expressed in seconds since the epoch. This
also includes the time spent during hybernate / suspend.
)ÚtimerU   ÚuptimeÚabsÚ_last_btime)r–   s    r$   Ú	boot_timerî   ¾  s<   € ô �)Š)‹+œŸš›Õ
%€CÜ
ˆ3”ÕÓ Ô"ÜÐàˆØˆ
r#   c                 ó¤   € . p \         P                  ! 4       pV F2  pVw  r4p\        P                  ! VRWER4      pV P	                  V4       K4  	  V # )z:Return currently connected users as a list of namedtuples.N)rU   Úusersr   Úsuserr•   )Úretlistr†   r—   r�   ÚhostnameÚtstamprË   s          r$   rð   rð   Î  sM   € à€GÜ�jŠj‹l€GÛˆØ!%Ñˆ˜Ü�]Š]˜4  x¸Ó>ˆØ�‰�rÖñ ð €Nr#   c               #  ód   "  € \         P                  ! 4        F  w  r\        W4      x € K  	  R# 5i)z*Yields a list of WindowsService instances.N)rU   Úwinservice_enumerateÚWindowsService)rÔ   Údisplay_names     r$   Úwin_service_iterrù   Þ  s&   é € ä"×7Ò7Ö9ÑˆÜ˜TÓ0Ô0ó :ùs   ‚.0c                óV   € \        V R4      pVP                  4       R,          Vn        V# )zBOpen a Windows service and return it as a WindowsService instance.Nrø   )r÷   Ú_query_configÚ_display_name)rÔ   Úservices   & r$   Úwin_service_getrþ   ä  s)   € ä˜T 4Ó(€GØ#×1Ñ1Ó3°NÕC€GÔØ€Nr#   c                   ó¨   a € ] tR tRt o RtR tR tR tR tR t	R t
R	 t]P                  R
 4       tR tR tR tR tR tR tR tR tR tRtV tR# )r÷   ië  z(Represents an installed Windows service.c                ó   € Wn         W n        R # r_   )Ú_namerü   )ÚselfrÔ   rø   s   &&&r$   Ú__init__ÚWindowsService.__init__î  s   € ØŒ
Ø)Ör#   c                ót   € R V P                   : RV P                  : R2pV P                  P                   V 2# )z(name=z, display_name=Ú))r  rü   Ú	__class__r   )r  Údetailss   & r$   Ú__str__ÚWindowsService.__str__ò  s;   € Ø˜4Ÿ:™:™.¨¸×8JÑ8JÑ7MÈQÐOˆØ—.‘.×)Ñ)Ð*¨7¨)Ð4Ð4r#   c                óB   € R V P                  4        R\        V 4       R2# )Ú<z at Ú>)r	  Úid©r  s   &r$   Ú__repr__ÚWindowsService.__repr__ö  s"   € Ø�4—<‘<“>Ð" $¤r¨$£x j°Ð2Ð2r#   c                ól   € \        V\        4      '       g   \        # V P                  VP                  8H  # r_   )r}   r÷   ÚNotImplementedr  ©r  Úothers   &&r$   Ú__eq__ÚWindowsService.__eq__ù  s*   € ô ˜%¤×0Ò0Ü!Ð!Ø�z‰z˜UŸ[™[Ñ(Ð(r#   c                ó   € W8X  * # r_   r   r  s   &&r$   Ú__ne__ÚWindowsService.__ne__   s   € ØÒ Ð r#   c                óÎ   € V P                  4       ;_uu_ 4        \        P                  ! V P                  4      w  rr4R R R 4       \	        XXXXR7      #   + '       g   i     L; i)N)rø   ÚbinpathÚusernameÚ
start_type)Ú_wrap_exceptionsrU   Úwinservice_query_configr  Údict)r  rø   r  r  r  s   &    r$   rû   ÚWindowsService._query_config  sU   € Ø×"Ñ"×$Õ$ä×,Ò,¨T¯Z©ZÓ8ñ 8ˆL 8÷ %ô
 Ø%ØØØ!ô	
ð 	
÷ %×$ús   ™$AÁA$	c                óÚ   € V P                  4       ;_uu_ 4        \        P                  ! V P                  4      w  rR R R 4       X^ 8X  d   R p\	        XVR7      #   + '       g   i     L&; i)N)rÊ   rº   )r  rU   Úwinservice_query_statusr  r!  )r  rÊ   rº   s   &  r$   Ú_query_statusÚWindowsService._query_status  sN   € Ø×"Ñ"×$Õ$Ü×6Ò6°t·z±zÓB‰KˆF÷ %à�!Œ8ØˆCÜ˜6 sÔ+Ð+÷	 %×$ús   ™#AÁA*	c              #  ó,  "  €  Rx € R#   \          d}   pT P                  p\        T4      '       d   RT: R2p\        RY#R7      ThTP                  \
        P                  \
        P                  09   d   RT: R2p\        RY#R7      Thh Rp?ii ; i5i)zkCtx manager which translates bare OSError and WindowsError
exceptions into NoSuchProcess and AccessDenied.
Nzservice z( is not querable (not enough privileges)©rº   rÔ   Úmsgz does not exist)	ÚOSErrorr  Úis_permission_errr   ÚwinerrorrU   ÚERROR_INVALID_NAMEÚERROR_SERVICE_DOES_NOT_EXISTr   )r  ÚerrrÔ   r)  s   &   r$   r  ÚWindowsService._wrap_exceptions  s˜   é € ð
	ÝøÜô 	Ø—:‘:ˆDÜ  ×%Ò%à˜t™hÐ&NÐOð ô # t°$Ô@ÀcÐIØ—‘Ü×'Ñ'Ü×1Ñ1ð"ô ð ! ¡¨Ð8�Ü#¨°4ÔAÀsÐJàûð	üs%   ‚B„
 ˆBŠB•A7BÂBÂBc                ó   € V P                   # )zŠThe service name. This string is how a service is referenced
and can be passed to win_service_get() to get a new
WindowsService instance.
)r  r  s   &r$   rÔ   ÚWindowsService.name0  s   € ð
 �z‰zÐr#   c                ó   € V P                   # )zOThe service display name. The value is cached when this class
is instantiated.
)rü   r  s   &r$   rø   ÚWindowsService.display_name7  s   € ð ×!Ñ!Ð!r#   c                ó0   € V P                  4       R,          # )zgThe fully qualified path to the service binary/exe file as
a string, including command line arguments.
r  ©rû   r  s   &r$   r  ÚWindowsService.binpath=  s   € ð ×!Ñ!Ó# IÕ.Ð.r#   c                ó0   € V P                  4       R,          # )z,The name of the user that owns this service.r  r6  r  s   &r$   r  ÚWindowsService.usernameC  s   € à×!Ñ!Ó# JÕ/Ð/r#   c                ó0   € V P                  4       R,          # )zBA string which can either be "automatic", "manual" or
"disabled".
r  r6  r  s   &r$   r  ÚWindowsService.start_typeG  s   € ð ×!Ñ!Ó# LÕ1Ð1r#   c                ó0   € V P                  4       R,          # )zjThe process PID, if any, else None. This can be passed
to Process class to control the service's process.
rº   ©r%  r  s   &r$   rº   ÚWindowsService.pidO  s   € ð ×!Ñ!Ó# EÕ*Ð*r#   c                ó0   € V P                  4       R,          # )zService status as a string.rÊ   r=  r  s   &r$   rÊ   ÚWindowsService.statusU  s   € à×!Ñ!Ó# HÕ-Ð-r#   c                óJ   € \         P                  ! V P                  4       4      # )zService long description.)rU   Úwinservice_query_descrrÔ   r  s   &r$   ÚdescriptionÚWindowsService.descriptionY  s   € ä×*Ò*¨4¯9©9«;Ó7Ð7r#   c                óÖ   € V P                  4       pVP                  V P                  4       4       V P                  4       VR&   V P	                  4       VR&   V P                  4       VR&   V# )zEUtility method retrieving all the information above as a
dictionary.
rÔ   rø   rC  )rû   Úupdater%  rÔ   rø   rC  )r  Úds   & r$   Úas_dictÚWindowsService.as_dict_  sa   € ð ×ÑÓ ˆØ	�‰�×#Ñ#Ó%Ô&Ø—I‘I“Kˆˆ&‰	Ø ×-Ñ-Ó/ˆˆ.ÑØ×+Ñ+Ó-ˆˆ-ÑØˆr#   )rü   r  N)r   r   r    r!   Ú__doc__r  r	  r  r  r  rû   r%  Ú
contextlibÚcontextmanagerr  rÔ   rø   r  r  r  rº   rÊ   rC  rH  r"   Ú__classdictcell__©Ú__classdict__s   @r$   r÷   r÷   ë  sw   ø‡ € Ù2ò*ò5ò3ò)ò!ò
ò,ð ×Ññó ðò0ò"ò/ò0ò2ò+ò.ò8÷	ð 	r#   r÷   c                óÆ   € \        V \        4      '       g   Q V 4       h\        V \        4      ;'       g.    V P                  \        P
                  \        P                  09   # )z*Return True if this is a permission error.)r}   r*  ÚPermissionErrorr,  rU   ÚERROR_ACCESS_DENIEDÚERROR_PRIVILEGE_NOT_HELD)Úexcs   &r$   r+  r+  œ  sV   € ä�cœ7×#Ò#Ð( SÓ(Ð#Ü�cœ?Ó+÷ ð ¨s¯|©|Ü× Ñ Ü×%Ñ%ð@ñ 0ð r#   c                ó¾   € \        V \        4      '       g   Q V 4       h\        V 4      '       d   \        WR7      # \        V \        4      '       d   \        WR7      # V h)z3Convert OSError into NoSuchProcess or AccessDenied.©rº   rÔ   )r}   r*  r+  r   ÚProcessLookupErrorr   )rT  rº   rÔ   s   &&&r$   Úconvert_oserrorrX  ¥  sN   € ä�cœ7×#Ò#Ð( SÓ(Ð#Ü˜×ÒÜ Ô/Ð/Ü�#Ô)×*Ò*Ü Ô0Ð0Ø
€Ir#   c                óF   a € \         P                  ! S 4      V 3R l4       pV# )zDDecorator which converts OSError into NoSuchProcess or AccessDenied.c                 óˆ   <€  S! V .VO5/ VB #   \          d(   p\        Y0P                  T P                  R 7      ThRp?ii ; i)rV  N)r*  rX  rº   r  )r  ÚargsÚkwargsr/  Úfuns   &*, €r$   ÚwrapperÚ wrap_exceptions.<locals>.wrapper²  sG   ø€ ð	OÙ�tÐ-˜dÒ- fÑ-Ð-øÜô 	OÜ! #¯8©8¸$¿*¹*ÔEÈ3ÐNûð	Oús   ƒ �Aš"<¼A©Ú	functoolsÚwraps©r]  r^  s   f r$   Úwrap_exceptionsrd  ¯  s)   ø€ ô ‡_‚_�SÓôOó ðOð €Nr#   c                óF   a € \         P                  ! S 4      V 3R l4       pV# )zyWorkaround for https://github.com/giampaolo/psutil/issues/875.
See: https://stackoverflow.com/questions/4457745#4457745.
c                 óV  <€ R p^!p\        V4       F  p S! V .VO5/ VB u # 	  S RV RX 2p\        V P                  V P                  VR7      h  \         dM   pTpTP                  \        8X  d0   \        P
                  ! T4       \        T^,          R4      p Rp?K‘  h Rp?ii ; i)ç-Cëâ6?ç{®Gáz¤?Nz	 retried z: times, converted to AccessDenied as it's still returning r(  )
Úranger*  r,  ÚERROR_PARTIAL_COPYrê   ÚsleepÚminr   rº   r  )	r  r[  r\  ÚdelayÚtimesÚ_r/  r)  r]  s	   &*,     €r$   r^  Ú)retry_error_partial_copy.<locals>.wrapperÁ  sµ   ø€ àˆØˆÜ�u–ˆAðÙ˜4Ð1 $Ò1¨&Ñ1Ò1ñ ð ˆe�9˜U˜Gð $Ø"˜eð%ð 	ô ˜tŸx™x¨d¯j©j¸cÔBÐBøô ô Ø�Ø—<‘<Ô#5Ô5Ü—J’J˜uÔ%Ü ¨¥	¨4Ó0�EÝØûðús   •AÁB(ÁA B#Â"B#Â#B(r`  rc  s   f r$   Úretry_error_partial_copyrq  ¼  s)   ø€ ô
 ‡_‚_�SÓôCó ðCð& €Nr#   c                   óZ  a € ] tR tRt o Rt. R)OtR tR tR t]	R 4       t
R t]]	R 4       4       t]]R	 4       4       t]]R
 4       4       tR tR t]R 4       t]R 4       tR t]R 4       t]R 4       t]R*R l4       t]R 4       t]R+R l4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t]]R 4       4       t ]R 4       t!]R,R l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*]R& 4       t+]R' 4       t,R(t-V t.R# )-ÚProcessiØ  z1Wrapper class around underlying C implementation.c                ó.   € Wn         R V n        R V n        R # r_   )rº   r  Ú_ppid)r  rº   s   &&r$   r  ÚProcess.__init__Ý  s   € ØŒØˆŒ
ØˆŽ
r#   c                ór   € V P                   P                  V 4       V P                  P                  V 4       R # r_   )Ú
_proc_infoÚcache_activateÚexer  s   &r$   Úoneshot_enterÚProcess.oneshot_enterä  s&   € Ø�‰×&Ñ& tÔ,Ø�‰×Ñ Ö%r#   c                ór   € V P                   P                  V 4       V P                  P                  V 4       R # r_   )rx  Úcache_deactivaterz  r  s   &r$   Úoneshot_exitÚProcess.oneshot_exitè  s&   € Ø�‰×(Ñ(¨Ô.Ø�‰×!Ñ! $Ö'r#   c                ó„   € \         P                  ! V P                  4      p\        V4      \        \        4      8X  g   Q hV# )z?Return multiple information about this process as a
raw tuple.
)rU   Ú	proc_inforº   rW   Ú	pinfo_map©r  r–   s   & r$   rx  ÚProcess._proc_infoì  s1   € ô
 �nŠn˜TŸX™XÓ&ˆÜ�3‹xœ3œy›>Ô)Ð)Ð)Øˆ
r#   c                ó¨   € V P                   ^ 8X  d   R# V P                   ^8X  d   R# \        P                  P                  V P	                  4       4      # )zRReturn process name, which on Windows is always the final
part of the executable.
zSystem Idle ProcessÚSystem)rº   rX   rG   Úbasenamerz  r  s   &r$   rÔ   ÚProcess.nameõ  s;   € ð �8‰8�qŒ=Ù(Ø�8‰8�qŒ=ÙÜ�w‰w×Ñ §¡£
Ó+Ð+r#   c                ó�  € \         '       d#    \        P                  ! V P                  4      pM \        P                  ! V P                  4      pVP                  R4      '       d   \        V4      # V#   \         dH   pTP
                  ^8X  d1   \        T: R24       \        T P                  T P                  4      Thh Rp?ii ; i)é   z translated into AccessDeniedNrM   )ÚPYPYrU   Úproc_exerº   r*  Úerrnor
   r   r  rR   r]   )r  rz  r/  s   &  r$   rz  ÚProcess.exe  sœ   € ÷ ‹4ðÜ—m’m D§H¡HÓ-‘ô —-’- §¡Ó)ˆCØ�>‰>˜$×ÒÜ# CÓ(Ð(Øˆ
øô ô ð —9‘9 ”?Ü˜S™GÐ#@ÐAÔBÜ& t§x¡x°·±Ó<À#ÐEØûðús   Ž A3 Á3CÁ>AC Ã Cc                ój  € \         P                  \         P                  8¼  d$    \         P                  ! V P                  R R7      # \         P                  ! V P                  R R7      #   \
         d?   p\        T4      '       d(   \         P                  ! T P                  RR7      u Rp?# h Rp?ii ; i)T)Úuse_pebFN)rU   ÚWINVERÚWINDOWS_8_1Úproc_cmdlinerº   r*  r+  ©r  r/  s   & r$   ÚcmdlineÚProcess.cmdline  s‚   € ô �;‰;œ$×*Ñ*Ô*ðÜ×(Ò(¨¯©¸4Ô@Ð@ô ×$Ò$ T§X¡X°tÔ<Ð<øô ô Ü$ S×)Ò)Ü×,Ò,¨T¯X©X¸uÔEÕEàûð	ús#   ¥!A) Á)B2Á42B-Â&B2Â,B-Â-B2c                óX   € \         P                  ! V P                  4      p\        V4      # r_   )rU   Úproc_environrº   r   )r  rY   s   & r$   ÚenvironÚProcess.environ$  s#   € ô ×Ò˜dŸh™hÓ'ˆÜ" 1Ó%Ð%r#   c                óš   €  \        4       V P                  ,          #   \         d#    \        T P                  T P                  4      R hi ; ir_   )Úppid_maprº   ÚKeyErrorr   r  r  s   &r$   ÚppidÚProcess.ppid*  sA   € ð	@Ü“:˜dŸh™hÕ'Ð'øÜô 	@Ü §¡¨$¯*©*Ó5¸4Ð?ð	@ús	   ‚ �-A
c                óN  €  \         P                  ! V P                  4      #   \         dø   p\	        T4      '       dá   \        R 4       T P                  4       pT\        R,          ,          T\        R,          ,          T\        R,          ,          T\        R,          ,          T\        R,          ,          T\        R,          ,          T\        R,          ,          T\        R,          ,          T\        R	,          ,          T\        R
,          ,          3
u Rp?# h Rp?ii ; i)z*attempting memory_info() fallback (slower)r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   N)rU   Úproc_memory_inforº   r*  r+  r
   rx  rƒ  )r  r/  Úinfos   &  r$   Ú_get_raw_meminfoÚProcess._get_raw_meminfo0  sã   € ð	Ü×(Ò(¨¯©Ó2Ð2øÜô 	Ü  ×%Ò%ô ÐBÔCØ—‘Ó(�àœÐ#4Õ5Õ6Øœ ;Õ/Õ0Øœ 6Õ*Õ+ØœÐ#4Õ5Õ6Øœ <Õ0Õ1ØœÐ#8Õ9Õ:ØœÐ#3Õ4Õ5Øœ :Õ.Õ/Øœ ?Õ3Õ4Øœ =Õ1Õ2ðõ ð ûð%	ús!   ‚" ¢D$­C+DÄD$ÄDÄD$c                óh   € V P                  4       pV^,          pV^,          p\        W#3V,           !  # )r¬   )r¤  rC   )r  ÚtrD   Úvmss   &   r$   Úmemory_infoÚProcess.memory_infoG  s5   € ð
 ×!Ñ!Ó#ˆØ��dˆØ��dˆÜ�c�Z !•^Ñ$Ð$r#   c                ó¤   € V P                  4       p\        P                  ! V P                  4      pV\	        4       ,          p\        W3,           !  # r_   )r©  rU   Úproc_memory_ussrº   r`   rE   )r  Ú	basic_memÚusss   &  r$   Úmemory_full_infoÚProcess.memory_full_infoQ  s@   € à×$Ñ$Ó&ˆ	Ü×"Ò" 4§8¡8Ó,ˆØŒ{‹}ÕˆÜ˜ VÕ+Ñ,Ð,r#   c              #  ó  "  €  \         P                  ! V P                  4      pV F"  w  r#rE\        V4      p\	        V4      pW#WE3x € K$  	  R #   \
         d'   p\        Y`P                  T P                  4      ThR p?ii ; i5ir_   )rU   Úproc_memory_mapsrº   r]   Úhexr*  rX  r  )r  ÚrawÚaddrÚpermrG   rD   r/  s   &      r$   Úmemory_mapsÚProcess.memory_mapsX  sy   é € ð
	.Ü×'Ò'¨¯©Ó1ˆCó *-Ñ%�˜DÜ'¨Ó-�Ü˜4“y�Ø 4Ð-Ô-ó *-øô ô 	Fô " #§x¡x°·±Ó<À#ÐEûð	Füs'   ‚B„ A ¤*BÁA?Á!A:Á:A?Á?Bc                óB   € \         P                  ! V P                  4      # r_   )rU   Ú	proc_killrº   r  s   &r$   ÚkillÚProcess.kille  s   € ä�~Š~˜dŸh™hÓ'Ð'r#   c                ó  € V\         P                  8X  d#   \        P                  ! V P                  4       R# V\         P
                  \         P                  09   d$   \        P                  ! V P                  V4       R# R p\        V4      h)zPonly SIGTERM, CTRL_C_EVENT and CTRL_BREAK_EVENT signals are supported on WindowsN)
ÚsignalÚSIGTERMrU   rº  rº   ÚCTRL_C_EVENTÚCTRL_BREAK_EVENTrX   r»  Ú
ValueError)r  Úsigr)  s   && r$   Úsend_signalÚProcess.send_signali  s_   € à”&—.‘.Ô Ü�NŠN˜4Ÿ8™8Ö$Ø”V×(Ñ(¬&×*AÑ*AÐBÔBÜ�GŠG�D—H‘H˜cÖ"ð+ð ô ˜S“/Ð!r#   Nc                ó¦  € Vf   \         P                  pM\        VR,          4      p\        \        R\        P                  4      pVe   V! 4       V,           MR p \         P
                  ! V P                  V4      pRp \        T P                  4      '       g   T# T'       d.   T! 4       T8¼  d"   \        YP                  T P                  R7      h\        P                  ! T4       \        T^,          R4      pK~    \         P                   d'   p\        YP                  T P                  4      ThR p?i\         P                   d    R p LÒi ; i)Niè  Ú	monotonicrg  rV  rh  )rU   ÚINFINITErs   Úgetattrrê   Ú	proc_waitrº   r   r  ÚTimeoutAbandonedÚ
pid_existsrk  rl  )r  ÚtimeoutÚcext_timeoutÚtimerÚstop_atÚ	exit_coder/  rm  s   &&      r$   ÚwaitÚProcess.waitv  s  € àŠ?ÜŸ=™=‰Lô ˜w¨�~Ó.ˆLäœ˜k¬4¯9©9Ó5ˆØ'.Ò':‘%“'˜GÖ#Àˆð	ô Ÿš t§x¡x°Ó>ˆIð& ˆØÜ˜dŸh™h×'Ò'Ø Ð ß™5›7 gÔ-Ü$ W·(±(ÀÇÁÔLÐLÜ�JŠJ�uÔÜ˜ �	 4Ó(ŠEøô3 ×"Ñ"ô 	Iä  ¯(©(°D·J±JÓ?ÀSÐHûÜ×$Ñ$ô 		ð ŠIð		ús$   Á!C= Ã=EÄ!D3Ä3EÅ
EÅEc                óz   € V P                   R9   d   R# \        P                  ! V P                   4      w  rV RV 2# )é    zNT AUTHORITY\SYSTEMrM   ¾   rÕ  é   )rº   rU   Úproc_username)r  Údomainr�   s   &  r$   r  ÚProcess.username¡  s8   € à�8‰8�vÔÙ)Ü×)Ò)¨$¯(©(Ó3‰ˆØ�˜˜D˜6Ð"Ð"r#   c                ó  €  \         P                  ! V P                  4      w  r#pV#   \         dS   p\	        T4      '       d<   T'       d   h \        R 4       T P                  4       \        R,          ,          u Rp?# h Rp?ii ; i)z*attempting create_time() fallback (slower)r/   N)rU   Ú
proc_timesrº   r*  r+  r
   rx  rƒ  )r  Ú	fast_onlyÚ_userÚ_systemÚcreatedr/  s   &&    r$   r/   ÚProcess.create_time¨  sg   € ð		Ü&*§o¢o°d·h±hÓ&?Ñ#ˆE˜GØˆNøÜô 	Ü  ×%Ò%ßØÜÐBÔCØ—‘Ó(¬°=Õ)AÕBÕBØûð	ús&   ‚$' §B²A?Á-A?Á8BÁ>A?Á?Bc                óF   € V P                  4       \        R ,          ,          # )r0   )rx  rƒ  r  s   &r$   r0   ÚProcess.num_threads·  s   € à�‰Ó ¤¨=Õ!9Õ:Ð:r#   c                ó²   € \         P                  ! V P                  4      p. pV F.  w  r4p\        P                  ! W4V4      pVP                  V4       K0  	  V# r_   )rU   Úproc_threadsrº   r   Úpthreadr•   )r  r†   rò   Ú	thread_idÚutimeÚstimeÚntuples   &      r$   ÚthreadsÚProcess.threads»  sM   € ä×#Ò# D§H¡HÓ-ˆØˆÛ'.Ñ#ˆI˜eÜ—_’_ Y°uÓ=ˆFØ�N‰N˜6Ö"ñ (/ð ˆr#   c                óT  €  \         P                  ! V P                  4      w  rp\        P                  ! WRR4      #   \         d`   p\	        T4      '       g   h \        R 4       T P                  4       pT\        R,          ,          pT\        R,          ,          p Rp?L}Rp?ii ; i)z(attempting cpu_times() fallback (slower)r-   r.   Nrq   )
rU   rÜ  rº   r*  r+  r
   rx  rƒ  r   Ú	pcputimes)r  r�   r�   Ú_createdr/  r£  s   &     r$   r‰   ÚProcess.cpu_timesÄ  sˆ   € ð	4Ü%)§_¢_°T·X±XÓ%>Ñ"ˆD˜(ô × Ò  ¨s°CÓ8Ð8øô ô 	4Ü$ S×)Ò)ØÜÐ<Ô=Ø—?‘?Ó$ˆDØœ	 +Õ.Õ/ˆDØœ) MÕ2Õ3�Fûð	4ús   ‚#= ½B'ÁAB"Â"B'c                óH   € \         P                  ! V P                  R 4       R# )TN©rU   Úproc_suspend_or_resumerº   r  s   &r$   ÚsuspendÚProcess.suspendÒ  s   € ä×#Ò# D§H¡H¨dÖ3r#   c                óH   € \         P                  ! V P                  R 4       R# )FNrò  r  s   &r$   ÚresumeÚProcess.resumeÖ  s   € ä×#Ò# D§H¡H¨eÖ4r#   c                óâ   € V P                   R9   d!   \        V P                   V P                  4      h\        P                  ! V P                   4      p\
        P                  P                  V4      # )rÕ  rÖ  )rº   r   r  rU   Úproc_cwdrX   rG   Únormpath)r  rG   s   & r$   ÚcwdÚProcess.cwdÚ  sN   € ð �8‰8�vÔÜ˜tŸx™x¨¯©Ó4Ð4ô �}Š}˜TŸX™XÓ&ˆÜ�w‰w×Ñ Ó%Ð%r#   c                ó0  € V P                   R9   d   . # \        4       p\        P                  ! V P                   4      pV FI  p\	        V4      p\        V4      '       g   K!  \        P                  ! VR4      pVP                  V4       KK  	  \        V4      # )rÕ  rÖ  r»   )
rº   r½   rU   Úproc_open_filesr]   r   r   Ú	popenfiler¿   rÀ   )r  r–   Úraw_file_namesÚfilerê  s   &    r$   Ú
open_filesÚProcess.open_filesä  sx   € à�8‰8�vÔØˆIÜ‹eˆô
 ×-Ò-¨d¯h©hÓ7ˆÛ"ˆDÜ# DÓ)ˆDÜ˜T×"Ô"Ü ×*Ò*¨4°Ó4�Ø—‘˜–ñ	 #ô
 �C‹yÐr#   c                ó.   € \        WP                  R 7      # ))rÂ   )r¼   rº   )r  rÁ   s   &&r$   r¼   ÚProcess.net_connectionsõ  s   € ä˜t¯(©(Ô3Ð3r#   c                ó\   € \         P                  ! V P                  4      p\        V4      pV# r_   )rU   Úproc_priority_getrº   r   ©r  Úvalues   & r$   Únice_getÚProcess.nice_getù  s$   € ä×&Ò& t§x¡xÓ0ˆÜ˜“ˆØˆr#   c                óD   € \         P                  ! V P                  V4      # r_   )rU   Úproc_priority_setrº   r	  s   &&r$   Únice_setÚProcess.nice_setÿ  s   € ä×%Ò% d§h¡h°Ó6Ð6r#   c                ó\   € \         P                  ! V P                  4      p\        V4      pV# r_   )rU   Úproc_io_priority_getrº   r&   r„  s   & r$   Ú
ionice_getÚProcess.ionice_get  s$   € ä×'Ò'¨¯©Ó1ˆÜ˜‹oˆØˆ
r#   c                ó  € V'       d   R p\        V4      hV\        P                  \        P                  \        P                  \        P
                  09  d   V R2p\        V4      h\        P                  ! V P                  V4       R# )z&value argument not accepted on Windowsz is not a valid priorityN)
Ú	TypeErrorr&   r'   r(   r)   r*   rÂ  rU   Úproc_io_priority_setrº   )r  Úioclassr
  r)  s   &&& r$   Ú
ionice_setÚProcess.ionice_set	  sr   € çØ:ˆCÜ˜C“.Ð ØÜ×%Ñ%Ü×!Ñ!Ü×$Ñ$Ü×"Ñ"ð	
ô 
ð �IÐ5Ð6ˆCÜ˜S“/Ð!Ü×!Ò! $§(¡(¨GÖ4r#   c           	     óÈ  €  \         P                  ! V P                  4      p\        V!  #   \         d¬   p\	        T4      '       g   h \        R 4       T P                  4       pT\        R,          ,          T\        R,          ,          T\        R,          ,          T\        R,          ,          T\        R,          ,          T\        R,          ,          3p Rp?LºRp?ii ; i)z*attempting io_counters() fallback (slower)r1   r2   r3   r4   r5   r6   N)	rU   Úproc_io_countersrº   r*  r+  r
   rx  rƒ  rJ   )r  r–   r/  r£  s   &   r$   Úio_countersÚProcess.io_counters  s³   € ð	Ü×'Ò'¨¯©Ó1ˆCô �C‰yÐøô ô 	Ü$ S×)Ò)ØÜÐ>Ô?Ø—?‘?Ó$ˆDà”Y˜{Õ+Õ,Ø”Y˜{Õ+Õ,Ø”Y˜{Õ+Õ,Ø”Y˜{Õ+Õ,Ø”YÐ0Õ1Õ2Ø”YÐ0Õ1Õ2ð�Cûð	ús   ‚ + «C!¶B!CÃC!c                ó’   € \         P                  ! V P                  4      pV'       d   \        P                  # \        P
                  # r_   )rU   Úproc_is_suspendedrº   r   ÚSTATUS_STOPPEDÚSTATUS_RUNNING)r  Ú	suspendeds   & r$   rÊ   ÚProcess.status+  s1   € ä×*Ò*¨4¯8©8Ó4ˆ	ßÜ×)Ñ)Ð)ä×)Ñ)Ð)r#   c                óX   € R  p\         P                  ! V P                  4      pV! V4      # )c                 ór   € \        ^@4       Uu. uF  p^V,          V ,          '       g   K  VNK  	  up# u upi )é@   )ri  )r‡   Úis   & r$   Úfrom_bitmaskÚ.Process.cpu_affinity_get.<locals>.from_bitmask5  s,   € Ü$ RœyÓ9™y˜!¨Q°!­V°q¯L©L—A�A™yÑ9Ð9ùÒ9s   Ž4«4)rU   Úproc_cpu_affinity_getrº   )r  r)  Úbitmasks   &  r$   Úcpu_affinity_getÚProcess.cpu_affinity_get3  s(   € ò	:ô ×,Ò,¨T¯X©XÓ6ˆÙ˜GÓ$Ð$r#   c                ó8  € R  p\        \        \        \        4       4      4      4      pV FB  pWC9  g   K  \	        V\
        4      '       g   RV: R2p\        V4      hRV: 2p\        V4      h	  V! V4      p\        P                  ! V P                  V4       R# )c                 ón   € V '       g   R V : 2p\        V4      h^ pV  F  pV^V,          ,          pK  	  V# )zinvalid argument )rÂ  )Úlsr)  ÚoutÚbs   &   r$   Ú
to_bitmaskÚ,Process.cpu_affinity_set.<locals>.to_bitmask=  s<   € ßØ)¨"©Ð0�Ü  “oÐ%ØˆCÛ�Ø�q˜!•t•’ñ àˆJr#   zinvalid CPU z; an integer is requiredN)rÀ   ri  rW   r‹   r}   rs   r  rÂ  rU   Úproc_cpu_affinity_setrº   )r  r
  r4  ÚallcpusÚcpur)  r,  s   &&     r$   Úcpu_affinity_setÚProcess.cpu_affinity_set;  s‹   € ò	ô ”uœS¤£Ó1Ó2Ó3ˆÛˆCØÖ!Ü! #¤s×+Ò+Ø(¨©Ð/GÐH�CÜ# C›.Ð(Ø$ S¡GÐ,�Ü  “oÐ%ñ ñ ˜UÓ#ˆÜ×"Ò" 4§8¡8¨WÖ5r#   c                óò   €  \         P                  ! V P                  4      #   \         dJ   p\	        T4      '       d3   \        R 4       T P                  4       \        R,          ,          u Rp?# h Rp?ii ; i)z*attempting num_handles() fallback (slower)r+   N)rU   Úproc_num_handlesrº   r*  r+  r
   rx  rƒ  r•  s   & r$   r+   ÚProcess.num_handlesU  sZ   € ð	Ü×(Ò(¨¯©Ó2Ð2øÜô 	Ü  ×%Ò%ÜÐBÔCØ—‘Ó(¬°=Õ)AÕBÕBØûð		ús    ‚" ¢A6­=A1Á*A6Á0A1Á1A6c                ót   € V P                  4       \        R ,          ,          p\        P                  ! V^ 4      # )r,   )rx  rƒ  r   Úpctxsw)r  r,   s   & r$   Únum_ctx_switchesÚProcess.num_ctx_switches_  s)   € à—‘Ó(¬°>Õ)BÕCˆä�~Š~˜l¨AÓ.Ð.r#   )r  ru  rº   )Ú_cacher  ru  rº   r_   )F)Úinet)/r   r   r    r!   rJ  Ú	__slots__r  r{  r  r   rx  rÔ   rd  rz  rq  r–  rš  rŸ  r¤  r©  r¯  r·  r»  rÄ  rÒ  r  r/   r0   rë  r‰   rô  r÷  rü  r  r¼   r  r  r  r  r  rÊ   r-  r9  r+   r@  r"   rM  rN  s   @r$   rs  rs  Ø  s–  ø‡ € Ù;â3€Iòò&ò(ð ñó ðò
,ð Øñó ó ðð" Øñ=ó ó ð=ð Øñ&ó ó ð&ò@òð. ñ%ó ð%ð ñ-ó ð-ò.ð ñ(ó ð(ð ñ
"ó ð
"ð ó()ó ð()ðT ñ#ó ð#ð óó ðð ñ;ó ð;ð ñó ðð ñ9ó ð9ð ñ4ó ð4ð ñ5ó ð5ð Øñ&ó ó ð&ð ñó ðð  ó4ó ð4ð ñó ðð
 ñ7ó ð7ð ñó ðð
 ñ5ó ð5ð ñó ðð$ ñ*ó ð*ð ñ%ó ð%ð ñ6ó ð6ð2 ñó ðð ñ/ó ö/r#   rs  )rù   rþ   r   r   r   r   r   r   r'   r(   r)   r*   ÚCONN_DELETE_TCBr   r»   r   )r�   r�   r‘   r�   rŽ   )rj   Ú	availablern   rm   rl   )rD   r¨  r7   r8   r9   r:   r;   Úpeak_nonpaged_poolÚnonpaged_poolr>   r?   Úprivate)r®  )Ú
read_countÚwrite_countÚ
read_bytesÚwrite_bytesÚother_countÚother_bytes)r»   )NN)�rJ  rK  Úenumra  rX   r¾  ÚsysÚ	threadingrê   Úcollectionsr   rÎ   r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   rU   ÚImportErrorr/  ÚstrÚlowerrR   Úgetwindowsversionr)  ÚRuntimeErrorÚ__extra__all__rE  rj  Úbuiltin_module_namesrŒ  ÚIntEnumr   r   ÚMIB_TCP_STATE_ESTABÚCONN_ESTABLISHEDÚMIB_TCP_STATE_SYN_SENTÚCONN_SYN_SENTÚMIB_TCP_STATE_SYN_RCVDÚCONN_SYN_RECVÚMIB_TCP_STATE_FIN_WAIT1ÚCONN_FIN_WAIT1ÚMIB_TCP_STATE_FIN_WAIT2ÚCONN_FIN_WAIT2ÚMIB_TCP_STATE_TIME_WAITÚCONN_TIME_WAITÚMIB_TCP_STATE_CLOSEDÚ
CONN_CLOSEÚMIB_TCP_STATE_CLOSE_WAITÚCONN_CLOSE_WAITÚMIB_TCP_STATE_LAST_ACKÚCONN_LAST_ACKÚMIB_TCP_STATE_LISTENÚCONN_LISTENÚMIB_TCP_STATE_CLOSINGÚCONN_CLOSINGÚMIB_TCP_STATE_DELETE_TCBÚPSUTIL_CONN_NONEÚ	CONN_NONEr¾   r   ÚglobalsrF  Ú__members__r&   r!  rƒ  rA   rB   rC   Ú_fieldsrE   rF   rS   rH   rJ   Ú	lru_cacher]   r`   ro   ry   Údisk_io_countersr€   rƒ   r‰   r‹   r™   r›   r�   r¤   r¶   ÚLockr·   r´   r±   r¼   rÏ   rÚ   rÜ   rÞ   rí   rî   rð   rù   rþ   r÷   ÚpidsrÌ  r�  r+  rX  rd  rq  rs  r   r#   r$   Ú<module>r|     sÐ  ðñ
 'ã Û Û Û 	Û Û 
Û Û Ý "å Ý Ý !Ý "Ý #Ý Ý #Ý Ý "Ý Ý +Ý (Ý "Ý 8Ý 8Ý 0Ý 0Ý 2Ý 4ðÝ)ò*
€ð$ €ØÐ Ø�S×-Ñ-Ñ-€à—’˜_¨y¸"¨oÓ>€Ø
×
Ñ
€ð 	×Ñ˜g×6Ñ6Ø×Ñ ×!6Ñ!6Ø×Ñ ×!6Ñ!6Ø× Ñ  '×"8Ñ"8Ø× Ñ  '×"8Ñ"8Ø× Ñ  '×"8Ñ"8Ø×Ñ˜w×1Ñ1Ø×!Ñ! 7×#:Ñ#:Ø×Ñ ×!6Ñ!6Ø×Ñ˜w×2Ñ2Ø×Ñ × 4Ñ 4Ø×!Ñ! ?Ø×Ñ˜7×,Ñ,ð€ô"6ˆt�|‰|ô 6ñ ƒ	× Ñ �×%Ñ%Ô &ô�—‘ô ñ ƒ	× Ñ �×'Ñ'Ô (áò Ùðáðñ ðñ ð	ñ
 ðñ ðñ ðñ ðñ ðñ ðñ ðñ ðñ ðñ ðñ 
ðñ  ð!ñ" ð#ñ$ ð%ñ& ð'ñ( ð)ñ* ð+ñ, ð-€	ñB �{ÚEóG€	ñ 	�7ÒMÓN€áØ
ò 5ó6€ñ �j $§,¡,°Õ":Ó;€á˜?¨V°U¨OÓ<€áØ� §¡¨-×*?Ñ*?Ó!@Õ@óB€	ñ �ò 7ó 8€ð ×Ò˜SÔ!ñ0ó "ð0ð* 	ñó 	ðò	4ò;ð> ×(Ñ(Ð ò	:ò4ò	òò$ò
"ò
ò>ð Ð Ø�ŠÓ€ò7òô,ò.	ò"òò>ð2 €òò ò 1ò÷}ñ }ðX ‡y�y€Ø�_‰_€
Ø�=‰=€òôò
ò÷8K/ó K/øðc ô áˆC‹�‰Ó×#Ñ#Ð$5×6Ò6Ø×!Ò!Ó# AÕ&¨Ô*ð DˆØÐKÕKˆØÐ)Õ)ˆÙ˜3Ó SÐ(àûðús   ÂO' Ï'QÏ.A&QÑQ