grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026B ÐhD³* ÒÐã @sŽdZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlmZddlmZmZeƒZx"ej ¡D]\ZZeede<q²WdZdd„Zd d „Zd d „Z d d„Z!dd„Z"e#edƒ�r dd„Z$ndd„Z$e#edƒ�r*dd„Z%ndd„Z%dd„Z&dd„Z'dd„Z(dd „Z)d!d"„Z*d#d$„Z+d%d&„Z,d'd(„Z-d)d*„Z.d+d,„Z/d-d.„Z0d/d0„Z1d1d2„Z2d3d4„Z3dód5d6„Z4ed7d8ƒZ5d9d:„Z6d;d<„Z7dd=œd>d?„Z8d@dA„Z9dBdC„Z:dDdE„Z;dFdG„ZdLdM„Z?dNdO„Z@dôdPdQ„ZAiZBiZCdõdRdS„ZDdTdU„ZEdVdW„ZFGdXdY„dYeGƒZHGdZd[„d[ƒZId\d]„ZJd^d_„ZKd`da„ZLdbdc„ZMdödedf„ZNedgdhƒZOdidj„ZPdkdl„ZQedmdnƒZRdodp„ZSedqdrƒZTdsdt„ZUedudvƒZVdwdx„ZWd÷dydz„ZXd{d|„ZYdddd}iieZd~d„d€d„d�d„d‚d„eXf dƒd„„Z[eZd…d„d†d„d‡d„fdˆd‰„Z\dŠd‹„Z]dŒd�„Z^dŽd�„Z_ed�d‘ƒZ`d’d“„Zaed”d•ƒZbdød—d˜„Zcd™dš„Zded›dœebjeƒZfdùd�dž„ZgdúdŸd „Zhd¡d¢„Zidûd£d¤„Zjdüd¥d¦„ZkelƒZmd§d¨„Znd©dª„Zod«d¬„Zpd­d®„Zqd¯d°„Zremfd±d²„Zsd³Ztd´ZudµZvd¶Zwd·d¸„Zxd¹dº„Zyd»Zzd¼Z{d½Z|d¾Z}d¿dÀ„Z~dÁd„Ze€e€j�ƒZ‚e€eƒj�ƒZ„e€e…j†dÃZ‡e‚e„e‡ejˆfZ‰dÄdÅ„ZŠdýdÆdÇ„Z‹dÈdÉ„ZŒdÊdË„Z�dÌdÍ„ZŽdÎdÏ„Z�dÐdÑ„Z�dþdÓdÔ„Z‘dÿdÕdÖ„Z’d×dØ„Z“dÒdÒdÙœdÚdÛ„Z”GdÜdÝ„d݃Z•GdÞdß„d߃Z–Gdàdá„dáej—ƒZ˜e˜j™Zše˜j›Zœe˜j�Zže˜jŸZ e˜j¡Z¢ešdâeœdãeždäe dåe¢dæiZ£e£j¤Z¥Gdçdè„dèƒZ¦Gdédê„dêƒZ§Gdëdì„dìƒZ¨dÒdíœdîdï„Z©dðdñ„Zªe«dòk�rŠeªƒdS()zKa-Ping Yee z'Yury Selivanov éN)Ú attrgetter)Ú namedtupleÚ OrderedDictZCO_icCs t|tjƒS)N)Ú isinstanceÚtypesÚ ModuleType)Úobject©r ú,/opt/alt/python37/lib64/python3.7/inspect.pyÚismodule?sr cCs t|tƒS)N)rÚtype)rr r r ÚisclassHsr cCs t|tjƒS)N)rrÚ MethodType)rr r r ÚismethodPsrcCs:t|ƒst|ƒst|ƒrdSt|ƒ}t|dƒo8t|dƒ S)NFÚ__get__Ú__set__)r rÚ isfunctionr Úhasattr)rÚtpr r r ÚismethoddescriptorZsrcCs8t|ƒst|ƒst|ƒrdSt|ƒ}t|dƒo6t|dƒS)NFrr)r rrr r)rrr r r ÚisdatadescriptornsrÚMemberDescriptorTypecCs t|tjƒS)N)rrr)rr r r Úismemberdescriptor~srcCsdS)NFr )rr r r r†sÚGetSetDescriptorTypecCs t|tjƒS)N)rrr)rr r r Úisgetsetdescriptor�srcCsdS)NFr )rr r r r—scCs t|tjƒS)N)rrÚ FunctionType)rr r r ržs rcCs tt|ƒst|ƒo|jjt@ƒS)N)ÚboolrrÚ__code__Úco_flagsZ CO_GENERATOR)rr r r Úisgeneratorfunction«srcCs tt|ƒst|ƒo|jjt@ƒS)N)rrrrrZ CO_COROUTINE)rr r r Úiscoroutinefunction³sr cCs tt|ƒst|ƒo|jjt@ƒS)N)rrrrrZCO_ASYNC_GENERATOR)rr r r Úisasyncgenfunction»sr!cCs t|tjƒS)N)rrÚAsyncGeneratorType)rr r r Ú isasyncgenÄsr#cCs t|tjƒS)N)rrÚ GeneratorType)rr r r Ú isgeneratorÈsr%cCs t|tjƒS)N)rrÚ CoroutineType)rr r r Ú iscoroutineÙsr'cCs6t|tjƒp4t|tjƒr(t|jjt@ƒp4t|tj j ƒS)N) rrr&r$rÚgi_coderZCO_ITERABLE_COROUTINEÚ collectionsÚabcÚ Awaitable)rr r r Ú isawaitableÝs  r,cCs t|tjƒS)N)rrÚ TracebackType)rr r r Ú istracebackäsr.cCs t|tjƒS)N)rrÚ FrameType)rr r r Úisframeîs r0cCs t|tjƒS)N)rrÚCodeType)rr r r Úiscodeüsr2cCs t|tjƒS)N)rrÚBuiltinFunctionType)rr r r Ú isbuiltinsr4cCs t|ƒpt|ƒpt|ƒpt|ƒS)N)r4rrr)rr r r Ú isroutinesr5cCs¬t|tƒsdS|jt@rdStt|ƒtjƒs0dSt|dƒr>dSx&|j  ¡D]\}}t |ddƒrJdSqJWx@|j D]6}x0t |ddƒD] }t ||dƒ}t |ddƒr€dSq€WqnWdS)NFTÚ__abstractmethods__Ú__isabstractmethod__r ) rr Ú __flags__ÚTPFLAGS_IS_ABSTRACTÚ issubclassr*ÚABCMetarÚ__dict__ÚitemsÚgetattrÚ __bases__)rÚnameÚvalueÚbaser r r Ú isabstract$s"        rCc Cs$t|ƒr|ft|ƒ}nd}g}tƒ}t|ƒ}yBx<|jD]2}x,|j ¡D]\}}t|tj ƒrH|  |¡qHWq8WWnt k r„YnXxˆ|D]€} yt || ƒ} | |kr¨t ‚Wn:t k räx$|D]}| |jkrÀ|j| } PqÀWwŒYnX|rô|| ƒ�r|  | | f¡|  | ¡qŒW|jdd„d�|S)Nr cSs|dS)Nrr )Zpairr r r Úeózgetmembers..)Úkey)r ÚgetmroÚsetÚdirr?r<r=rrÚDynamicClassAttributeÚappendÚAttributeErrorr>ÚaddÚsort) rZ predicateÚmroÚresultsÚ processedÚnamesrBÚkÚvrFrAr r r Ú getmembers<s:       rUÚ Attributezname kind defining_class objectc Csht|ƒ}tt|ƒƒ}tdd„|Dƒƒ}|f|}||}t|ƒ}x:|D]2}x,|j ¡D]\}}t|tjƒrV|  |¡qVWqFWg} t ƒ} �xÚ|D�]Ð} d} d} d}| | k�rŒy| dkr¼t dƒ‚t || ƒ} Wn"t k rê}zWdd}~XYn¢Xt | d| ƒ} | |k�rŒd} d}x(|D] }t || dƒ}|| k�r|}�qWxH|D]@}y|  || ¡}Wntk �rh�w:YnX|| k�r:|}�q:W|dk �rŒ|} x4|D],}| |jk�r’|j| }| |k�rº|} P�q’W| dk�rÎqŽ| dk �rÜ| n|}t|ttjfƒ�rüd}|}nFt|ttjfƒ�rd}|}n*t|tƒ�r.d}|}nt|ƒ�r>d }nd }|   t| || |ƒ¡|  | ¡qŽW| S) Ncss|]}|ttfkr|VqdS)N)r r)Ú.0Úclsr r r ú ‡sz'classify_class_attrs..r<z)__dict__ is special, don't want the proxyÚ __objclass__z static methodz class methodÚpropertyÚmethodÚdata)rGr ÚtuplerIr<r=rrrJrKrHÚ Exceptionr>Ú __getattr__rLÚ staticmethodÚBuiltinMethodTypeÚ classmethodÚClassMethodDescriptorTyper[r5rVrM)rXrOZmetamroZ class_basesZ all_basesrRrBrSrTÚresultrQr@ZhomeclsZget_objZdict_objÚexcZlast_clsZsrch_clsZsrch_objÚobjÚkindr r r Úclassify_class_attrsjs€                        ricCs|jS)N)Ú__mro__)rXr r r rGÞsrG)Ústopcs€ˆdkrdd„}n ‡fdd„}|}t|ƒ|i}t ¡}xD||ƒrz|j}t|ƒ}||ksbt|ƒ|krptd |¡ƒ‚|||<q8W|S)NcSs t|dƒS)NÚ __wrapped__)r)Úfr r r Ú _is_wrapperõszunwrap.._is_wrappercst|dƒoˆ|ƒ S)Nrl)r)rm)rkr r rnøsz!wrapper loop when unwrapping {!r})ÚidÚsysÚgetrecursionlimitrlÚlenÚ ValueErrorÚformat)ÚfuncrkrnrmZmemoZrecursion_limitZid_funcr )rkr Úunwrapäs     rvcCs| ¡}t|ƒt| ¡ƒS)N)Ú expandtabsrrÚlstrip)ÚlineZexpliner r r Ú indentsizesrzcCsRtj |j¡}|dkrdSx&|j d¡dd…D]}t||ƒ}q0Wt|ƒsNdS|S)NÚ.éÿÿÿÿ)rpÚmodulesÚgetÚ __module__Ú __qualname__Úsplitr>r )rurXr@r r r Ú _findclass sr‚c CsÖt|ƒrRxD|jD]:}|tk ry |j}Wntk r<wYnX|dk r|SqWdSt|ƒr–|jj}|j}t|ƒrŽt t ||dƒdƒ|jkrŽ|}n|j }nðt |ƒrÈ|j}t |ƒ}|dksÂt ||ƒ|k rÆdSn¾t |ƒ�r |j}|j}t|ƒ�r|jd||jk�r|}n|j }nzt|tƒ�rL|j}|j}t |ƒ}|dk�sFt ||ƒ|k �r†dSn:t|ƒ�s`t|ƒ�r‚|j}|j}t ||ƒ|k �r†dSndSxJ|jD]@}yt ||ƒj}Wntk �r¼�wŽYnX|dk �rŽ|S�qŽWdS)NÚ__func__r{)r rjrÚ__doc__rLrrƒÚ__name__Ú__self__r>Ú __class__rr‚r4r€rr[ÚfgetrrrZ)rgrBÚdocr@ÚselfrXrur r r Ú_finddocsb         r‹c Csdy |j}Wntk rdSX|dkrNy t|ƒ}Wnttfk rLdSXt|tƒs\dSt|ƒS)N)r„rLr‹Ú TypeErrorrÚstrÚcleandoc)rr‰r r r ÚgetdocRs   r�cCsøy| ¡ d¡}Wntk r&dSXtj}x:|dd…D]*}t| ¡ƒ}|rr›rŒrtr rrpr}r~rrrƒrrr.Útb_framer0Úf_coder2Ú co_filenamer r…)rÚmoduler r r Úgetfile‚s,   r cCsTtj |¡}dd„tj ¡Dƒ}| ¡x&|D]\}}| |¡r.|d|…Sq.WdS)NcSsg|]}t|ƒ |f‘qSr )rr)rWÚsuffixr r r ú  sz!getmodulename..)ÚosÚpathÚbasenameÚ importlibÚ machineryÚ all_suffixesrNÚendswith)r¤ZfnameÚsuffixesZneglenr¡r r r Ú getmodulenameœs  r«csºt|ƒ‰tjjdd…}|tjjdd…7}t‡fdd„|Dƒƒr`tj ˆ¡dtjj d‰nt‡fdd„tjj Dƒƒr~dStj  ˆ¡rŽˆSt t |ˆƒddƒdk r¨ˆSˆtjkr¶ˆSdS)Nc3s|]}ˆ |¡VqdS)N)r©)rWÚs)Úfilenamer r rY¯sz getsourcefile..rc3s|]}ˆ |¡VqdS)N)r©)rWr¬)r­r r rY²sÚ __loader__)r r¦r§ÚDEBUG_BYTECODE_SUFFIXESÚOPTIMIZED_BYTECODE_SUFFIXESÚanyr£r¤ÚsplitextÚSOURCE_SUFFIXESÚEXTENSION_SUFFIXESÚexistsr>Ú getmoduleÚ linecacheÚcache)rZall_bytecode_suffixesr )r­r Ú getsourcefile¨s   r¹cCs,|dkrt|ƒpt|ƒ}tj tj |¡¡S)N)r¹r r£r¤ÚnormcaseÚabspath)rÚ _filenamer r r Ú getabsfile¾sr½c Cs‚t|ƒr |St|dƒr$tj |j¡S|dk rD|tkrDtj t|¡Syt||ƒ}Wntk rfdSX|tkr€tj t|¡Sxntj  ¡  ¡D]\\}}t|ƒr�t|dƒr�|j }|t  |d¡krÂq�|t |<t|ƒ}|j t|<ttj |¡<q�W|tk�r tj t|¡Stjd}t|dƒ�s$dSt||j ƒ�rLt||j ƒ}||k�rL|Stjd}t||j ƒ�r~t||j ƒ} | |k�r~|SdS)Nrr›Ú__main__r…Úbuiltins)r rrpr}r~rÚ modulesbyfiler½rŒÚcopyr=r›Ú_filesbymodnamer…r£r¤Úrealpathr>) rr¼ÚfileÚmodnamerŸrmÚmainZ mainobjectZbuiltinZ builtinobjectr r r r¶ÊsD         r¶c CsÒt|ƒ}|rt |¡n$t|ƒ}| d¡r4| d¡szsource code not availablezcould not get source coderz^(\s*)class\s*z\bÚcr‘zcould not find class definitionÚco_firstlinenoz"could not find function definitionz>^(\s*def\s)|(\s*async\s+def\s)|(.*(?yt|ƒ\}}Wnttfk r(dSXt|ƒròd}|rR|ddd…dkrRd}x(|t|ƒkrz|| ¡dkrz|d}qTW|t|ƒkrî||dd…dkrîg}|}x>|t|ƒkrâ||dd…dkrâ| || ¡¡|d}q¦Wd |¡S�nH|dk�r:t ||ƒ}|d}|dk�r:||  ¡dd…dk�r:t ||ƒ|k�r:|| ¡  ¡g}|dk�rØ|d}|| ¡  ¡}x\|dd…dk�rÖt ||ƒ|k�rÖ|g|dd…<|d}|dk�rÂP|| ¡  ¡}�q|Wx*|�r|d ¡dk�rg|dd…<�qÚWx*|�r.|d ¡dk�r.g|dd…<�qWd |¡SdS) Nréz#!r‘)Úú#r×rÖr|) rÔrÍrŒr rrÚstriprKrwr—rzrx)rr˜rÓÚstartZcommentsÚendr™Úcommentr r r Ú getcommentsAsJ  "   $ & rÜc@s eZdZdS)Ú EndOfBlockN)r…rr€r r r r rÝnsrÝc@seZdZdd„Zdd„ZdS)Ú BlockFindercCs.d|_d|_d|_d|_d|_d|_d|_dS)NrFr‘)r™ÚislambdaÚstartedÚpasslineÚ indecoratorÚdecoratorhasargsÚlast)rŠr r r Ú__init__rszBlockFinder.__init__cCs|js@|js@|dkrd|_n|dkr8|dkr2d|_d|_d|_nØ|dkrV|jrTd|_nÂ|dkrr|jrpd|_d|_n¦|tjkrªd|_|d|_|jr–t‚|jr¨|js¨d|_nn|jr²nf|tj krÐ|j d |_ d|_nH|tj krö|j d |_ |j dkrôt‚n"|j dk�r|tj tj fk�rt‚dS) Nú@T)ÚdefÚclassÚlambdaréú(ú)Frr‘)ràrârßrárãÚtokenizeÚNEWLINErärÝÚINDENTr™ÚDEDENTÚCOMMENTÚNL)rŠr ÚtokenZsrowcolZerowcolryr r r Ú tokeneater{sB         zBlockFinder.tokeneaterN)r…rr€rårór r r r rÞps rÞc CsZtƒ}y,t t|ƒj¡}x|D]}|j|ŽqWWnttfk rJYnX|d|j…S)N) rÞrìÚgenerate_tokensÚiterÚ__next__rórÝÚIndentationErrorrä)r˜Z blockfinderÚtokensZ_tokenr r r Úgetblock§s rùcCsbt|ƒ}t|ƒ\}}t|ƒr"|j}t|ƒs>t|ƒrF|jjdkrF|dfSt||d…ƒ|dfSdS)Nzrr‘) rvrÔr.rœr r0r�Úco_namerù)rr˜rÓr r r Úgetsourcelines²s rûcCst|ƒ\}}d |¡S)NrÖ)rûr—)rr˜rÓr r r Ú getsourceÇs rücCsVg}|jtddƒd�x:|D]2}| ||jf¡||kr| t||||ƒ¡qW|S)Nrr…)rF)rNrrKr?Úwalktree)ÚclassesÚchildrenÚparentrPrÉr r r rýÑs rýFcCs¤i}g}xn|D]f}|jrbxZ|jD]<}||kr4g||<|||krN|| |¡|r ||kr Pq Wq||kr| |¡qWx|D]}||kr~| |¡q~Wt||dƒS)N)r?rKrý)rþÚuniquerÿÚrootsrÉrr r r Ú getclasstreeÛs"      rÚ Argumentszargs, varargs, varkwcCs t|ƒ\}}}}t||||ƒS)N)Ú _getfullargsr)ÚcoÚargsÚvarargsÚ kwonlyargsÚvarkwr r r Úgetargsøsr c Csœt|ƒstd |¡ƒ‚|j}|j}|j}t|d|…ƒ}t||||…ƒ}d}||7}d}|jt@rx|j|}|d}d}|jt @r�|j|}||||fS)Nz{!r} is not a code objectrr‘) r2rŒrtÚ co_argcountÚ co_varnamesÚco_kwonlyargcountÚlistrÚ CO_VARARGSÚCO_VARKEYWORDS) rÚnargsrRZnkwargsrr Ústeprr r r r rs"    rÚArgSpeczargs varargs keywords defaultscCsDtjdtdd�t|ƒ\}}}}}}}|s.|r6tdƒ‚t||||ƒS)Nzhinspect.getargspec() is deprecated since Python 3.0, use inspect.signature() or inspect.getfullargspec()rÕ)Ú stacklevelzdFunction has keyword-only parameters or annotations, use getfullargspec() API which can support them)ÚwarningsÚwarnÚDeprecationWarningÚgetfullargspecrsr)rurrr Údefaultsr ÚkwonlydefaultsÚannr r r Ú getargspec s  rÚ FullArgSpeczGargs, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, annotationsc Cs`yt|ddtd�}Wn,tk r@}ztdƒ|‚Wdd}~XYnXg}d}d}g}d}i}d}i} |j|jk rx|j|d<x¾|j ¡D]°} | j} | j } | t kr¨|  | ¡nv| t krÔ|  | ¡| j | jk rÒ|| j f7}nJ| tkrâ| }n<| tk�r|  | ¡| j | jk �r| j | | <n| tk�r| }| j| jk r„| j|| <q„W| �sBd} |�sLd}t|||||| |ƒS)NF)Úfollow_wrapper_chainsÚskip_bound_argÚsigclszunsupported callabler Úreturn)Ú_signature_from_callableÚ Signaturer_rŒÚreturn_annotationÚemptyÚ parametersÚvaluesrhr@Ú_POSITIONAL_ONLYrKÚ_POSITIONAL_OR_KEYWORDÚdefaultÚ_VAR_POSITIONALÚ _KEYWORD_ONLYÚ _VAR_KEYWORDÚ annotationr) ruÚsigÚexrrr r rÚ annotationsÚ kwdefaultsÚparamrhr@r r r rAsT            rÚArgInfozargs varargs keywords localscCs t|jƒ\}}}t||||jƒS)N)r r�r5Úf_locals)Úframerrr r r r Ú getargvaluesžsr8cCsVt|ddƒdkr t|ƒ dd¡St|tƒrN|jd|fkr>|jS|jd|jSt|ƒS)NrÚtypingztyping.rÖr¿r{)r>ÚreprÚreplacerr rr€)r/Z base_moduler r r Úformatannotation¨s r<cst|ddƒ‰‡fdd„}|S)Nrcs t|ˆƒS)N)r<)r/)rŸr r Ú_formatannotation³sz5formatannotationrelativeto.._formatannotation)r>)rr=r )rŸr Úformatannotationrelativeto±s  r>r cCsd|S)NÚ*r )r@r r r rDºrErDcCsd|S)Nz**r )r@r r r rD»rEcCs dt|ƒS)Nú=)r:)rAr r r rD¼rEcCsd|S)Nz -> r )Útextr r r rD½rEc sDddlm} | dtdd�‡‡‡fdd„}g}|rBt|ƒt|ƒ}xFt|ƒD]:\}}||ƒ}|r|||kr||| |||ƒ}| |¡qLW|dk r¦| |||ƒƒ¡n|r´| d¡|rôx:|D]2}||ƒ}|ræ||kræ|| ||ƒ7}| |¡q¾W|dk �r| | ||ƒƒ¡d d  |¡d }d ˆk�r@|| ˆˆd ƒƒ7}|S) Nr)rzc`formatargspec` is deprecated since Python 3.5. Use `signature` and the `Signature` object directlyrÕ)rcs(ˆ|ƒ}|ˆkr$|dˆˆ|ƒ7}|S)Nz: r )Úargre)r2r<Ú formatargr r ÚformatargandannotationÒsz-formatargspec..formatargandannotationr?rêz, rër")rrrrrÚ enumeraterKr—)rrr rr rr2rCÚ formatvarargsÚ formatvarkwÚ formatvalueZ formatreturnsr<rrDÚspecsZ firstdefaultršrBÚspecZ kwonlyargrer )r2r<rCr Ú formatargspec·s:       rKcCsd|S)Nr?r )r@r r r rDórEcCsd|S)Nz**r )r@r r r rDôrEcCs dt|ƒS)Nr@)r:)rAr r r rDõrEc CsŠ|||fdd„}g} x&tt|ƒƒD]} |  ||| ƒ¡q"W|rZ|  ||ƒ|||ƒ¡|rx|  ||ƒ|||ƒ¡dd | ¡dS)NcSs||ƒ|||ƒS)Nr )r@ÚlocalsrCrHr r r Úconvertüsz formatargvalues..convertrêz, rë)r•rrrKr—) rrr rLrCrFrGrHrMrIršr r r Úformatargvaluesñs rNcs˜‡fdd„|Dƒ}t|ƒ}|dkr,|d}n>|dkr@dj|Ž}n*dj|dd…Ž}|dd…=d  |¡|}td |||rzd nd |dkrˆd nd|fƒ‚dS)Ncsg|]}|ˆkrt|ƒ‘qSr )r:)rWr@)r(r r r¢ sz&_missing_arguments..r‘rrÕz {} and {}z , {} and {}éþÿÿÿz, z*%s() missing %i required %s argument%s: %sÚ positionalz keyword-onlyrÖr¬)rrrtr—rŒ)Úf_nameZargnamesÚposr(rRÚmissingr¬Útailr )r(r Ú_missing_argumentss    rUc sÒt|ƒ|}t‡fdd„|Dƒƒ}|r:|dk} d|f} n2|rTd} d|t|ƒf} nt|ƒdk} tt|ƒƒ} d} |ržd} | |dkr†d nd||dkr–d ndf} td || | r®d nd|| |dkrÄ|sÄd nd fƒ‚dS) Ncsg|]}|ˆkr|‘qSr r )rWrB)r(r r r¢sz_too_many..r‘z at least %dTz from %d to %drÖz7 positional argument%s (and %d keyword-only argument%s)r¬z5%s() takes %s positional argument%s but %d%s %s givenZwasZwere)rrr�rŒ) rQrZkwonlyrZdefcountZgivenr(ZatleastZ kwonly_givenÚpluralr0Z kwonly_sigÚmsgr )r(r Ú _too_manys$    rXcOs4|d}|dd…}t|ƒ}|\}}}}} } } |j} i} t|ƒrV|jdk rV|jf|}t|ƒ}t|ƒ}|rrt|ƒnd}t||ƒ}x t|ƒD]}||| ||<qŠW|rºt||d…ƒ| |<t|| ƒ}|rÒi| |<xd|  ¡D]X\}}||k�r|�st d| |fƒ‚|| ||<qÜ|| k�r,t d| |fƒ‚|| |<qÜW||k�r\|�s\t | || |||| ƒ||k�rØ|d||…}x&|D]}|| k�r|t | |d| ƒ�q|Wx8t |||d…ƒD] \}}|| k�r´||| |<�q´Wd}x>| D]6}|| k�râ| �r|| k�r| || |<n|d7}�qâW|�r0t | | d| ƒ| S)Nrr‘z*%s() got an unexpected keyword argument %rz(%s() got multiple values for argument %rTF)rr…rr†rrr”r•r^rHr=rŒrXrUrE)Zfunc_and_positionalZnamedrurPrJrrr rr rrrQZ arg2valueZnum_posZnum_argsZ num_defaultsÚnršZpossible_kwargsÚkwrAZreqrBrSÚkwargr r r Ú getcallargs-sd                 r\Ú ClosureVarsz"nonlocals globals builtins unboundc Cst|ƒr|j}t|ƒs$td |¡ƒ‚|j}|jdkr:i}ndd„t|j|jƒDƒ}|j }|  dt j ¡}t |ƒrt|j }i}i}tƒ}xn|jD]d}|dkr˜qŠy||||<WqŠtk rìy||||<Wntk ræ| |¡YnXYqŠXqŠWt||||ƒS)Nz{!r} is not a Python functioncSsi|]\}}|j|“qSr )Ú cell_contents)rWÚvarZcellr r r ú ‚sz"getclosurevars..Ú __builtins__)ÚNoneÚTrueÚFalse)rrƒrrŒrtrÚ __closure__ÚzipÚ co_freevarsÚ __globals__r~r¿r<r rHÚco_namesÚKeyErrorrMr]) ruÚcodeZ nonlocal_varsZ global_nsZ builtin_nsZ global_varsZ builtin_varsZ unbound_namesr@r r r Úgetclosurevarsms8   rlÚ Tracebackz+filename lineno function code_context indexr‘cCsÚt|ƒr|j}|j}n|j}t|ƒs2td |¡ƒ‚t|ƒp@t|ƒ}|dkr¾|d|d}yt |ƒ\}}Wnt k r†d}}YqÆXt dt |t |ƒ|ƒƒ}||||…}|d|}nd}}t|||jj||ƒS)Nz'{!r} is not a frame or traceback objectrr‘rÕ)r.Ú tb_linenorœÚf_linenor0rŒrtr¹r rÔrÍÚmaxr”rrrmr�rú)r7ÚcontextÚlinenor­rÙr˜rÓÚindexr r r Ú getframeinfo¤s$rtcCs|jS)N)ro)r7r r r Ú getlinenoÄsruÚ FrameInfo)r7cCs6g}x,|r0|ft||ƒ}| t|Ž¡|j}qW|S)N)rtrKrvÚf_back)r7rqÚ framelistÚ frameinfor r r ÚgetouterframesËs  rzcCs8g}x.|r2|jft||ƒ}| t|Ž¡|j}qW|S)N)rœrtrKrvÚtb_next)Útbrqrxryr r r Úgetinnerframes×s  r}cCsttdƒrt d¡SdS)NÚ _getframer‘)rrpr~r r r r Ú currentframeãsrcCstt d¡|ƒS)Nr‘)rzrpr~)rqr r r Ústackçsr€cCstt ¡d|ƒS)NrÕ)r}rpÚexc_info)rqr r r Útraceësr‚cCstjd |¡S)Nrj)r r<r)Úklassr r r Ú_static_getmroôsr„cCs8i}yt |d¡}Wntk r(YnXt ||t¡S)Nr<)rÚ__getattribute__rLÚdictr~Ú _sentinel)rgÚattrZ instance_dictr r r Ú_check_instance÷s r‰c CsFx@t|ƒD]4}tt|ƒƒtkr y |j|Stk r<Yq Xq WtS)N)r„Ú_shadowed_dictr r‡r<rj)rƒrˆÚentryr r r Ú _check_classs  rŒcCs&y t|ƒWntk r dSXdS)NFT)r„rŒ)rgr r r Ú_is_type s  r�c Csntjd}x^t|ƒD]R}y| |¡d}Wntk r>YqXt|ƒtjkrb|jdkrb|j|ks|SqWt S)Nr<) r r<r„rrjrrr…rZr‡)rƒÚ dict_attrr‹Z class_dictr r r rŠs   rŠc Cst}t|ƒs>t|ƒ}t|ƒ}|tks2t|ƒtjkrBt||ƒ}n|}t||ƒ}|tk r„|tk r„tt|ƒdƒtk r„tt|ƒdƒtk r„|S|tk r�|S|tk rœ|S||krêxDtt|ƒƒD]4}tt|ƒƒtkr²y |j |St k räYq²Xq²W|tk rö|St |ƒ‚dS)Nrr) r‡r�r rŠrrr‰rŒr„r<rjrL)rgrˆr+Zinstance_resultrƒrŽZ klass_resultr‹r r r Úgetattr_statics6     r�Ú GEN_CREATEDÚ GEN_RUNNINGÚ GEN_SUSPENDEDÚ GEN_CLOSEDcCs,|jr tS|jdkrtS|jjdkr(tStS)Nr|)Ú gi_runningr‘Úgi_framer“Úf_lastir�r’)Ú generatorr r r ÚgetgeneratorstateSs   r˜cCs:t|ƒstd |¡ƒ‚t|ddƒ}|dk r2|jjSiSdS)Nz{!r} is not a Python generatorr•)r%rŒrtr>r•r6)r—r7r r r Úgetgeneratorlocalses  r™Ú CORO_CREATEDÚ CORO_RUNNINGÚCORO_SUSPENDEDÚ CORO_CLOSEDcCs,|jr tS|jdkrtS|jjdkr(tStS)Nr|)Ú cr_runningr›Úcr_framer�r–ršrœ)Ú coroutiner r r Úgetcoroutinestate}s   r¡cCs"t|ddƒ}|dk r|jSiSdS)NrŸ)r>r6)r r7r r r Úgetcoroutinelocals�s r¢Ú from_bytescCs6yt||ƒ}Wntk r"dSXt|tƒs2|SdS)N)r>rLrÚ_NonUserDefinedCallables)rXZ method_nameZmethr r r Ú"_signature_get_user_defined_method«s  r¥c Csœ|j}t| ¡ƒ}|jpd}|jp$i}|r2||}y|j||Ž}Wn6tk rx}zd |¡} t| ƒ|‚Wdd}~XYnXd} �x | ¡D�]ü\} } y|j | } Wnt k r¶YnlX| j t krÎ|  | ¡qŠ| j tk�r| |krød} | j| d�|| <n|  | j¡qŠ| j tk�r"| j| d�|| <| rŠ| j tk�rV|| jtd�}||| <| | ¡qŠ| j ttfk�rr| | ¡qŠ| j tkrŠ|  | j¡qŠW|j| ¡d�S)Nr z+partial object {!r} has incorrect argumentsFT)r+)rh)r')r'rr=rÚkeywordsÚ bind_partialrŒrtrsÚ argumentsrjrhr)r–r*r;r@r-Ú move_to_endr.r,r()Ú wrapped_sigÚpartialZ extra_argsZ old_paramsÚ new_paramsZ partial_argsZpartial_keywordsZbar1rWZtransform_to_kwonlyÚ param_namer4Z arg_valueZ new_paramr r r Ú_signature_get_partial»sL              r®cCslt|j ¡ƒ}|r$|djttfkr,tdƒ‚|dj}|ttfkrP|dd…}n|t k r`tdƒ‚|j |d�S)Nrzinvalid method signaturer‘zinvalid argument type)r') r^r'r(rhr.r-rsr*r)r,r;)r0Úparamsrhr r r Ú_signature_bound_methods  r°cCs&t|ƒp$t|ƒp$t|tƒp$|ttfkS)N)r4rrr¤r r)rgr r r Ú_signature_is_builtin!s r±cCs”t|ƒrt|ƒrdSt|ddƒ}t|ddƒ}t|dtƒ}t|dtƒ}t|ddƒ}t|tjƒo’t|tƒo’|dksxt|tƒo’|dksŠt|t ƒo’t|t ƒS)NFr…rÚ __defaults__Ú__kwdefaults__Ú__annotations__) Úcallabler r>Ú_voidrrr1r�r^r†)rgr@rkrr3r2r r r Ú_signature_is_functionlike-s       r·cCs<| d¡}|dkr| d¡}| d¡}| d¡}|d|…S)Nú,r|rëú:r@rÕ)Úfind)rJrRZcposr r r Ú_signature_get_bound_paramFs    r»cCs$|s|ddfSd}d}dd„| d¡Dƒ}t|ƒj}t |¡}d}d}g}|j} d} tj} tj} t|ƒ} x¦|D]ž} | j | j }}|| kr¾|dkr¨|ršd}qnd}| d7} qn|d kr¾d}| d}qn|| krÔ|d krÔ| }qn|rôd}|| krì|d ksô| d ƒ| |ƒ|dkrn| d ƒqnWd  |¡}|||fS)NcSsg|]}| d¡‘qS)Úascii)Úencode)rWÚlr r r r¢psz6_signature_strip_non_python_syntax..r�Frr¸Tr‘ú/ú$rëz, ú rÖ) r�rõrörìrKròÚOPÚ ERRORTOKENÚnextr Ústringr—)Ú signatureÚself_parameterÚlast_positional_onlyr˜r—Z token_streamZ delayed_commaZskip_next_commarArMZcurrent_parameterrÂrÃÚtr rÅÚclean_signaturer r r Ú"_signature_strip_non_python_syntax]sP       rËTc shddl‰|j‰t|ƒ\}}}d|d}yˆ |¡}Wntk rNd}YnXt|ˆjƒsjtd |¡ƒ‚|j d} g‰ˆj ‰t ƒ‰d}i‰t |ddƒ} | r´t j | d¡}|r´|j‰t j ¡‰ ‡fdd„‰‡‡‡ fdd „‰ G‡‡ fd d „d ˆjƒ‰ˆf‡‡‡‡‡‡‡‡fd d „ } t| jjƒ} t| jjƒ} tj| | dd�}|dk �rJˆj‰nˆj‰x.parse_namec sªyt|ˆƒ}Wn>tk rLyt|ˆƒ}Wntk rFtƒ‚YnXYnXt|tƒrbˆ |¡St|ttfƒrzˆ |¡St|t ƒrŽˆ  |¡S|dkr ˆ  |¡Stƒ‚dS)N)TFN) ÚevalÚ NameErrorÚ RuntimeErrorrr�ZStrÚintÚfloatZNumÚbytesZBytesZ NameConstant)r¬rA)rÍÚ module_dictÚsys_module_dictr r Ú wrap_valueÑs       z&_signature_fromstr..wrap_valuecs(eZdZ‡‡fdd„Z‡‡fdd„ZdS)z,_signature_fromstr..RewriteSymbolicscs`g}|}x"t|ˆjƒr*| |j¡|j}q Wt|ˆjƒs>tƒ‚| |j¡d t |ƒ¡}ˆ|ƒS)Nr{) rrVrKrˆrAÚNamerÑror—Úreversed)rŠrÌÚarYrA)rÍr×r r Úvisit_Attributeås    z<_signature_fromstr..RewriteSymbolics.visit_Attributecst|jˆjƒstƒ‚ˆ|jƒS)N)rZctxZLoadrsro)rŠrÌ)rÍr×r r Ú visit_Nameñsz7_signature_fromstr..RewriteSymbolics.visit_NameN)r…rr€rÛrÜr )rÍr×r r ÚRewriteSymbolicsäs rÝcsŠˆ|ƒ}|ˆkrdS|rp|tk rpyˆƒ |¡}ˆ |¡}Wntk rRˆ}YnX|ˆkr`dS|ˆk rl|n|}ˆ ˆ|ˆ|ˆd�¡dS)N)r+r/)Ú_emptyZvisitZ literal_evalrsrK)Z name_nodeZ default_noder+r@Úo)Ú ParameterrÝrÍr&Úinvalidrhr'rÎr r Úpös   z_signature_fromstr..p)Ú fillvaluer†)rh)r%)'rÍÚ_parameter_clsrËÚparseÚ SyntaxErrorrZModulersrtZbodyr&rr>rpr}r~r<rÁZNodeTransformerrÙrrÚ itertoolsÚ zip_longestÚPOSITIONAL_ONLYÚPOSITIONAL_OR_KEYWORDrErZvarargÚVAR_POSITIONALÚ KEYWORD_ONLYrfr Z kw_defaultsr[Ú VAR_KEYWORDr r–r;)rXrgr¬r rÊrÇrÈZprogramrŸrmZ module_namerârrrõršr@r+Ú_selfZ self_isboundZ self_ismoduler ) ràrÝrÍr&rárhrÕr'rÎrÖr×r Ú_signature_fromstr¥sl                  rïcCsBt|ƒstd |¡ƒ‚t|ddƒ}|s4td |¡ƒ‚t||||ƒS)Nz%{!r} is not a Python builtin functionÚ__text_signature__z#no signature found for builtin {!r})r±rŒrtr>rsrï)rXrur r¬r r r Ú_signature_from_builtin5s rñc Csúd}t|ƒs(t|ƒrd}ntd |¡ƒ‚|j}|j}|j}|j}t|d|…ƒ}|j }||||…} |j } |j } |j } | r†t | ƒ} nd} g}|| }x4|d|…D]$}|  |t¡}| |||td�¡q¤WxBt||d…ƒD].\}}|  |t¡}| |||t| |d�¡qÞW|jt@�rH|||}|  |t¡}| |||td�¡xJ| D]B}t}| dk �rl|  |t¡}|  |t¡}| |||t|d�¡�qNW|jt@�rä||}|jt@�r¼|d7}||}|  |t¡}| |||td�¡|||  dt¡|d �S) NFTz{!r} is not a Python functionr)r/rh)r/rhr+r‘r")r%Ú__validate_parameters__)rr·rŒrträrr r r^rr´r²r³rrr~rÞrKr*rErrr,r-rr.)rXruZis_duck_functionràZ func_codeZ pos_countZ arg_namesrPZkeyword_only_countZ keyword_onlyr2rr3Zpos_default_countr'Znon_default_countr@r/Úoffsetr+rsr r r Ú_signature_from_functionEsj                     rô)rr c CsŠt|ƒstd |¡ƒ‚t|tjƒrDt|j|||d�}|r@t|ƒS|S|rtt |dd„d�}t|tjƒrtt||||d�Sy |j }Wnt k r’Yn&X|dk r¸t|t ƒs´td |¡ƒ‚|Sy |j }Wnt k rÖYnvXt|tjƒ�rLt|j|||d�}t||dƒ}t|j ¡ƒd}|jtjk�r(|St|j ¡ƒ}|f|} |j| d �St|ƒ�s`t|ƒ�rjt||ƒSt|ƒ�r‚t|||d �St|tjƒ�r¬t|j|||d�}t||ƒSd}t|tƒ�rÊt t|ƒd ƒ} | dk �ræt| |||d�}nJt |d ƒ} | dk �r t| |||d�}n$t |d ƒ} | dk �r0t| |||d�}|dk�r.)rkz1unexpected object {!r} in __signature__ attribute)Nr)r')r Ú__call__Ú__new__rår|z(no signature found for builtin type {!r}zno signature found for {!r}z,no signature found for builtin function {!r}z+callable {!r} is not supported by signature)+rµrŒrtrrrr#rƒr°rvrõrLr$Ú_partialmethodÚ functoolsÚ partialmethodrur®r^r'r(rhràrër;rr·rôr±rñr«r r¥rjrðrïrårr÷Ú from_callablersr¤r3)rgrr r!r0rúrªZfirst_wrapped_paramZ sig_paramsr¬ZcallÚnewZinitrBZtext_sigr1rWr r r r#–sæ                              r#c@s eZdZdS)r¶N)r…rr€r r r r r¶_ sr¶c@s eZdZdS)rÞN)r…rr€r r r r rÞc srÞc@s(eZdZdZdZdZdZdZdd„ZdS) Ú_ParameterKindrr‘rÕéécCs|jS)N)Ú_name_)rŠr r r Ú__str__n sz_ParameterKind.__str__N) r…rr€rérêrërìrírr r r r rýg s rýzpositional-onlyzpositional or keywordzvariadic positionalz keyword-onlyzvariadic keywordc@s¬eZdZdZeZeZeZ e Z e Z eZeedœdd„Zdd„Zdd„Zed d „ƒZed d „ƒZed d„ƒZedd„ƒZeeeedœdd„Zdd„Zdd„Zdd„Zdd„ZdS)rà)Ú_nameÚ_kindÚ_defaultÚ _annotation)r+r/cCs yt|ƒ|_Wn$tk r2td|›d�ƒ‚YnX|tk rf|jttfkrfd}| t|jƒ¡}t|ƒ‚||_||_ |tkr‚tdƒ‚t |t ƒs¤d t |ƒj ¡}t|ƒ‚|ddkrþ|dd… ¡rþ|jtkræd }| t|jƒ¡}t|ƒ‚t|_d  |dd…¡}| ¡�std  |¡ƒ‚||_dS) Nzvalue z is not a valid Parameter.kindz({} parameters cannot have default valuesz*name is a required attribute for Parameterzname must be a str, not a {}rr{r‘zLimplicit arguments must be passed as positional or keyword arguments, not {}z implicit{}z"{!r} is not a valid parameter name)rýrrsrÞr,r.rtÚ_get_paramkind_descrrrrr�r r…rŒÚisdigitr*r)Ú isidentifierr)rŠr@rhr+r/rWr r r rå£ s4   zParameter.__init__cCs t|ƒ|j|jf|j|jdœfS)N)rr)r rrrr)rŠr r r Ú __reduce__Ë s zParameter.__reduce__cCs|d|_|d|_dS)Nrr)rr)rŠÚstater r r Ú __setstate__Ñ s zParameter.__setstate__cCs|jS)N)r)rŠr r r r@Õ szParameter.namecCs|jS)N)r)rŠr r r r+Ù szParameter.defaultcCs|jS)N)r)rŠr r r r/Ý szParameter.annotationcCs|jS)N)r)rŠr r r rhá szParameter.kind)r@rhr/r+cCsL|tkr|j}|tkr|j}|tkr*|j}|tkr8|j}t|ƒ||||d�S)N)r+r/)r¶rrrrr )rŠr@rhr/r+r r r r;å szParameter.replacecCsˆ|j}|j}|jtk r(d |t|jƒ¡}|jtk rb|jtk rPd |t|jƒ¡}nd |t|jƒ¡}|tkrtd|}n|t kr„d|}|S)Nz{}: {}z{} = {}z{}={}r?z**) rhrrrÞrtr<rr:r,r.)rŠrhÚ formattedr r r r÷ s     zParameter.__str__cCsd |jj|¡S)Nz <{} "{}">)rtr‡r…)rŠr r r Ú__repr__ szParameter.__repr__cCst|j|j|j|jfƒS)N)Úhashr@rhr/r+)rŠr r r Ú__hash__ szParameter.__hash__cCsJ||kr dSt|tƒstS|j|jkoH|j|jkoH|j|jkoH|j|jkS)NT)rràÚNotImplementedrrrr)rŠÚotherr r r Ú__eq__ s    zParameter.__eq__N)r…rr€Ú __slots__r)rér*rêr,rër-rìr.rírÞr&rår r r[r@r+r/rhr¶r;rr rrr r r r ràƒ s((    ràc@sdeZdZdZdd„Zedd„ƒZedd„ƒZedd „ƒZd d „Z d d „Z dd„Z dd„Z dd„Z dS)ÚBoundArguments)r¨Ú _signatureÚ __weakref__cCs||_||_dS)N)r¨r)rŠrÆr¨r r r rå1 szBoundArguments.__init__cCs|jS)N)r)rŠr r r rÆ5 szBoundArguments.signaturec Cs|g}xn|jj ¡D]^\}}|jttfkr*Py|j|}Wntk rNPYqX|jtkrf|  |¡q|  |¡qWt |ƒS)N) rr'r=rhr.r-r¨rjr,ÚextendrKr^)rŠrr­r4rBr r r r9 s  zBoundArguments.argsc Cs–i}d}xˆ|jj ¡D]x\}}|sF|jttfkr6d}n||jkrFd}q|sLqy|j|}Wntk rnYqX|jtkr†| |¡q|||<qW|S)NFT) rr'r=rhr.r-r¨rjÚupdate)rŠÚkwargsZkwargs_startedr­r4rBr r r rP s&    zBoundArguments.kwargsc Cs |j}g}x†|jj ¡D]v\}}y| |||f¡Wqtk rŒ|jtk rX|j}n"|jt krhd}n|jt krxi}nw| ||f¡YqXqWt |ƒ|_dS)Nr ) r¨rr'r=rKrjr+rÞrhr,r.r)rŠr¨Z new_argumentsr@r4Úvalr r r Úapply_defaultsn s    zBoundArguments.apply_defaultscCs2||kr dSt|tƒstS|j|jko0|j|jkS)NT)rrrrÆr¨)rŠrr r r rŠ s   zBoundArguments.__eq__cCs|d|_|d|_dS)Nrr¨)rr¨)rŠr r r r r ’ s zBoundArguments.__setstate__cCs|j|jdœS)N)rr¨)rr¨)rŠr r r Ú __getstate__– szBoundArguments.__getstate__cCsDg}x(|j ¡D]\}}| d ||¡¡qWd |jjd |¡¡S)Nz{}={!r}z <{} ({})>z, )r¨r=rKrtr‡r…r—)rŠrrBrAr r r r ™ szBoundArguments.__repr__N)r…rr€rrår[rÆrrrrr rr r r r r r s   rc@sÖeZdZdZeZeZeZ d+eddœdd„Z e dd„ƒZ e d d „ƒZ e dd œd d „ƒZedd„ƒZedd„ƒZeedœdd„Zdd„Zdd„Zdd„Zddœdd„Zdd „Zd!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„ZdS),r$)Ú_return_annotationÚ _parametersNT)r%ròc Csö|dkrtƒ}nÐ|rÎtƒ}t}d}x¼t|ƒD]œ\}}|j} |j} | |krjd} |  t|ƒt| ƒ¡} t| ƒ‚n| |krzd}| }| ttfkr¦|j t kr¢|r¦d} t| ƒ‚nd}| |krÀd | ¡} t| ƒ‚||| <q,Wntdd„|Dƒƒ}t   |¡|_ ||_dS)NFz7wrong parameter order: {} parameter before {} parameterz-non-default argument follows default argumentTzduplicate parameter name: {!r}css|]}|j|fVqdS)N)r@)rWr4r r r rYï sz%Signature.__init__..)rr)rErhr@rtrrsr*r+rÞrÚMappingProxyTyperr) rŠr'r%ròr¯Ztop_kindZ kind_defaultsÚidxr4rhr@rWr r r rå¾ s>         zSignature.__init__cCstjdtdd�t||ƒS)Nz_inspect.Signature.from_function() is deprecated since Python 3.5, use Signature.from_callable()rÕ)r)rrrrô)rXrur r r Ú from_functionõ s zSignature.from_functioncCstjdtdd�t||ƒS)Nz^inspect.Signature.from_builtin() is deprecated since Python 3.5, use Signature.from_callable()rÕ)r)rrrrñ)rXrur r r Ú from_builtin s zSignature.from_builtin)Úfollow_wrappedcCst|||d�S)N)r!r)r#)rXrgr#r r r rû szSignature.from_callablecCs|jS)N)r)rŠr r r r' szSignature.parameterscCs|jS)N)r)rŠr r r r% szSignature.return_annotation)r'r%cCs0|tkr|j ¡}|tkr |j}t|ƒ||d�S)N)r%)r¶r'r(rr )rŠr'r%r r r r; s  zSignature.replacecCs8tdd„|j ¡Dƒƒ}dd„|j ¡Dƒ}|||jfS)Ncss|]}|jtkr|VqdS)N)rhr-)rWr4r r r rY+ sz(Signature._hash_basis..cSsi|]}|jtkr||j“qSr )rhr-r@)rWr4r r r r`. sz)Signature._hash_basis..)r^r'r(r%)rŠr¯Ú kwo_paramsr r r Ú _hash_basis* szSignature._hash_basiscCs(| ¡\}}}t| ¡ƒ}t|||fƒS)N)r%Ú frozensetr(r)rŠr¯r$r%r r r r3 s zSignature.__hash__cCs*||kr dSt|tƒstS| ¡| ¡kS)NT)rr$rr%)rŠrr r r r8 s  zSignature.__eq__F)r«c Csžtƒ}t|j ¡ƒ}d}t|ƒ}�xxy t|ƒ}WnÈtk røy t|ƒ} Wntk rbPYn’X| jtkrrPn‚| j|kr¬| jt kr¢d} | j | jd�} t | ƒd‚| f}PnH| jt ksÀ| j tk rÊ| f}Pn*|rØ| f}Pnd} | j | jd�} t | ƒd‚Yq$Xy t|ƒ} Wn tk �r&t dƒd‚Yq$X| jt tfk�rBt dƒd‚| jtk�rn|g} |  |¡t| ƒ|| j<P| j|k�rŽt dj | jd�ƒd‚||| j<q$Wd} x¼t ||¡D]¬} | jt k�rÆ| } �q®| jtk�rÖ�q®| j} y| | ¡}WnFtk �r0|�s,| jtk�r,| j tk�r,t dj | d�ƒd‚Yn(X| jt k�rPt dj | jd�ƒ‚||| <�q®W|�r’| dk �rz||| j<nt dj tt|ƒƒd�ƒ‚| ||¡S)Nr zA{arg!r} parameter is positional only, but was passed as a keyword)rBz$missing a required argument: {arg!r}ztoo many positional argumentsz$multiple values for argument {arg!r}z*got an unexpected keyword argument {arg!r})rrõr'r(rÄÚ StopIterationrhr,r@r)rtrŒr.r+rÞr-rr^rçÚchainr–rjÚ_bound_arguments_cls)rŠrrr«r¨r'Z parameters_exZarg_valsZarg_valr4rWr(Z kwargs_paramr­r r r Ú_bind? s”                   zSignature._bindcOs|d |dd…|¡S)Nrr‘)r*)rrr r r Úbind szSignature.bindcOs|dj|dd…|dd�S)Nrr‘T)r«)r*)rrr r r r§É szSignature.bind_partialcCs t|ƒt|j ¡ƒfd|jifS)Nr)r r^rr(r)rŠr r r r Ð szSignature.__reduce__cCs|d|_dS)Nr)r)rŠr r r r r Õ szSignature.__setstate__cCsd |jj|¡S)Nz<{} {}>)rtr‡r…)rŠr r r r Ø szSignature.__repr__c CsÄg}d}d}xr|j ¡D]d}t|ƒ}|j}|tkr8d}n|rJ| d¡d}|tkrXd}n|tkrr|rr| d¡d}| |¡qW|rŽ| d¡d d  |¡¡}|j t k rÀt |j ƒ}|d |¡7}|S)NFTr¿r?z({})z, z -> {}) r'r(r�rhr)rKr,r-rtr—r%rÞr<) rŠreZrender_pos_only_separatorZrender_kw_only_separatorr4r rhZrenderedZannor r r rÛ s0      zSignature.__str__)N)r…rr€rràrärr)rÞr&rårcr!r"rûr[r'r%r¶r;r%rrr*r+r§r r r rr r r r r$  s06    r$)r#cCstj||d�S)N)r#)r$rû)rgr#r r r rÆ srÆc CsÌddl}ddl}| ¡}|jddd�|jddddd �| ¡}|j}| d ¡\}}}y| |¡}} WnNtk r¶} z0d   |t | ƒj | ¡} t | t jd �t  d ¡Wdd} ~ XYnX|râ| d¡} | }x| D]} t|| ƒ}qÐW| j t jk�rt dt jd �t  d¡|j�r¼t d  |¡ƒt d  t| ƒ¡ƒt d  | j¡ƒ|| k�r|t d  t| jƒ¡ƒt| dƒ�r²t d  | j¡ƒn6yt|ƒ\}}Wntk �r¢YnXt d  |¡ƒt dƒn t t|ƒƒdS)NrrzCThe object to be analysed. It supports the 'module:qualname' syntax)Úhelpz-dz --detailsÚ store_truez9Display info about the module rather than its source code)Úactionr,r¹zFailed to import {} ({}: {}))rÄrÕr{z#Can't get info for builtin modules.r‘z Target: {}z Origin: {}z Cached: {}z Loader: {}Ú__path__zSubmodule search path: {}zLine: {}r�)Úargparser¦ÚArgumentParserÚ add_argumentÚ parse_argsrÚ partitionÚ import_moduler_rtr r…ÚprintrpÚstderrÚexitr�r>Úbuiltin_module_namesZdetailsr¹Ú __cached__r:r®rr/rÔrü)r0r¦ÚparserrÚtargetZmod_nameZ has_attrsZattrsrgrŸrfrWÚpartsÚpartÚ__rrr r r Ú_main sV      r@r¾)N)N)N)F)N)r‘)r‘)r‘)r‘)r‘)r )T)T)¬Ú __author__r*ÚdisZcollections.abcr)ÚenumZimportlib.machineryr¦rçr·r£rÏrprìròrrrùr¿ÚoperatorrrrÚglobalsZmod_dictZCOMPILER_FLAG_NAMESr=rSrTr9r r rrrrrrrrr r!r#r%r'r,r.r0r2r4r5rCrUrVrirGrvrzr‚r‹r�rŽr r«r¹r½rÀrÂr¶rÔrÜr_rÝrÞrùrûrürýrrr rrrrrr5r8r<r>r�rKrNrUrXr\r]rlrmrtruÚ_fieldsrvrzr}rr€r‚rr‡r„r‰rŒr�rŠr�r�r‘r’r“r˜r™ršr›rœr�r¡r¢r röZ_WrapperDescriptorÚallZ_MethodWrapperrÒr<Z_ClassMethodWrapperr3r¤r¥r®r°r±r·r»rËrïrñrôr#r¶rÞÚIntEnumrýrér)rêr*rër,rìr-rír.Z_PARAM_NAME_MAPPINGÚ __getitem__rràrr$rÆr@r…r r r r Ús`            , t$ ;   .I-7      [   4> 5        0   L H  RH k: