3 \"@srddlmZddZGdddeZGdddeZGdd d eZGd d d e Z Gd d d e dZ ddZ dS))WeakSetcCs d|_|S)NT)__isabstractmethod__)funcobjr/usr/lib64/python3.6/abc.pyabstractmethod srcs eZdZdZfddZZS)abstractclassmethodTcsd|_tj|dS)NT)rsuper__init__)selfcallable) __class__rrr 0szabstractclassmethod.__init__)__name__ __module__ __qualname__rr __classcell__rr)r rrsrcs eZdZdZfddZZS)abstractstaticmethodTcsd|_tj|dS)NT)rr r )r r )r rrr Hszabstractstaticmethod.__init__)rrrrr rrr)r rr5src@seZdZdZdS)abstractpropertyTN)rrrrrrrrrMsrcsBeZdZdZfddZddZd ddZd d Zd d ZZ S)ABCMetarc  stj||||f|}dd|jD}xF|D]>}x8t|dtD]&}t||d}t|ddrB|j|qBWq.Wt||_t|_ t|_ t|_ t j |_|S)NcSs h|]\}}t|ddr|qS)rF)getattr).0namevaluerrr sz"ABCMeta.__new__..__abstractmethods__rF)r __new__itemsrsetadd frozensetrr _abc_registry _abc_cache_abc_negative_cacher_abc_invalidation_counter_abc_negative_cache_version) mclsrbases namespacekwargscls abstractsbaser)r rrrs     zABCMeta.__new__cCsPt|tstdt||r |St||r2td|jj|tjd7_|S)NzCan only register classesz'Refusing to create an inheritance cycle) isinstancetype TypeError issubclass RuntimeErrorr rrr#)r)subclassrrrregisters    zABCMeta.registerNcCs|td|j|jf|dtdtj|dxLt|jD]>}|jdr6t||}t |t r`t |}td||f|dq6WdS)Nz Class: %s.%s)filezInv.counter: %s_abc_z%s: %r) printrrrr#sorted__dict__ startswithrr-rr)r)r4rrrrr_dump_registrys   zABCMeta._dump_registrycsb|j}|jkrdSt|}||krHjtjkr>|jkr>dSj|Stfdd||hDS)NTFc3s|]}j|VqdS)N)__subclasscheck__)rc)r)rr sz,ABCMeta.__instancecheck__..) r r!r.r$rr#r"r;any)r)instancer2subtyper)r)r__instancecheck__s   zABCMeta.__instancecheck__cCs||jkrdS|jtjkr,t|_tj|_n||jkr:dS|j|}|tk rn|r^|jj|n |jj||S|t |dfkr|jj|dSx(|j D]}t ||r|jj|dSqWx*|j D]}t ||r|jj|dSqW|jj|dS)NTF__mro__) r!r$rr#rr"__subclasshook__NotImplementedrrr r0__subclasses__)r)r2okrclssclsrrrr;s4             zABCMeta.__subclasscheck__)N) rrrr#rr3r:rAr;rrr)r rrms   rc@s eZdZdS)ABCN)rrrrrrrrIsrI) metaclasscCstjS)N)rr#rrrrget_cache_tokensrKN) _weakrefsetrr classmethodr staticmethodrpropertyrr.rrIrKrrrrs