
    ,hh;                       S r / SQrSSKrSSKrSSKrSSKrSSKrSSKr	SSK
r
SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKJr  SSKJr  SSKJrJr  SSKJr  \" 5       r\R>                  RA                  5        H  u  r!r"\!\S\"-   '   M     C!C"CS	r#SSS
S.S jr$S r%S r&S r'S r(S r)\*" \S5      (       a  S r+OS r+\*" \S5      (       a  S r,OS r,S r-S r.S r/\0" 5       r1S r2S r3S r4S r5S r6S  r7S! r8S" r9S# r:S$ r;S% r<S& r=S' r>S( r?S) r@S* rASS+ jrBSS, jrC\" S-S.5      rDS/ rES0 rFSS1.S2 jrGS3 rHS4 rIS5 rJS6 rKS7 rLS8 rMS9 rNS: rOSS; jrP0 rQ0 rRSS< jrS " S= S>\T5      rUS? rVS@ rW " SA SB\T5      rX " SC SD5      rYSE rZSF r[SG r\SH r]SSI jr^\" SJSK5      r_SL r`\" SMSN5      raSO rb\" SPSQ5      rcSR rdSSS jreST rf\gSU SV SW 4SX jrhSY riSZ rjS[ rk\" S\S]5      rlS^ rm\" S_S`5      rn " Sa Sb\n5      roSc rpSd rqSSe jrrSf rs\" SgSh\oR                  -   5      ru " Si Sj\u5      rvSSk jrwSSl jrxSm rySSn jrzSSo jr{\0" 5       r|\}R                  Sp   R                  r\}R                  Sq   R                  rSr rSs r\GR                  " 5       St 5       rSu r\|4Sv jrSwrSxrSyrSzrS{ rS| rS}rS~rSrSrS rS rSrSrSrSrS rS r\GR4                  \GR6                  \GR8                  \GR:                  4rSS.S jrSS jrS rS rS rS rSS jrSS jr  SS jrS rSSSSS
S.S jr " S S5      r " S S5      r " S S\GRX                  5      r\GR\                  r\GR`                  r\GRd                  r\GRh                  r\GRl                  r " S S5      r " S S5      r " S S5      rSSSS
S.S jr " S S\GRx                  5      rS r\S:X  a  \" 5         gg))zKa-Ping Yee <ping@lfw.org>z'Yury Selivanov <yselivanov@sprymix.com>)hAGEN_CLOSEDAGEN_CREATEDAGEN_RUNNINGAGEN_SUSPENDEDArgInfo	Arguments	AttributeBlockFinderBoundArgumentsBufferFlagsCORO_CLOSEDCORO_CREATEDCORO_RUNNINGCORO_SUSPENDEDCO_ASYNC_GENERATORCO_COROUTINECO_GENERATORCO_ITERABLE_COROUTINE	CO_NESTEDCO_NEWLOCALS	CO_NOFREECO_OPTIMIZED
CO_VARARGSCO_VARKEYWORDSClassFoundExceptionClosureVars
EndOfBlock	FrameInfoFullArgSpec
GEN_CLOSEDGEN_CREATEDGEN_RUNNINGGEN_SUSPENDED	Parameter	SignatureTPFLAGS_IS_ABSTRACT	Tracebackclassify_class_attrscleandoccurrentframe
findsourceformatannotationformatannotationrelativetoformatargvaluesget_annotations
getabsfilegetargsgetargvaluesgetasyncgenlocalsgetasyncgenstategetattr_staticgetblockgetcallargsgetclasstreegetclosurevarsgetcommentsgetcoroutinelocalsgetcoroutinestategetdocgetfilegetframeinfogetfullargspecgetgeneratorlocalsgetgeneratorstategetinnerframes	getlineno
getmembersgetmembers_static	getmodulegetmodulenamegetmrogetouterframes	getsourcegetsourcefilegetsourcelines
indentsize
isabstract
isasyncgenisasyncgenfunctionisawaitable	isbuiltinisclassiscodeiscoroutineiscoroutinefunctionisdatadescriptorisframe
isfunctionisgeneratorisgeneratorfunctionisgetsetdescriptorismemberdescriptorismethodismethoddescriptorismethodwrapperismodule	isroutineistracebackmarkcoroutinefunction	signaturestacktraceunwrapwalktree    N)	iskeyword)
attrgetter)
namedtupleOrderedDict)refCO_i   Fglobalslocalseval_strc          
      2   [        U [        5      (       a  [        U SS 5      nU(       aE  [        US5      (       a4  UR	                  SS 5      n[        U[
        R                  5      (       a  S nOS nS n[        U SS 5      nU(       a4  [        R                  R	                  US 5      nU(       a  [        USS 5      n[        [        U 5      5      n	U n
O{[        U [
        R                  5      (       a  [        U SS 5      n[        U S5      nS n	S n
O>[        U 5      (       a  [        U SS 5      n[        U SS 5      nS n	U n
O[        U < S35      eUc  0 $ [        U[        5      (       d  [        U < S35      eU(       d  0 $ U(       d  [        U5      $ U
bk   [        U
S5      (       a  U
R                  n
M   [        U
[         R"                  5      (       a  U
R$                  n
MM   [        U
S5      (       a  U
R&                  nUc  UnUc  U	=(       d    0 n[        U S	S
5      =n(       a   U Vs0 s H  oR(                  U_M     snU-  nUR+                  5        VVs0 s H)  u  pU[        U[,        5      (       d  UO[/        XU5      _M+     nnnU$ s  snf s  snnf )N__dict__get__annotations__
__module____globals__z% is not a module, class, or callable.z+.__annotations__ is neither a dict nor None__wrapped____type_params__ )
isinstancetypegetattrhasattrrw   typesGetSetDescriptorTypesysmodulesdictvars
ModuleTypecallable	TypeError
ValueErrorr{   	functoolspartialfuncrz   __name__itemsstreval)objrr   rs   rt   obj_dictannobj_globalsmodule_namemodule
obj_localsrh   type_paramsparamkeyvaluereturn_values                   0/opt/python-3.13.8/usr/lib/python3.13/inspect.pyr.   r.      sp   Z #t3
D1%00,,0$7C#u99::Cc<6[[__[$7F%fj$?$s)_
	C))	*	*c,d3c:.
	# c,d3c=$7
3'!FGHH
{	c4  C7"MNOO	Cyv}--++&)"3"3446=)) ,,K~!r
 c#4b99{95@A[E..%'[AFJ ))+(%JC s++ef1MN%  (  B(s   *J0Jc                 6    [        U [        R                  5      $ N)r~   r   r   objects    r   ra   ra   *      fe..//    c                 "    [        U [        5      $ r   )r~   r   r   s    r   rS   rS   .  s    fd##r   c                 6    [        U [        R                  5      $ r   )r~   r   
MethodTyper   s    r   r^   r^   2  r   r   c                 2   [        U 5      (       d   [        U 5      (       d  [        U 5      (       a  g[        U [        R
                  5      (       a  g[        U 5      n[        US5      =(       a)    [        US5      (       + =(       a    [        US5      (       + $ )NF__get____set__
__delete__)rS   r^   rY   r~   r   r   r   r   r   tps     r   r_   r_   6  sx     v(6**j.@.@&)++,, 	fBB	" .B	**.B--/r   c                     [        U 5      (       d   [        U 5      (       d  [        U 5      (       a  g[        U 5      n[	        US5      =(       d    [	        US5      $ )NFr   r   )rS   r^   rY   r   r   r   s     r   rW   rW   R  sF     v(6**j.@.@	fB2y!>WR%>>r   MemberDescriptorTypec                 6    [        U [        R                  5      $ r   )r~   r   r   r   s    r   r]   r]   b      
 &%"<"<==r   c                     gNFr}   r   s    r   r]   r]   j      
 r   r   c                 6    [        U [        R                  5      $ r   )r~   r   r   r   s    r   r\   r\   s  r   r   c                     gr   r}   r   s    r   r\   r\   {  r   r   c                 6    [        U [        R                  5      $ r   )r~   r   FunctionTyper   s    r   rY   rY     s     fe0011r   c                 <   [         R                  " U 5      n [        U 5      (       a  U R                  n [        U 5      (       a  M  [         R                  " U 5      n [        U 5      (       d  [        U 5      (       d  g[        U R                  R                  U-  5      $ r   )
r   _unwrap_partialmethodr^   __func___unwrap_partialrY   _signature_is_functionlikebool__code__co_flags)fflags     r   _has_code_flagr     sr    
 	''*A
1++JJ 1++!!!$AqMM7::

##d*++r   c                 "    [        U [        5      $ r   )r   r   r   s    r   r[   r[     s    
 #|,,r   c                     [        U 5      (       a  U R                  n [        U 5      (       a  M  [        R                  " U 5      n [	        U SS 5      [
        L $ )N_is_coroutine_marker)r^   r   r   r   r   _is_coroutine_markr   s    r   _has_coroutine_markr     sE    
1++JJ 1++!!!$A1,d37IIIr   c                 V    [        U S5      (       a  U R                  n [        U l        U $ )Nr   )r   r   r   r   )r   s    r   rd   rd     s'     tZ  }} 2DKr   c                 F    [        U [        5      =(       d    [        U 5      $ r   )r   r   r   r   s    r   rV   rV     s     #|,H0CC0HHr   c                 "    [        U [        5      $ r   )r   r   r   s    r   rP   rP     s     #122r   c                 6    [        U [        R                  5      $ r   )r~   r   AsyncGeneratorTyper   s    r   rO   rO     s    fe6677r   c                 6    [        U [        R                  5      $ r   )r~   r   GeneratorTyper   s    r   rZ   rZ     s     fe1122r   c                 6    [        U [        R                  5      $ r   )r~   r   CoroutineTyper   s    r   rU   rU     s    fe1122r   c                 (   [        U [        R                  5      =(       dr    [        U [        R                  5      =(       a&    [	        U R
                  R                  [        -  5      =(       d$    [        U [        R                  R                  5      $ r   )r~   r   r   r   r   gi_coder   r   collectionsabc	Awaitabler   s    r   rQ   rQ     se    vu223 :vu223 FV^^,,/DDE: v{889;r   c                 6    [        U [        R                  5      $ r   )r~   r   TracebackTyper   s    r   rc   rc     s     fe1122r   c                 6    [        U [        R                  5      $ r   )r~   r   	FrameTyper   s    r   rX   rX     s     feoo..r   c                 6    [        U [        R                  5      $ r   )r~   r   CodeTyper   s    r   rT   rT     s    . fenn--r   c                 6    [        U [        R                  5      $ r   )r~   r   BuiltinFunctionTyper   s    r   rR   rR     s     fe7788r   c                 6    [        U [        R                  5      $ r   )r~   r   MethodWrapperTyper   s    r   r`   r`     s    fe5566r   c                     [        U 5      =(       dA    [        U 5      =(       d/    [        U 5      =(       d    [        U 5      =(       d    [	        U 5      $ r   )rR   rY   r^   r_   r`   r   s    r   rb   rb   #  sG    f '&!'' "&)' v&	(r   c                    [        U [        5      (       d  gU R                  [        -  (       a  g[	        [        U 5      [
        R                  5      (       d  g[        U S5      (       a  gU R                  R                  5        H  u  p[        USS5      (       d  M    g   U R                   H8  n[        USS5       H$  n[        XS 5      n[        USS5      (       d  M#      g   M:     g)NFT__abstractmethods____isabstractmethod__r}   )r~   r   	__flags__r%   
issubclassr   ABCMetar   rv   r   r   	__bases__)r   namer   bases       r   rN   rN   +  s    fd##--d6lCKK00v,--  ,,.50%88 /   D"7<DF$/Eu4e<< = !
 r   c                    / n[        5       n[        U 5      n[        U 5      (       au  [        U 5      n U R                   HX  nUR
                  R                  5        H7  u  p[        U	[        R                  5      (       d  M&  UR                  U5        M9     MZ     OSnU HO  n
 U" X
5      nX;   a  [        e U(       a  U" U5      (       a  UR                  X45        UR                  U
5        MQ     UR                  S S9  U$ ! [         a     Nsf = f! [         a/    U H%  nXR
                  ;   d  M  UR
                  U
   n   M      M  f = f)Nr}   c                     U S   $ )Nrj   r}   )pairs    r   <lambda>_getmembers.<locals>.<lambda>j  s    $q'r   r   )setdirrS   rH   r   rv   r   r~   r   DynamicClassAttributeappendAttributeErroraddsort)r   	predicategetterresults	processednamesmror   kvr   r   s               r   _getmembersr  C  s3   GIKEvVn	(( MM//1DA!!U%@%@AAQ 2 ) 	6'E$$   Ie,,NNC<(c) * LL)L*N5  		  	--' MM#.E  	s6   AD D %D
DDE6E	EEc                 "    [        X[        5      $ r   )r  r   r   r   s     r   rD   rD   m  s     v'22r   c                 "    [        X[        5      $ r   )r  r4   r  s     r   rE   rE   r  s     v.99r   r   zname kind defining_class objectc           	         [        U 5      n[        [        U 5      5      n[        S U 5       5      nU 4U-   nX2-   n[        U 5      nU Hg  nUR                  R                  5        HF  u  px[        U[        R                  5      (       d  M&  UR                  c  M5  UR                  U5        MH     Mi     / n	[        5       n
U GHw  nS nS nS nX;  a{   US:X  a  [        S5      e[        X5      n[        USU5      nX;  aL  S nS nU H  n[        UUS 5      nUUL d  M  UnM     U H  n UR                  X5      nUUL d  M  UnM      Ub  UnU H*  nXR                  ;   d  M  UR                  U   nX;  a  Un  O   Uc  M  Ub  UOUn[        U[         [        R"                  45      (       a  SnUnOY[        U[$        [        R&                  45      (       a  SnUnO/[        U[(        5      (       a  SnUnO[+        U5      (       a  SnOS	nU	R                  [-        UUUU5      5        U
R/                  U5        GMz     U	$ ! [         a     GM)  f = f! [         a     GNf = f)
Nc              3   H   #    U  H  o[         [        4;  d  M  Uv   M     g 7fr   )r   r   ).0clss     r   	<genexpr>'classify_class_attrs.<locals>.<genexpr>  s     H7C$.GCC7s   "	"rv   z)__dict__ is special, don't want the proxy__objclass__zstatic methodzclass methodpropertymethoddata)rH   r   tupler   rv   r   r~   r   r   fgetr   r   	Exceptionr   __getattr__r   staticmethodBuiltinMethodTypeclassmethodClassMethodDescriptorTyper  rb   r   r   )r
  r   metamroclass_bases	all_basesr   r   r  r  resultr   r   homeclsget_objdict_objlast_clssrch_clssrch_objr   kinds                       r   r'   r'     ss   6 +CT#YGH7HHG&3,K%IHE MM'')DA!U8899aff>PQ *  FI  +:%#$OPP!#, "'>7C- #G#H$/#*8T4#@#w.'/H %0
 %,%'/';';C'FH $w.'/H %,  +"*D}}$==.)"G  ?  ,g(hu/F/F GHH"DC;0O0O"PQQ!DC(++DCs^^DDidGS9:dI J MC  . %$%%  s$   I)I  
II
I I c                     U R                   $ r   )__mro__)r
  s    r   rH   rH     s    ;;r   stopc                   U n[        U5      U0n[        R                  " 5       n[        U [        5      (       d  [        U S5      (       a  Ub  U" U 5      (       a   U $ U R                  n [        U 5      nXS;   d  [        U5      U:  a  [        SR                  U5      5      eXU'   [        U [        5      (       d  [        U S5      (       a  M  U $ )Nr{   z!wrapper loop when unwrapping {!r})
idr   getrecursionlimitr~   r   r   r{   lenr   format)r   r'  r   memorecursion_limitid_funcs         r   rh   rh     s      	A qE1:D++-Ot$$})E)ET

 K T(OTo!=@GGJKKW t$$})E)E Kr   c                 l    U R                  5       n[        U5      [        UR                  5       5      -
  $ r   )
expandtabsr+  lstrip)lineexplines     r   rM   rM     s)    ooGw<#gnn.///r   c                     [         R                  R                  U R                  5      nUc  g U R                  R                  S5      S S  H  n[        X5      nM     [        U5      (       d  g U$ )N.)r   r   rw   ry   __qualname__splitr   rS   )r   r
  r   s      r   
_findclassr:  !  s]    
++//$//
*C
{!!'',Sb1c  23<<Jr   c                    [        U 5      (       a3  U R                   H"  nU[        Ld  M   UR                  nUc  M   Us  $    g [        U 5      (       ag  U R                  R                  nU R                  n[        U5      (       a'  [        [        XCS 5      S5      U R                  L a  UnGO~UR                  nGOp[        U 5      (       a+  U R                  n[        U 5      nUb  [        XS5      U La  g GO5[        U 5      (       aX  U R                  nU R                  n[        U5      (       a#  UR                  S-   U-   U R                  :X  a  UnOUR                  nO[        U [         5      (       a4  U R                  n[        U R"                  5      nUb  [        XS5      U La  g O[%        U 5      (       d  ['        U 5      (       ac  U R                  nU R(                  n[        XS5      U La  g [+        U 5      (       a+  [        USS 5      n[        U[,        5      (       a	  X6;   a  Xc   $ Og UR                   H   n [        X5      R                  nUc  M  Us  $    g ! [         a     GMM  f = f! [         a     MD  f = f)Nr   r6  	__slots__)rS   r%  r   __doc__r   r^   r   r   __self__r   	__class__rY   r:  rR   r8  r~   r  r  r_   rW   r  r]   r   )r   r   docr   selfr
  slotss          r   _finddocrC  +  s    s||KKD6!,,C ?J   }}||$$||DMMGD-z:cllJC..C	C||o;'#,C7 8	3||||DMM#d*c.>.>>C..C	C	"	"||";'#,C7 8	C	 	 $4S$9$9||3S(c""Cd3E%&&4={"	$%--C ?J  k & b  		s#   I;I.
I+*I+.
I<;I<c                      U R                   nUc   [        U 5      n[	        U[
        5      (       d  g [        U5      $ ! [         a     g f = f! [        [        4 a     g f = fr   )r=  r   rC  r   r~   r   r(   )r   r@  s     r   r<   r<   h  sn    nn {	6"C c3C=  
 	* 		s    > A 
A
AA! A!c                    U R                  5       R                  S5      n[        R                  nUSS   H?  n[	        UR                  S5      5      nU(       d  M&  [	        U5      U-
  n[        X%5      nMA     U(       a  US   R                  S5      US'   U[        R                  :  a%  [        S[	        U5      5       H  nX   US  X'   M     U(       a-  US   (       d#  UR                  5         U(       a  US   (       d  M#  U(       a.  US   (       d$  UR                  S5        U(       a  US   (       d  M$  SR                  U5      $ )N
    rj   r7  )
r1  r9  r   maxsizer+  r2  minrangepopjoin)r@  linesmarginr3  contentindentis          r   r(   r(   {  s   
 NN""4(E [[Fab	dkk#&'7Y(F(F	  8??3'aq#e*%Ax(EH & b			 b		
a		! a99Ur   c                 >   [        U 5      (       a8  [        U SS 5      (       a  U R                  $ [        SR	                  U 5      5      e[        U 5      (       a  [        U S5      (       ab  [        R                  R                  U R                  5      n[        USS 5      (       a  UR                  $ U R                  S:X  a  [        S5      e[        SR	                  U 5      5      e[        U 5      (       a  U R                  n [        U 5      (       a  U R                  n [!        U 5      (       a  U R"                  n [%        U 5      (       a  U R&                  n [)        U 5      (       a  U R*                  $ [        SR	                  [-        U 5      R.                  5      5      e)N__file__z{!r} is a built-in modulery   __main__source code not availablez{!r} is a built-in classzVmodule, class, method, function, traceback, frame, or code object was expected, got {})ra   r   rT  r   r,  rS   r   r   r   rw   ry   OSErrorr^   r   rY   r   rc   tb_framerX   f_coderT   co_filenamer   r   )r   r   s     r   r=   r=     sA   6:t,,??"3::6BCCv6<(([[__V%6%67Fvz400&  J.9::299&ABB&6vf~~!!!
 77=vL))8+, ,r   c                 0   [         R                  R                  U 5      n[        R                  R                  5        Vs/ s H  n[        U5      * U4PM     nnUR                  5         U H"  u  pBUR                  U5      (       d  M  US U s  $    g s  snf r   )	ospathbasename	importlib	machineryall_suffixesr+  r   endswith)r]  fnamesuffixsuffixesneglens        r   rG   rG     s    GGT"E #,"5"5"B"B"DF"D f+v&"D  FMMO">>&!!&>! # Fs    Bc                   ^ [        U 5      m[        R                  R                  S S  nU[        R                  R                  S S  -  n[        U4S jU 5       5      (       aA  [        R                  R                  T5      S   [        R                  R                  S   -   mOJ[        U4S j[        R                  R                   5       5      (       a  g TR                  S5      (       a  g T[        R                  ;   a  T$ [        R                  R                  T5      (       a  T$ [        U T5      n[!        USS 5      b  T$ [!        [!        USS 5      SS 5      b  T$ g )Nc              3   F   >#    U  H  nTR                  U5      v   M     g 7fr   rb  r	  sfilenames     r   r   getsourcefile.<locals>.<genexpr>  s!     
?)>A8Q)>   !rj   c              3   F   >#    U  H  nTR                  U5      v   M     g 7fr   ri  rj  s     r   r  rm    s&      97 '(Xq!!7rn  .fwork
__loader____spec__loader)r=   r_  r`  DEBUG_BYTECODE_SUFFIXESOPTIMIZED_BYTECODE_SUFFIXESanyr\  r]  splitextSOURCE_SUFFIXESEXTENSION_SUFFIXESrb  	linecachecacheexistsrF   r   )r   all_bytecode_suffixesr   rl  s      @r   rK   rK     s0    vH%//GGJY00LLQOO

?)>
???GG$$X.q1''77:;	 9$$779 
9 
9			8	$	$ 9??"	ww~~hvx(Fv|T*6	T2Hd	C	O 
Pr   c                     Uc  [        U 5      =(       d    [        U 5      n[        R                  R	                  [        R                  R                  U5      5      $ r   )rK   r=   r\  r]  normcaseabspath)r   	_filenames     r   r/   r/     s?    
 !&)<WV_	77BGGOOI677r   c                    [        U 5      (       a  U $ [        U S5      (       a)  [        R                  R	                  U R
                  5      $ Ub0  U[        ;   a&  [        R                  R	                  [        U   5      $  [        X5      nU[        ;   a&  [        R                  R	                  [        U   5      $ [        R                  R                  5       R                  5        H  u  p4[        U5      (       d  M  [        US5      (       d  M*  UR                  nU[        R	                  US 5      :X  a  MR  U[        U'   [        U5      nUR                  =[        U'   [        [        R                   R#                  U5      '   M     U[        ;   a&  [        R                  R	                  [        U   5      $ [        R                  S   n[        U S5      (       d  g [        X`R                  5      (       a  [%        X`R                  5      nXpL a  U$ [        R                  S   n[        XR                  5      (       a  [%        XR                  5      n	XL a  U$ g g ! [        [        4 a     g f = f)Nry   rT  rU  r   builtins)ra   r   r   r   rw   ry   modulesbyfiler/   r   FileNotFoundErrorcopyr   rT  _filesbymodnamer   r\  r]  realpathr   )
r   r  filemodnamer   r   main
mainobjectbuiltinbuiltinobjects
             r   rF   rF     s   v|$${{v0011 m!;{{}Y788&, }{{}T233 ;;++-335F
 ; ;AO''66'(OG$6"A (.7M!}  # % 6 }{{}T233;;z"D6:&&t__%%T??3
Kkk*%Gw((9"N # ); () s   I I21I2c                       \ rS rSrSrg)r   i  r}   Nr   ry   r8  __firstlineno____static_attributes__r}   r   r   r   r     s    r   r   c                    [        U 5      nU(       a  [        R                  " U5        OX[        U 5      nUR	                  S5      (       a,  UR                  S5      (       a  UR                  S5      (       a  [        S5      e[        X5      nU(       ao  [        R                  " XR                  5      nU(       dG  UR	                  S5      (       a1  [        U S5      (       a   [        R                  " U R                  5      nO[        R                  " U5      nU(       d  [        S5      e[        U 5      (       a  US4$ [        U 5      (       a/   [        U 5      S   S	-
  nU[%        U5      :  a  [        S
5      eX44$ ['        U 5      (       a  U R(                  n [+        U 5      (       a  U R                  n [-        U 5      (       a  U R.                  n [1        U 5      (       a  U R2                  n [5        U 5      (       aH  [        U S5      (       d  [        S5      eU R6                  S	-
  nU[%        U5      :  a  [        S
5      eX44$ [        S5      e! [         ["        4 a    [        S5      ef = f)N<>rp  rV  r   zcould not get source coderj   r  rG  zlineno is out of boundsco_firstlinenoz"could not find function definitionzcould not find code object)rK   rz  
checkcacher=   
startswithrb  rW  rF   getlinesrv   r   _getlines_from_coder   ra   rS   r   r   KeyErrorr+  r^   r   rY   rc   rX  rX   rY  rT   r  )r   r  r   rN  lnums        r   r*   r*     s     DT"v %%$--*<*<$--PXBYBY566v$F""49--'&*2M2M11&//BE""4(122axv	7< 12Q6D 3u:344{&6vf~~v/00>??$$q(3u:344{
.
//+ 8$ 	7566	7s   I I-c                     [        U 5      u  p[        U 5      (       a  SnU(       a  US   S S S:X  a  SnU[	        U5      :  aB  X   R                  5       S;   a,  US-   nU[	        U5      :  a  X   R                  5       S;   a  M,  U[	        U5      :  a}  X   S S S:X  aq  / nUnU[	        U5      :  aM  X   S S S:X  aB  UR                  X   R                  5       5        US-   nU[	        U5      :  a  X   S S S:X  a  MB  SR                  U5      $ g g US:  Ga  [        X   5      nUS-
  nUS:  Gay  X   R                  5       S S S:X  Ga^  [        X   5      U:X  GaK  X   R                  5       R                  5       /nUS:  a  US-
  nX   R                  5       R                  5       nUS S S:X  a_  [        X   5      U:X  aN  U/US S& US-
  nUS:  a  O<X   R                  5       R                  5       nUS S S:X  a  [        X   5      U:X  a  MN  U(       a<  US   R                  5       S:X  a%  / US S& U(       a  US   R                  5       S:X  a  M%  U(       a<  US   R                  5       S:X  a%  / USS & U(       a  US   R                  5       S:X  a  M%  SR                  U5      $ g g g g ! [        [        4 a     g f = f)	Nrj      z#!rG  ) #r  r  r7  )r*   rW  r   ra   r+  stripr   r1  rM  rM   r2  )r   rN  r  startcommentsendrQ  comments           r   r9   r9   W  s   
 ( U1Xbq\T)15c%j U\%7%7%9Y%FAIE c%j U\%7%7%9Y%F3u:%,r"2c"9HCE
"uz"1~'<
 5 5 78Ag E
"uz"1~'< 778$$ #: 
EK(Qh!8
))+BQ/36uz"f,
--/6689HQwAg*//188:bqkS(Z
-Cv-M$+9HRaL'CQw#j335<<>G	 bqkS(Z
-Cv-M
 x{002c9!! x{002c9x|113s: " x|113s:778$$ - 78 
% Y s   J/ /KKc                       \ rS rSrSrg)r   i  r}   Nr  r}   r   r   r   r     s    Tr   r   c                        \ rS rSrS rS rSrg)r	   i  c                 f    SU l         SU l        SU l        SU l        SU l        SU l        S U l        g )Nrj   FrG  )rQ  
singlelinestartedpasslineindecoratorlast	body_col0rA  s    r   __init__BlockFinder.__init__  s4     	r   c                    U R                   (       dS  U R                  (       dB  U[        R                  :X  d  US:X  a  OUS:X  a  SU l        OUS;  U l        SU l         SU l        g U[        R                  :X  aB  SU l        US   U l        U R                  (       a  [        eU R                  (       a  SU l        g g U R
                  (       a  g U[        R                  :X  aD  U R                  c  U R                   (       a
  US   U l	        U R                  S-   U l
        SU l        g U[        R                  :X  a+  U R                  S-
  U l
        U R                  S::  a  [        eg U[        R                  :X  a-  U R                  b  US   U R                  :  a  US   U l        g g g U R                  S:X  a+  U[        R                  [        R                  4;  a  [        eg g )Nasync@T)defclassFrj   rG  )r  r  tokenizeINDENTr  r  NEWLINEr  r   r  rQ  DEDENTCOMMENTNL)rA  r   tokensrowcolerowcolr3  s         r   
tokeneaterBlockFinder.tokeneater  s   ||D$4$4x&%7*:##' 
 #(/?"?# DMX%%%!DM
DI   #(   ]]X__$~~%$,,!(++/DK DMX__$++/DK {{a    X%%%~~)gajDNN.J#AJ	 /K) [[A$x/?/?.M"M  #Nr   )r  r  rQ  r  r  r  r  N)r   ry   r8  r  r  r  r  r}   r   r   r	   r	     s    ,r   r	   c                    [        5       n [        R                  " [        U 5      R                  5      nU H  nUR
                  " U6   M     U S UR                   $ ! [        [        4 a     N![         a\  nSUR                  ;  a  US eWtpV UR
                  " [        R                  /UQ76    S nANg! [        [        4 a      S nAN}f = fS nAff = f)N	unmatched)r	   r  generate_tokensiter__next__r  r   IndentationErrorSyntaxErrormsgr  r  )rN  blockfindertokens_tokene__token_infos          r   r5   r5     s    -K))$u+*>*>?F""F+  "+""## ()  aee# 	""8#3#3BkBB,- 		s<   AA C.	C7C!B44CC
CCCc                 
   [        U 5      n [        U 5      u  p[        U 5      (       a  U R                  n [	        U 5      (       d*  [        U 5      (       a  U R                  R                  S:X  a  US4$ [        XS  5      US-   4$ )Nz<module>rj   rG  )	rh   r*   rc   rX  ra   rX   rY  co_namer5   r   rN  r  s      r   rL   rL     su     F^FV$KE6 		V]]22j@axe%tax//r   c                 >    [        U 5      u  pSR                  U5      $ )Nr  )rL   rM  r  s      r   rJ   rJ     s     !(KE775>r   c                     / nU R                  [        SS5      S9  U  HC  nUR                  XDR                  45        XA;   d  M&  UR                  [	        X   X5      5        ME     U$ )Nry   r   r   )r   rl   r   r   ri   )classeschildrenparentr   cs        r   ri   ri     sZ    GLLZj9L:;;'(=NN8HK=>  Nr   c                 \   0 n/ nU  Hv  nUR                   (       aJ  UR                    H8  nXR;  a  / X%'   XBU   ;  a  X%   R                  U5        U(       d  M0  XP;   d  M7    MZ     M^  XC;  d  Me  UR                  U5        Mx     U H  nXP;  d  M
  UR                  U5        M     [        X2S 5      $ r   )r   r   ri   )r  uniquer  rootsr  r  s         r   r7   r7     s     HE;;++)')H$V,,$++A.6f/ & ^LLO   LL   ET**r   r   zargs, varargs, varkwc                    [        U 5      (       d  [        SR                  U 5      5      eU R                  nU R                  nU R
                  n[        US U 5      n[        XX#-    5      nX#-  nS nU R                  [        -  (       a  U R                  U   nUS-   nS nU R                  [        -  (       a  U R                  U   n[        XE-   Xg5      $ )Nz{!r} is not a code objectrG  )rT   r   r,  co_varnamesco_argcountco_kwonlyargcountlistr   r   r   r   )cor   nargsnkwargsargs
kwonlyargsvarargsvarkws           r   r0   r0     s     "::3::2>??NNENNE""GfuDe%-01J	EG	{{Z..'	E	{{^#u%T&77r   r   zGargs, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, annotationsc           	          [        U SS[        SS9n/ nS nS n/ n/ n0 nSn	0 n
UR                  UR
                  La  UR                  US'   UR                  R                  5        GH%  nUR                  nUR                  nU[        L a:  UR                  U5        UR                  UR
                  La  XR                  4-  n	OU[        L a:  UR                  U5        UR                  UR
                  La  XR                  4-  n	OYU[        L a  UnOMU[        L a9  UR                  U5        UR                  UR
                  La  UR                  X'   OU[         L a  UnUR"                  UR
                  Ld  GM  UR"                  X'   GM(     U
(       d  S n
U	(       d  S n	[%        Xc-   XEU	XzU5      $ ! [         a  n[        S5      UeS nAff = f)NF)follow_wrapper_chainsskip_bound_argsigclsrt   zunsupported callabler}   return)_signature_from_callabler$   r  r   return_annotationempty
parametersvaluesr#  r   _POSITIONAL_ONLYr   default_POSITIONAL_OR_KEYWORD_VAR_POSITIONAL_KEYWORD_ONLY_VAR_KEYWORD
annotationr   )r   sigexr  r  r  posonlyargsr  annotationsdefaults
kwdefaultsr   r#  r   s                 r   r?   r?   6  s    8" 't=B6;.705	7 DGEKJKHJ
CII- # 5 5H&&(zzzz##t$}}EKK/]],,++KK}}EKK/]],,_$G]"d#}}EKK/#(==
 \!E5;;. % 0 0K- )0 
{)78!{< <g  8
 ./R78s   F2 2
G<GGr   zargs varargs keywords localsc                 ^    [        U R                  5      u  pn[        XX0R                  5      $ r   )r0   rY  r   f_locals)framer  r  r  s       r   r1   r1     s(     #5<<0D54%88r   c                 t   [        U SS 5      S:X  a$  S n[        R                  " SU[        U 5      5      $ [	        U [
        R                  5      (       a  [        U 5      $ [	        U [        5      (       a:  U R                  SU4;   a  U R                  $ U R                  S-   U R                  -   $ [        U 5      $ )Nry   typingc                 D    U R                  5       nUR                  S5      $ )Nztyping.)groupremoveprefix)matchtexts     r   replformatannotation.<locals>.repl  s    ;;=D$$Y//r   z[\w\.]+r  r6  )r   resubreprr~   r   GenericAliasr   r   ry   r8  )r  base_moduler	  s      r   r+   r+     s    z<.(:	0 vvj$Z(899*e0011:*d##  Z$==***$$S()@)@@@
r   c                 .   ^ [        U SS 5      mU4S jnU$ )Nry   c                    > [        U T5      $ r   )r+   )r  r   s    r   _formatannotation5formatannotationrelativeto.<locals>._formatannotation  s    
F33r   )r   )r   r  r   s     @r   r,   r,     s    V\40F4r   c                     SU -   $ )N*r}   r   s    r   r   r     s    sTzr   c                     SU -   $ )N**r}   r  s    r   r   r     s    TD[r   c                     S[        U 5      -   $ )N=)r  )r   s    r   r   r     s    cDK.?r   c                 N   UXG4S jn/ n	[        [        U 5      5       H  n
U	R                  U" X
   5      5        M     U(       a"  U	R                  U" U5      U" X1   5      -   5        U(       a"  U	R                  U" U5      U" X2   5      -   5        SSR                  U	5      -   S-   $ )Nc                 (    U" U 5      U" X   5      -   $ r   r}   )r   rs   	formatargformatvalues       r   convert formatargvalues.<locals>.convert  s    V\!:::r   (, ))rK  r+  r   rM  )r  r  r  rs   r  formatvarargsformatvarkwr  r  specsrR  s              r   r-   r-     s     $#; E3t9WTW%& ]7+k&/.JJK['+fm*DDE5!!C''r   c                 F   U Vs/ s H  oDU;  d  M
  [        U5      PM     nn[        U5      nUS:X  a  US   nOAUS:X  a  SR                  " U6 nO+SR                  " USS  6 nUSS 2	 SR                  U5      U-   n[	        SXU(       a  S	OS
US:X  a  SOSU4-  5      es  snf )NrG  rj   r  z	{} and {}z, {} and {}r"  z*%s() missing %i required %s argument%s: %s
positionalkeyword-onlyr  rk  )r  r+  r,  rM  r   )	f_nameargnamesposr  r   r   missingrk  tails	            r   _missing_argumentsr0    s    $,CHDF0BZT$ZHEC%jG!|!H	A&##U23Z0"#JIIet#
@&)l~#qLbc166 7 7 Ds
   	BBc           
         [        U5      U-
  n[        U Vs/ s H  oU;   d  M
  UPM     sn5      n	U(       a  US:g  n
SU4-  nO<U(       a  Sn
SU[        U5      4-  nO"[        U5      S:g  n
[        [        U5      5      nSnU	(       a  SnXS:w  a  SOSU	U	S:w  a  SOS4-  n[        SXU
(       a  SOSX\US:X  a  U	(       d	  S	4-  5      eS
4-  5      es  snf )NrG  zat least %dTzfrom %d to %dr  z7 positional argument%s (and %d keyword-only argument%s)rk  z5%s() takes %s positional argument%s but %d%s %s givenwaswere)r+  r   r   )r+  r  kwonlyr  defcountgivenr  atleastargkwonly_givenpluralr  
kwonly_sigr  s                 r   	_too_manyr<    s   $i("Gv?vv?@LAwj(	#d) 44Ta#d)nJGQJSB$0A$5S2? ?

K#RqjUCC D D;ACC D D @s
   	CCc          	         [        U 5      nUu  pEpgpn
U R                  n0 n[        U 5      (       a  U R                  b  U R                  4U-   n[	        U5      n[	        U5      nU(       a  [	        U5      OSn[        X5      n[        U5       H  nUU   XU   '   M     U(       a  [        UUS  5      X'   [        XH-   5      nU(       a  0 X'   UR                  5        HK  u  nnUU;  a"  U(       d  [        U< SU< 35      eUX   U'   M.  UU;   a  [        U< SU< 35      eUUU'   MM     X:  a  U(       d  [        XXUX5        X:  aP  US X-
   nU H  nUU;  d  M  [        UUSU5        M     [        XNU-
  S  5       H  u  nnUU;  d  M  UU   UU'   M     SnU H'  nUU;  d  M  U	(       a  UU	;   a
  U	U   UU'   M"  US-  nM)     U(       a  [        XSU5        U$ )Nrj   z&() got an unexpected keyword argument z$() got multiple values for argument TrG  F)r?   r   r^   r>  r+  rJ  rK  r  r   r   r   r<  r0  	enumerate)r   r)  namedspecr  r  r  r  r  kwonlydefaultsr   r+  	arg2valuenum_posnum_argsnum_defaultsnrR  possible_kwargskwr   reqr8  r.  kwargs                            r   r6   r6     s
    $DFJCD5J]]FI ~~$--3mm%
2
*oG4yH$,3x=!LGA1X']	q' ":ab>2	$+,O	[[]	E_$!'!- . .#(IR ?#R) * *	" # '&
\	'+H+,C)#"63i@   %<%= >?FAs)#!)!	# @ G	!%>"9#1%#8	% 1  6ui@r   r   z"nonlocals globals builtins unboundc                    [        U 5      (       a  U R                  n [        U 5      (       d  [        SR	                  U 5      5      eU R
                  nU R                  c  0 nO>[        UR                  U R                  5       VVs0 s H  u  p4X4R                  _M     nnnU R                  nUR                  S[        R                  5      n[        U5      (       a  UR                  n0 n0 n[        5       n	[        5       n
[         R"                  " U5       HM  nUR$                  nUR&                  nUS:X  a  U	R)                  U5        M4  US:X  d  M<  U
R)                  U5        MO     U
 H
  n X]   X}'   M     [-        X'X5      $ s  snnf ! [*         a.     Xm   X'    M4  ! [*         a    U	R)                  U5          MS  f = ff = f)N{!r} is not a Python function__builtins__	LOAD_ATTRLOAD_GLOBAL)r^   r   rY   r   r,  r   __closure__zipco_freevarscell_contentsrz   rw   r  rv   ra   r   disget_instructionsopnameargvalr   r  r   )r   codenonlocal_varsvarcell	global_ns
builtin_nsglobal_varsbuiltin_varsunbound_namesglobal_namesinstructionrV  r   s                 r   r8   r8   .  s    ~~}}d7>>tDEE==D  !!1!143C3CD	D	 $$$D 	 	   I~x/@/@AJ
((
KLEM5L++D1##!![ d#}$T" 2 	( )K  }#4 4?	2  	((%/%5" (!!$''(	(s0   F.F


GFF>9G=F>>G
_Tracebackz+filename lineno function code_context indexc                   6   ^  \ rS rSrSS.U 4S jjrS rSrU =r$ )r&   ii  N	positionsc                6   > [         TU ]  XX#XE5      nXgl        U$ r   super__new__rf  )	r
  rl  linenofunctioncode_contextindexrf  instancer?  s	           r   rj  Traceback.__new__j  s     7?3&LX&r   c                     SR                  U R                  U R                  U R                  U R                  U R
                  U R                  5      $ )NzcTraceback(filename={!r}, lineno={!r}, function={!r}, code_context={!r}, index={!r}, positions={!r}))r,  rl  rk  rl  rm  rn  rf  r  s    r   __repr__Traceback.__repr__o  s@    @@Ft{{DMM4;L;L

DNNA,	-r   r}   r   ry   r8  r  rj  rr  r  __classcell__r?  s   @r   r&   r&   i  s    SW  
- -r   r&   c                 Z    U R                   R                  U R                  p![        X5      $ r   )rX  rY  tb_lasti_get_code_position)tbrX  instruction_indexs      r   _get_code_position_from_tbr|  u  s#     kk00"++
d66r   c                 v    US:  a  gU R                  5       n[        [        R                  " X!S-  S 5      5      $ )Nrj   )NNNNr  )co_positionsnext	itertoolsislice)rX  r{  positions_gens      r   ry  ry  y  s8    1'%%'M	  Q0FMNNr   c           
         [        U 5      (       a$  [        U 5      nU R                  nU R                  n O,U R                  n[        U R                  U R                  5      nUS   c  X/USS  Q7tpOU /UQ7tpUS   n[        U 5      (       d  [        SR                  U 5      5      e[        U 5      =(       d    [        U 5      nUS:  aJ  US-
  US-  -
  n [        U 5      u  pg[        S[        U[!        U5      U-
  5      5      nXeXQ-    nUS-
  U-
  nOS =ph[%        XCU R                  R&                  UU[(        R*                  " U6 S9$ ! ["         a    S =ph NAf = f)Nrj   rG  z'{!r} is not a frame or traceback objectr  re  )rc   r|  	tb_linenorX  f_linenory  rY  f_lastirX   r   r,  rK   r=   r*   maxrJ  r+  rW  r&   r  rT  	Positions)	r  contextrf  rk  rl  r  rN  r  rn  s	            r   r>   r>     sh    5.u5	&u||U]]C	|";Yqr];	"/Y/q\F5>>AHHOPPU#5wu~H{
WaZ'	'$U+KE 3uc%j7&:;<E.EQJ&EXu||';';UcmmY&?A A  	!  EE	!s   E
 
EEc                     U R                   $ r   )r  r  s    r   rC   rC     s     >>r   
_FrameInfor  c                   6   ^  \ rS rSrSS.U 4S jjrS rSrU =r$ )r   i  Nre  c          	      8   > [         T	U ]  XX#XEU5      nXxl        U$ r   rh  )
r
  r  rl  rk  rl  rm  rn  rf  ro  r?  s
            r   rj  FrameInfo.__new__  s#    7?3xY^_&r   c           	          SR                  U R                  U R                  U R                  U R                  U R
                  U R                  U R                  5      $ )NzoFrameInfo(frame={!r}, filename={!r}, lineno={!r}, function={!r}, code_context={!r}, index={!r}, positions={!r}))r,  r  rl  rk  rl  rm  rn  rf  r  s    r   rr  FrameInfo.__repr__  sG    @@F

DMM4;;!!4::t~~A?	@r   r}   rt  rv  s   @r   r   r     s    Z^  
@ @r   r   c                     / nU (       aJ  [        X5      nU 4U-   nUR                  [        USUR                  065        U R                  n U (       a  MJ  U$ Nrf  )r>   r   r   rf  f_back)r  r  	framelisttraceback_info	frameinfos        r   rI   rI     sX    
 I
%e5H~-	IR9Q9QRS	 %
 r   c                     / nU (       aT  [        X5      nU R                  4U-   nUR                  [        USUR                  065        U R
                  n U (       a  MT  U$ r  )r>   rX  r   r   rf  tb_next)rz  r  r  r  r  s        r   rB   rB     s\    
 I
%b2[[N^3	IR9Q9QRSZZ	 "
 r   c                  \    [        [        S5      (       a  [        R                  " S5      $ S $ )N	_getframerG  )r   r   r  r}   r   r   r)   r)     s"    &sK883==BdBr   c                 B    [        [        R                  " S5      U 5      $ )NrG  )rI   r   r  )r  s    r   rf   rf     s    #--*G44r   c                 d    [         R                  " 5       nUc  S OUR                  n[        X 5      $ r   )r   	exception__traceback__rB   )r  excrz  s      r   rg   rg     s)    
--/C#"3"3B"&&r   r%  rv   c                     0 n [         R                  U S5      n[        R	                  X![
        5      $ ! [         a     N&f = fNrv   )r   __getattribute__r   r   rw   	_sentinel)r   attrinstance_dicts      r   _check_instancer    sE    M//Z@ 88M33  s   4 
A Ac                     [        U 5       H@  n[        [        U5      5      [        L d  M   XR                  ;   d  M1  UR                  U   s  $    [        $ r   )_static_getmro_shadowed_dictr   r  rv   )klassr  entrys      r   _check_classr    sB    &$u+&)38N>>$'' ' r   c                      U  Ha  nU" 5       n[        U5      nSU;   d  M  US   n[        U5      [        R                  L a!  UR                  S:X  a  UR
                  UL a  M_  Us  $    [        $ r  )_get_dunder_dict_of_classr   r   r   r   r  r  )weakref_mroweakref_entryr  dunder_dict
class_dicts        r   %_shadowed_dict_from_weakref_mro_tupler    sn    $ /6$$Z0J$(B(BB'':5++u4!! % r   c                 b    [        [        U 5       Vs/ s H  n[        U5      PM     sn6 $ s  snf r   )r  r  make_weakref)r  r  s     r   r  r    s2     1+9%+@	A+@%,u
+@	A 	As   ,c                    [         n[        U 5      n[        [        U5      ;  a>  Un[        U5      nU[         L d  [        U5      [        R
                  L a  [        X5      nOU n[        XQ5      nU[         La_  U[         LaV  [        [        U5      S5      [         La:  [        [        U5      S5      [         Ld  [        [        U5      S5      [         La  U$ U[         La  U$ U[         La  U$ XL aX  [        [        U5      5       H@  n[        [        U5      5      [         L d  M   XR                  ;   d  M1  UR                  U   s  $    U[         La  U$ [        U5      e)Nr   r   r   )
r  r   r  r  r   r   r  r  rv   r   )	r   r  r  instance_resultobjtyper  	dict_attrklass_resultr  s	            r   r4   r4     s+     O3iG>'**"5)	"Ou999-c8O,Li'L	,I\*I6iGl+Y7yHD.=YNi'9$
|#DK0EtE{+y8NN*~~d++ 1 i

r   r    r!   r"   r   c                     U R                   (       a  [        $ U R                  (       a  [        $ U R                  c  [
        $ [        $ r   )
gi_runningr!   gi_suspendedr"   gi_framer   r    )	generators    r   rA   rA   V  s:     !r   c                     [        U 5      (       d  [        SR                  U 5      5      e[        U SS 5      nUb  U R                  R
                  $ 0 $ )Nz{!r} is not a Python generatorr  )rZ   r   r,  r   r  r   )r  r  s     r   r@   r@   h  sQ     y!!8??	JKKIz40E!!***	r   r   r   r   r   c                     U R                   (       a  [        $ U R                  (       a  [        $ U R                  c  [
        $ [        $ r   )
cr_runningr   cr_suspendedr   cr_framer   r   )	coroutines    r   r;   r;     s:     !r   c                 >    [        U SS 5      nUb  UR                  $ 0 $ )Nr  )r   r   )r  r  s     r   r:   r:     s'     Iz40E~~	r   r   r   r   r   c                     U R                   (       a  [        $ U R                  (       a  [        $ U R                  c  [
        $ [        $ r   )
ag_runningr   ag_suspendedr   ag_framer   r   )agens    r   r3   r3     s6     }}r   c                     [        U 5      (       d  [        U < S35      e[        U SS 5      nUb  U R                  R                  $ 0 $ )Nz  is not a Python async generatorr  )rO   r   r   r  r   )r  r  s     r   r2   r2     sK     d4("BCDDD*d+E}}%%%	r   Tr  c                    US:X  a  [        XS 5      nO[        XS 5      nUc  g S nU(       a  [        US S9n[        U[        5      (       d  [        U[        5      (       a  g US:w  a  [        X05      nU$ )Nrj  c                 >    [        U S5      =(       d    [        U 5      $ N__signature__)r   _signature_is_builtin)ms    r   r   4_signature_get_user_defined_method.<locals>.<lambda>  s    ga6Q 7>%:1%=7>r   r&  )r   r4   rh   r~   _NonUserDefinedCallables_descriptor_get)r
  method_namer  methunwrapped_meths        r   "_signature_get_user_defined_methodr    s    
 is.c5|
 N -> @ 	4122(@AA it)Kr   c                 d   U R                   n[        UR                  5       5      nUR                  =(       d    SnUR                  =(       d    0 nU(       a  X%-   n U R
                  " U0 UD6nSn
UR                  5        GHP  u  p UR                  U   nUR                  [        L a  UR                  U5        M<  UR                  [        L a6  X;   a  Sn
UR                  US9XK'   OUR                  UR                  5        M  UR                  [         L a  UR                  US9XK'   U
(       d  M  UR                  [        L a,  XK   R                  [         S9nXU'   UR%                  U5        M  UR                  [         [&        4;   a  UR%                  U5        GM  UR                  [(        L d  GM5  UR                  UR                  5        GMS     U R                  UR+                  5       S9$ ! [         a"  nSR                  U5      n	[        U	5      UeS nAff = f! ["         a     GNf = f)Nr}   z+partial object {!r} has incorrect argumentsFT)r  r#  r  )r  rn   r   r  keywordsbind_partialr   r,  r   	argumentsr#  r  rL  r  replacer   r  r  move_to_endr  r  r  )wrapped_sigr   
extra_args
old_params
new_paramspartial_argspartial_keywordsbar  r  transform_to_kwonly
param_namer   	arg_value	new_params                  r   _signature_get_partialr    s    ''JZ--/0J<<%2L''-2!0&%%|H7GH  '--/
#	JZ0I zz-- z*zz331 +/'-2]]9]-MJ* NN5::.zz]*).y)I
& zz33&2:::N	)2:&&&z2|<<&&z2.uzz*a 0d **;*;*=>>q  &;BB7Ko2%&  		s*   G2 H!2
H<HH!
H/.H/c                 6   [        U R                  R                  5       5      nU(       a  US   R                  [        [
        4;   a  [        S5      eUS   R                  nU[        [        4;   a  USS  nOU[        La  [        S5      eU R                  US9$ )Nrj   zinvalid method signaturerG  zinvalid argument typer  )r  r  r  r#  r  r  r   r  r  r  r  )r  paramsr#  s      r   _signature_bound_methodr  @  s    
 3>>((*+FVAY^^m'DD344!9>>D&(899 & 455 ;;&;))r   c                     [        U 5      =(       d@    [        U 5      =(       d.    [        U [        5      =(       d    U [        L =(       d    U [
        L $ r   )rR   r_   r~   r  r   r   r   s    r   r  r  Z  sI     cN )s#)s45) 4K) &=*r   c                    [        U 5      (       a  [        U 5      (       a  g[        U SS 5      n[        U SS 5      n[        U S[        5      n[        U S[        5      n[        U SS 5      n[	        U[
        R                  5      =(       av    [	        U[        5      =(       a_    US L =(       d    [	        U[        5      =(       a=    US L =(       d    [	        U[        5      =(       a    [	        U[        5      =(       d    US L $ )NFr   r   __defaults____kwdefaults__rx   )
r   rS   r   _voidr~   r   r   r   r  r   )r   r   rX  r  r  r  s         r   r   r   h  s     C==GCLL 3
D)D3
D)DsNE2H.6J#0$7KtU^^, EtS!E<He!<E 4?:j$#?E d,Ct0C	Gr   c                 t   U (       d  U S 4$ S nU R                  S5       Vs/ s H  o"(       d  M  UR                  S5      PM     nn[        U5      R                  n[        R                  " U5      n/ nUR
                  nSn[        R                  n	[        R                  n
[        U5      nU HQ  nUR                  UR                  pX:X  a  US:X  a  US-  nX:X  a
  US:X  a  UnM9  U" U5        US:X  d  MI  U" S5        MS     SR                  U5      R                  5       R                  SS5      nX4$ s  snf )	NrF  asciirj   ,rG  $rH  r  )r9  encoder  r  r  r   r  OP
ERRORTOKENr  r   stringrM  r  r  )re   self_parameterlrN  r  token_streamr  r   current_parameterr  r  tr   r  clean_signatures                  r   "_signature_strip_non_python_syntaxr    s$    $N(1(=C(=1QXXg(=ECU$$I$$Y/LD
++C	B!!J 	\A vvqxxf:}!Q&!JVs].NFcMH  ggdm))+33D"=O**? Ds
   
D5D5c                   ^^^^^^^^^^ U R                   m[        U5      u  pESU-   S-   n [        R                  " U5      n[        U[        R                  5      (       d  [        SR                  T5      5      eUR                  S   n/ mTR                  mS n0 m[        TSS 5      n	U	(       d  [        TSS 5      n
[        U
SS 5      n	U	(       a3  [        R                  R                  U	S 5      nU(       a  UR                  m[        R                  R!                  5       mS mUU4S jm " U4S	 jS
[        R"                  5      mT4UUUUUUU4S jjn[%        UR&                  R(                  5      [%        UR&                  R&                  5      -   nU[%        UR&                  R*                  5      -
  n[,        R.                  " [,        R0                  " S U5      UR&                  R*                  5      nTR2                  m[5        UR&                  R(                  U5       H  u  nnU" UU5        M     TR6                  m[5        UR&                  R&                  U5       H  u  nnU" UU5        M     UR&                  R8                  (       a)  TR:                  mU" UR&                  R8                  T5        TR<                  m[5        UR&                  R>                  UR&                  R@                  5       H  u  nnU" UU5        M     UR&                  RB                  (       a)  TRD                  mU" UR&                  RB                  T5        Ubd  [        TSS 5      nUS Ln[G        U5      nU(       a   U(       d  U(       a  TRI                  S5        O!TS   RK                  TR2                  S9nUTS'   U " TU R                  S9$ ! [         a    S n GNf = f)Nzdef fooz: pass"{!r} builtin has invalid signaturerj   ry   r  c                 J    U R                   b  [        S5      eU R                  $ )Nz'Annotations are not currently supported)r  r   r8  )nodes    r   
parse_name&_signature_fromstr.<locals>.parse_name  s!    ??&FGGxxr   c                    >  [        U T5      n[        U[        [
        [        [        [        [        S 5      45      (       a  [        R                  " U5      $ [        e! [         a$     [        U T5      n Ni! [         a    [        ef = ff = fr   )r   	NameErrorr   r~   r   intfloatbytesr   r   astConstant)rk  r   module_dictsys_module_dicts     r   
wrap_value&_signature_fromstr.<locals>.wrap_value  s    	!K(E ec3udDJGHH<<&&  	!!Q0 !  !	!s   A 
B*A88B		Bc                   4   > \ rS rSrU 4S jrU 4S jrS rSrg),_signature_fromstr.<locals>.RewriteSymbolicsi  c                   > / nUn[        U[        R                  5      (       aH  UR                  UR                  5        UR
                  n[        U[        R                  5      (       a  MH  [        U[        R                  5      (       d  [        eUR                  UR                  5        SR                  [        U5      5      nT" U5      $ )Nr6  )r~   r  r   r   r  r   Namer   r)  rM  reversed)rA  r
  arF  r   r  s        r   visit_Attribute<_signature_fromstr.<locals>.RewriteSymbolics.visit_Attribute  s    AAQ.. GG Q.. a**  HHQTTNHHXa[)Ee$$r   c                    > [        UR                  [        R                  5      (       d
  [	        5       eT" UR
                  5      $ r   )r~   ctxr  Loadr   r)  )rA  r
  r  s     r   
visit_Name7_signature_fromstr.<locals>.RewriteSymbolics.visit_Name  s/    dhh11 l"dgg&&r   c                    U R                  UR                  5      nU R                  UR                  5      n[        U[        R
                  5      (       a  [        U[        R
                  5      (       d  [        e[        UR                  [        R                  5      (       a-  [        R
                  " UR                  UR                  -   5      $ [        UR                  [        R                  5      (       a-  [        R
                  " UR                  UR                  -
  5      $ [        UR                  [        R                  5      (       a-  [        R
                  " UR                  UR                  -  5      $ [        er   )visitleftrightr~   r  r  r   opAddr   SubBitOr)rA  r
  r'  r(  s       r   visit_BinOp8_signature_fromstr.<locals>.RewriteSymbolics.visit_BinOp  s     ::dii(DJJtzz*EdCLL11E3<<9X9X  $''377++||DJJ$<==DGGSWW--||DJJ$<==DGGSYY//||DJJ$<==r   r}   N)r   ry   r8  r  r  r#  r-  r  )r  s   r   RewriteSymbolicsr    s    
	%	'
	r   r/  c           	        > T
" U 5      nU(       a6  U[         La-   T" 5       R                  U5      n[        R                  " U5      nT	R                  T" UTUTS95        g ! [         a    [	        SR                  T5      5      S ef = f)Nr  r  r  )_emptyr&  r  literal_evalr   r,  r   )	name_nodedefault_noder  r   r#   r/  r  r#  r   r  r  s       r   p_signature_fromstr.<locals>.p	  s    )$L6]/177E**<8 	)D$ERS  ] !E!L!LS!QRX\\]s   ,A   &Br>  r  r  )&_parameter_clsr  r  parser  r~   Moduler   r,  bodyr  r   r   r   rw   rv   r  NodeTransformerr+  r  r  r  r  chainrepeatPOSITIONAL_ONLYrQ  POSITIONAL_OR_KEYWORDvarargVAR_POSITIONALKEYWORD_ONLYr  kw_defaultsrJ  VAR_KEYWORDra   rL  r  )r
  r   rk  r  r  r   programr   r   r   objclassr6  total_non_kw_argsrequired_non_kw_argsr  r   r  _selfself_isboundself_ismoduler#   r/  r  r#  r  r  r  r  r  s    `                  @@@@@@@@@r   _signature_fromstrrN    s    ""I&H&K#O/)H4G7# fcjj))=DDSIJJAAJOOEFK#|T2K35hd;d3 //Kkk&&(O3.. B ,1 T T AFF../#affkk2BB,s166??/CCy//6JKQVV__]H$$Dqvv118<w	$ = **Dqvv{{H5w	$ 6 	vv}}''	!&&-- !!DQVV..0B0BCg	$ D 	vv||$$	!&&,,! Z.D( ]nNN1 1%%9+D+D%EAJqMzSYY77I  s   O
 
OOc                     [        U5      (       d  [        SR                  U5      5      e[        USS 5      nU(       d  [	        SR                  U5      5      e[        XX25      $ )Nz%{!r} is not a Python builtin function__text_signature__z#no signature found for builtin {!r})r  r   r,  r   r   rN  )r
  r   r  rk  s       r   _signature_from_builtinrQ  F	  sb    
 !&& ##)6$<1 	1 	*D1A>EEdKLLc;;r   c           
         Sn[        U5      (       d-  [        U5      (       a  SnO[        SR                  U5      5      e[	        USS 5      nU(       a  [        XXr5      $ U R                  nUR                  n	U	R                  n
U	R                  nU	R                  nUS U
 nU	R                  nXX-    n[        XXES9nUR                  nUR                  nU(       a  [        U5      nOSn/ nU
U-
  nUnUS U  HQ  nU(       a  [         O["        nUR%                  U[&        5      nUR)                  U" UUUS95        U(       d  ML  US-  nMS     [+        UUS  5       HX  u  nnU(       a  [         O["        nUR%                  U[&        5      nUR)                  U" UUUUU   S	95        U(       d  MS  US-  nMZ     U	R,                  [.        -  (       a8  XU-      nUR%                  U[&        5      nUR)                  U" UU[0        S95        U HT  n[&        nUb  UR%                  U[&        5      nUR%                  U[&        5      nUR)                  U" UU[2        US	95        MV     U	R,                  [4        -  (       aW  X-   nU	R,                  [.        -  (       a  US-  nUU   nUR%                  U[&        5      nUR)                  U" UU[6        S95        U " UUR%                  S
[&        5      US9$ )NFTrL  rP  rq   rj   )r  r#  rG  )r  r#  r  r  r  __validate_parameters__)rY   r   r   r,  r   rN  r9  r   r  r  co_posonlyargcountr  r.   r  r  r+  r  r  rw   r2  r   r>  r   r   r  r  r   r  )r
  r   r  rr   rs   rt   is_duck_functionrk  r#   	func_code	pos_count	arg_namesposonly_countr)  keyword_only_countkeyword_onlyr  r  r  pos_default_countr  non_default_countposonly_leftr   r#  r  offsetr  rn  s                                r   _signature_from_functionra  V	  s    d%d++# ;BB4HII*D1A!#Q??""I I%%I%%I00M:I&J"44y'EFL!$ZK  H$$JMJ!$55 L --.#/5K __T62
)DZ)-/ 	0<AL / "*->-?"@A#/5K __T62
)DZ)-,4V,<> 	? <AL B J&%778 __T62
)DZ)8: 	; ! nnT62G __T62
)DZ)6,35 	6  N*.
*QJE __T62
)DZ)57 	8
 z!,6!B'79 9r   c                     [        U 5      (       a  U $ [        [        U 5      S[        5      nU[        L a  U $ U" X[        U5      5      $ )Nr   )rS   r   r   r  )
descriptorr   rw   s      r   r  r  	  sE    z
$z"Iy
9C
izS	**r   )r  r  rr   rs   rt   c          
      	   [         R                  " [        UUUUUUS9n[        U 5      (       d  [	        SR                  U 5      5      e[        U [        R                  5      (       a&  U" U R                  5      nU(       a  [        U5      $ U$ U(       a2  [        U S S9n [        U [        R                  5      (       a  U" U 5      $  U R                  nUb  Un	[        U[        [        45      (       d  [        U5      (       a  U" 5       n[        U[        5      (       a  [        X`U5      n[        U[        5      (       d  [	        SR                  U	5      5      eU$   U R"                  n
[        U
[         R$                  5      (       a  U" U
R&                  5      n[)        XS5      n[+        UR,                  R/                  5       5      S   nUR0                  [2        R4                  L a  U$ [+        UR,                  R/                  5       5      nU4U-   nUR7                  US9$  [        U [         R                  5      (       a  U" U R&                  5      n[)        X5      $ [9        U 5      (       d  [;        U 5      (       a  [=        X`UX4US	9$ [?        U 5      (       a
  [A        X`US
9$ [        U [B        5      (       Gap  [E        [C        U 5      SUS9nUb  U" U5      $ [E        U SUS9n[E        U SUS9nU RF                   HS  nUb.  SURH                  ;   a  U" U5      nU(       a  [        U5      nUs  $ Uc  M9  SURH                  ;   d  MK  U" U5      s  $    U RF                  S S  H&  n URJ                  nU(       a  [        UUU5      s  $ M(     [B        U RF                  ;  a  U RL                  nU RN                  nU(       a  [        U5      n[        U5      nU[P        RL                  L a(  U[P        RN                  L a  URS                  [P        5      $ [U        SR                  U 5      5      eOM[W        [C        U 5      SS 5      nUb4   U RJ                  nU(       a  [        X`U5      $  [Y        X5      nU" U5      $ [U        SR                  U 5      5      e! [          a     GNDf = f! [          a     GNf = f! [          a     GM`  f = f! [          a     Nmf = f)N)r  r  rr   rs   r  rt   z{!r} is not a callable objectc                 \    [        U S5      =(       d    [        U [        R                  5      $ r  )r   r~   r   r   r   s    r   r   *_signature_from_callable.<locals>.<lambda>	  s'    '!_*E +C#-a1A1A#B+Cr   r&  z1unexpected object {!r} in __signature__ attributer   rj   r  )r  rr   rs   rt   )r  __call__r  rj  r  r7  z(no signature found for builtin type {!r}z+callable {!r} is not supported by signature)-r   r   r  r   r   r,  r~   r   r   r   r  rh   r  r$   r   rN  r   __partialmethod__partialmethodr   r  r  r  r  r#  r#   rC  r  rY   r   ra  r  rQ  r   r  r%  rv   rP  r  rj  r   from_callabler   r4   r  )r   r  r  rr   rs   rt   r  _get_signature_ofr  o_sigri  r  first_wrapped_param
sig_paramsr  callnewinitr   text_sigobj_initobj_news                         r   r  r  	  s    "))*B6K/=(/'-'-)13 C==7>>sCDD#u''((  -*3//J  S !C Ec5++,, %S)) ? EcIs#344#e#s##(c:c9--  &u/ / J :-- mY%<%<== ,M,>,>?K(WMC"'(>(>(E(E(G"H"K"''9+C+CC 
"3>>#8#8#:;
 23j@
{{j{99+ >. #y(())'1%k77#4S99 (7E07QY[ 	[ S!!&v6DF 	F #t
 2I"7

 $T** 1"7

 2"7
 KKD9#=',!1#6C
!jDMM&A(..   KK$DF22  .fdHEE  %* s{{"||HkkG$!(+ / 6??*w&../H++F33 >EEcJL L #" d3iT:E11 -f8DD "4-D$T**
BII#N
OOs  (  z " @ " sH   R R& )R7S	 
R#"R#&
R43R47
SS	
SSc                       \ rS rSrSrg)r  i
  r}   Nr  r}   r   r   r  r  
       r   r  c                       \ rS rSrSrg)r2  i
  r}   Nr  r}   r   r   r2  r2  
  rv  r   r2  c                   4    \ rS rSrSrSrSrSrSrS r	S r
S	rg
)_ParameterKindi
  zpositional-onlyzpositional or keywordzvariadic positionalr*  zvariadic keywordc                 r    [        U R                  5      n[        R                  X5      nX#l        Xl        U$ r   )r+  __members__r  rj  _value_description)r
  r}  r   members       r   rj  _ParameterKind.__new__
  s.    COO$S((r   c                     U R                   $ r   r  r  s    r   __str___ParameterKind.__str__
  s    yyr   r}   N)r   ry   r8  r  r@  rA  rC  rD  rF  rj  r  r  r}   r   r   ry  ry  
  s&    'O3*N!L$Kr   ry  c                       \ rS rSrSr\r\r\	r
\r\r\r\\S.S jrS rS r\S 5       r\S 5       r\S	 5       r\S
 5       r\\\\S.S jrS r\rS rS rS rSr g)r#   i
  )_name_kind_default_annotationr1  c                    [        U5      U l        U[        LaL  U R                  [        [
        4;   a2  SnUR                  U R                  R                  5      n[        U5      eX0l        X@l	        U[        L a  [        S5      e[        U[        5      (       d/  SR                  [        U5      R                  5      n[        U5      eUS   S:X  a}  USS  R                  5       (       ae  U R                  [         :w  a2  S	nUR                  U R                  R                  5      n[        U5      e["        U l        S
R                  USS  5      n[%        U5      =(       a    U R                  ["        LnU(       d  UR'                  5       (       d  [        SR                  U5      5      eXl        g ! [         a    [        SU< S35      ef = f)Nzvalue z is not a valid Parameter.kindz({} parameters cannot have default valuesz*name is a required attribute for Parameterzname must be a str, not a {}rj   r6  rG  zLimplicit arguments must be passed as positional or keyword arguments, not {}z
implicit{}z"{!r} is not a valid parameter name)ry  r  r   r2  r  r  r,  r}  r  r  r~   r   r   r   r   isdigitr  r  rk   isidentifierr  )rA  r   r#  r  r  r  
is_keywords          r   r  Parameter.__init__
  s   	N'-DJ & zzo|<<@jj!7!78 o%%6>IJJ$$$077T
8K8KLCC. 7c>d12h..00
 zz33>  jj!7!78 o%)DJ&&tABx0D t_K;K)K
T..00AHHNOO
M  	NvdX-KLMM	Ns   F2 2Gc                 x    [        U 5      U R                  U R                  4U R                  U R                  S.4$ )Nr  r  )r   r  r  r  r  r  s    r   
__reduce__Parameter.__reduce__
  s8    T
TZZ(!]] $ 0 023 	3r   c                 ,    US   U l         US   U l        g )Nr  r  r  rA  states     r   __setstate__Parameter.__setstate__
  s    j) /r   c                     U R                   $ r   )r  r  s    r   r   Parameter.name
      zzr   c                     U R                   $ r   )r  r  s    r   r  Parameter.default  s    }}r   c                     U R                   $ r   )r  r  s    r   r  Parameter.annotation      r   c                     U R                   $ r   )r  r  s    r   r#  Parameter.kind
  r  r   )r   r#  r  r  c                    U[         L a  U R                  nU[         L a  U R                  nU[         L a  U R                  nU[         L a  U R                  n[        U 5      " XXCS9$ )Nr1  )r  r  r  r  r  r   )rA  r   r#  r  r  s        r   r  Parameter.replace  sY     5=::D5=::D))JemmGDz$gMMr   c                    U R                   nU R                  nU R                  [        La%  SR	                  U[        U R                  5      5      nU R                  [        La^  U R                  [        La&  SR	                  U[        U R                  5      5      nO%SR	                  U[        U R                  5      5      nU[        :X  a  SU-   nU$ U[        :X  a  SU-   nU$ )Nz{}: {}z{} = {}z{}={}r  r  )
r#  r  r  r2  r,  r+   r  r  r  r  )rA  r#  	formatteds      r   r  Parameter.__str__   s    yyJJ	 6) 	'78H8H'IKI ==&v-%,,YT]]8KL	#NN9d4==6IJ	?"iI  \!y(Ir   c                 N    SR                  U R                  R                  U 5      $ )Nz	<{} "{}">r,  r?  r   r  s    r   rr  Parameter.__repr__8  s    !!$.."9"94@@r   c                 p    [        U R                  U R                  U R                  U R                  45      $ r   )hashr  r  r  r  r  s    r   __hash__Parameter.__hash__;  s(    TZZT-=-=t}}MNNr   c                 4   XL a  g[        U[        5      (       d  [        $ U R                  UR                  :H  =(       aY    U R                  UR                  :H  =(       a9    U R
                  UR
                  :H  =(       a    U R                  UR                  :H  $ NT)r~   r#   NotImplementedr  r  r  r  rA  others     r   __eq__Parameter.__eq__>  sw    =%++!!

ekk) 6

ekk)6/6   E$5$55	7r   )r  r  r  r  N)!r   ry   r8  r  r<  r  r@  r  rA  r  rC  r  rD  r  rF  r2  r  r  r  r  r  r   r  r  r#  r  r  r  __replace__rr  r  r  r  r}   r   r   r#   r#   
  s    , >I.O4-N+L*KE.4 )V30           $% %N$, KAO7r   r#   c                   l    \ rS rSrSrS r\S 5       r\S 5       r\S 5       r	S r
S rS	 rS
 rS rSrg)r
   iI  )r  
_signature__weakref__c                     X l         Xl        g r   )r  r  )rA  re   r  s      r   r  BoundArguments.__init__\  s    "#r   c                     U R                   $ r   )r  r  s    r   re   BoundArguments.signature`  s    r   c                 b   / nU R                   R                  R                  5        Hi  u  p#UR                  [        [
        4;   a    OL U R                  U   nUR                  [        :X  a  UR                  U5        MX  UR                  U5        Mk     [        U5      $ ! [         a       M  f = fr   )r  r  r   r#  r  r  r  r  extendr   r  r  )rA  r  r  r   r8  s        r   r  BoundArguments.argsd  s    !%!;!;!A!A!CJzzlM::%nnZ0 ::0KK$ KK$! "D$ T{   s   	B
B.-B.c                    0 nSnU R                   R                  R                  5        H  u  p4U(       d0  UR                  [        [
        4;   a  SnOX0R                  ;  a  SnM<  U(       d  ME   U R                  U   nUR                  [        :X  a  UR                  U5        M|  XQU'   M     U$ ! [         a     M  f = f)NFT)	r  r  r   r#  r  r  r  updater  )rA  kwargskwargs_startedr  r   r8  s         r   r  BoundArguments.kwargs{  s    !%!;!;!A!A!CJ!::,!>>%)N!7)- !
-nnZ0 ::-MM#& *-:&- "D0   s   /B//
B=<B=c                    U R                   n/ nU R                  R                  R                  5        H  u  p4 UR	                  X1U   45        M     [        U5      U l         g ! [
         ae    UR                  [        La  UR                  nO/UR                  [        L a  SnOUR                  [        L a  0 nO M  UR	                  X545         M  f = f)Nr}   )r  r  r  r   r   r  r  r2  r#  r  r  r   )rA  r  new_argumentsr   r   vals         r   apply_defaultsBoundArguments.apply_defaults  s     NN	??55;;=KD2$$ddO%<= > m,  2==.--CZZ?2CZZ</C $$d[12s   A##AC<CCc                     XL a  g[        U[        5      (       d  [        $ U R                  UR                  :H  =(       a    U R                  UR                  :H  $ r  )r~   r
   r  re   r  r  s     r   r  BoundArguments.__eq__  sG    =%00!!%//1 2%//1	3r   c                 ,    US   U l         US   U l        g )Nr  r  r  r  r  s     r   r  BoundArguments.__setstate__  s    -{+r   c                 4    U R                   U R                  S.$ )Nr  r  r  s    r   __getstate__BoundArguments.__getstate__  s    "ooDNNKKr   c                     / nU R                   R                  5        H%  u  p#UR                  SR                  X#5      5        M'     SR                  U R                  R
                  SR                  U5      5      $ )Nz{}={!r}z	<{} ({})>r"  )r  r   r   r,  r?  r   rM  )rA  r  r8  r   s       r   rr  BoundArguments.__repr__  s\    ....0JCKK	((45 1!!$.."9"9499T?KKr   r  N)r   ry   r8  r  r<  r  r  re   r  r  r  r  r  r  rr  r  r}   r   r   r
   r
   I  se    " ;I$    ,  :-83,LLr   r
   c                       \ rS rSrSr\r\r\	r
S\	SS.S jjr\SSSSS.S	 j5       r\S
 5       r\S 5       r\\S.S jr\rS rS rS rSS.S jrS rS rS rS rS rS rSS.S jrSrg)r$   i  )_return_annotation_parametersNTrS  c                8   Uc  [        5       nOU(       a  [        5       n[        nSnU H  nUR                  nUR                  n	X:  a3  Sn
U
R	                  UR
                  UR
                  5      n
[        U
5      eX:  a  UnU[        [        4;   a*  UR                  [        L a  U(       a  Sn
[        U
5      eOSnX;   a  SR	                  U	5      n
[        U
5      eXtU	'   M     O[        S U 5       5      n[        R                  " U5      U l        X l        g )NFz7wrong parameter order: {} parameter before {} parameterz-non-default argument follows default argumentTzduplicate parameter name: {!r}c              3   <   #    U  H  oR                   U4v   M     g 7fr   r  r	  r   s     r   r  %Signature.__init__.<locals>.<genexpr>  s     $QjUjj%%8js   )rn   r  r#  r   r,  r}  r   r  r  r2  r   MappingProxyTyper  r  )rA  r  r  rT  r  top_kindseen_defaultr   r#  r   r  s              r   r  Signature.__init__  s     ]F&$+$'E ::D ::D(  "jj)=)=)-)9)9;(o-#' 02HII ==F2+'1&0o 5  , ,0L~>EEdK(o-#(4L? (B %$Qj$QQ 11&9"3r   Ffollow_wrappedrr   rs   rt   c          	          [        XUX4US9$ )N)r  r  rr   rs   rt   )r  )r
  r   r  rr   rs   rt   s         r   rj  Signature.from_callable  s     (>L07QY[ 	[r   c                     U R                   $ r   )r  r  s    r   r  Signature.parameters%  r  r   c                     U R                   $ r   r  r  s    r   r  Signature.return_annotation)  s    &&&r   )r  r  c                    U[         L a  U R                  R                  5       nU[         L a  U R                  n[	        U 5      " UUS9$ )Nr8  )r  r  r  r  r   )rA  r  r  s      r   r  Signature.replace-  sH     //1J% $ 7 7Dz*,=? 	?r   c                    [        S U R                  R                  5        5       5      nU R                  R                  5        Vs0 s H&  nUR                  [        :X  d  M  UR
                  U_M(     nnXU R                  4$ s  snf )Nc              3   R   #    U  H  nUR                   [        :w  d  M  Uv   M     g 7fr   )r#  r  r  s     r   r  (Signature._hash_basis.<locals>.<genexpr>?  s%      =*B %

m ; u*Bs   '	')r  r  r  r#  r  r   r  )rA  r  r   
kwo_paramss       r   _hash_basisSignature._hash_basis>  s     =$//*@*@*B = = 6:__5K5K5M H5ME+0::+F (ejj%'5M
 H 4#9#999Hs   B#Bc                 t    U R                  5       u  pn[        UR                  5       5      n[        XU45      $ r   )r  	frozensetr  r  )rA  r  r  r  s       r   r  Signature.__hash__G  s:    040@0@0B--z0023
V):;<<r   c                     XL a  g[        U[        5      (       d  [        $ U R                  5       UR                  5       :H  $ r  )r~   r$   r  r  r  s     r   r  Signature.__eq__L  s:    =%++!!!U%6%6%888r   r   c          	      ^   0 n[        U R                  R                  5       5      nSn[        U5      n/ n  [        U5      n	 [        U5      n
U
R                  [
        [        4;   a  [        S5      S eU
R                  [        :X  a,  U	/nUR                  U5        [        U5      XJR                  '   OWU
R                  U;   a7  U
R                  [        :w  a#  [        SR                  U
R                  S95      S eXU
R                  '   M  S n[$        R&                  " Xe5       HS  n
U
R                  [
        :X  a  U
nM  U
R                  [        :X  a  M1  U
R                  n UR)                  U5      n	XU'   MU     U(       aq  Ub  X$UR                  '   O_U(       a.  [        SR                  SR-                  S U 5       5      S95      e[        SR                  [        [        U5      5      S95      eU R/                  X5      $ ! [         a    [        S5      S ef = f! [         Ga#     [        U5      n
U
R                  [        :X  a   GMA  U
R                  U;   a^  U
R                  [        :X  aC  U
R                  [         L a  SU
R                  < 3n[        U5      eUR#                  U
5         GM~  U
4n GM  U
R                  [
        :X  d  U
R                  [         La  U
4n GM  U(       a  U
4n GM  U
R                  [        :X  a  SnOSnSnUR                  U
R                  US	9n[        U5      S e! [         a      GM;  f = ff = f! [*         aT    U(       dH  U
R                  [        :w  a0  U
R                  [         L a  [        S
R                  US95      S e GM   GM   GM  f = f)Nr}   ztoo many positional argumentsz$multiple values for argument {arg!r})r8  z-missing a required positional-only argument: z keyword-onlyr  z-missing a required{argtype} argument: {arg!r})r8  argtypez$missing a required argument: {arg!r}zGgot some positional-only arguments passed as keyword arguments: {arg!r}r"  c              3   :   #    U  H  nUR                   v   M     g 7fr   r  r  s     r   r  "Signature._bind.<locals>.<genexpr>  s      &)A "JJ)As   z*got an unexpected keyword argument {arg!r})r  r  r  r  r#  r  r  r   r  r  r  r   r  r,  StopIterationr  r2  r   r  r>  rL  r  rM  _bound_arguments_cls)rA  r  r  r   r  r  parameters_exarg_valspos_only_param_in_kwargsarg_valr   r  r  r  kwargs_paramr  s                   r   _bindSignature._bindS  s    	$//0023
:#% J4x.`4 ,E zzlM%BB (;=BFG zz_4 #*h/05f	**-zzV+

>N0N'BII$)JJ J 016:; -4ejj)[ b __]?Ezz\)$zz_, J0 **Z0 )0*%5 @8 '/5,++,)117 II &)A&  28 2   @GG f. H 01 1 ((99W % O#$CD$NOc ! ,;*; ,E zz_4 v- ::)99$}}6(UV[V`V`Uc&d&/n 4 5;;EB$).**405V0K */ #-2HM!$zz]:*9*,"QC"%**W*"MC"+C.d:Q %  	,;x  F
  EJJ/$A49MMV4K#$J$*FzF$:<AEF 5L %BFsn   H H !MHM)L74MA#M3M:*M(
M6AM7
MMMMAN,+N,c                $    U R                  X5      $ r   r  rA  r  r  s      r   bindSignature.bind  s    
 zz$''r   c                "    U R                  XSS9$ )NTr  r  r  s      r   r  Signature.bind_partial  s    
 zz$z55r   c                 z    [        U 5      [        U R                  R                  5       5      4SU R                  04$ Nr  )r   r  r  r  r  r  s    r   r  Signature.__reduce__  s=    T
t''..013%t'>'>?A 	Ar   c                     US   U l         g r	  r  r  s     r   r  Signature.__setstate__  s    "'(<"=r   c                 N    SR                  U R                  R                  U 5      $ )Nz<{} {}>r  r  s    r   rr  Signature.__repr__  s     7 7>>r   c                 "    U R                  5       $ r   )r,  r  s    r   r  Signature.__str__  s    {{}r   )	max_widthc                   / nSnSnU R                   R                  5        H  n[        U5      nUR                  nU[        :X  a  SnOU(       a  UR                  S5        SnU[        :X  a  SnO$U[        :X  a  U(       a  UR                  S5        SnUR                  U5        M     U(       a  UR                  S5        SR                  SR                  U5      5      nUb/  [        U5      U:  a   SR                  SR                  U5      5      nU R                  [        La)  [        U R                  5      n	US	R                  U	5      -  nU$ )
NFT/r  z({})r"  z
(
    {}
)z,
    z -> {})r  r  r   r#  r  r   r  r  r,  rM  r+  r  r2  r+   )
rA  r  r  render_pos_only_separatorrender_kw_only_separatorr   r  r#  renderedannos
             r   r,  Signature.format  s+    $)!#' __++-EE
I::D'',0)* c",1)& ,1(&+C c" ,1(MM)$5 .8 % MM#==6!23 S]Y%>%,,Y^^F-CDH!!/#D$:$:;D--Hr   )r  r  r   ) r   ry   r8  r  r<  r#   r9  r
   r  r2  r  r  r  rj  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rr  r  r,  r  r}   r   r   r$   r$     s    . 6IN)E24V)-24h %)4u[ [     ' ' %*U ? K:=
9 .3 L:\(6A
>? #' 4 4r   r$   r  c                ,    [         R                  XX#US9$ )Nr  )r$   rj  )r   r  rr   rs   rt   s        r   re   re   4  s#    ""3+2H # V Vr   c                       \ rS rSrSrSrSrSrS\-  rS\-  r	S\-  r
S	\-  rS
\-  r\\-  r\r\\-  r\r\\-  \-  r\\-  r\\-  \-  r\\-  rS
rSrSrg)r   i:  rj   rG               @         i   r}   N)r   ry   r8  r  SIMPLEWRITABLEFORMATNDSTRIDESC_CONTIGUOUSF_CONTIGUOUSANY_CONTIGUOUSINDIRECTCONTIG	CONTIG_ROSTRIDED
STRIDED_RORECORDS
RECORDS_ROFULLFULL_ROREADWRITEr  r}   r   r   r   r   :  s    FHF	BRiG'>L'>LG^NwH(]FI GJ 6)G6!Jh'DGDEr   r   c                  0   SS K n SS KnU R                  5       nUR                  SSS9  UR                  SSSSS	9  UR	                  5       nUR
                  nUR                  S
5      u  pVn UR                  " U5      =pU(       a'  UR!                  S5      nW	nU H  n[#        X5      nM     W	R                  [        R$                  ;   a.  [        S[        R                  S9  [        R                  " S5        UR&                  (       a  [        SR                  U5      5        [        SR                  [)        U	5      5      5        [        SR                  U	R*                  5      5        WU	L ac  [        SR                  [-        U	R.                  5      5      5        [1        U	S5      (       a$  [        SR                  U	R2                  5      5        O( [5        U5      u  p[        SR                  U5      5        [        S5        g [        [7        W5      5        g ! [         a_  n
SR                  U[        U
5      R                  U
5      n[        U[        R                  S9  [        R                  " S5         S n
A
GNS n
A
ff = f! [         a     Nf = f)Nrj   r   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)actionr6  :zFailed to import {} ({}: {}))r  r  r6  z#Can't get info for builtin modules.rG  z
Target: {}z
Origin: {}z
Cached: {}z
Loader: {}__path__zSubmodule search path: {}zLine: {}rF  )argparser_  ArgumentParseradd_argument
parse_argsr   	partitionimport_moduler  r,  r   r   printr   stderrexitr9  r   builtin_module_namesdetailsrK   
__cached__r  rq  r   r:  r*   rJ   )r;  r_  parserr  targetmod_name	has_attrsattrsr   r   r  r  partspart__rk  s                   r   _mainrO  P  s$   $$&F
9  : k,H  J D[[F!'!1!1#!6H ..x88 C D#$C  #2223#**E||l!!&)*l!!-"789l!!&"3"345&=,%%d6+<+<&=>?vz**188IJ1'_
 j''/0dinG  ,33H48I4F4F479 	c

#8  s+   ,H J 
J&AJ  J
JJrU  r   )F)rG  )r}   )T)TNNF)
__author____all__r   r  rT  collections.abcr   enumimportlib.machineryr_  r  rz  r\  r  r   r  r  r   r   r  keywordrk   operatorrl   rm   rn   weakrefro   r  rr   mod_dictCOMPILER_FLAG_NAMESr   r  r  r%   r.   ra   rS   r^   r_   rW   r   r]   r\   rY   r   r[   r   r   r   rd   rV   rP   rO   rZ   rU   rQ   rc   rX   rT   rR   r`   rb   rN   r  rD   rE   r   r'   rH   rh   rM   r:  rC  r<   r(   r=   rG   rK   r/   r  r  rF   r  r   r*   r9   r   r	   r5   rL   rJ   ri   r7   r   r0   r   r?   r   r1   r+   r,   r   r-   r0  r<  r6   r   r8   rc  r&   r|  ry  r>   rC   _fieldsr  r   rI   rB   r)   rf   rg   r  r   rv   r   r  r  r  r  	lru_cacher  r  r4   r    r!   r"   r   rA   r@   r   r   r   r   r;   r:   r   r   r   r   r3   r2   WrapperDescriptorTyper   r  r   r  r  r  r  r  r   r  rN  rQ  ra  r  r  r  r2  IntEnumry  r@  r  rA  r  rC  r  rD  r  rF  r  r#   r
   r$   re   IntFlagr   rO  r   r}   r   r   <module>r_     s+  B9
iX  
 
      	 	 
        / ' 9##))+DAqHUQY ,q(   %) vt0$0/8? 5())> 5())>2,- X JI383"3;3/.297(0(T3
: {$EF	ph  @0
;z&8,8
:8 -`	) 	90v+%Z " !7 7r$&0*+6 {$:;	86 MOZ<z Y >
?9 ""9 8 ?	(.7 D*:x (LM54r &ST

-
 
-7O)AV
 j93D3D&DE

@
 
@C5' H	y)11 MM*5== 4  $
 '0 /h 
$& !$
 !$. "77!33!;;!557  SW <I?X*4*G2/+dP8f<  8<AF\9~+ 48,0%)$(&+HPV< <A AT\\ " *99 )?? )88)66)55]7 ]7@L LDf fR &*4u V$,, ,7t z	G r   