+
    oFj                     j    R t ^ RIt^ RIt^ RIt^ RItRR R lltR R ltR R ltR R	 ltR
 R lt	R# )zLegacy logging functions.Nc                4    V ^8  d   QhR\         R\        RR/# )   message	timestampreturnN)strbool)formats   "0/usr/lib/python3/dist-packages/apport/logging.py__annotate__r   	   s!        $     c                    V'       d7   \         P                  P                  \        P                  ! R4       R24       \        V 4       R# )z?Log the given string to stdout. Prepend timestamp if requested.z%x %Xz: N)sysstdoutwritetimestrftimeprint)r   r   s   &&r
   logr   	   s/    

DMM'23267	'Nr   c                d    V ^8  d   QhR\         R\        P                  R\        P                  /# )r   msgargsr   )r   typingAnyNoReturn)r	   s   "r
   r   r      s)      s 6:: &// r   c                L    \        V .VO5!   \        P                  ! ^4       R# )z0Print out an error message and exit the program.N)errorr   exitr   r   s   &*r
   fatalr      s    	#HHQKr   c                H    V ^8  d   QhR\         R\        P                  RR/# r   r   r   r   Nr   r   r   )r	   s   "r
   r   r      s%      s 6:: $ r   c                    \         P                  '       df   \         P                  P                  R4       \         P                  P                  W,          4       \         P                  P                  R4       R# R# )zPrint out an error message.zERROR: 
Nr   stderrr   r   s   &*r
   r   r      sH    
zzz

#

$

 r   c                H    V ^8  d   QhR\         R\        P                  RR/# r!   r"   )r	   s   "r
   r   r      s%       VZZ D r   c                    \         P                  '       df   \         P                  P                  R4       \         P                  P                  W,          4       \         P                  P                  R4       R# R# )zPrint out an warning message.z	WARNING: r$   Nr%   r   s   &*r
   warningr)      sH    
zzz

%

$

 r   c                (    V ^8  d   QhR\         RR/# )r   
checkpointr   N)r   )r	   s   "r
   r   r   &   s      s t r   c                   R\         P                  9  g   \        P                  '       g   R# / p\	        RRR7      ;_uu_ 4       pV FF  pVP                  R4      '       g   K  VP                  4       w  rEp\        V4      R,          WRR &   KH  	  RRR4       \        P                  P                  RVR	,          R
 RVR,          R
 RVR,          R
 RV  R2	4       R#   + '       g   i     LV; i)zKPrint current memory usage.

This is only done if $APPORT_MEMDEBUG is set.
APPORT_MEMDEBUGNz/proc/self/statuszutf-8)encodingVmg      @zSize: VmSizez.1fz
 MB, RSS: VmRSSz
 MB, Stk: VmStkz MB @ r$   )	osenvironr   r&   open
startswithsplitintr   )r+   memstatstatus_filelinefieldsize_s   &      r
   memdbgr@   &   s    
 

*#***G	!G	4	4Dt$$!%Q&)$i&&8cr
#   
5 JJ
"3'z''2B31G H!#&fZL	< 
5	4s   C $.C  C0	)F)
__doc__r4   r   r   r   r   r   r   r)   r@    r   r
   <module>rC      s-     	 
  r   