XBFjdddlmZddlZddlZddlZddlZdddd ZddZe Z ddZ dS)) annotationsN)sourcemsgstrcategoryt.Any stacklevelintrreturnNonec6tj||||dS)zLike warnings.warn(), but category and stacklevel are required. You pretty much never want the default stacklevel of 1, so this helps encourage setting it explicitly.)rr rN)warningswarn)rrr rs FC:\PYTHON\_runtimes\venv\Lib\site-packages\traitlets/utils/warnings.pyrr s#  M#ZOOOOOOmethodcls method_namec|jd|d|}tj|D]}||jvr|}n|jddd}||f}t |sdS tj|pd}tj|dpd} tj |t|| dS#ttf$r(} t|d| zztd Yd} ~ dSd} ~ wwxYw) zShow deprecation warning about a magic method definition. Uses warn_explicit to bind warning to method definition instead of triggering code, which isn't relevant. .z! is deprecated in traitlets 4.1: rNz z (inspection failed) %s)r )__name__inspectgetmro__dict__ __module__split should_warn getsourcefilegetsourcelinesr warn_explicitDeprecationWarningOSError TypeErrorr) rrrrwarn_msgparent package_namekeyfnamelinenoes rdeprecated_methodr-sW ,TTTTsTTH.%% &/ ) )C E *>''Q//2L  C s   L%f--<'//27a x);UFKKKKK Y     2Q6 7            s+2B;;C4 C//C4r)boolctjd}|r|dkrdS|tvrt|dSdS)zZAdd our own checks for too many deprecation warnings. Limit to once per package. TRAITLETS_ALL_DEPRECATIONS0TF)osenvironget_deprecations_shownadd)r)env_flags rrr3sW z~~:;;HHOOt %%%$$$tur) rrrrr r rrr r ) rrrrrrrrr r )r)rr r.) __future__rrr2typingtrrr-setr5rrrr=s"""""" IMPPPPPPLLLL>cee      r