a
    ӗaL                     @   s  d dl Z g dZd<ddZd=ddZdd Zd	d
 ZeZdd ZeZdd Z	de
dd dfddZe
d dfddZdd Zdd ZG dd deZdd Zdd Zdd  Zd!d" Zd#d$ Zd%d& Zd>d(d)Zd?d*d+ZG d,d- d-eZG d.d/ d/eZd0d1 Zz0d d2lmZmZm Z mZmZm!Z! eZ"e Z#d3Z$W n0 e%y\   g Zd4Z"i Z#d'a&d5d6 Z!dZ$Y n0 ee j' e$se(e d7sed4e)d8d'd9 ed:e)d'd; ed:e*d'd; ed:e+d'd; ed:e,d'd; [$dS )@    N)warnwarn_explicitshowwarningformatwarningfilterwarningssimplefilterresetwarningscatch_warningsc                 C   s   t | |||||}t| d S N)WarningMessage_showwarnmsg_impl)messagecategoryfilenamelinenofilelinemsg r   +/home/manager/Python-3.9.10/Lib/warnings.pyr   
   s    r   c                 C   s   t | |||d |}t|S r
   )r   _formatwarnmsg_impl)r   r   r   r   r   r   r   r   r   r      s    r   c                 C   sN   | j }|d u r tj}|d u r d S t| }z|| W n tyH   Y n0 d S r
   )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}| jd u rnzdd l}|| j| j}W qt tyj   d }d }Y qt0 n| j}|r|	 }|d| 7 }| j
d urzdd l}W n ty   d}d }Y n20 | }z|| j
}W n ty   d }Y n0 |d ur||d7 }|D ]r}|d|j|jf 7 }z$|d ur<||j|j}nd }W n tyZ   d }Y n0 |r|	 }|d	| 7 }qn|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tracemallocZ
is_tracingZget_object_traceback)	r   r   sr    r   r%   Ztracingtbframer   r   r   r   #   sT    "






r   c                 C   sb   zt }W n ty   Y n<0 |turVt|s4td|| j| j| j| j| j	| j
 d S t|  d S )Nz:warnings.showwarning() must be set to a function or method)r   	NameError_showwarning_origcallable	TypeErrorr   r   r   r   r   r   r   )r   Zswr   r   r   _showwarnmsg`   s    r-   c                 C   sF   zt }W n ty   Y n$0 |tur>|| j| j| j| j| jS t| S r
   )	r   r)   _formatwarning_origr   r   r   r   r   r   )r   Zfwr   r   r   r   u   s    
r    Fc                 C   sT   |s|rdd l }|r$|||j}nd }|r8||}nd }t| |||||d d S )Nr   append)recompileI_add_filter)actionr   r   moduler   r1   r2   r   r   r   r      s    r   c                 C   s   t | d |d ||d d S )Nr0   )r5   )r6   r   r   r1   r   r   r   r      s    r   c                 G   sP   | s4zt | W n ty$   Y n0 t d| n|t vrFt | t  d S )Nr   )filtersremove
ValueErrorinsertr1   _filters_mutated)r1   itemr   r   r   r5      s    
r5   c                   C   s   g t d d < t  d S r
   )r8   r<   r   r   r   r   r      s    r   c                   @   s   e Zd ZdS )_OptionErrorN)r   
__module____qualname__r   r   r   r   r>      s   r>   c                 C   sP   | D ]F}zt | W q tyH } ztd|tjd W Y d }~qd }~0 0 qd S )NzInvalid -W option ignored:)r   )
_setoptionr>   printr   r   )argsargr   r   r   r   _processoptions   s
    rE   c              	   C   s   |  d}t|dkr$td| f t|dk r<|d q$dd |D \}}}}}t|}t|}|sl|rtdd l}|r||}|r||d }|rzt|}|dk rt	W q t	t
fy   td	|f d Y q0 nd}t||||| d S )
Nr      ztoo many fields (max 5): %rr/   c                 S   s   g | ]}|  qS r   )r#   ).0r&   r   r   r   
<listcomp>   s   z_setoption.<locals>.<listcomp>r   z\Zzinvalid lineno %r)splitlenr>   r1   
_getaction_getcategoryr2   Zescapeintr:   OverflowErrorr   )rD   Zpartsr6   r   r   r7   r   r2   r   r   r   rA      s2    

rA   c                 C   sB   | sdS | dkrdS dD ]}| | r|  S qtd| f d S )Ndefaultallalways)rO   rQ   ignorer7   onceerrorzinvalid action: %r)
startswithr>   )r6   ar   r   r   rK      s    

rK   c                 C   s   | st S d| vrdd l}| }nH| d\}}}zt|d d |g}W n" tyd   td|f d Y n0 zt||}W n" ty   td| f d Y n0 t|t std| f |S )N.r   zinvalid module name: %rzunknown warning category: %rzinvalid warning category: %r)	Warningbuiltins
rpartition
__import__ImportErrorr>   getattrAttributeError
issubclass)r   mZklassr7   _catr   r   r   rL      s"    
rL   c                 C   s   | j j}d|v od|v S )NZ	importlib
_bootstrap)f_codeco_filename)r(   r   r   r   r   _is_internal_frame  s    rf   c                 C   s"   | j } | d urt| r| j } q| S r
   )f_backrf   )r(   r   r   r   _next_external_frame  s    rh      c              	   C   s  t | tr| j}|d u rt}t |tr0t|tsDtdt|jzV|dks\t	t
drht
|}n0t
d}t|d D ]}t|}|d u r~tq~W n  ty   t
j}d}d}Y n0 |j}|jj}|j}d|v r|d }	nd}	|di }
t| ||||	|
|| d S )Nz/category must be a Warning subclass, not '{:s}'ri   r   r   z<string>Z__warningregistry__)
isinstancerX   	__class__UserWarningtyper_   r,   formatr   rf   r   	_getframerangerh   r:   __dict__	f_globalsrd   re   f_lineno
setdefaultr   )r   r   
stacklevelr$   r(   xglobalsr   r   r7   registryr   r   r   r     s<    




r   c                 C   s  t |}|d u r8|pd}|dd   dkr8|d d }|d u rDi }|ddtkrd|  t|d< t| tr~t| }| j}n| }|| } |||f}	||	rd S t	D ]V}
|
\}}}}}|d u s|
|rt||r|d u s|
|r|dks||kr qqt}|dkrd S dd l}||| |dkr2| |dkrfd	||	< ||f}t|r\d S d	t|< nf|d
krrnZ|dkrd	||	< ||df}||rd S d	||< n$|dkrd	||	< ntd||
f t| ||||}t| d S )Nz	<unknown>z.pyversionr   rR   rT   rS   ri   rQ   r7   rO   z1Unrecognized action (%r) in warnings.filters:
 %s)rM   lowerget_filters_versionclearrj   rX   strrk   r8   Zmatchr_   defaultactionr    ZgetlinesonceregistryRuntimeErrorr   r-   )r   r   r   r   r7   rx   Zmodule_globalsr$   r   keyr=   r6   r   rb   modZlnr    ZoncekeyZaltkeyr   r   r   r   G  s|    












r   c                   @   s"   e Zd ZdZdddZdd ZdS )r   )r   r   r   r   r   r   r$   Nc                 C   s>   || _ || _|| _|| _|| _|| _|| _|r4|jnd | _d S r
   )	r   r   r   r   r   r   r$   r   _category_name)selfr   r   r   r   r   r   r$   r   r   r   __init__  s    zWarningMessage.__init__c                 C   s   d| j | j| j| j| jf S )NzD{message : %r, category : %r, filename : %r, lineno : %s, line : %r})r   r   r   r   r   )r   r   r   r   __str__  s
    zWarningMessage.__str__)NNN)r   r?   r@   Z_WARNING_DETAILSr   r   r   r   r   r   r     s
     
r   c                   @   s4   e Zd ZdddddZdd Zdd	 Zd
d ZdS )r	   FN)recordr7   c                C   s(   || _ |d u rtjd n|| _d| _d S )NwarningsF)_recordr   modules_module_entered)r   r   r7   r   r   r   r     s    zcatch_warnings.__init__c                 C   sP   g }| j r|d | jtjd ur4|d| j  t| j}d|d|f S )Nzrecord=Truer   z	module=%rz%s(%s)z, )r   r1   r   r   r   rm   r   join)r   rC   namer   r   r   __repr__  s    

zcatch_warnings.__repr__c                 C   s~   | j rtd|  d| _ | jj| _| jd d  | j_| j  | jj| _| jj| _| j	rvg }|j
| j_| jj| j_|S d S d S )NzCannot enter %r twiceT)r   r   r   r8   _filtersr<   r   _showwarningr   r   r1   r*   )r   Zlogr   r   r   	__enter__  s    




zcatch_warnings.__enter__c                 G   s>   | j std|  | j| j_| j  | j| j_| j| j_d S )Nz%Cannot exit %r without entering first)	r   r   r   r   r8   r<   r   r   r   )r   exc_infor   r   r   __exit__  s    


zcatch_warnings.__exit__)r   r?   r@   r   r   r   r   r   r   r   r   r	     s   	r	   c                    sz   d j  dg} jd urVdd ldd l} fdd}|d ||t| 7 }d|d}t	|t
d	 d
 d S )Nzcoroutine 'z' was never awaited
r   c                  3   s4   t  jD ]$\} }}| |}| |||fV  q
d S r
   )reversed	cr_originr!   )r   r   Zfuncnamer   coror    r   r   extract  s    z*_warn_unawaited_coroutine.<locals>.extractz-Coroutine created at (most recent call last)
r/   r      )r   ru   r$   )r@   r   r    	tracebackr1   Zformat_listlistr   rstripr   RuntimeWarning)r   Z	msg_linesr   r   r   r   r   r   _warn_unawaited_coroutine  s    

r   )r8   _defaultaction_onceregistryr   r   r<   TrO   c                   C   s   t d7 a d S )Nri   )r}   r   r   r   r   r<     s    r<   Zgettotalrefcount__main__)r   r7   r1   rR   )r   r1   )NN)N)Nri   N)NNNN)-r   __all__r   r   r   r   r*   r-   r.   r   rX   r   r   r5   r   r"   r>   rE   rA   rK   rL   rf   rh   r   r   objectr   r	   r   	_warningsr8   r   r   r<   r   r   Z_warnings_defaultsr\   r}   warnoptionshasattrDeprecationWarningPendingDeprecationWarningImportWarningResourceWarningr   r   r   r   <module>   sh   

;
#
	
)  
GC 

