;iddlmZddlmZddlZddlZddlm Z ddlm Z ej dZ GddZ dd ZdddZdS)) annotationsN)ref) WeakMethodTcLeZdZUdZiZded<d fd Zdd Zdd Zdd Z xZ S)SymbolzA constant symbol, nicer than ``object()``. Repeated calls return the same instance. >>> Symbol('foo') is Symbol('foo') True >>> Symbol('foo') foo zt.ClassVar[dict[str, Symbol]]symbolsnamestrreturnc||jvr |j|St|}||j|<|SN)r super__new__)clsr obj __class__s FC:\PYTHON\MyICR_Workspace\venv\Lib\site-packages\blinker/_utilities.pyrzSymbol.__new__sC 3;  ;t$ $ggooc"" D Nonec||_dSrr )selfr s r__init__zSymbol.__init__ s  rc|jSrrrs r__repr__zSymbol.__repr__#s yrtuple[t.Any, ...]c|jfSrrrs r__getnewargs__zSymbol.__getnewargs__&s  |r)r r r r)r r r r)r r )r r) __name__ __module__ __qualname____doc__r __annotations__rrrr __classcell__)rs@rrr s.0G////rrrobjectr c.Hashablectj|r(t|jt|jfSt |t tfr|St|S)z`Get a stable identifier for a receiver or sender, to be used as a dict key or in a set. )inspectismethodid__func____self__ isinstancer int)rs rmake_idr1*sb2#,CL!1!111#Sz""  c77Nrcallback!c.Callable[[ref[T]], None] | Noneref[T]cjtj|rt||St||Sr)r*r+rr)rr2s rmake_refr6<s5)#x((( sH  r)rr'r r(r)rrr2r3r r4) __future__rcollections.abcabccr*typingtweakrefrrTypeVarrrr1r6rrr@s"""""" AIcNN<$r