a XC?h�L � @ s� d Z ddlZg d�Zd=dd�Zd>dd�Zdd � Zd d� ZeZdd � ZeZ dd� Z dedddfdd�Zeddfdd�Z dd� Zdd� ZG dd� de�Zdd� Zdd� Zd d!� Zd"d#� Zd$d%� Zd&d'� Zd?d)d*�Zd@d+d,�ZG d-d.� d.e�ZG d/d0� d0e�Zd1d2� Zz0dd3lmZm Z m!Z!mZmZm"Z" e Z#e!Z$d4Z%W n0 e&�y` g Zd5Z#i Z$d(a'd6d7� Z"dZ%Y n0 eej(� e%�s�e)ed8��s�ed5e*d9d(d:� e d;e*d(d<� e d;e+d(d<� e d;e,d(d<� e d;e-d(d<� [%dS )Az&Python part of the warnings subsystem.� N)�warn� warn_explicit�showwarning� formatwarning�filterwarnings�simplefilter� resetwarnings�catch_warningsc C s t | |||||�}t|� dS )�7Hook to write a warning to a file; replace if you like.N)�WarningMessage�_showwarnmsg_impl)�message�category�filename�lineno�file�line�msg� r �-/opt/alt/python39/lib64/python3.9/warnings.pyr s r c C s t | |||d|�}t|�S )�.Function to format a warning the standard way.N)r �_formatwarnmsg_impl)r r r r r r r r r r s r c C sN | j }|d u r tj}|d u r d S t| �}z|�|� W n tyH Y n0 d S �N)r �sys�stderr�_formatwarnmsg�write�OSError)r r �textr r r r s r c C s� | j j}| j� d| j� d|� d| j� d�}| jd u rnzdd l}|�| j| j�}W qt tyj d }d }Y qt0 n| j}|r�|� � }|d| 7 }| j d u�r�zdd l}W n ty� d}d }Y n20 |�� }z|� | j �}W n ty� d }Y n0 |d u�r||d7 }|D ]r}|d|j|jf 7 }z$|d u�r<|�|j|j�}nd }W n t�yZ d }Y n0 |�r|� � }|d | 7 }�qn|�s�||� d �7 }|S )N�:z: � r z %s Tz-Object allocated at (most recent call last): z File "%s", lineno %s z %s z<: Enable tracemalloc to get the object allocation traceback )r �__name__r r r r � linecache�getline� Exception�strip�source�tracemalloc� is_tracing�get_object_traceback) r r �sr" r r' �tracing�tb�framer r r r # sT " � r c C sb zt }W n ty Y n<0 |turVt|�s4td��|| j| j| j| j| j | j � dS t| � dS )r z:warnings.showwarning() must be set to a function or methodN)r � NameError�_showwarning_orig�callable� TypeErrorr r r r r r r )r �swr r r �_showwarnmsg` s �r3 c C sF zt }W n ty Y n$0 |tur>|| j| j| j| j| j�S t| �S )r ) r r. �_formatwarning_origr r r r r r )r �fwr r r r u s �r � Fc C s� | dv sJ d| f ��t |t�s(J d��t |t�s:J d��t|t�sLJ d��t |t�s^J d��t |t�rp|dksxJ d��|s�|r�dd l}|r�|�||j�}nd }|r�|�|�}nd }t | |||||d � d S )a� Insert an entry into the list of warnings filters (at the front). 'action' -- one of "error", "ignore", "always", "default", "module", or "once" 'message' -- a regex that the warning message must match 'category' -- a class that the warning must be a subclass of 'module' -- a regex that the module name must match 'lineno' -- an integer line number, 0 matches all warnings 'append' -- if true, append to the list of filters ��error�ignore�always�default�module�once�invalid action: %rzmessage must be a stringzcategory must be a classz#category must be a Warning subclasszmodule must be a stringr �lineno must be an int >= 0N��append) � isinstance�str�type� issubclass�Warning�int�re�compile�I�_add_filter)�actionr r r<