U e5dÏã @sˆdZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlmZddlmZmZeƒZej ¡D]\ZZeede<q°dZdd„Zd d „Zd d „Z d d„Z!dd„Z"e#edƒ�rdd„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„Z3d5d6„Z4dód7d8„Z5ed9d:ƒZ6d;d<„Z7d=d>„Z8dd?œd@dA„Z9dBdC„Z:dDdE„Z;dFdG„ZdLdM„Z?dNdO„Z@dPdQ„ZAdôdRdS„ZBiZCiZDdõdTdU„ZEdVdW„ZFdXdY„ZGGdZd[„d[eHƒZIGd\d]„d]ƒZJd^d_„ZKd`da„ZLdbdc„ZMddde„ZNdödgdh„ZOedidjƒ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’�dd×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£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 ú/usr/lib64/python3.8/inspect.pyÚismodule?sr cCs t|tƒSr)rÚtyper r r r ÚisclassHsrcCs t|tjƒSr)rrÚ MethodTyper r r r ÚismethodPsrcCs:t|ƒst|ƒst|ƒrdSt|ƒ}t|dƒo8t|dƒ S)NFÚ__get__Ú__set__©rrÚ isfunctionrÚhasattr©r Útpr r r ÚismethoddescriptorZsrcCs8t|ƒst|ƒst|ƒrdSt|ƒ}t|dƒp6t|dƒS)NFrÚ __delete__rrr r r ÚisdatadescriptornsrÚMemberDescriptorTypecCs t|tjƒSr)rrrr r r r Úismemberdescriptor~srcCsdS©NFr r r r r r†sÚGetSetDescriptorTypecCs t|tjƒSr)rrrr r r r Úisgetsetdescriptor�sr cCsdSrr r r r r r —scCs t|tjƒSr)rrÚ FunctionTyper r r r ržs rcCs6t|ƒr|j}qt |¡}t|ƒs&dSt|jj|@ƒSr)rÚ__func__Ú functoolsÚ_unwrap_partialrÚboolÚ__code__Úco_flags)ÚfÚflagr r r Ú_has_code_flag«s  r*cCs t|tƒSr)r*Z CO_GENERATOR©Úobjr r r Úisgeneratorfunction¶sr-cCs t|tƒSr)r*Z CO_COROUTINEr+r r r Úiscoroutinefunction½sr.cCs t|tƒSr)r*ZCO_ASYNC_GENERATORr+r r r ÚisasyncgenfunctionÄsr/cCs t|tjƒSr)rrÚAsyncGeneratorTyper r r r Ú isasyncgenÌsr1cCs t|tjƒSr)rrÚ GeneratorTyper r r r Ú isgeneratorÐsr3cCs t|tjƒSr)rrÚ CoroutineTyper r r r Ú iscoroutineásr5cCs6t|tjƒp4t|tjƒr(t|jjt@ƒp4t|tj j ƒSr) rrr4r2r%Úgi_coder'ZCO_ITERABLE_COROUTINEÚ collectionsÚabcÚ Awaitabler r r r Ú isawaitableås   þ ýr:cCs t|tjƒSr)rrÚ TracebackTyper r r r Ú istracebackìsr<cCs t|tjƒSr)rrÚ FrameTyper r r r Úisframeös r>cCs t|tjƒSr)rrÚCodeTyper r r r Úiscodesr@cCs t|tjƒSr)rrÚBuiltinFunctionTyper r r r Ú isbuiltinsrBcCs t|ƒpt|ƒpt|ƒpt|ƒSr)rBrrrr r r r Ú isroutine&sÿþýrCcCs¦t|tƒsdS|jt@rdStt|ƒtjƒs0dSt|dƒr>dS|j  ¡D]\}}t |ddƒrHdSqH|j D]6}t |ddƒD]$}t ||dƒ}t |ddƒrzdSqzqjdS)NFTÚ__abstractmethods__Ú__isabstractmethod__r ) rrÚ __flags__ÚTPFLAGS_IS_ABSTRACTÚ issubclassr8ÚABCMetarÚ__dict__ÚitemsÚgetattrÚ __bases__)r ÚnameÚvalueÚbaser r r Ú isabstract-s"        rQc Cst|ƒr|ft|ƒ}nd}g}tƒ}t|ƒ}z:|jD].}|j ¡D]\}}t|tj ƒrD|  |¡qDq6Wnt k r|YnX|D]~} zt || ƒ} | |kržt ‚Wn:t k rÚ|D]}| |jkr´|j| } qÖq´Yq‚YnX|rè|| ƒrö|  | | f¡|  | ¡q‚|jdd„d�|S)Nr cSs|dS)Nrr )Zpairr r r Únózgetmembers..©Úkey)rÚgetmroÚsetÚdirrMrJrKrrÚDynamicClassAttributeÚappendÚAttributeErrorrLÚaddÚsort) r Z predicateÚmroÚresultsÚ processedÚnamesrPÚkÚvrUrOr r r Ú getmembersEs:        rdÚ Attributezname kind defining_class objectc CsTt|ƒ}tt|ƒƒ}tdd„|Dƒƒ}|f|}||}t|ƒ}|D].}|j ¡D]\}}t|tjƒrR|  |¡qRqDg} t ƒ} |D�]Ê} d} d} d}| | k�rzz| dkr°t dƒ‚t || ƒ} Wn"t k rÞ}zW5d}~XYnœXt | d| ƒ} | |k�rzd} d}|D] }t || dƒ}|| k�r|}�q|D]B}z|  || ¡}Wntk �rXY�q(YnX|| k�r(|}�q(|dk �rz|} |D]0}| |jk�r~|j| }| |k�r¦|} �q°�q~| dk�r¼q‚| dk �rÊ| n|}t|ttjfƒ�rêd}|}nFt|ttjfƒ�rd}|}n*t|tƒ�rd}|}nt|ƒ�r,d }nd }|   t| || |ƒ¡|  | ¡q‚| S) Ncss|]}|ttfkr|VqdSr)rr )Ú.0Úclsr r r Ú �s z'classify_class_attrs..rJz)__dict__ is special, don't want the proxyÚ __objclass__z static methodz class methodÚpropertyÚmethodÚdata)rVrÚtuplerXrJrKrrrYrZrWÚ ExceptionrLÚ __getattr__r[Ú staticmethodÚBuiltinMethodTypeÚ classmethodÚClassMethodDescriptorTyperjrCrer\)rgr^ZmetamroZ class_basesZ all_basesrarPrbrcÚresultr`rNZhomeclsZget_objZdict_objÚexcZlast_clsZsrch_clsZsrch_objr,Úkindr r r Úclassify_class_attrsss€                    rwcCs|jSr)Ú__mro__)rgr r r rVçsrV©Ústopcs|ˆdkrdd„}n ‡fdd„}|}t|ƒ|i}t ¡}||ƒrx|j}t|ƒ}||ks`t|ƒ|krntd |¡ƒ‚|||<q6|S)NcSs t|dƒS©NÚ __wrapped__©r©r(r r r Ú _is_wrapperþszunwrap.._is_wrappercst|dƒoˆ|ƒ Sr{r}r~ryr r rsz!wrapper loop when unwrapping {!r})ÚidÚsysÚgetrecursionlimitr|ÚlenÚ ValueErrorÚformat)Úfuncrzrr(ZmemoZrecursion_limitZid_funcr ryr Úunwrapís    r‡cCs| ¡}t|ƒt| ¡ƒSr)Ú expandtabsrƒÚlstrip)ÚlineZexpliner r r Ú indentsizesr‹cCsNtj |j¡}|dkrdS|j d¡dd…D]}t||ƒ}q.t|ƒsJdS|S)NÚ.éÿÿÿÿ)r�ÚmodulesÚgetÚ __module__Ú __qualname__ÚsplitrLr)r†rgrNr r r Ú _findclasss r“c Cst|ƒrT|jD]@}|tk rz |j}Wntk r<YqYnX|dk r|SqdSt|ƒ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 }n®t|tƒ�rP|j}|j}t |ƒ}|dk�sJt ||ƒ|k �r¾dSnnt|ƒ�sdt|ƒ�rº|j}|j}t ||ƒ|k �r„dSt|ƒ�r¾t |ddƒ}t|tƒ�r¾||k�r¾||SndS|jD]F}zt ||ƒj}Wntk �rôY�qÄYnX|dk �rÄ|S�qÄdS)Nr"rŒÚ __slots__)rrxr Ú__doc__r[rr"Ú__name__Ú__self__rLÚ __class__rr“rBr‘rrjÚfgetrrrirÚdict)r,rPÚdocrNÚselfrgr†Úslotsr r r Ú_finddoc sn    ÿ   ÿ        ržc Cshz |j}Wntk r YdSX|dkrRz t|ƒ}Wnttfk rPYdSXt|tƒs`dSt|ƒSr)r•r[ržÚ TypeErrorrÚstrÚcleandoc)r r›r r r Úgetdoc^s   r¢cCsêz| ¡ d¡}Wntk r(YdSXtj}|dd…D]*}t| ¡ƒ}|rÚf_coder@Ú co_filenamerr–)r Úmoduler r r ÚgetfileŽs.   þr³cCsTtj |¡}dd„tj ¡Dƒ}| ¡|D]"\}}| |¡r,|d|…Sq,dS)NcSsg|]}t|ƒ |f‘qSr )rƒ)rfÚsuffixr r r Ú ¬sÿz!getmodulename..)ÚosÚpathÚbasenameÚ importlibÚ machineryÚ all_suffixesr]Ú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|]}ˆ |¡VqdSr©r¼©rfÚs©Úfilenamer r rh»sz getsourcefile..rc3s|]}ˆ |¡VqdSrr¿rÀrÂr r rh¾sÚ __loader__)r³r¹rºÚDEBUG_BYTECODE_SUFFIXESÚOPTIMIZED_BYTECODE_SUFFIXESÚanyr¶r·ÚsplitextÚSOURCE_SUFFIXESÚEXTENSION_SUFFIXESÚexistsrLÚ getmoduleÚ linecacheÚcache)r Zall_bytecode_suffixesr rÂr Ú getsourcefile´s" ÿ ÿ  rÏcCs,|dkrt|ƒpt|ƒ}tj tj |¡¡Sr)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|¡Szt||ƒ}Wntk rhYdSX|tkr‚tj t|¡Stj  ¡  ¡D]\\}}t|ƒr�t|dƒr�|j }|t  |d¡krÂq�|t |<t|ƒ}|j t|<ttj |¡<q�|tk�rtj t|¡Stjd}t|dƒ�s"dSt||j ƒ�rJt||j ƒ}||k�rJ|Stjd}t||j ƒ�r|t||j ƒ} | |k�r||SdS)Nr�r®Ú__main__r–Úbuiltins)r rr�rŽr�r�Ú modulesbyfilerÓrŸÚcopyrKr®Ú_filesbymodnamer–r¶r·ÚrealpathrL) r rÒÚfileÚmodnamer²r(ÚmainZ mainobjectZbuiltinZ builtinobjectr r r rÌÖsJ ÿ  ÿ        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)|(.*(?r°r@rràÚ IndexError) r rÚr²r«rNZpatZ candidatesr­rçÚlnumrŠr r r Ú findsourcesf                 rëc Cs.zt|ƒ\}}Wnttfk r*YdSXt|ƒrìd}|rT|ddd…dkrTd}|t|ƒkrz|| ¡dkrz|d}qT|t|ƒkrè||dd…dkrèg}|}|t|ƒkrÞ||dd…dkrÞ| || ¡¡|d}q¢d |¡S�n>|dk�r*t ||ƒ}|d}|dk�r*||  ¡dd…dk�r*t ||ƒ|k�r*|| ¡  ¡g}|dk�rÐ|d}|| ¡  ¡}|dd…dk�rÐt ||ƒ|k�rÐ|g|dd…<|d}|dk�r¼�qÐ|| ¡  ¡}�qt|�rø|d ¡dk�røg|dd…<�qÐ|�r |d ¡dk�r g|dd…<�qød |¡SdS) Nréz#!r¤)Úú#rîrír�) rërãrŸr rƒÚstriprZrˆrªr‹r‰)r r«rêÚstartZcommentsÚendr¬Zcommentr r r Ú getcommentsRsL      $ÿ $ ròc@s eZdZdS)Ú EndOfBlockN©r–r�r‘r r r r rósróc@seZdZdd„Zdd„ZdS)Ú BlockFindercCs4d|_d|_d|_d|_d|_d|_d|_d|_dS)NrFr¤)r¬ÚislambdaÚstartedÚpasslineÚ indecoratorÚdecoratorhasargsÚlastÚ body_col0©rœr r r Ú__init__ƒszBlockFinder.__init__cCsr|jsB|jsB|dkrd|_n|dkr8|dkr2d|_d|_d|_�n,|dkrZ|jrVd|_�n|dkrv|jrtd|_d|_nø|tjkr®d|_|d|_|jršt‚|jr¬|js¬d|_nÀ|jr¶n¸|tj krî|j dkrÚ|jrÚ|d |_ |j d |_ d|_n€|tj k�r|j d |_ |j dk�rnt‚nV|tj k�rL|j dk �rn|d |j k�rn|d|_n"|j dk�rn|tj tjfk�rnt‚dS) Nú@T)ÚdefÚclassÚlambdarú(ú)Frr¤)r÷rùrörørúÚtokenizeÚNEWLINErûróÚINDENTrür¬ÚDEDENTÚCOMMENTÚNL)rœrÚtokenZsrowcolZerowcolrŠr r r Ú tokeneater�sL              zBlockFinder.tokeneaterN)r–r�r‘rþr r r r r rõ�s rõc CsVtƒ}z(t t|ƒj¡}|D]}|j|ŽqWnttfk rFYnX|d|j…Sr) rõrÚgenerate_tokensÚiterÚ__next__r róÚIndentationErrorrû)r«Z blockfinderÚtokensZ_tokenr r r Úgetblock¿srcCsbt|ƒ}t|ƒ\}}t|ƒr"|j}t|ƒs>t|ƒrF|jjdkrF|dfSt||d…ƒ|dfSdS)Nzrr¤) r‡rër<r¯r r>r°Úco_namer©r r«rêr r r ÚgetsourcelinesÊs ÿ ÿrcCst|ƒ\}}d |¡S)Nrí)rrªrr r r Ú getsourceßs rcCsRg}|jtddƒd�|D]2}| ||jf¡||kr| t||||ƒ¡q|S)Nr�r–rT)r]rrZrMÚwalktree)ÚclassesÚchildrenÚparentr_rßr r r résrFcCsši}g}|D]d}|jr^|jD]>}||kr0g||<|||krJ|| |¡|r||krqpqq ||kr | |¡q |D]}||krv| |¡qvt||dƒSr)rMrZr)rÚuniquerÚrootsrßrr r r Ú getclasstreeós"      rÚ Argumentszargs, varargs, varkwc Cs t|ƒstd |¡ƒ‚|j}|j}|j}t|d|…ƒ}t||||…ƒ}d}||7}d}|jt@rx|j|}|d}d}|jt @r�|j|}t ||||ƒS)Nz{!r} is not a code objectrr¤) r@rŸr…Ú co_varnamesÚ co_argcountÚco_kwonlyargcountÚlistr'Ú CO_VARARGSÚCO_VARKEYWORDSr) ÚcoraÚnargsZnkwargsÚargsÚ kwonlyargsÚstepÚvarargsÚvarkwr r r Úgetargss"    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ì©Ú stacklevelzgFunction has keyword-only parameters or annotations, use inspect.signature() API which can support them)ÚwarningsÚwarnÚDeprecationWarningÚgetfullargspecr„r-)r†r'r*r+Údefaultsr(ÚkwonlydefaultsÚannr r r Ú getargspec-sþÿr7Ú FullArgSpeczGargs, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, annotationsc Cs|zt|ddtd�}Wn,tk r@}ztdƒ|‚W5d}~XYnXg}d}d}g}g}d}i} d}i} |j|jk r||j| d<|j ¡D]È} | j} | j } | t krÂ|  | ¡| j | jk rÀ|| j f7}nv| t krî|  | ¡| j | jk rì|| j f7}nJ| tkrü| }n<| tk�r*|  | ¡| j | jk �r8| j | | <n| tk�r8| }| j| jk r†| j| | <q†| �sZd} |�sdd}t||||||| | ƒS)NF©Úfollow_wrapper_chainsÚskip_bound_argÚsigclszunsupported callabler Úreturn)Ú_signature_from_callableÚ SignaturernrŸÚreturn_annotationÚemptyÚ parametersÚvaluesrvrNÚ_POSITIONAL_ONLYrZÚdefaultÚ_POSITIONAL_OR_KEYWORDÚ_VAR_POSITIONALÚ _KEYWORD_ONLYÚ _VAR_KEYWORDÚ annotationr8)r†ÚsigÚexr'r*r+Z posonlyargsr(r4Ú annotationsÚ kwdefaultsÚparamrvrNr r r r3Nsbý             ÿr3ÚArgInfozargs varargs keywords localscCs t|jƒ\}}}t||||jƒSr)r,r°rPÚf_locals)Úframer'r*r+r r r Ú getargvalues­srScCsVt|ddƒdkr t|ƒ dd¡St|tƒrN|jd|fkr>|jS|jd|jSt|ƒS)Nr�Útypingztyping.rírÕrŒ)rLÚreprÚreplacerrr�r‘)rJZ base_moduler r r Úformatannotation·s rWcst|ddƒ‰‡fdd„}|S)Nr�cs t|ˆƒSr)rW)rJ©r²r r Ú_formatannotationÂsz5formatannotationrelativeto.._formatannotation)rL)r rYr rXr ÚformatannotationrelativetoÀs  rZr cCsd|S©NÚ*r ©rNr r r rRÉrSrRcCsd|S©Nú**r r]r r r rRÊrScCs dt|ƒS©Nú=©rU©rOr r r rRËrScCsd|S)Nz -> r )Útextr r r rRÌrSc s<ddlm} | dtdd�‡‡‡fdd„}g}|rBt|ƒt|ƒ}t|ƒD]:\}}||ƒ}|rz||krz|| |||ƒ}| |¡qJ|dk r¢| |||ƒƒ¡n|r°| d¡|rì|D]2}||ƒ}|rà||krà|| ||ƒ7}| |¡q¸|dk �r| | ||ƒƒ¡d d  |¡d }d ˆk�r8|| ˆˆd ƒƒ7}|S) Nr)r1zc`formatargspec` is deprecated since Python 3.5. Use `signature` and the `Signature` object directlyrìr.cs(ˆ|ƒ}|ˆkr$|dˆˆ|ƒ7}|S)Nz: r )Úargrt©rMrWÚ formatargr r Úformatargandannotationász-formatargspec..formatargandannotationr\rú, rr=)r0r1r2rƒÚ enumeraterZrª)r'r*r+r4r(r5rMrgÚ formatvarargsÚ formatvarkwÚ formatvalueZ formatreturnsrWr1rhÚspecsZ firstdefaultr­reÚspecZ kwonlyargrtr rfr Ú formatargspecÆs< ý       rpcCsd|Sr[r r]r r r rRrScCsd|Sr^r r]r r r rRrScCs dt|ƒSr`rbrcr r r rRrSc Cs†|||fdd„}g} tt|ƒƒD]} |  ||| ƒ¡q |rV|  ||ƒ|||ƒ¡|rt|  ||ƒ|||ƒ¡dd | ¡dS)NcSs||ƒ|||ƒSrr )rNÚlocalsrgrmr r r Úconvert sz formatargvalues..convertrrir)r¨rƒrZrª) r'r*r+rqrgrkrlrmrrrnr­r r r Úformatargvaluess ÿ rscs˜‡fdd„|Dƒ}t|ƒ}|dkr,|d}n>|dkr@dj|Ž}n*dj|dd…Ž}|dd…=d  |¡|}td |||rzd nd |dkrˆd nd|fƒ‚dS)Ncsg|]}|ˆkrt|ƒ‘qSr rb)rfrN©rCr r rµsz&_missing_arguments..r¤rrìz {} and {}z , {} and {}éþÿÿÿriz*%s() missing %i required %s argument%s: %sÚ positionalú keyword-onlyrírÁ)rƒr…rªrŸ)Úf_nameZargnamesÚposrCraÚmissingrÁÚtailr rtr Ú_missing_argumentss     þÿr|c 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 )rfrertr 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)rƒr rŸ) rxr'Zkwonlyr*ZdefcountZgivenrCZatleastZ kwonly_givenZpluralrKZ kwonly_sigÚmsgr rtr Ú _too_many's*    ÿÿÿr~cOst|ƒ}|\}}}}}} } |j} i} t|ƒrB|jdk rB|jf|}t|ƒ} t|ƒ}|r^t|ƒnd}t| |ƒ}t|ƒD]}||| ||<qt|r¢t||d…ƒ| |<t||ƒ}|rºi| |<|  ¡D]T\}}||krô|sæt d| |fƒ‚|| ||<qÂ|| k�rt d| |fƒ‚|| |<qÂ| |k�r<|�s�sÿz"getclosurevars..Ú __builtins__)ÚNoneÚTrueÚFalse)rr"rrŸr…r&Ú __closure__ÚzipÚ co_freevarsÚ __globals__r�rÕrJr rWÚco_namesÚKeyErrorr\rƒ) r†ÚcodeZ nonlocal_varsZ global_nsZ builtin_nsZ global_varsZ builtin_varsZ unbound_namesrNr r r Úgetclosurevarszs>   þ ÿr“Ú Tracebackz+filename lineno function code_context indexr¤cCsÚt|ƒr|j}|j}n|j}t|ƒs2td |¡ƒ‚t|ƒp@t|ƒ}|dkr¾|d|d}zt |ƒ\}}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_linenor>rŸr…rÏr³rërãÚmaxr§rƒr”r°r)rRÚcontextÚlinenorÃrðr«rêÚindexr r r Ú getframeinfo±s$r›cCs|jSr)r–©rRr r r Ú getlinenoÑsr�Ú FrameInforœcCs2g}|r.|ft||ƒ}| t|Ž¡|j}q|Sr)r›rZržÚf_back)rRr˜Ú framelistÚ frameinfor r r ÚgetouterframesØs r¢cCs4g}|r0|jft||ƒ}| t|Ž¡|j}q|Sr)r¯r›rZržÚtb_next)Útbr˜r r¡r r r Úgetinnerframesäs r¥cCsttdƒrt d¡SdS)NÚ _getframer¤)rr�r¦r r r r Ú currentframeðsr§cCstt d¡|ƒS)Nr¤)r¢r�r¦©r˜r r r Ústackôsr©cCstt ¡d|ƒS)Nrì)r¥r�Úexc_infor¨r r r Útraceøsr«cCstjd |¡S)Nrx)rrJr)Úklassr r r Ú_static_getmrosr­cCs8i}zt |d¡}Wntk r(YnXt ||t¡S©NrJ)r Ú__getattribute__r[ršr�Ú _sentinel)r,ÚattrZ instance_dictr r r Ú_check_instances r²c CsHt|ƒD]:}tt|ƒƒtkrz|j|WStk r@YqXqtSr)r­Ú_shadowed_dictrr°rJr‘)r¬r±Úentryr r r Ú _check_class s rµcCs(z t|ƒWntk r"YdSXdS©NFT)r­rŸr+r r r Ú_is_types  r·c Csntjd}t|ƒD]V}z| |¡d}Wntk r<YqXt|ƒtjkr`|jdkr`|j|ks|Sqt Sr®) rrJr­rr‘rrr–rir°)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ìtt|ƒƒD]:}tt|ƒƒtkr°z|j |WSt k rèYq°Xq°|tk rø|St |ƒ‚dS)Nrr) r°r·rr³rrr²rµr­rJr‘r[)r,r±rEZinstance_resultr¬r¸Z klass_resultr´r r r Úgetattr_static+s:  ÿ  ÿ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 Úgetgeneratorstate`s   rÃcCs:t|ƒstd |¡ƒ‚t|ddƒ}|dk r2|jjSiSdS)Nz{!r} is not a Python generatorrÀ)r3rŸr…rLrÀrQ)rÂrRr r r Úgetgeneratorlocalsrs  rÄÚ CORO_CREATEDÚ CORO_RUNNINGÚCORO_SUSPENDEDÚ CORO_CLOSEDcCs,|jr tS|jdkrtS|jjdkr(tStSr¾)Ú cr_runningrÆÚcr_framerÈrÁrÅrÇ)Ú coroutiner r r ÚgetcoroutinestateŠs   rÌcCs"t|ddƒ}|dk r|jSiSdS)NrÊ)rLrQ)rËrRr r r Úgetcoroutinelocalsœs rÍÚ from_bytescCs8zt||ƒ}Wntk r$YdSXt|tƒs4|SdSr)rLr[rÚ_NonUserDefinedCallables)rgZ method_nameZmethr r r Ú"_signature_get_user_defined_method¸s  rÐc Cs’|j}t| ¡ƒ}|jpd}|jp$i}|r2||}z|j||Ž}Wn6tk rx}zd |¡} t| ƒ|‚W5d}~XYnXd} | ¡D]ú\} } z|j | } Wnt k r°YnjX| j t krÈ|  | ¡q†| j tkrþ| |krðd} | j| d�|| <n|  | j¡q†| j tk�r| j| d�|| <| r†| j tk�rN|| jtd�}||| <| | ¡q†| j ttfk�rj| | ¡q†| j tkr†|  | j¡q†|j| ¡d�S)Nr z+partial object {!r} has incorrect argumentsFT)rE©rv©rB)rBrrKr'ÚkeywordsÚ bind_partialrŸr…r„Ú argumentsr‘rvrDr©rFrVrNrHÚ move_to_endrIrGrC)Ú wrapped_sigÚpartialZ extra_argsZ old_paramsÚ new_paramsZ partial_argsZpartial_keywordsZbarLr}Ztransform_to_kwonlyÚ param_namerOZ 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 typerÒ) rmrBrCrvrIrHr„rFrDrGrV)rKÚparamsrvr r r Ú_signature_bound_methods  rÝcCs&t|ƒp$t|ƒp$t|tƒp$|ttfkSr)rBrrrÏrr r+r 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__) ÚcallablerrLÚ_voidrrr?r rmrš)r,rNr’r4rNrMr r r Ú_signature_is_functionlike:s       ÿþýüräcCs<| d¡}|dkr| d¡}| d¡}| d¡}|d|…S)Nú,r�rú:rarì)Úfind)roryZcposr r r Ú_signature_get_bound_paramSs    rècCs |s|ddfSd}d}dd„| d¡Dƒ}t|ƒj}t |¡}d}d}g}|j} d} tj} tj} t|ƒ} |D]ž} | j | j }}|| kr¼|dkr¦|r˜d}qld}| d7} ql|d kr¼d}| d}ql|| krÒ|d krÒ| }ql|ròd}|| krê|d ksò| d ƒ| |ƒ|dkrl| d ƒqld  |¡}|||fS)NcSsg|]}| d¡‘qS)Úascii)Úencode)rfÚlr r r rµ}sz6_signature_strip_non_python_syntax..r£FrråTr¤ú/ú$rriú rí) r’rrrrZr ÚOPÚ ERRORTOKENÚnextrÚstringrª)Ú signatureÚself_parameterÚlast_positional_onlyr«rÂZ token_streamZ delayed_commaZskip_next_commardr\Zcurrent_parameterrïrðÚtrròÚclean_signaturer r r Ú"_signature_strip_non_python_syntaxjsP      røTc s`ddl‰|j‰t|ƒ\}}}d|d}zˆ |¡}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‰ttt|ƒƒƒD](\}\}}| ||ƒ||k�r`ˆj‰�q`| jj�r¨ˆj‰| | jjˆƒˆj‰t| jj | jj!ƒD]\}}| ||ƒ�qÀ| jj"�rôˆj#‰| | jj"ˆƒ|dk �rRt |ddƒ}|dk }t$|ƒ}|�r8|�s,|�r8ˆ %d¡nˆdj&ˆjd�} | ˆd<|ˆ|j d�S)Nrzdef fooz: passz"{!r} builtin has invalid signaturer�cs|jdk rtdƒ‚|jS)Nz'Annotations are not currently supported)rJr„re)Únode)Úastr r Ú parse_nameØs z&_signature_fromstr..parse_namec s|zt|ˆƒ}Wn>tk rLzt|ˆƒ}Wntk rFtƒ‚YnXYnXt|tttttt dƒfƒrrˆ  |¡Stƒ‚dSr) ÚevalÚ NameErrorÚ RuntimeErrorrr ÚintÚfloatÚbytesr%rZConstant)rÁrO)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}|}t|ˆjƒr(| |j¡|j}qt|ˆjƒs:tƒ‚| |j¡d t |ƒ¡}ˆ|ƒS)NrŒ) rrerZr±rOÚNamerþr€rªÚreversed)rœrùÚarrO©rúrr r Úvisit_Attributeìs    z<_signature_fromstr..RewriteSymbolics.visit_Attributecst|jˆjƒstƒ‚ˆ|jƒSr)rZctxZLoadr„r€)rœrùrr r Ú visit_Nameøsz7_signature_fromstr..RewriteSymbolics.visit_NameN)r–r�r‘r r r rr r ÚRewriteSymbolicsës r csŠˆ|ƒ}|ˆkrdS|rp|tk rpzˆƒ |¡}ˆ |¡}Wntk rRˆ}YnX|ˆkr`dS|ˆk rl|n|}ˆ ˆ|ˆ|ˆd�¡dS©N©rErJ)Ú_emptyZvisitZ literal_evalr„rZ)Z name_nodeZ default_noderErNÚo)Ú Parameterr rúrAÚinvalidrvrBrûr r Úpýs   z_signature_fromstr..p)Ú fillvaluer—rÑ©r@)'rúÚ_parameter_clsrøÚparseÚ SyntaxErrorrZModuler„r…ZbodyrAr rLr�rŽr�rJr×ZNodeTransformerrr'r4Ú itertoolsÚ zip_longestÚPOSITIONAL_ONLYÚPOSITIONAL_OR_KEYWORDrjr"ZvarargÚVAR_POSITIONALÚ KEYWORD_ONLYr�r(Z kw_defaultsr�Ú VAR_KEYWORDr r©rV)rgr,rÁr;r÷rôrõZprogramr²r(Z module_namerr'r4rr­rNrEZ_selfZ self_isboundZ self_ismoduler ) rr rúrArrvrrBrûrrr Ú_signature_fromstr²snÿ                   rcCsBt|ƒ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Ÿr…rLr„r)rgr†r;rÁr r r Ú_signature_from_builtin<sÿ r!c CsHd}t|ƒs(t|ƒrd}ntd |¡ƒ‚t|ddƒ}|rFt||||ƒS|j}|j}|j}|j }|j } |d|…} |j } |||| …} |j } |j }|j}|r¦t|ƒ}nd}g}||}| }| d|…D]<}|rÒtnt}|  |t¡}| ||||d�¡|rÆ|d8}qÆt| |d…ƒD]L\}}|�r&tnt}|  |t¡}| ||||||d�¡|�r|d8}�q|jt@�rš||| }|  |t¡}| |||td�¡| D]B}t}|dk �r¼| |t¡}|  |t¡}| |||t|d�¡�qž|jt@�r2|| }|jt@�r |d7}||}|  |t¡}| |||td�¡|||  d t¡|d �S) NFTr„r r)rJrvr¤)rJrvrEr=©r@Ú__validate_parameters__)rrärŸr…rLrrr&r rÚco_posonlyargcountr!rárßràrƒrDrFr�rrZrjr'r#rGrHr$rI)rgr†r;Zis_duck_functionrÁrZ func_codeZ pos_countZ arg_namesZ posonly_countrvZkeyword_only_countZ keyword_onlyrMr4rNZpos_default_countrBZnon_default_countZ posonly_leftrNrvrJÚoffsetrEršr r r Ú_signature_from_functionLsŒ      ÿ   þ     ÿ    þ     ÿ þr&)r:r;c CsŽt|ƒstd |¡ƒ‚t|tjƒrDt|j|||d�}|r@t|ƒS|S|rtt |dd„d�}t|tjƒrtt||||d�Sz |j }Wnt k r’Yn&X|dk r¸t|t ƒs´td |¡ƒ‚|Sz |j }Wnt k rÖYnvXt|tjƒ�rLt|j|||d�}t||dƒ}t|j ¡ƒd}|jtjk�r(|St|j ¡ƒ}|f|} |j| d �St|ƒ�s`t|ƒ�rnt|||d �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 �rt| |||d�}n$t |d ƒ} | dk �r4t| |||d�}|dk�r@|j!dd…D]>} z | j"}Wnt k �rpYnX|�rLt#|||ƒS�qLt|j!k�r@|j$t%j$k�r¾|j&t%j&k�r¾| 't%¡St(d |¡ƒ‚nrt|t)ƒ�s@t t|ƒd ƒ} | dk �r@zt| |||d�}Wn8t(k �r>}zd |¡}t(|ƒ|‚W5d}~XYnX|dk �r\|�rXt|ƒS|St|tj*ƒ�r|d |¡}t(|ƒ‚t(d |¡ƒ‚dS)Nz{!r} is not a callable objectr9cSs t|dƒS)NÚ __signature__r}r~r r r rRÆrSz*_signature_from_callable..ryz1unexpected object {!r} in __signature__ attributerrrÒ)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Ÿr…rrrr>r"rÝr‡r'r[r?Ú_partialmethodr#Ú partialmethodr†rÛrmrBrCrvrrrVrrär&rÞr!rØrrÐrxr rrþr r)Ú from_callabler„rÏrA)r,r:r;r<rKr+r×Zfirst_wrapped_paramZ sig_paramsrÙZcallÚnewZinitrPZtext_sigrLr}r r r r>ªs  ü ü  ÿÿ ü   ÿ ÿü   ü  ü  ü    ÿ ÿ  ü    r>c@s eZdZdS)rãNrôr r r r rãt srãc@s eZdZdS)rNrôr r r r rx src@s4eZdZdZdZdZdZdZdd„Ze dd „ƒZ d S) Ú_ParameterKindrr¤rìéécCs|jSr)Ú_name_rýr r r Ú__str__ƒ sz_ParameterKind.__str__cCst|Sr)Ú_PARAM_NAME_MAPPINGrýr r r Ú description† sz_ParameterKind.descriptionN) r–r�r‘rrrrrr2rjr4r r r r r.| sr.zpositional-onlyzpositional or keywordzvariadic positionalrwzvariadic 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Ú _annotationr cCszt|ƒ|_Wn$tk r2td|›d�ƒ‚YnX|tk rd|jttfkrdd}| |jj¡}t|ƒ‚||_||_ |tkr€tdƒ‚t |t ƒs¢d t |ƒj ¡}t|ƒ‚|ddkrú|dd… ¡rú|jtkrâd }| |jj¡}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.r6r„rrGrIr…r4r7r8rr rr–rŸÚisdigitrFrDÚ isidentifierr5)rœrNrvrErJr}r r r rþ¹ s6  ÿ zParameter.__init__cCs t|ƒ|j|jf|j|jdœfS)N©r7r8)rr5r6r7r8rýr r r Ú __reduce__á s  ÿþzParameter.__reduce__cCs|d|_|d|_dS)Nr7r8r;©rœÚstater r r Ú __setstate__ç s zParameter.__setstate__cCs|jSr)r5rýr r r rNë szParameter.namecCs|jSr)r7rýr r r rEï szParameter.defaultcCs|jSr)r8rýr r r rJó szParameter.annotationcCs|jSr)r6rýr r r rv÷ szParameter.kind)rNrvrJrEcCsL|tkr|j}|tkr|j}|tkr*|j}|tkr8|j}t|ƒ||||d�Sr )rãr5r6r8r7r)rœrNrvrJrEr r r rVû 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\r_) rvr5r8rr…rWr7rUrGrI)rœrvÚ formattedr r r r2 s ÿ   zParameter.__str__cCsd |jj|¡S)Nz <{} "{}">©r…r˜r–rýr r r Ú__repr__# szParameter.__repr__cCst|j|j|j|jfƒSr)ÚhashrNrvrJrErýr r r Ú__hash__& szParameter.__hash__cCsJ||kr dSt|tƒstS|j|jkoH|j|jkoH|j|jkoH|j|jkS©NT)rrÚNotImplementedr5r6r7r8©rœÚotherr r r Ú__eq__) s   ÿ þ ýzParameter.__eq__N)r–r�r‘r”rDrrFrrGrrHrrIrrrArþr<r?rjrNrErJrvrãrVr2rBrDrIr r r r r™ s4(    ÿ rc@sdeZdZdZdd„Zedd„ƒZedd„ƒZedd „ƒZd d „Z d d „Z dd„Z dd„Z dd„Z dS)ÚBoundArguments)rÕÚ _signatureÚ __weakref__cCs||_||_dSr)rÕrK)rœrórÕr r r rþG szBoundArguments.__init__cCs|jSr)rKrýr r r róK szBoundArguments.signaturec Cs~g}|jj ¡D]d\}}|jttfkr*qvz|j|}Wntk rRYqvYqX|jtkrj|  |¡q|  |¡qt |ƒSr) rKrBrKrvrIrHrÕr‘rGÚextendrZrm)rœr'rÚrOrer r r r'O s    zBoundArguments.argsc Cs’i}d}|jj ¡D]x\}}|sD|jttfkr4d}n||jkrDd}q|sJqz|j|}Wntk rlYqX|jtkr„| |¡q|||<q|Sr¶) rKrBrKrvrIrHrÕr‘Úupdate)rœÚkwargsZkwargs_startedrÚrOrer r r rOf s&    zBoundArguments.kwargsc Csž|j}g}|jj ¡D]x\}}z| |||f¡Wqtk rŒ|jtk rV|j}n$|jt krfd}n|jt krvi}nYq| ||f¡YqXqt |ƒ|_dS)Nr ) rÕrKrBrKrZr‘rErrvrGrIr)rœrÕZ new_argumentsrNrOÚvalr r r Úapply_defaults„ s    zBoundArguments.apply_defaultscCs2||kr dSt|tƒstS|j|jko0|j|jkSrE)rrJrFrórÕrGr r r rI  s   ÿzBoundArguments.__eq__cCs|d|_|d|_dS)NrKrÕ©rKrÕr=r r r r?¨ s zBoundArguments.__setstate__cCs|j|jdœS)NrRrRrýr r r Ú __getstate__¬ szBoundArguments.__getstate__cCs@g}|j ¡D]\}}| d ||¡¡qd |jjd |¡¡S)Nz{}={!r}z <{} ({})>ri)rÕrKrZr…r˜r–rª)rœr'rerOr r r rB¯ szBoundArguments.__repr__N)r–r�r‘r”rþrjrór'rOrQrIr?rSrBr r r r rJ4 s   rJc@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Ú _parametersNTr"c Csî|dkrtƒ}nÈ|rÆtƒ}t}d}t|ƒD]˜\}}|j} |j} | |krdd} |  |j| j¡} t| ƒ‚n| |krtd}| }| ttfkr |j t krœ|r d} t| ƒ‚nd}| |krºd | ¡} t| ƒ‚||| <q*ntdd„|Dƒƒ}t   |¡|_ ||_dS)NFz7wrong parameter order: {} parameter before {} parameterz-non-default argument follows default argumentTzduplicate parameter name: {!r}css|]}|j|fVqdSrr]©rfrOr r r rh sÿz%Signature.__init__..)rrDrjrvrNr…r4r„rFrErrÚMappingProxyTyperUrT) rœrBr@r#rÜZtop_kindZ kind_defaultsÚidxrOrvrNr}r r r rþÔ sDÿÿ      ÿ zSignature.__init__cCstjdtdd�t||ƒS)Nz_inspect.Signature.from_function() is deprecated since Python 3.5, use Signature.from_callable()rìr.)r0r1r2r&©rgr†r 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.)r0r1r2r!rYr r r Ú from_builtin s þzSignature.from_builtin©Úfollow_wrappedcCst|||d�S)N)r<r:)r>)rgr,r]r r r r,# sÿzSignature.from_callablecCs|jSr)rUrýr r r rB) szSignature.parameterscCs|jSr©rTrýr r r r@- szSignature.return_annotation)rBr@cCs0|tkr|j ¡}|tkr |j}t|ƒ||d�S)Nr)rãrBrCrTr)rœrBr@r r r rV1 s ÿzSignature.replacecCs8tdd„|j ¡Dƒƒ}dd„|j ¡Dƒ}|||jfS)Ncss|]}|jtkr|VqdSr)rvrHrVr r r rhA s ÿz(Signature._hash_basis..cSsi|]}|jtkr|j|“qSr )rvrHrNrVr r r r‡D s ÿz)Signature._hash_basis..)rmrBrCr@)rœrÜÚ kwo_paramsr r r Ú _hash_basis@ szSignature._hash_basiscCs(| ¡\}}}t| ¡ƒ}t|||fƒSr)r`Ú frozensetrCrC)rœrÜr_r@r r r rDI s zSignature.__hash__cCs*||kr dSt|tƒstS| ¡| ¡kSrE)rr?rFr`rGr r r rIN s  zSignature.__eq__F©rØc Csºtƒ}t|j ¡ƒ}d}t|ƒ}z t|ƒ}Wnàtk �r z t|ƒ} Wntk rfYY�q¼Yn¢X| jtkrzY�q¼nŽ| j|kr¸| jt krªd} | j | jd�} t | ƒd‚| f}Y�q¼nP| jt ksÌ| j tk rÚ| f}Y�q¼n.|rì| f}Y�q¼nd} | j | jd�} t | ƒd‚Yq Xz t|ƒ} Wn tk �r:t dƒd‚Yq X| jt tfk�rVt dƒd‚| jtk�r„|g} |  |¡t| ƒ|| j<�q¼| j|k�r°| jt k�r°t dj | jd�ƒd‚||| j<q d} t ||¡D]¬} | jt k�rä| } �qÌ| jtk�rô�qÌ| j} z| | ¡}WnFtk �rN|�sJ| jtk�rJ| j tk�rJt dj | d�ƒd‚Yn(X| jt k�rnt dj | jd�ƒ‚||| <�qÌ|�r®| dk �r–||| j<nt dj tt|ƒƒd�ƒ‚| ||¡S)Nr zA{arg!r} parameter is positional only, but was passed as a keyword)rez$missing a required argument: {arg!r}ztoo many positional argumentsz$multiple values for argument {arg!r}z*got an unexpected keyword argument {arg!r})rrrBrCrñÚ StopIterationrvrGrNrDr…rŸrIrErrHrMrmrÚchainr©r‘Ú_bound_arguments_cls)rœr'rOrØrÕrBZ parameters_exZarg_valsZarg_valrOr}rCZ kwargs_paramrÚr r r Ú_bindU s°       ÿ ÿÿ  ÿÿþ   ÿÿÿ þ    ÿÿzSignature._bindcOs | ||¡Sr©rf©rœr'rOr r r ÚbindØ szSignature.bindcOs|j||dd�S)NTrbrgrhr r r rÔß szSignature.bind_partialcCs t|ƒt|j ¡ƒfd|jifS©NrT)rrmrUrCrTrýr r r r<æ sþzSignature.__reduce__cCs|d|_dSrjr^r=r r r r?ë szSignature.__setstate__cCsd |jj|¡S)Nz<{} {}>rArýr r r rBî szSignature.__repr__c CsÀg}d}d}|j ¡D]d}t|ƒ}|j}|tkr6d}n|rH| d¡d}|tkrVd}n|tkrp|rp| d¡d}| |¡q|rŠ| d¡d d  |¡¡}|j t k r¼t |j ƒ}|d |¡7}|S)NFTrìr\z({})riz -> {}) rBrCr rvrDrZrGrHr…rªr@rrW) rœrtZrender_pos_only_separatorZrender_kw_only_separatorrOr@rvZrenderedZannor r r r2ñ s0       zSignature.__str__)N)r–r�r‘r”rrrJrerrArþrrrZr[r,rjrBr@rãrVr`rDrIrfrirÔr<r?rBr2r r r r r?¶ s:ÿ 7     r?r\cCstj||d�S)Nr\)r?r,)r,r]r r r ró sróc CsÈddl}ddl}| ¡}|jddd�|jddddd �| ¡}|j}| d ¡\}}}z| |¡}} WnNtk r¶} z0d   |t | ƒj | ¡} t | t jd �t  d ¡W5d} ~ XYnX|rÞ| d¡} | }| D]} t|| ƒ}qÎ| j t jk�rt dt jd �t  d¡|j�r¸t d  |¡ƒt d  t| ƒ¡ƒt d  | j¡ƒ|| k�rxt d  t| jƒ¡ƒt| dƒ�r®t d  | j¡ƒn6zt|ƒ\}}Wntk �ržYnXt d  |¡ƒt dƒn t t|ƒƒdS)Nrr zCThe object to be analysed. It supports the 'module:qualname' syntax)Úhelpz-dz --detailsÚ store_truez9Display info about the module rather than its source code)Úactionrkræ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_modulernr…rr–Úprintr�ÚstderrÚexitr’rLÚbuiltin_module_namesZdetailsrÏÚ __cached__rUrÄrrnrër)ror¹Úparserr'ÚtargetZmod_nameZ has_attrsÚattrsr,r²rur}ÚpartsÚpartÚ__r™r r r Ú_main$ s`þþþ      r€rÔ)N)N)N)F)N)r¤)r¤)r¤)r¤)r¤)r )T)T)T)ªÚ __author__r8ÚdisZcollections.abcr7ÚenumÚimportlib.machineryr¹rrÍr¶rår�rr rr0r#rÕÚoperatorrrrÚglobalsZmod_dictZCOMPILER_FLAG_NAMESrKrbrcrGr rrrrrrr rr*r-r.r/r1r3r5r:r<r>r@rBrCrQrdrerwrVr‡r‹r“ržr¢r¡r³r¾rÏrÓrÖrØrÌrëròrnrórõrrrrrrr,r-r7r8r3rPrSrWrZr rprsr|r~r‚rƒr“r”r›r�Ú_fieldsržr¢r¥r§r©r«r r°r­r²rµr·r³r¹rºr»r¼r½rÃrÄrÅrÆrÇrÈrÌrÍrr(Z_WrapperDescriptorÚallZ_MethodWrapperrÿrJZ_ClassMethodWrapperrArÏrÐrÛrÝrÞrärèrørr!r&r>rãrÚIntEnumr.rrDrrFrrGrrHrrIr3rrJr?rór€r–r r r r Úsx            , t$ >   .N->     ÿ]  ù ;ü < 5        0  ý L H   _þ Kû k: