
    :e-                     4    d dl mZ d Z G d de          ZdS )    )WeakSetc                      	 t           j        S N)ABCMeta_abc_invalidation_counter     /usr/lib/python3.11/_py_abc.pyget_cache_tokenr      s     ,,r	   c                   J     e Zd Z	 dZ fdZd Zd
dZd Zd Zd Z	d	 Z
 xZS )r   r   c                    t                      j        | |||fi |}d |                                D             }|D ]Y}t          |dt	                                D ]9}t          ||d           }t          |dd          r|                    |           :Zt          |          |_        t                      |_	        t                      |_
        t                      |_        t          j        |_        |S )Nc                 :    h | ]\  }}t          |d d          |S )__isabstractmethod__F)getattr).0namevalues      r
   	<setcomp>z"ABCMeta.__new__.<locals>.<setcomp>&   sE     G G G$u'=uEEGT G G Gr	   __abstractmethods__r   F)super__new__itemsr   setadd	frozensetr   r   _abc_registry
_abc_cache_abc_negative_cacher   r   _abc_negative_cache_version)
mclsr   bases	namespacekwargscls	abstractsbaser   	__class__s
            r
   r   zABCMeta.__new__#   s   eggodD%EEfEEG G(1(9(9G G G	  	( 	(D&;SUUCC ( (T4005"8%@@ (MM$'''( #,I"6"6#II ")))*1*K'
r	   c                    	 t          |t                    st          d          t          ||           r|S t          | |          rt	          d          | j                            |           t          xj        dz  c_        |S )NzCan only register classesz'Refusing to create an inheritance cycle   )	
isinstancetype	TypeError
issubclassRuntimeErrorr   r   r   r   )r$   subclasss     r
   registerzABCMeta.register6   s    	 (D)) 	97888h$$ 	O c8$$ 	JHIIIh'''))Q.))r	   Nc                 \   	 t          d| j         d| j         |           t          dt                       |           | j        D ]a}|                    d          rJt          | |          }t          |t                    rt          |          }t          | d||           bd S )NzClass: .)filezInv. counter: _abc_z: )
print
__module____qualname__r   __dict__
startswithr   r*   r   r   )r$   r3   r   r   s       r
   _dump_registryzABCMeta._dump_registryH   s    5;;;)9;;$GGGG20022>>>>L 	7 	7Dw'' 7T**eW-- 'JJE****6666	7 	7r	   c                 :    	 | j                                          d S r   )r   clearr$   s    r
   _abc_registry_clearzABCMeta._abc_registry_clearS   s     <!!!!!r	   c                 l    	 | j                                          | j                                         d S r   )r   r<   r   r=   s    r
   _abc_caches_clearzABCMeta._abc_caches_clearW   s4    :%%'''''r	   c                      	 |j         }| j        v rdS t          |          }||u r5 j        t          j        k    r| j        v rdS                      |          S t           fd||fD                       S )NTFc              3   B   K   | ]}                     |          V  d S r   )__subclasscheck__)r   cr$   s     r
   	<genexpr>z,ABCMeta.__instancecheck__.<locals>.<genexpr>j   s1      II3((++IIIIIIr	   )	r'   r   r+   r   r   r   r   rC   any)r$   instancer/   subtypes   `   r
   __instancecheck__zABCMeta.__instancecheck__\   s    5%s~%%4x..h/12 2C333u((222IIIIh5HIIIIIIr	   c                 &   	 t          |t                    st          d          || j        v rdS | j        t
          j        k     r%t                      | _        t
          j        | _        n|| j        v rdS | 	                    |          }|t          ur9|r| j                            |           n| j                            |           |S | t          |dd          v r| j                            |           dS | j        D ]/}t          ||          r| j                            |            dS 0|                                 D ]/}t          ||          r| j                            |            dS 0| j                            |           dS )Nz"issubclass() arg 1 must be a classTF__mro__r   )r*   r+   r,   r   r   r   r   r   r   __subclasshook__NotImplementedr   r   r   r-   __subclasses__)r$   r/   okrclssclss        r
   rC   zABCMeta.__subclasscheck__l   s   5(D)) 	B@AAAs~%%4*W-NNN&-iiC#.5.OC++0005!!(++^## 6""8,,,,'++H555I'(Ir2222Nx(((4% 	 	D(D)) ""8,,,tt &&(( 	 	D(D)) ""8,,,tt 	##H---ur	   r   )__name__r6   r7   r   r   r0   r:   r>   r@   rI   rC   __classcell__)r'   s   @r
   r   r      s        $ !"    &  $	7 	7 	7 	7" " "( ( (
J J J ' ' ' ' ' ' 'r	   r   N)_weakrefsetr   r   r+   r   r   r	   r
   <module>rU      sd         - - -E E E E Ed E E E E Er	   