grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026 й¼]¾ã@süddfZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlmZddlmZmZeƒZx+ejjƒD]\ZZeedeZd d „Zd d „Zd d„Z dd„Z!dd„Z"e#edƒr�dd„Z$n dd„Z$e#edƒr·dd„Z%n 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.„Z/d/d0„Z0d1d2„Z1dd3d4„Z2ed5d6ƒZ3d7d8„Z4d9d:„Z5d;dd<d=„Z6d>d?„Z7d@dA„Z8dBdC„Z9dDdE„Z:dFdG„Z;dHdI„Z<edJdKƒZ=dLdM„Z>dNdO„Z?dPdQ„Z@ddRdS„ZAiZBiZCddTdU„ZDdVdW„ZEdXdY„ZFGdZd[„d[eGƒZHGd\d]„d]ƒZId^d_„ZJd`da„ZKdbdc„ZLddde„ZMdfdgdh„ZNedidjƒZOdkdl„ZPdmdn„ZQedodpƒZRdqdr„ZSedsdtƒZTdudv„ZUedwdxƒZVdydz„ZWdd{d|„ZXd}d~„ZYdddfiieZdd€„d�d€„d‚d€„dƒd€„eXd„d…„ Z[eZd†d€„d‡d€„dˆd€„d‰dŠ„Z\d‹dŒ„Z]d�dŽ„Z^d�d�„Z_ed‘d’ƒZ`d“d”„Zaed•d–ƒZbdd—d˜„Zcd™dš„Zded›dœfebjeƒZfdd�dž„ZgddŸd „Zhd¡d¢„Zidd£d¤„Zjdd¥d¦„ZkelƒZmd§d¨„Znd©dª„Zod«d¬„Zpd­d®„Zqd¯d°„Zremd±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ŠfdÆ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Û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¢Gdãdä„däƒZ£Gdådæ„dæƒZ¤Gdçdè„dèƒZ¥dédÒdêdë„Z¦dìdí„Z§e¨dîkrøe§ƒdS)ïzKa-Ping Yee z'Yury Selivanov éN)Ú attrgetter)Ú namedtupleÚ OrderedDictZCO_éécCst|tjƒS)N)Ú isinstanceÚtypesÚ ModuleType)Úobject©r ú,/opt/alt/python35/lib64/python3.5/inspect.pyÚismodule?sr cCs t|tƒS)N)rÚtype)r r r r ÚisclassHsrcCst|tjƒS)N)rrÚ MethodType)r r r r ÚismethodPsrcCsQt|ƒs$t|ƒs$t|ƒr(dSt|ƒ}t|dƒoPt|dƒ S)NFÚ__get__Ú__set__)rrÚ isfunctionrÚhasattr)r Útpr r r ÚismethoddescriptorZs$ rcCsPt|ƒs$t|ƒs$t|ƒr(dSt|ƒ}t|dƒoOt|dƒS)NFrr)rrrrr)r rr r r Úisdatadescriptorns$ rÚMemberDescriptorTypecCst|tjƒS)N)rrr)r r r r Úismemberdescriptor~srcCsdS)NFr )r r r r r†sÚGetSetDescriptorTypecCst|tjƒS)N)rrr)r r r r Úisgetsetdescriptor�srcCsdS)NFr )r r r r r—scCst|tjƒS)N)rrÚ FunctionType)r r r r ržs rcCs,tt|ƒst|ƒo(|jjt@ƒS)N)ÚboolrrÚ__code__Úco_flagsZ CO_GENERATOR)r r r r Úisgeneratorfunction«sr!cCs,tt|ƒst|ƒo(|jjt@ƒS)N)rrrrr Z CO_COROUTINE)r r r r Úiscoroutinefunction³sr"cCst|tjƒS)N)rrÚ GeneratorType)r r r r Ú isgenerator¼sr$cCst|tjƒS)N)rrÚ CoroutineType)r r r r Ú iscoroutineÍsr&cCsMt|tjƒpLt|tjƒr:t|jjt@ƒpLt|tj j ƒS)N) rrr%r#rÚgi_coder ZCO_ITERABLE_COROUTINEÚ collectionsÚabcÚ Awaitable)r r r r Ú isawaitableÑsr+cCst|tjƒS)N)rrÚ TracebackType)r r r r Ú istracebackØsr-cCst|tjƒS)N)rrÚ FrameType)r r r r Úisframeâs r/cCst|tjƒS)N)rrÚCodeType)r r r r Úiscodeðsr1cCst|tjƒS)N)rrÚBuiltinFunctionType)r r r r Ú isbuiltinsr3cCs.t|ƒp-t|ƒp-t|ƒp-t|ƒS)N)r3rrr)r r r r Ú isroutines   r4cCs tt|tƒo|jt@ƒS)N)rrrÚ __flags__ÚTPFLAGS_IS_ABSTRACT)r r r r Ú isabstractsr7c Csxt|ƒr"|ft|ƒ}nf}g}tƒ}t|ƒ}yWxP|jD]E}x<|jjƒD]+\}}t|tj ƒrf|j |ƒqfWqPWWnt k r®YnXx¬|D]¤} y%t || ƒ} | |kràt ‚WnCt k r&x.|D]#}| |jkrø|j| } PqøWw¶YnX| s:|| ƒrM|j | | fƒ|j | ƒq¶W|jddd„ƒ|S)NÚkeycSs|dS)Nrr )Zpairr r r ÚEszgetmembers..)rÚgetmroÚsetÚdirÚ __bases__Ú__dict__ÚitemsrrÚDynamicClassAttributeÚappendÚAttributeErrorÚgetattrÚaddÚsort) r Ú predicateÚmroÚresultsÚ processedÚnamesÚbaseÚkÚvr8Úvaluer r r Ú getmemberss:          rOÚ Attributezname kind defining_class objectcCst|ƒ}tt|ƒƒ}tdd„|Dƒƒ}|f|}||}t|ƒ}xM|D]E}x<|jjƒD]+\}}t|tjƒrw|j |ƒqwWqaWg} t ƒ} xF|D]>} d} d} d}| | krùy+| dkrÿt dƒ‚t || ƒ} Wn%t k r6}zWYdd}~XnÃXt | d| ƒ} | |krùd} d}x2|D]*}t || dƒ}|| krh|}qhWxN|D]F}y|j || ƒ}Wntk rÐw�YnX|| kr�|}q�W|dk rù|} x=|D]5}| |jkr|j| }| |kr4|} PqW| dkrHqÀ| dk rZ| n|}t|tƒr~d}|}nWt|tƒrœd}|}n9t|tƒrºd}|}nt|ƒrÏd }nd }| j t| || |ƒƒ| j| ƒqÀW| S) NcSs(g|]}|ttfkr|‘qSr )rr )Ú.0Úclsr r r ú gs z(classify_class_attrs..r>z)__dict__ is special, don't want the proxyÚ __objclass__z static methodz class methodÚpropertyÚmethodÚdata)r:rÚtupler<r>r?rrr@rAr;Ú ExceptionrCÚ __getattr__rBÚ staticmethodÚ classmethodrUr4rPrD)rRrGZmetamroZ class_basesZ all_basesrJrKrLrMÚresultrIÚnameZhomeclsZget_objZdict_objÚexcZlast_clsZsrch_clsZsrch_objÚobjÚkindr r r Úclassify_class_attrsJs€                            rbcCs|jS)N)Ú__mro__)rRr r r r:¾sr:Ústopcsœˆdkrdd„}n‡fdd†}|}t|ƒh}xS||ƒr—|j}t|ƒ}||kr‡tdj|ƒƒ‚|j|ƒqEW|S)NcSs t|dƒS)NÚ __wrapped__)r)Úfr r r Ú _is_wrapperÕszunwrap.._is_wrappercst|dƒoˆ|ƒ S)Nre)r)rf)rdr r rgØsz!wrapper loop when unwrapping {!r})ÚidreÚ ValueErrorÚformatrD)ÚfuncrdrgrfÚmemoZid_funcr )rdr ÚunwrapÄs    rmcCs&|jƒ}t|ƒt|jƒƒS)N)Ú expandtabsÚlenÚlstrip)ÚlineZexpliner r r Ú indentsizeås rrcCsotjj|jƒ}|dkr%dSx3|jjdƒdd…D]}t||ƒ}qBWt|ƒskdS|S)NÚ.réÿÿÿÿ)ÚsysÚmodulesÚgetÚ __module__Ú __qualname__ÚsplitrCr)rkrRr^r r r Ú _findclassês # r{c Csbt|ƒrexR|jD]G}|tk ry |j}Wntk rLwYnX|dk r|SqWdSt|ƒrË|jj}|j}t|ƒr¿t t ||dƒdƒ|jkr¿|}q |j }nAt |ƒr|j}t |ƒ}|dks t ||ƒ|k r dSnøt |ƒrm|j}|j}t|ƒra|jd||jkra|}q |j }nŸt|tƒrÂ|j}|j}t |ƒ}|dks»t ||ƒ|k r dSnJt|ƒsÚt|ƒr|j}|j}t ||ƒ|k r dSndSxO|jD]D}yt ||ƒj}Wntk rIwYnX|dk r|SqWdS)NÚ__func__rs)rrcr Ú__doc__rBrr|Ú__name__Ú__self__rCÚ __class__rr{r3ryrrUÚfgetrrrT)r`rKÚdocr^ÚselfrRrkr r r Ú_finddocôsb         $     !         !    r„cCs~y |j}Wntk r%dSYnX|dkrayt|ƒ}Wnttfk r`dSYnXt|tƒstdSt|ƒS)N)r}rBr„Ú TypeErrorrÚstrÚcleandoc)r r‚r r r Úgetdoc/s     rˆc CsFy|jƒjdƒ}Wntk r1dSYnXtj}xO|dd…D]=}t|jƒƒ}|rLt|ƒ|}t||ƒ}qLW|r§|djƒ|d<|tjkrîx5tdt|ƒƒD]}|||d…||.) ÚwarningsÚwarnÚDeprecationWarningÚcatch_warningsÚ simplefilterÚPendingDeprecationWarningÚimpÚosÚpathÚbasenameZ get_suffixesrEr™)r§r¥ÚfilenameÚsuffixesÚneglenrœr�ržr r r Ú getmoduleinfozs    r¬cCsptjj|ƒ}dd„tjjƒDƒ}|jƒx1|D])\}}|j|ƒr?|d|…Sq?WdS)NcSs#g|]}t|ƒ |f‘qSr )ro)rQrœr r r rS�s z!getmodulename..)r¦r§r¨Ú importlibÚ machineryÚ all_suffixesrEÚendswith)r§Zfnamerªr«rœr r r Ú getmodulename‰s  r±csýt|ƒ‰tjjdd…}|tjjdd…7}t‡fdd†|Dƒƒr‚tjjˆƒdtjj d‰n)t‡fdd†tjj Dƒƒr«dStjj ˆƒrÁˆSt t |ˆƒddƒdk ræˆSˆtjkrùˆSdS)Nc3s|]}ˆj|ƒVqdS)N)r°)rQÚs)r©r r ú œsz getsourcefile..rc3s|]}ˆj|ƒVqdS)N)r°)rQr²)r©r r r³ŸsÚ __loader__)r˜r­r®ÚDEBUG_BYTECODE_SUFFIXESÚOPTIMIZED_BYTECODE_SUFFIXESÚanyr¦r§ÚsplitextÚSOURCE_SUFFIXESÚEXTENSION_SUFFIXESÚexistsrCÚ getmoduleÚ linecacheÚcache)r Zall_bytecode_suffixesr )r©r Ú getsourcefile•s !r¿cCs@|dkr$t|ƒp!t|ƒ}tjjtjj|ƒƒS)N)r¿r˜r¦r§ÚnormcaseÚabspath)r Ú _filenamer r r Ú getabsfile«s rÃc Csÿt|ƒr|St|dƒr2tjj|jƒS|dk r^|tkr^tjjt|ƒSyt||ƒ}Wntk r‰dSYnX|tkrªtjjt|ƒSx™t tjj ƒƒD]‚\}}t|ƒrÀt|dƒrÀ|j }|t j|dƒkr qÀ|t |||fS|j|jd ƒ|fƒqW|r€|jƒ||dd fStd ƒ‚t|ƒr¡|j}t|ƒr¶|j}t|ƒrË|j}t|ƒrà|j}t|ƒr^t|d ƒstd ƒ‚|jd } t jd ƒ}x.| dkrS|j|| ƒrFP| d } q&W|| fStdƒ‚dS)Nú<ú>zsource code not availablezcould not get source coderz^(\s*)class\s*z\bÚcrzcould not find class definitionÚco_firstlinenoz"could not find function definitionz>^(\s*def\s)|(\s*async\s+def\s)|(.*(?r rr~ÚreÚcompiler�roÚmatchrAÚgrouprErr|rrr-r•r/r–r1rrÑ) r rÊrÌr�r^ÚpatZ candidatesr“rØÚlnumr r r Ú findsourceås^                        rÜc CsÙyt|ƒ\}}Wnttfk r4dSYnXt|ƒrBd}|rm|ddd…dkrmd}x6|t|ƒkr¥||jƒdkr¥|d}qpW|t|ƒkrÕ||dd…dkrÕg}|}xQ|t|ƒkr1||dd…dkr1|j||jƒƒ|d}qáWdj|ƒSn“|dkrÕt ||ƒ}|d}|dkrÕ||j ƒdd…dkrÕt ||ƒ|krÕ||jƒj ƒg}|dkrb|d}||jƒj ƒ}xp|dd…dkrat ||ƒ|kra|g|dd…<|d}|dkrHP||jƒj ƒ}qòWx0|r”|djƒdkr”g|dd…._formatannotation)rC)r r=r )rÌr Úformatannotationrelativeto‘sr>cCsd|S)NÚ*r )r^r r r r9šsr9cCsd|S)Nz**r )r^r r r r9›scCsdt|ƒS)Nú=)r:)rNr r r r9œscCsd|S)Nz -> r )Útextr r r r9�sc s‘‡‡‡fdd†} g}|r:t|ƒt|ƒ}x]t|ƒD]O\}}| |ƒ}|r‰||kr‰|| |||ƒ}|j|ƒqGW|dk rÂ|j|| |ƒƒƒn|rÕ|jdƒ|r+xM|D]E}| |ƒ}|r||kr|| ||ƒ7}|j|ƒqâW|dk rP|j| | |ƒƒƒddj|ƒd}dˆkr�|| ˆˆdƒƒ7}|S)Ncs4ˆ|ƒ}|ˆkr0|dˆˆ|ƒ7}|S)Nz: r )Úargr])r3r<Ú formatargr r Úformatargandannotation§s  z-formatargspec..formatargandannotationr?rðz, rñr#)roÚ enumeraterAr�)r r rrrrr3rCÚ formatvarargsÚ formatvarkwÚ formatvalueZ formatreturnsr<rDÚspecsZ firstdefaultr“rBÚspecZ kwonlyargr]r )r3r<rCr Ú formatargspec—s2       rKcCsd|S)Nr?r )r^r r r r9ÈscCsd|S)Nz**r )r^r r r r9ÉscCsdt|ƒS)Nr@)r:)rNr r r r9Êsc Cs²|||dd„}g} x1tt|ƒƒD]} | j||| ƒƒq.W|rv| j||ƒ|||ƒƒ|r�| j||ƒ|||ƒƒddj| ƒdS)NcSs||ƒ|||ƒS)Nr )r^ÚlocalsrCrHr r r ÚconvertÑsz formatargvalues..convertrðz, rñ)r�rorAr�) r r rrLrCrFrGrHrMrIr“r r r ÚformatargvaluesÆs !!rNcsÖ‡fdd†|Dƒ}t|ƒ}|dkr>|d}nW|dkr\dj|Œ}n9dj|dd…Œ}|dd…=dj|ƒ|}td |||r­d nd |dkrÂd nd |fƒ‚dS)Ncs(g|]}|ˆkrt|ƒ‘qSr )r:)rQr^)r)r r rSÞs z&_missing_arguments..rrršz {} and {}z , {} and {}z, z*%s() missing %i required %s argument%s: %sÚ positionalz keyword-onlyrÝr²éþÿÿÿrP)rorjr�r…)Úf_nameZargnamesÚposr)rJÚmissingr²Útailr )r)r Ú_missing_argumentsÝs     rUc s.t|ƒ|}t‡fdd†|Dƒƒ}|rQ|dk} d|f} nI|rvd} d|t|ƒf} n$t|ƒdk} tt|ƒƒ} d} |rãd} | |dkrÁd nd||dkrÙd ndf} td || | rûd nd|| |dkr| rd nd fƒ‚dS) Ncs"g|]}|ˆkr|‘qSr r )rQrB)r)r r rSïs z_too_many..rz 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)ror†r…) rQr Zkwonlyr ZdefcountZgivenr)ZatleastZ kwonly_givenÚpluralr1Z kwonly_sigÚmsgr )r)r Ú _too_manyís$ rXcOsÖ|d}|dd…}t|ƒ}|\}}}}} } } |j} i} t|ƒr{|jdk r{|jf|}t|ƒ}t|ƒ}|r¥t|ƒnd}t||ƒ}x&t|ƒD]}||| ||Ws z"getclosurevars..Ú __builtins__ÚNoneÚTrueÚFalse)rcrdre)rr|rr…rjrÚ __closure__ÚzipÚ co_freevarsÚ __globals__rwrÅr>r r;Úco_namesÚKeyErrorrDr^) rkÚcodeZ nonlocal_varsZ global_nsZ builtin_nsZ global_varsZ builtin_varsZ unbound_namesr^r r r ÚgetclosurevarsBs8              rmÚ Tracebackz+filename lineno function code_context indexcCs#t|ƒr!|j}|j}n |j}t|ƒsKtdj|ƒƒ‚t|ƒp`t|ƒ}|dkrý|d|d}yt |ƒ\}}Wnt k rµd}}YqXt dt |t |ƒ|ƒƒ}||||…}|d|}n d}}t|||jj||ƒS)Nz'{!r} is not a frame or traceback objectrrrš)r-Ú tb_linenor•Úf_linenor/r…rjr¿r˜rÜrÔÚmaxrŒrornr–Úco_name)r8ÚcontextÚlinenor©ràr�rÛÚindexr r r Ú getframeinfoys$       " rvcCs|jS)N)rp)r8r r r Ú getlineno™srwÚ FrameInfor8cCsIg}x<|rD|ft||ƒ}|jt|Œƒ|j}q W|S)N)rvrArxÚf_back)r8rsÚ framelistÚ frameinfor r r Úgetouterframes s   r|cCsLg}x?|rG|jft||ƒ}|jt|Œƒ|j}q W|S)N)r•rvrArxÚtb_next)Útbrsrzr{r r r Úgetinnerframes¬s   rcCs ttdƒrtjdƒSdS)NÚ _getframer)rrur€r r r r Ú currentframe¸sr�cCsttjdƒ|ƒS)Nr)r|rur€)rsr r r Ústack¼sr‚cCsttjƒd|ƒS)Nrš)rruÚexc_info)rsr r r ÚtraceÀsr„cCstjdj|ƒS)Nrc)rr>r)Úklassr r r Ú_static_getmroÉsr†c CsDi}ytj|dƒ}Wntk r0YnXtj||tƒS)Nr>)r Ú__getattribute__rBÚdictrwÚ _sentinel)r`ÚattrZ instance_dictr r r Ú_check_instanceÌs  r‹c CsWxPt|ƒD]B}tt|ƒƒtkr y|j|SWq tk rNYq Xq WtS)N)r†Ú_shadowed_dictrr‰r>rk)r…rŠÚentryr r r Ú _check_classÕs  rŽc Cs+yt|ƒWntk r&dSYnXdS)NFT)r†r…)r`r r r Ú_is_typeÞs   r�c Cs‹tjd}xwt|ƒD]i}y|j|ƒd}Wntk rKYqXt|ƒtjko||jdko||j|ks|SqWt S)Nr>) rr>r†rrkrrr~rTr‰)r…Ú dict_attrr�Z class_dictr r r rŒås  rŒc Csit}t|ƒs]t|ƒ}t|ƒ}|tksKt|ƒtjkrct||ƒ}n|}t||ƒ}|tk rÄ|tk rÄtt|ƒdƒtk rÄtt|ƒdƒtk rÄ|S|tk rÔ|S|tk rä|S||krIxVtt|ƒƒD]B}tt|ƒƒtkry|j |SWqt k rDYqXqW|tk rY|St |ƒ‚dS)Nrr) r‰r�rrŒrrr‹rŽr†r>rkrB)r`rŠr,Zinstance_resultr…r�Z klass_resultr�r r r Úgetattr_staticós6           r‘Ú GEN_CREATEDÚ GEN_RUNNINGÚ GEN_SUSPENDEDÚ GEN_CLOSEDcCs:|jr tS|jdkr tS|jjdkr6tStS)Nrrt)Ú gi_runningr“Úgi_framer•Úf_lastir’r”)Ú generatorr r r Úgetgeneratorstate(s ršcCsQt|ƒs!tdj|ƒƒ‚t|ddƒ}|dk rI|jjSiSdS)Nz '{!r}' is not a Python generatorr—)r$r…rjrCr—r7)r™r8r r r Úgetgeneratorlocals:s    r›Ú CORO_CREATEDÚ CORO_RUNNINGÚCORO_SUSPENDEDÚ CORO_CLOSEDcCs:|jr tS|jdkr tS|jjdkr6tStS)Nrrt)Ú cr_runningr�Úcr_framerŸr˜rœrž)Ú coroutiner r r ÚgetcoroutinestateRs r£cCs-t|ddƒ}|dk r%|jSiSdS)Nr¡)rCr7)r¢r8r r r Úgetcoroutinelocalsds r¤Ú from_bytesc CsCyt||ƒ}Wntk r+dSYnXt|tƒs?|SdS)N)rCrBrÚ_NonUserDefinedCallables)rRZ method_nameÚmethr r r Ú"_signature_get_user_defined_method€s   r¨cCs|j}t|jƒƒ}|jp'f}|jp6i}|rI||}y|j||Ž}WnCtk r¤}z#dj|ƒ} t| ƒ|‚WYdd}~XnXd} xZ|jƒD]L\} } y|j | } Wnt k réYn’X| j t kr |j | ƒq¸| j tkrV| |krCd} | jd| ƒ|| .r‰Frr¼Trú/ú$rñz, ú rÝ) rzrûrüròrArøÚOPÚ ERRORTOKENÚnextrÚstringr�)Ú signatureÚself_parameterÚlast_positional_onlyr�r™Z token_streamZ delayed_commaZskip_next_commarArDZcurrent_parameterrÆrÇÚtrrÉÚclean_signaturer r r Ú"_signature_strip_non_python_syntax2sP                rÏTcs,|j‰t|ƒ\}}}d|d}ytj|ƒ}Wntk rYd}YnXt|tjƒs�tdj|ƒƒ‚|j d} g‰ˆj ‰t ƒ‰d}i‰t |ddƒ} | rît jj| dƒ}|rî|j‰t j‰dd„‰‡‡fdd †‰ G‡ fd d †d tjƒ‰ˆ‡‡‡‡‡‡‡fd d †} t| jjƒ} t| jjƒ} tj| | ddƒ}|dk r²ˆj‰n ˆj‰xNttt|ƒƒƒD]4\}\}}| ||ƒ||krÔˆj‰qÔW| jjr4ˆj‰| | jjˆƒˆj‰x6t| jj| jj ƒD]\}}| ||ƒqYW| jj!ržˆj"‰| | jj!ˆƒ|dk rt |ddƒ}|dk }t#|ƒ}|rö|sæ|röˆj$dƒn#ˆdj%dˆjƒ} | ˆd<|ˆd|j ƒS)Nzdef fooz: passz"{!r} builtin has invalid signaturerrxcSs"|jdkrtdƒ‚|jS)Nz'Annotations are not currently supported)r0rirB)Únoder r r Ú parse_name�s z&_signature_fromstr..parse_namecsÙyt|ˆƒ}WnCtk rXyt|ˆƒ}Wntk rStƒ‚YnXYnXt|tƒrutj|ƒSt|ttfƒr—tj |ƒSt|t ƒr³tj |ƒS|dkrÌtj |ƒStƒ‚dS)NTF)TFN) ÚevalÚ NameErrorÚ RuntimeErrorrr†ÚastZStrÚintÚfloatZNumÚbytesZBytesZ NameConstant)r²rN)Ú module_dictÚsys_module_dictr r Ú wrap_value£s        z&_signature_fromstr..wrap_valuecs4eZdZ‡fdd†Z‡fdd†ZdS)z,_signature_fromstr..RewriteSymbolicscsˆg}|}x/t|tjƒr=|j|jƒ|j}qWt|tjƒsYtƒ‚|j|jƒdj t |ƒƒ}ˆ|ƒS)Nrs) rrÕrPrArŠrNÚNamerÔrhr�Úreversed)rƒrÐÚarZrN)rÛr r Úvisit_Attribute·s  z<_signature_fromstr..RewriteSymbolics.visit_Attributecs+t|jtjƒstƒ‚ˆ|jƒS)N)rÚctxrÕZLoadrirh)rƒrÐ)rÛr r Ú visit_NameÃs z7_signature_fromstr..RewriteSymbolics.visit_NameN)r~rxryrßrár )rÛr r ÚRewriteSymbolics¶s  râcs¼ˆ|ƒ}|ˆkrdS|r–|tk r–y%ˆƒj|ƒ}tj|ƒ}Wntk rmˆ}YnX|ˆkr~dS|ˆk r�|n|}ˆjˆ|ˆd|dˆƒƒdS)Nr,r0)Ú_emptyZvisitrÕZ literal_evalrirA)Z name_nodeZ default_noder,r^Úo)Ú Parameterrâr'Úinvalidrar(rÑr r ÚpÈs     z_signature_fromstr..pÚ fillvaluerrar&)&Ú_parameter_clsrÏrÕÚparseÚ SyntaxErrorrZModulerirjZbodyr'r rCrurvrwr>ZNodeTransformerrÝr rÚ itertoolsÚ zip_longestÚPOSITIONAL_ONLYÚPOSITIONAL_OR_KEYWORDrErÇZvarargÚVAR_POSITIONALÚ KEYWORD_ONLYrgrZ kw_defaultsr\Ú VAR_KEYWORDr rŽr;)rRr`r²r!rÎrËrÌZprogramrÌrfÚ module_namerçr rrûr“r^r,Ú_selfZ self_isboundZ self_ismoduler ) rårâr'rærarÙr(rÑrÚrÛr Ú_signature_fromstrzsj         '   +      (      rõcCsat|ƒs!tdj|ƒƒ‚t|ddƒ}|sNtdj|ƒƒ‚t||||ƒS)Nz%{!r} is not a Python builtin functionÚ__text_signature__z#no signature found for builtin {!r})rµr…rjrCrirõ)rRrkr!r²r r r Ú_signature_from_builtins   r÷c CsÊd}t|ƒs<t|ƒr'd}ntdj|ƒƒ‚|j}|j}|j}|j}t|d|…ƒ}|j }||||…} |j } |j } |j } | rÃt | ƒ} nd} g}|| }xI|d|…D]7}| j|tƒ}|j||d|dtƒƒqêWx_t||d…ƒD]G\}}| j|tƒ}|j||d|dtd| |ƒƒq<W|jt@rÓ|||}| j|tƒ}|j||d|dtƒƒxi| D]a}t}| dk r| j|tƒ}| j|tƒ}|j||d|dtd|ƒƒqÚW|jt@r¨||}|jt@rm|d7}||}| j|tƒ}|j||d|dtƒƒ||d | jd tƒd |ƒS) NFTz{!r} is not a Python functionrr0rar,rr&r#Ú__validate_parameters__)rr»r…rjrérrrrXrr¸r¶r·rorwrãrAr+rEr rr-r.rr/)rRrkZis_duck_functionråZ func_codeZ pos_countZ arg_namesrOZkeyword_only_countZ keyword_onlyr3rr4Zpos_default_countr(Znon_default_countr^r0Úoffsetr,rur r r Ú_signature_from_functionsj            #           rúr r!c!Cs×t|ƒs!tdj|ƒƒ‚t|tjƒrht|jd|d|d|ƒ}|rdt|ƒS|S|r´t |ddd„ƒ}t|tjƒr´t|d|d|d|ƒSy |j }Wnt k rÕYn5X|dk r t|t ƒstdj|ƒƒ‚|Sy |j }Wnt k r+Yn§Xt|tjƒrÒt|jd|d|d|ƒ}t||dƒ}t|jjƒƒd }|jtjkr |St|jjƒƒ}|f|} |jd | ƒSt|ƒsêt|ƒr÷t||ƒSt|ƒrt||d|ƒSt|tjƒrVt|jd|d|d|ƒ}t||ƒSd}t|tƒrÙt t|ƒd ƒ} | dk r­t| d|d|d|ƒ}nut |d ƒ} | dk rét| d|d|d|ƒ}n9t |d ƒ} | dk r"t| d|d|d|ƒ}|dkrqxS|j!dd…D]>} y | j"}Wnt k riYqBX|rBt#|||ƒSqBWt|j!krq|j$t%j$krÁ|j&t%j&krÁt't%ƒSt(dj|ƒƒ‚n˜t|t)ƒsqt t|ƒd ƒ} | dk rqy"t| d|d|d|ƒ}WnCt(k rp}z#dj|ƒ}t(|ƒ|‚WYdd}~XnX|dk r‘|r�t|ƒS|St|tj*ƒr¾dj|ƒ}t(|ƒ‚t(dj|ƒƒ‚dS)Nz{!r} is not a callable objectr r!r"rdcSs t|dƒS)NÚ __signature__)r)rfr r r r9„sz*_signature_from_callable..z1unexpected object {!r} in __signature__ attributerr(Ú__call__Ú__new__rërz(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)Nrt)+r¹r…rjrrrr$r|r´rmrûrBr%Ú_partialmethodÚ functoolsÚ partialmethodrkr²rXr(r)rarårðr;rr»rúrµr÷r®rr¨rcrörõrër rýrÊrir¦r2)r`r r!r"r1rr­Zfirst_wrapped_paramZ sig_paramsr°ÚcallÚnewZinitrKZtext_sigr2rWr r r r$hsæ                               "   r$c@seZdZdS)rºN)r~rxryr r r r rº0 s rºc@seZdZdS)rãN)r~rxryr r r r rã4 s rãc@s:eZdZdZdZdZdZdZdd„ZdS) Ú_ParameterKindrrršéécCs|jS)N)Ú_name_)rƒr r r Ú__str__? sz_ParameterKind.__str__N) r~rxryrîrïrðrñròrr r r r r8 s rc @seZdZd"ZeZeZeZ e Z e Z eZdededd„Zd d „Zd d „Zed d„ƒZedd„ƒZedd„ƒZedd„ƒZdededededd„Zdd„Zdd„Zdd„Zdd „Zd!S)#råÚ_nameÚ_kindÚ_defaultÚ _annotationr,r0cCså|tttttfkr'tdƒ‚||_|tk ri|ttfkridj|ƒ}t|ƒ‚||_ ||_ |tkr“tdƒ‚t |t ƒs·t dj|ƒƒ‚|jƒsØtdj|ƒƒ‚||_dS)Nz,invalid value for 'Parameter.kind' attributez({} parameters cannot have default valuesz*name is a required attribute for Parameterzname must be a str, not a {!r}z"{!r} is not a valid parameter name)r*r+r-r.r/rir rãrjr r rr†r…Ú isidentifierr)rƒr^rar,r0rWr r r rëj s"          zParameter.__init__cCs1t|ƒ|j|jfd|jd|jifS)Nr r )rrr r r )rƒr r r Ú __reduce__ƒ s  zParameter.__reduce__cCs|d|_|d|_dS)Nr r )r r )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 r0• szParameter.annotationcCs|jS)N)r )rƒr r r ra™ szParameter.kindr^racCss|tkr|j}|tkr*|j}|tkr?|j}|tkrT|j}t|ƒ||d|d|ƒS)Nr,r0)rºrr r r r)rƒr^rar0r,r r r r;� s        zParameter.replacecCs™|j}|j}|jtk r<dj|t|jƒƒ}|jtk rfdj|t|jƒƒ}|tkrd|}n|t kr•d|}|S)Nz{}:{}z{}={}r?z**) rarr rãrjr<r r:r-r/)rƒraÚ formattedr r r r¯ s       zParameter.__str__cCsdj|jj|ƒS)Nz <{} "{}">)rjr€r~)rƒr r r Ú__repr__ szParameter.__repr__cCs"t|j|j|j|jfƒS)N)Úhashr^rar0r,)rƒr r r Ú__hash__Å szParameter.__hash__cCsi||krdSt|tƒs#tS|j|jkoh|j|jkoh|j|jkoh|j|jkS)NT)rråÚNotImplementedrr r r )rƒÚotherr r r Ú__eq__È s zParameter.__eq__N)rr r r )r~rxryÚ __slots__r*rîr+rïr-rðr.rñr/ròrãr'rër rrUr^r,r0rarºr;rrrrr r r r råJ s(      råc@s”eZdZdZdd„Zedd„ƒZedd „ƒZed d „ƒZd d „Z dd„Z dd„Z dd„Z dd„Z dS)ÚBoundArgumentsr«Ú _signatureÚ __weakref__cCs||_||_dS)N)r«r)rƒrÊr«r r r rëæ s zBoundArguments.__init__cCs|jS)N)r)rƒr r r rÊê szBoundArguments.signaturec Csœg}x‰|jjjƒD]u\}}|jttfkr;Py|j|}Wntk raPYqX|jtkr�|j |ƒq|j |ƒqWt |ƒS)N) rr(r?rar/r.r«rkr-ÚextendrArX)rƒr r±r5rBr r r r î s zBoundArguments.argsc CsÇi}d}x´|jjjƒD] \}}|sg|jttfkrOd}n||jkrgd}q|spqy|j|}Wntk r•YqX|jtkrµ|j|ƒq|||z, )r«r?rArjr€r~r�)rƒr rBrNr r r rN szBoundArguments.__repr__N)r«rr)r~rxryrrërUrÊr rrrrr rr r r r rÓ s      rc@s9eZdZd-ZeZeZeZ ddedddd„Z e d d „ƒZ e d d „ƒZ e d ddd„ƒZedd„ƒZedd„ƒZdededd„Zdd„Zdd„Zdd„Zdddd „Zd!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„ZdS).r%Ú_return_annotationÚ _parametersNr&røTc Cs[|dkrtƒ}n$|r#tƒ}t}d}xt|ƒD]Ü\}}|j} |j} | |kr‘d} | j|| ƒ} t| ƒ‚n| |kr©d}| }| ttfkrë|jt krå|rëd} t| ƒ‚nd}| |krdj| ƒ} t| ƒ‚||| .)rr*rErar^rjrir+r,rãrÚMappingProxyTyper"r!) rƒr(r&rør³Ztop_kindZ kind_defaultsÚidxr5rar^rWr r r rës s<           zSignature.__init__cCs#tjdtddƒt||ƒS)NzNinspect.Signature.from_function() is deprecated, use Signature.from_callable()rrš)rŸr r¡rú)rRrkr r r Ú from_function¦ s  zSignature.from_functioncCs#tjdtddƒt||ƒS)NzMinspect.Signature.from_builtin() is deprecated, use Signature.from_callable()rrš)rŸr r¡r÷)rRrkr r r Ú from_builtin¯ s  zSignature.from_builtinÚfollow_wrappedcCst|d|d|ƒS)Nr"r )r$)rRr`r'r r r Ú from_callable¸ szSignature.from_callablecCs|jS)N)r")rƒr r r r(¾ szSignature.parameterscCs|jS)N)r!)rƒr r r r& szSignature.return_annotationr(cCsF|tkr|jjƒ}|tkr0|j}t|ƒ|d|ƒS)Nr&)rºr(r)r!r)rƒr(r&r r r r;Æ s    zSignature.replacecCsNtdd„|jjƒDƒƒ}dd„|jjƒDƒ}|||jfS)Ncss$|]}|jtkr|VqdS)N)rar.)rQr5r r r r³Ö sz(Signature._hash_basis..cSs+i|]!}|jtkr||j“qSr )rar.r^)rQr5r r r raÙ s z)Signature._hash_basis..)rXr(r)r&)rƒr³Ú kwo_paramsr r r Ú _hash_basisÕ s"zSignature._hash_basiscCs:|jƒ\}}}t|jƒƒ}t|||fƒS)N)r*Ú frozensetr)r)rƒr³r)r&r r r rÞ szSignature.__hash__cCs9||krdSt|tƒs#tS|jƒ|jƒkS)NT)rr%rr*)rƒrr r r rã s  zSignature.__eq__r®FcCsetƒ}t|jjƒƒ}f}t|ƒ}xêyt|ƒ}Wntk rMyt|ƒ} Wntk rxPYnÑX| jtkrŒPn½| j|krá| jt krÔd} | j d| jƒ} t | ƒd‚| f}Pnh| jt ksÿ| j tk r | f}Pn=|r| f}Pn*d} | j d| jƒ} t | ƒd‚Yq3Xyt|ƒ} Wn!tk r�t dƒd‚Yq3X| jt tfkr¦t dƒd‚| jtkrß|g} | j|ƒt| ƒ|| j)rjr€r~)rƒr r r rƒ szSignature.__repr__c Csg}d}d}x¡|jjƒD]�}t|ƒ}|j}|tkrRd}n|rk|jdƒd}|tkr€d}n%|tkr¥|r¥|jdƒd}|j|ƒq"W|rÉ|jdƒdjdj |ƒƒ}|j t k rt |j ƒ}|dj|ƒ7}|S)NFTrÃr?z({})z, z -> {}) r(r)r†rar*rAr-r.rjr�r&rãr<) rƒr]Zrender_pos_only_separatorZrender_kw_only_separatorr5rraZrenderedZannor r r r† s0         zSignature.__str__)r!r")r~rxryrrårérr.rãr'rër\r%r&r(rUr(r&rºr;r*rrr/r0rªr rrrr r r r r%U s.  2    ƒ     r%r'cCstj|d|ƒS)Nr')r%r()r`r'r r r rÊ´ srÊcCs^ddl}ddl}|jƒ}|jdddƒ|jdddddd ƒ|jƒ}|j}|jd ƒ\}}}y|j|ƒ}} Wn`tk rù} z@d j |t | ƒj | ƒ} t | d t jƒtd ƒWYdd} ~ XnX|r5|jdƒ} | }x| D]} t|| ƒ}qW| j t jkrdt dd t jƒtdƒ|jrJt dj |ƒƒt dj t| ƒƒƒt dj | jƒƒ|| krÿt dj t| jƒƒƒt| dƒr=t dj | jƒƒn>yt|ƒ\}}Wntk r)YnXt dj |ƒƒt dƒnt t|ƒƒdS)Nrr ÚhelpzCThe object to be analysed. It supports the 'module:qualname' syntaxz-dz --detailsÚactionÚ store_truez9Display info about the module rather than its source coder½zFailed to import {} ({}: {})rÊršrsz#Can't get info for builtin modules.rz Target: {}z Origin: {}z Cached: {}z Loader: {}Ú__path__zSubmodule search path: {}zLine: {}r‰)Úargparser­ÚArgumentParserÚ add_argumentÚ parse_argsr Ú partitionÚ import_modulerYrjrr~ÚprintruÚstderrÚexitrzrCÚbuiltin_module_namesZdetailsr¿Ú __cached__r:r´rr4rÜr)r5r­Úparserr ÚtargetZmod_nameZ has_attrsZattrsr`rÌr_rWÚpartsÚpartÚ__rtr r r Ú_main¹ sV              rErÄ)©Ú __author__rÕZdisÚcollections.abcr(ÚenumZimportlib.machineryr­rìr½r¦rÖruròrørrŸrÿrÅÚoperatorrrrÚglobalsZmod_dictZCOMPILER_FLAG_NAMESr?rLrMr6r rrrrrrrrr!r"r$r&r+r-r/r1r3r4r7rOrPrbr:rmrrr{r„rˆr‡r˜r™r¬r±r¿rÃrÆrÈr¼rÜrârYrãrärÿrrrrr rr rrrrr6r9r<r>r†rKrNrUrXr]r^rmrnrvrwÚ_fieldsrxr|rr�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Ör>Z_ClassMethodWrapperr2r¦r¨r²r´rµr»r¿rÏrõr÷rúr$rºrãÚIntEnumrrîr*rïr+rðr-rñr.ròr/rårr%rÊrEr~r r r r ÚsN                                , t !  ;      . I -7      [        )     > 5       0      L    H� QÆ     ‰‚ÿ` :