<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

]O                 @   s"  d  d l  m Z m Z m Z m Z m Z m Z m Z m Z d  d l	 m
 Z
 m Z d  d l Z d  d l Z d  d l Z e e f Z d d d d d d	 d
 d d d d d d g Z Gd d   d e  Z Gd d   d e j  Z Gd d   d e  Z Gd d   d e j  Z Gd d   d  Z d S)    )getweakrefcountgetweakrefsrefproxyCallableProxyType	ProxyTypeReferenceType_remove_dead_weakref)WeakSet_IterationGuardNr   r   r   r   WeakKeyDictionaryr   r   r   
ProxyTypesWeakValueDictionaryr
   
WeakMethodfinalizec                   sX   e  Z d  Z d Z d d d  Z   f d d	   Z d
 d   Z d d   Z e j	 Z	   S)r   	_func_ref
_meth_type_alive__weakref__Nc                s   y | j  } | j } Wn0 t k
 rH t d j t |    d   Yn X   f d d   } t j |  | |  } t | |  | _ t |  | _	 d | _
 t |   | S)Nz)argument should be a bound method, not {}c                s5      } | j  r1 d | _    d  k	 r1   |  d  S)NF)r   )argself)callbackself_wr ,/opt/alt/python35/lib64/python3.5/weakref.py_cb3   s
    			zWeakMethod.__new__.<locals>._cbT)__self____func__AttributeError	TypeErrorformattyper   __new__r   r   r   )clsmethr   objfuncr   r   r   )r   r   r   r"   ,   s    			zWeakMethod.__new__c                sG   t    j   } |  j   } | d  k s3 | d  k r7 d  S|  j | |  S)N)super__call__r   r   )r   r%   r&   )	__class__r   r   r(   B   s
    zWeakMethod.__call__c             C   sS   t  | t  rO |  j s# | j r- |  | k St j |  |  oN |  j | j k Sd S)NF)
isinstancer   r   r   __eq__r   )r   otherr   r   r   r+   I   s
    
"zWeakMethod.__eq__c             C   sS   t  | t  rO |  j s# | j r- |  | k	 St j |  |  pN |  j | j k Sd S)NT)r*   r   r   r   __ne__r   )r   r,   r   r   r   r-   P   s
    
"zWeakMethod.__ne__)r   r   r   r   )
__name__
__module____qualname__	__slots__r"   r(   r+   r-   r   __hash__r   r   )r)   r   r   $   s   c               @   s  e  Z d  Z d d   Z d d   Z d d   Z d d   Z d	 d
   Z d d   Z d d   Z	 d d   Z
 d d   Z e Z d d   Z d d d  Z d d   Z d d   Z e Z d d   Z d d   Z d  d!   Z d" d#   Z d d$ d%  Z d& d'   Z d( d)   Z d S)*r   c                 s   |  s t  d   |  ^ } }  t |   d k rF t  d t |     t |  t   f d d  } | | _ g  | _ t   | _ i  | _   | j	 |  |   d  S)NzGdescriptor '__init__' of 'WeakValueDictionary' object needs an argument   z$expected at most 1 arguments, got %dc                sH   |   } | d  k	 rD | j  r4 | j j |  j  n |   |  j  d  S)N)
_iterating_pending_removalsappendkey)wrselfref_atomic_removalr   )dr   r   removem   s
    		z,WeakValueDictionary.__init__.<locals>.remove)
r   lenr   r	   _remover5   setr4   dataupdate)argskwr   r<   r   )r;   r   __init__f   s    			zWeakValueDictionary.__init__c             C   s<   |  j  } |  j } x# | r7 | j   } t | |  q Wd  S)N)r5   r@   popr	   )r   lr;   r7   r   r   r   _commit_removals}   s
    			z$WeakValueDictionary._commit_removalsc             C   sF   |  j  r |  j   |  j |   } | d  k r> t |   n | Sd  S)N)r5   rG   r@   KeyError)r   r7   or   r   r   __getitem__   s    	
zWeakValueDictionary.__getitem__c             C   s!   |  j  r |  j   |  j | =d  S)N)r5   rG   r@   )r   r7   r   r   r   __delitem__   s    	
zWeakValueDictionary.__delitem__c             C   s    |  j  r |  j   t |  j  S)N)r5   rG   r=   r@   )r   r   r   r   __len__   s    	
zWeakValueDictionary.__len__c             C   sJ   |  j  r |  j   y |  j |   } Wn t k
 r? d SYn X| d  k	 S)NF)r5   rG   r@   rH   )r   r7   rI   r   r   r   __contains__   s    	
	z WeakValueDictionary.__contains__c             C   s   d |  j  j t |   f S)Nz<%s at %#x>)r)   r.   id)r   r   r   r   __repr__   s    zWeakValueDictionary.__repr__c             C   s3   |  j  r |  j   t | |  j |  |  j | <d  S)N)r5   rG   KeyedRefr>   r@   )r   r7   valuer   r   r   __setitem__   s    	
zWeakValueDictionary.__setitem__c             C   s_   |  j  r |  j   t   } x< |  j j   D]+ \ } } |   } | d  k	 r, | | | <q, W| S)N)r5   rG   r   r@   items)r   newr7   r8   rI   r   r   r   copy   s    	
		zWeakValueDictionary.copyc             C   s{   d d l  m } |  j r# |  j   |  j   } xE |  j j   D]4 \ } } |   } | d  k	 r? | | | | |  <q? W| S)Nr   )deepcopy)rU   rV   r5   rG   r)   r@   rS   )r   memorV   rT   r7   r8   rI   r   r   r   __deepcopy__   s    	
	z WeakValueDictionary.__deepcopy__Nc             C   s^   |  j  r |  j   y |  j | } Wn t k
 r< | SYn X|   } | d  k rV | S| Sd  S)N)r5   rG   r@   rH   )r   r7   defaultr8   rI   r   r   r   get   s    	
		zWeakValueDictionary.getc          
   c   sk   |  j  r |  j   t |   E x= |  j j   D], \ } } |   } | d  k	 r0 | | f Vq0 WWd  QRXd  S)N)r5   rG   r   r@   rS   )r   kr8   vr   r   r   rS      s    	
	zWeakValueDictionary.itemsc          
   c   s_   |  j  r |  j   t |   9 x1 |  j j   D]  \ } } |   d  k	 r0 | Vq0 WWd  QRXd  S)N)r5   rG   r   r@   rS   )r   r[   r8   r   r   r   keys   s    	
zWeakValueDictionary.keysc          	   c   s=   |  j  r |  j   t |    |  j j   Ed  HWd  QRXd  S)N)r5   rG   r   r@   values)r   r   r   r   itervaluerefs   s    
	
z!WeakValueDictionary.itervaluerefsc          
   c   s_   |  j  r |  j   t |   9 x1 |  j j   D]  } |   } | d  k	 r0 | Vq0 WWd  QRXd  S)N)r5   rG   r   r@   r^   )r   r8   r%   r   r   r   r^      s    	
	zWeakValueDictionary.valuesc             C   sR   |  j  r |  j   x8 |  j j   \ } } |   } | d  k	 r | | f Sq Wd  S)N)r5   rG   r@   popitem)r   r7   r8   rI   r   r   r   r`      s    	
	zWeakValueDictionary.popitemc             G   sx   |  j  r |  j   y |  j j |    } Wn t k
 rF d  } Yn X| d  k rp | ra | d St |   n | Sd  S)Nr   )r5   rG   r@   rE   rH   )r   r7   rB   rI   r   r   r   rE     s    	
zWeakValueDictionary.popc             C   sv   y |  j  |   } Wn t k
 r. d  } Yn X| d  k rn |  j rN |  j   t | |  j |  |  j  | <| S| Sd  S)N)r@   rH   r5   rG   rP   r>   )r   r7   rY   rI   r   r   r   
setdefault  s    	
zWeakValueDictionary.setdefaultc              O   s   |  s t  d   |  ^ } }  t |   d k rF t  d t |     |  rV |  d n d  } | j ro | j   | j } | d  k	 r t | d  s t i   |  } x3 | j   D]% \ } } t | | j	 |  | | <q Wt |  r | j
 |  d  S)NzEdescriptor 'update' of 'WeakValueDictionary' object needs an argumentr3   z$expected at most 1 arguments, got %dr   rS   )r   r=   r5   rG   r@   hasattrr!   rS   rP   r>   rA   )rB   kwargsr   dictr;   r7   rI   r   r   r   rA      s     	
	zWeakValueDictionary.updatec             C   s&   |  j  r |  j   t |  j j    S)N)r5   rG   listr@   r^   )r   r   r   r   	valuerefs3  s    
	
zWeakValueDictionary.valuerefs)r.   r/   r0   rD   rG   rJ   rK   rL   rM   rO   rR   rU   __copy__rX   rZ   rS   r]   __iter__r_   r^   r`   rE   ra   rA   rf   r   r   r   r   r   Z   s,   			
			c                   s4   e  Z d  Z d Z d d   Z   f d d   Z   S)rP   r7   c             C   s"   t  j |  | |  } | | _ | S)N)r   r"   r7   )r!   obr   r7   r   r   r   r   r"   N  s    	zKeyedRef.__new__c                s   t    j | |  d  S)N)r'   rD   )r   ri   r   r7   )r)   r   r   rD   S  s    zKeyedRef.__init__)r7   )r.   r/   r0   r1   r"   rD   r   r   )r)   r   rP   B  s   
rP   c               @   s  e  Z d  Z d d d  Z d d   Z d d   Z d d	   Z d
 d   Z d d   Z d d   Z	 d d   Z
 d d   Z e Z d d   Z d d d  Z d d   Z d d   Z d d   Z e Z d d   Z d  d!   Z d" d#   Z d$ d%   Z d d& d'  Z d d( d)  Z d S)*r   Nc             C   sb   i  |  _  t |   d d  } | |  _ g  |  _ t   |  _ d |  _ | d  k	 r^ |  j |  d  S)Nc             S   s?   |   } | d  k	 r; | j  r1 | j j |   n
 | j |  =d  S)N)r4   r5   r6   r@   )r[   r9   r   r   r   r   r<   d  s
    		z*WeakKeyDictionary.__init__.<locals>.removeF)r@   r   r>   r5   r?   r4   
_dirty_lenrA   )r   rd   r<   r   r   r   rD   b  s    				zWeakKeyDictionary.__init__c             C   sI   |  j  } |  j } x0 | rD y | | j   =Wq t k
 r@ Yq Xq Wd  S)N)r5   r@   rE   rH   )r   rF   r;   r   r   r   rG   s  s    			z"WeakKeyDictionary._commit_removalsc                s5   |  j      f d d   |  j D |  _ d |  _ d  S)Nc                s"   g  |  ] } |   k r |  q Sr   r   ).0r[   )r;   r   r   
<listcomp>  s   	 z5WeakKeyDictionary._scrub_removals.<locals>.<listcomp>F)r@   r5   rj   )r   r   )r;   r   _scrub_removals  s    	z!WeakKeyDictionary._scrub_removalsc             C   s   d |  _  |  j t |  =d  S)NT)rj   r@   r   )r   r7   r   r   r   rK     s    	zWeakKeyDictionary.__delitem__c             C   s   |  j  t |  S)N)r@   r   )r   r7   r   r   r   rJ     s    zWeakKeyDictionary.__getitem__c             C   s6   |  j  r |  j r |  j   t |  j  t |  j  S)N)rj   r5   rm   r=   r@   )r   r   r   r   rL     s    
zWeakKeyDictionary.__len__c             C   s   d |  j  j t |   f S)Nz<%s at %#x>)r)   r.   rN   )r   r   r   r   rO     s    zWeakKeyDictionary.__repr__c             C   s   | |  j  t | |  j  <d  S)N)r@   r   r>   )r   r7   rQ   r   r   r   rR     s    zWeakKeyDictionary.__setitem__c             C   sL   t    } x< |  j j   D]+ \ } } |   } | d  k	 r | | | <q W| S)N)r   r@   rS   )r   rT   r7   rQ   rI   r   r   r   rU     s    		zWeakKeyDictionary.copyc             C   sh   d d l  m } |  j   } xE |  j j   D]4 \ } } |   } | d  k	 r, | | |  | | <q, W| S)Nr   )rV   )rU   rV   r)   r@   rS   )r   rW   rV   rT   r7   rQ   rI   r   r   r   rX     s    	zWeakKeyDictionary.__deepcopy__c             C   s   |  j  j t |  |  S)N)r@   rZ   r   )r   r7   rY   r   r   r   rZ     s    zWeakKeyDictionary.getc             C   s6   y t  |  } Wn t k
 r( d SYn X| |  j k S)NF)r   r   r@   )r   r7   r8   r   r   r   rM     s
    	zWeakKeyDictionary.__contains__c          
   c   sX   t  |   E x= |  j j   D], \ } } |   } | d  k	 r | | f Vq WWd  QRXd  S)N)r   r@   rS   )r   r8   rQ   r7   r   r   r   rS     s
    	zWeakKeyDictionary.itemsc          
   c   sF   t  |   3 x+ |  j D]  } |   } | d  k	 r | Vq WWd  QRXd  S)N)r   r@   )r   r8   r%   r   r   r   r]     s
    	zWeakKeyDictionary.keysc          
   c   sL   t  |   9 x1 |  j j   D]  \ } } |   d  k	 r | Vq WWd  QRXd  S)N)r   r@   rS   )r   r8   rQ   r   r   r   r^     s    zWeakKeyDictionary.valuesc             C   s   t  |  j  S)N)re   r@   )r   r   r   r   keyrefs  s    
zWeakKeyDictionary.keyrefsc             C   sH   d |  _  x8 |  j j   \ } } |   } | d  k	 r | | f Sq Wd  S)NT)rj   r@   r`   )r   r7   rQ   rI   r   r   r   r`     s    		zWeakKeyDictionary.popitemc             G   s"   d |  _  |  j j t |  |  S)NT)rj   r@   rE   r   )r   r7   rB   r   r   r   rE     s    	zWeakKeyDictionary.popc             C   s   |  j  j t | |  j  |  S)N)r@   ra   r   r>   )r   r7   rY   r   r   r   ra     s    zWeakKeyDictionary.setdefaultc             K   s   |  j  } | d  k	 ri t | d  s6 t i   |  } x0 | j   D]" \ } } | | t | |  j  <qC Wt |  r |  j |  d  S)NrS   )r@   rb   r!   rS   r   r>   r=   rA   )r   rd   rc   r;   r7   rQ   r   r   r   rA     s    	zWeakKeyDictionary.update)r.   r/   r0   rD   rG   rm   rK   rJ   rL   rO   rR   rU   rg   rX   rZ   rM   rS   r]   rh   r^   rn   r`   rE   ra   rA   r   r   r   r   r   W  s,   	c               @   s   e  Z d  Z f  Z i  Z d Z e j   Z d Z	 d Z
 Gd d   d  Z d d   Z d d d  Z d	 d
   Z d d   Z e d d    Z e d d    Z e j d d    Z d d   Z e d d    Z e d d    Z d S)r   Fc               @   s   e  Z d  Z d Z d S)	zfinalize._Infoweakrefr&   rB   rc   atexitindexN)ro   r&   rB   rc   rp   rq   )r.   r/   r0   r1   r   r   r   r   _Info  s   rr   c             O   s   |  j  s. d d  l } | j |  j  d t _  |  j   } t | |   | _ | | _ | | _	 | pg d  | _
 d | _ t |  j  | _ | |  j |  <d t _ d  S)Nr   T)_registered_with_atexitrp   register	_exitfuncr   rr   r   ro   r&   rB   rc   next_index_iterrq   	_registry_dirty)r   r%   r&   rB   rc   rp   infor   r   r   rD     s    					zfinalize.__init__Nc             C   sE   |  j  j |  d   } | rA |  j rA | j | j | j p= i    Sd  S)N)rx   rE   	_shutdownr&   rB   rc   )r   _rz   r   r   r   r(     s    zfinalize.__call__c             C   sh   |  j  j |   } | o! | j   } | d  k	 rd |  j  j |  d   rd | | j | j | j p` i  f Sd  S)N)rx   rZ   ro   rE   r&   rB   rc   )r   rz   r%   r   r   r   detach&  s    !zfinalize.detachc             C   sS   |  j  j |   } | o! | j   } | d  k	 rO | | j | j | j pK i  f Sd  S)N)rx   rZ   ro   r&   rB   rc   )r   rz   r%   r   r   r   peek.  s    zfinalize.peekc             C   s   |  |  j  k S)N)rx   )r   r   r   r   alive6  s    zfinalize.alivec             C   s%   |  j  j |   } t |  o$ | j S)N)rx   rZ   boolrp   )r   rz   r   r   r   rp   ;  s    zfinalize.atexitc             C   s+   |  j  j |   } | r' t |  | _ d  S)N)rx   rZ   r   rp   )r   rQ   rz   r   r   r   rp   A  s    c             C   s   |  j  j |   } | o! | j   } | d  k rM d t |   j t |   f Sd t |   j t |   t |  j t |  f Sd  S)Nz<%s object at %#x; dead>z!<%s object at %#x; for %r at %#x>)rx   rZ   ro   r!   r.   rN   )r   rz   r%   r   r   r   rO   G  s    zfinalize.__repr__c             C   sC   d d   |  j  j   D } | j d d d    d d   | D S)Nc             S   s+   g  |  ]! \ } } | j  r | | f  q Sr   )rp   )rk   fir   r   r   rl   S  s   	 z-finalize._select_for_exit.<locals>.<listcomp>r7   c             S   s   |  d j  S)Nr3   )rq   )itemr   r   r   <lambda>T  s    z+finalize._select_for_exit.<locals>.<lambda>c             S   s   g  |  ] \ } } |  q Sr   r   )rk   r   r   r   r   r   rl   U  s   	 )rx   rS   sort)r#   Lr   r   r   _select_for_exitP  s    zfinalize._select_for_exitc             C   s   d } z |  j  r d d  l } | j   r: d } | j   d  } xt | d  k sX t j rm |  j   } d t _ | st P| j   } y |   WqC t k
 r t	 j
 t	 j     YqC XqC WWd  d t _ | r | j   Xd  S)NFr   T)rx   gc	isenableddisabler   ry   r   rE   	Exceptionsys
excepthookexc_infor{   enable)r#   reenable_gcr   pendingr   r   r   r   ru   W  s.    	
		zfinalize._exitfunc)r.   r/   r0   r1   rx   r{   	itertoolscountrw   ry   rs   rr   rD   r(   r}   r~   propertyr   rp   setterrO   classmethodr   ru   r   r   r   r   r     s"   	)_weakrefr   r   r   r   r   r   r   r	   _weakrefsetr
   r   collectionsr   r   r   __all__r   MutableMappingr   rP   r   r   r   r   r   r   <module>   s   :
		6