bg=$dZddlmZddlZddlZddlZddlZddlZddlZdZ ej dkr ddlm Z dZ nGdd e Z d Z ejd d Zd ZejdZGdde ZdZddZ ddlmZn#e$r ddlmZYnwxYwGddeZe ejZeejZedkrej s dZee_nedkrej rnedkr dZee_eeZ!dZ"dZ#dS)zT Decorator module, see http://pypi.python.org/pypi/decorator for the documentation. )print_functionNz4.0.10)getfullargspecc|jSN)__init__clss l/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/prometheus_client/decorator.pyget_initr 1s |c,eZdZdZdZdZejZdS)rz?A quick and dirty replacement for getfullargspec for Python 2.Xc|tj|\|_|_|_|_g|_d|_dSr)inspect getargspecargsvarargsvarkwdefaults kwonlyargskwonlydefaults)selffs r r zgetfullargspec.__init__7s:"1%% ?DIt|TZ DO"&D   rc#RK|jV|jV|jV|jVdSr)rrrr)rs r __iter__zgetfullargspec.__iter__=sA)OOO,   *   -     rN)__name__ __module__ __qualname____doc__r rrrrr rr4s<II ' ' '    ' rrc|jjSr)r __func__r s r r r Fs |$$rArgSpeczargs varargs varkw defaultsclt|}t|j|j|j|jS)z$A replacement for inspect.getargspec)rr$rrrr)rspecs r rrNs+ !  D 49dlDJ F FFrz\s*def\s*([_\w][_\w\d]*)\s*\(cfeZdZdZejZ d dZdZd dZ e d dZ dS) FunctionMakerz An object with the ability to create functions with a given signature. It has attributes name, doc, module, signature, defaults, dict and methods update and make. Nc ||_|rO|j|_|jdkrd|_|j|_|j|_tj|rt|}t|di|_ dD]!} t|| t|| "t|jD]\} } t|d| z| tjdkr(tj|ddid d x|_|_n7t'|j} t'|j} |jr;| d |jz| d |jzn|jr| d |jD]4} | d | z| | d | 5|jr:| d|jz| d|jzd| |_d| |_|j|_|r||_|||_|r||_|r||_|r||_|r||_t;|dsJt;|dst=d|zdS)N_lambda___annotations__)rrrrrrzarg%dr formatvaluecdS)Nr!)vals r z(FunctionMaker.__init__..wsBr*z%s=None=z**, name signaturez%You are decorating a non function: %s)shortsignaturerr7r docrmoduler isfunctionrgetattr annotationssetattr enumeratersys version_info formatargspecr8listrappendrrjoin__dict__copydictrhasattr TypeError)rfuncr7r8rr:r;funcdictargspecaiargallargs allshortargss r r zFunctionMaker.__init__bs' # 1 DIyJ&&& |DH/DK!$'' 1(..#*41BB#G#G ,::AD!WWa%8%89999' 2244FAsD'A+s3333#d**-9@B(6BBBCB$HID'$..#49ooG#' ??L|,sT\'9:::$++C$,,>????,s+++!_>>y1}555$++qqq!!,<====z?tdj'8999$++D4:,=>>>%)YYw%7%7DN*.))L*A*AD' M..00  DI  &DN  %$DM  DH  ! DK  ! DItV$$$$$t[)) LCdJKK K L Lrc |j|_t|dd|_t|di|_t|dd|_t|dd|_t|dd|_ tj d}|j d d }n#t$rd }YnwxYwt|d ||_ |j|dS) z2Update the signature of func with the data in selfr:NrIrr!rr>rr?r;)r7rr=r rG __defaults____kwdefaults__r,rA _getframe f_globalsgetAttributeErrorrupdate)rrLkwframe callermodules r r\zFunctionMaker.updates  tUD11 fb11 #D*b99%d,z&FunctionMaker.make..s.>>>#ciioo>>>r,)_func__call_z is overridden in  zsinglezError in generated code:)file __source__)varsDEFmatch SyntaxErrorgroupsetr9split NameErrorendswithnext_compile_countcompileexecprintrAstderrr\) r src_templevaldict addsourceattrssrcmor7namesnfilenamecoderLs r makezFunctionMaker.makes$t**$>r YYs^^ :ACGHH Hxx{{TF>>"177<<>>>>?? F FA(((QQQ DEEE)||D!!  4KC (40C+D+D*FF 3(33D x   ,3: > > > > #CJ ' ' ' ' ~  &"%E,  D""E""" s !D9D:Tc Pt|tr8|dd\} } | dd} d} nd} d} |} || | | |||} dd|D}| jd|z||fi|S)z Create a function from the strings name, signature and body. evaldict is the evaluation dictionary. If addsource is true an attribute __source__ is added to the result. The attributes attrs are added, if any. (r2Nr3ric3 K|] }d|zV dS)z Nr!)rdlines r z'FunctionMaker.create..s&FFD&4-FFFFFFrzdef %(name)s(%(signature)s): ) isinstancestrrbrsrF splitlinesr)r objbodyr}rr:r;r~rr7restr8rLribodys r createzFunctionMaker.creates c3   **322JD$SbS IDDDIDs4y(C@@ FFDOO4E4EFFFFFty9EA!9770577 7r)NNNNNNN)NF)NNNT) rrrr itertoolscountrwr r\r classmethodrr!rr r(r(Xs%Y_&&N7;@D7L7L7L7Lr!!!"    D2604777[777rr(ct||}t|d||}t|dr |j|_|S)zE decorate(func, caller) decorates a function using a caller. )rhrgz)return _call_(_func_, %(shortsignature)s) __wrapped__r)rIr(rrJr)rLcallerr}funs r decoraters_6$///H    9d  $ $Ct^$$-, Jrc|t||Stj|r-|j}d|jd|jd}n[tj|r|jdkrd}n|j}|j}n*|jj}|jj}t|t}t d|zd |||j | S) z=decorator(caller) converts a caller function into a decoratorNz decorator(z2) converts functions/generators into factories of z objectsr*r+)rh _decorate_z%s(func)zreturn _decorate_(func, _call_))r:r;r) rrisclassrlowerr<r __class____call__rIr(rr)r_funcr7r:r}s r decoratorrs v&&&v &$$&&+1???FOOOM  F # #& ?j ( (DD?Dn(..00o%6h777H   T<c&"3   r)_GeneratorContextManager)GeneratorContextManagerceZdZdZdS)ContextManagerc\t|dt|||S)zContext manager decoratorz.with _self_: return _func_(%(shortsignature)s))_self_rgr)r(rrI)rrLs r rzContextManager.__call__s7## B T * * *$>> >rN)rrrrr!rr rrs#>>>>>rrc8tj|||i|Srrr rgrOks r r r s!'0qq!zqzzBBBrc0tj||||Srrrs r r r 's'0q!Q???rcd}t|D]0\}}t||rd}nt||r|||<d}1|r||dSdS)z_ Append ``a`` to the list of the virtual ancestors, unless it is already included. TFN)r@ issubclassrE)rO vancestorsaddjvas r rErE2s C:&&2 b!   C E a   JqMC !rcs Jdddztjdffd fd}dz|_|S)zr Factory of decorators turning a function into a generic function dispatching on the given arguments. zNo dispatch args passedz(%s,)r6r/c|t|tr/tdtt||fzdS)z5Make sure one passes the expected number of argumentszExpected %d arguments, got %d%sN)lenrK) argumentswrongmsg dispatch_argss r checkzdispatch_on..checkLsh 5Y]!3!3 4 4 G= //YEFGG G G Grc Fttj}t |kstd zi fdfdfd}fd}fd}td zt ||| S) z4Decorator turning a function into a generic functionzUnknown dispatch arguments %sc |dttD}D]C}t|||D]/\}}}t||r||jvrt ||0Dd|DS)zU Get a list of sets of virtual ancestors for the given types cg|]}gSr!r!)rd_s r rezIdispatch_on..gen_func_dec..vancestors..as999!2999rc,g|]}t|Sr!)rr)rdras r rezIdispatch_on..gen_func_dec..vancestors..fs***CGG***r)rangerzipr__mro__rE) typesrastypes_ttype_rrrtypemaps r rz5dispatch_on..gen_func_dec..vancestors\s E%LLL99uS%7%788999C! * *$'vs$;$;**LAub!!U++*QY0F0Fub)))*+*c*** *rcF|g}t||D]~\}}t|}|dkrtd|d||dkr%|\}td||fijdd}n|j}||dd|S)zG Get a list of virtual MROs, one for each type r2zAmbiguous dispatch for z: rNr3)rr RuntimeErrortyperrE) rlistsrvasn_vasrmrorrs r ancestorsz4dispatch_on..gen_func_dec..ancestorshs E%LLLEeZZ%788 ' '3C199&,;<11ccBDDDaZZCBsQGR008.gen_func_dec..register..decs9nQ'',hk6AJ;NOOO!"rr!)rrrrs` r registerz3dispatch_on..gen_func_dec..register{s= E%LLL        Jrc|g}tj|D].}|td|D/|S)zI An utility to introspect the dispatch algorithm c3$K|] }|jV dSr)r)rdrOs r rzKdispatch_on..gen_func_dec..dispatch_info..s$ 9 9 9 9 9 9 9 9r)rproductrEtuple)rlstancrrs r dispatch_infoz8dispatch_on..gen_func_dec..dispatch_infosf E%LLLC ())U*;< ; ; 5 9 9S 9 9 999::::Jrctd|D} |}||i|S#t$rYnwxYwtj|}t ||D]#} |}| ||i|cS$|i|S)Nc34K|]}t|VdSr)rrcs r rzGdispatch_on..gen_func_dec.._dispatch..s(==$s))======r)rKeyErrorrrrvrZ) rrr]rr combinationsrrrLrs r _dispatchz4dispatch_on..gen_func_dec.._dispatchs==}=====E &ENq$~"~~%    %,ii.?@L    & * *KK''=1d>b>>)))!4$$$ $s , 99z#return _f_(%s, %%(shortsignature)s))_f_)rdefaultrrrrr)rrrrrtr(rrI) rLargsetrrrrrrrr dispatch_strs ` @@@r gen_func_decz!dispatch_on..gen_func_decRs5^D)).//=!!V++;lJKK K + + + + + + +      &             % % % % % % %$## 7,F Y   (D i'T $;; ;r dispatch_on)rFrner)rrrrs` @@r rrDs 33333=TYY}555L'{GGGGGG V;V;V;V;V;V;V;p*L8L rr)$r __future__r collectionsrrrrerA __version__rBrr object namedtupler$rrxrnr(rr contextlibr ImportErrorrrr initrrn_argsrcontextmanagerrErr!rr rs<&%%%%%  t&&&&&&(((((((($%%% !+  , . .GGG bj122J7J7J7J7J7FJ7J7J7Z   8O3333333OOONNNNNNNNO>>>>>->>>~.788 TY Q;;t|;CCC'N q[[T\[ q[[@@@'N>** $gggggsB BB