bgs72UdZddlmZddlZddlZddlZddlmZmZddl m Z ddl m Z m Z ddlmZmZmZmZmZddlmZdd lmZmZmZdd lmZmZmZmZmZdd l m!Z!dd l"m#Z#dd l$m%Z%ddl&m'Z'ej(dkrddlm)Z)nddl*m)Z)ddddddddZ+de,d<edddedZ-edej.ej/Z0edej1ej2Z3edej4ej5Z6eej7ej8ej.fZ9Gd d!Z:dS)"zlThis module contains utilities for rebuilding an _ast tree in order to get a single Astroid representation. ) annotationsN)Callable Generator)StringIO) TokenInfogenerate_tokens) TYPE_CHECKINGTypeVarUnioncastoverload)nodes) ParserModuleget_parser_moduleparse_function_type_comment)IS_PYPYPY38 PY38_PLUS PY39_PLUSContext)AstroidManager)NodeNG)Position)SuccessfulInferenceResult)Final Arguments Comprehension ExceptHandlerKeyword MatchCase) arguments comprehension ListCompFor GenExprFor excepthandlerkeyword match_casezFinal[dict[str, str]]REDIRECTT_Doc ast.Module ast.ClassDef)ast.FunctionDefast.AsyncFunctionDef _FunctionT_ForT_WithTc eZdZdZ ddd ZddZddZddZddZddZ dd$Z e r2e dd(Z e dd+Z e dd.Z e dd1Z e dd4Z e dd7Z e dd:Z e dd=Z e dd@Z e ddCZ e ddFZ e ddIZ e ddLZ e ddOZ e ddRZ e ddUZ e ddXZ e dd[Z e dd^Z e ddaZ e dddZ e ddgZ e ddjZ e ddmZ e ddpZ e ddsZ e ddvZ e ddyZ e dd|Z e ddZ e ddZ e ddZ e ddZ e ddZ ejdkr e ddZ ejdkre ddZ e ddZ e ddZ e ddZ e ddZ e ddZ e ddZ e ddZ ejdkrAe ddZ e ddZ e ddZ e ddZ e ddZ e ddZ e ddZ e ddZ e ddZ e ddZ e ddĄZ e ddDŽZ e ddɄZ e dd̄Z e ddτZ ejdkr e ddӄZ e ddՄZ e dd؄Z e ddۄZ e ddބZ e ddZ e ddZ ejdkre ddZ e ddZ e ddZ e ddZ e ddZ e ddZ e ddZ e ddZ e dِdZ e dڐdZ e dېdZ e dܐdZ e dݐd Z dސd Z dߐdZddZddZddZddZddZddZddZddZddZddZddZe ddZe dd Zdd"Zdd#Zdd$Zdd%Zdd&Z dd'Z! ddd*Z"dd+Z#dd,Z$dd-Z%dd/Z&dd0Z'dd2Z(dd3Z)dd4Z*dd5Z+dd6Z,e dd9Z-e dd;Z-dd?Z-dd@Z.ddAZ/e ddCZ0e ddEZ0ddHZ0ddIZ1ddJZ2ddLZ3ddMZ4ddNZ5ddOZ6ddPZ7ddQZ8ddRZ9ejdkrddSZ:ejdkr ddTZ;ddUZ<ddVZ=ddWZ>ddXZ?ddYZ@dd[ZAdd\ZBdd]ZCejdkrdd^ZDdd_ZEddaZFeFZGddbZHddcZIdddZJdÐdeZKdĐdfZLdŐdgZMdƐdhZNdǐdiZOdȐdjZPddlZQddnZRdʐdoZSdːdpZTd̐dqZUd͐drZVe ddtZWe ddvZWddzZWdd{ZXdd|ZYdd}ZZejdkr>dѐd~Z[dҐdZ\dӐdZ]dԐdZ^dՐdZ_d֐dZ`dאdZadؐdZbdِdZcdڐdZddSdS( TreeRebuilderz1Rebuilds the _ast tree to become an Astroid tree.Nmanagerr parser_moduleParserModule | Nonedata str | NonereturnNonec||_|r|dnd|_g|_g|_g|_i|_|t|_n||_|jj |_ dS)N ) _managersplit_data _global_names_import_from_nodes_delayed_assattr _visit_methsr_parser_modulemodule_module)selfr6r7r9s b/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/astroid/rebuilder.py__init__zTreeRebuilder.__init__<sx   )-7TZZ%%%4 BD:<8:VX  "3"5"5D  "/D *1 noder,+tuple[T_Doc, ast.Constant | ast.Str | None]c |jrt|jd|jjr|jdj}t||jjs;t r`t||jjrFt|jtr,|}|jdd|_|j dkrd|_ ||fSn#t$rYnwxYw|dfS)zReturn the doc ast node.rN) body isinstancerHExprvalueStrrConstantstr col_offset IndexError)rIrM first_value doc_ast_nodes rJ_get_doczTreeRebuilder._get_docOs y .Z ! dl6GHH ."il0 k4<+;<< . ."; 0EFF .#;#4c:: . $/L $ !"" DI$."4426 /--    D TzsB>C CCMast.Attribute | ast.List | ast.Name | ast.Subscript | ast.Starred | ast.Tuplercz|jjt|jt jSN)rFcontext_classesgettypectxrLoadrIrMs rJ _get_contextzTreeRebuilder._get_contextds*"266tDH~~w|TTTrL5ast.ClassDef | ast.FunctionDef | ast.AsyncFunctionDefparent;nodes.ClassDef | nodes.FunctionDef | nodes.AsyncFunctionDefPosition | Nonec|jsdSt|dd}|jr|jdj}d|j|jdz |}d}t jf}t|tj rd}nt|tj rd}nd}tt|j D]N}|'|jt jkr|j|jkrn&|j|vr|j|kr|}B|jd vrLd}OdSt#|j|jdzdz |jd|j|jdzdz |jd S) a*Return position information for ClassDef and FunctionDef nodes. In contrast to AST positions, these only include the actual keyword(s) and the class / function name. >>> @decorator >>> async def some_func(var: int) -> None: >>> ^^^^^^^^^^^^^^^^^^^ N end_linenorr>rPasyncdefclass>ro)linenorYrmend_col_offset)rAgetattrrRrqjointokenNAMErSrAsyncFunctionDef FunctionDefrrreadlinercstringnamerstartend) rIrMrirmr9 start_tokenkeyword_tokens search_tokents rJ_get_position_infoz TreeRebuilder._get_position_infoqsz 4!(|T!B!B 9 -1,JyyDK!Oj$@ABB(, +0:- fe4 5 5 #"LL  1 2 2 # LL"L $!899  A'Fej((H ))v''8|++"#K8w&&KK4;!21!559"(+{QU1X-158     rLNodesWithDocsTypec |jr|jr|jdStrdS|jpd}|jj}tr t sd}d|j|dz |}d\}}d}tjtj tj tj h}t|tjrd}tt!|jD]} |dur|dur!| jtjkr | jdvrd}nl|durh| jtjkrS| jtjkr |dkrd}n5| jtjkr|dz }n| jtjkr|dz}| j|vr| jtjkrndSdS|| jdzdz |j_| jd|j_|| jdzdz |j_| jd|j_dS) z9Fix start and end position of doc nodes for Python < 3.8.NrPr>)FFrTF>rorp) rAdoc_noderqrrrrtruNEWLINEINDENTNLCOMMENTrSrModulerrryrcrvrzOP exact_typeCOLONLPARRPARSTRINGr|rYr}rmrr) rIrMrq end_ranger9 found_start found_end open_brackets skip_tokenrs rJ_fix_doc_node_positionz$TreeRebuilder._fix_doc_node_positions z  $+2E F   F! $ 4  9 IyyFQJ$:;<<!- Y % u|UXu}U dEL ) ) I $!899  AE!!5((%*,,$444"&KK D((QVux-?-?|u{22}7I7I$( 33%* 33%* v##v%% FF F% 2Q6 #$71:  #)AE!H#4q#8  '(uQx $$$rLnewnode nodes.NodeNGczd|_d|_|D]}||dS)a$Reset end_lineno and end_col_offset attributes for PyPy 3.8. For some nodes, these are either set to -1 or only partially assigned. To keep consistency across astroid and pylint, reset all. This has been fixed in PyPy 3.9. For reference, an (incomplete) list of nodes with issues: - ClassDef - For - FunctionDef - While - Call - If - Decorators - TryExcept - With - TryFinally - Assign N)rmrr get_children_reset_end_lineno)rIr child_nodes rJrzTreeRebuilder._reset_end_linenosP"!%!..00 / /J  " ": . . . . / /rLr-modnamerXmodpathpackagebool nodes.ModulecX|\}}tj|||g|dfd|jD|trtr S)zmVisit a Module node by returning a fresh instance of it. Note: Method not called by 'visit' N)r{filepathrric<g|]}|Svisit.0childrrIs rJ z.TreeRebuilder.visit_module..' ? ? ?ETZZw ' ' ? ? ?rL)r) r]rrpostinitrRrrrrr)rIrMrrrr\rs` @rJ visit_modulezTreeRebuilder.visit_modules"]]400l,      ? ? ? ? ?TY ? ? ?ZZ g66     ##G,,,  ,t ,  " "7 + + +rLast.argrnodes.AssignNamecdSr`rrIrMris rJrzTreeRebuilder.visit CrL ast.argumentsnodes.ArgumentscdSr`rrs rJrzTreeRebuilder.visit rrL ast.Assert nodes.AssertcdSr`rrs rJrzTreeRebuilder.visitrrLr0nodes.AsyncFunctionDefcdSr`rrs rJrzTreeRebuilder.visit  CrL ast.AsyncFornodes.AsyncForcdSr`rrs rJrzTreeRebuilder.visitrrL ast.Await nodes.AwaitcdSr`rrs rJrzTreeRebuilder.visitrrL ast.AsyncWithnodes.AsyncWithcdSr`rrs rJrzTreeRebuilder.visit"rrL ast.Assign nodes.AssigncdSr`rrs rJrzTreeRebuilder.visit&rrL ast.AnnAssignnodes.AnnAssigncdSr`rrs rJrzTreeRebuilder.visit*rrL ast.AugAssignnodes.AugAssigncdSr`rrs rJrzTreeRebuilder.visit.rrL ast.BinOp nodes.BinOpcdSr`rrs rJrzTreeRebuilder.visit2rrL ast.BoolOp nodes.BoolOpcdSr`rrs rJrzTreeRebuilder.visit6rrL ast.Break nodes.BreakcdSr`rrs rJrzTreeRebuilder.visit:rrLast.Call nodes.CallcdSr`rrs rJrzTreeRebuilder.visit>rrLr.nodes.ClassDefcdSr`rrs rJrzTreeRebuilder.visitBrrL ast.Continuenodes.ContinuecdSr`rrs rJrzTreeRebuilder.visitFrrL ast.Compare nodes.ComparecdSr`rrs rJrzTreeRebuilder.visitJrrLast.comprehensionnodes.ComprehensioncdSr`rrs rJrzTreeRebuilder.visitNrrL ast.Delete nodes.DeletecdSr`rrs rJrzTreeRebuilder.visitRrrLast.Dict nodes.DictcdSr`rrs rJrzTreeRebuilder.visitVrrL ast.DictCompnodes.DictCompcdSr`rrs rJrzTreeRebuilder.visitZrrLast.Expr nodes.ExprcdSr`rrs rJrzTreeRebuilder.visit^rrLast.ExceptHandlernodes.ExceptHandlercdSr`rrs rJrzTreeRebuilder.visitbrrLast.For nodes.ForcdSr`rrs rJrzTreeRebuilder.visitfrrLast.ImportFromnodes.ImportFromcdSr`rrs rJrzTreeRebuilder.visitjrrLr/nodes.FunctionDefcdSr`rrs rJrzTreeRebuilder.visitnrrLast.GeneratorExpnodes.GeneratorExpcdSr`rrs rJrzTreeRebuilder.visitrrrL ast.Attributenodes.AttributecdSr`rrs rJrzTreeRebuilder.visitvrrL ast.Global nodes.GlobalcdSr`rrs rJrzTreeRebuilder.visitzrrLast.Ifnodes.IfcdSr`rrs rJrzTreeRebuilder.visit~rrL ast.IfExp nodes.IfExpcdSr`rrs rJrzTreeRebuilder.visitrrL ast.Import nodes.ImportcdSr`rrs rJrzTreeRebuilder.visitrrL ast.JoinedStrnodes.JoinedStrcdSr`rrs rJrzTreeRebuilder.visitrrLast.FormattedValuenodes.FormattedValuecdSr`rrs rJrzTreeRebuilder.visitrrLr ast.NamedExprnodes.NamedExprcdSr`rrs rJrzTreeRebuilder.visitrL)r ast.ExtSlicenodes.Subscript nodes.TuplecdSr`rrs rJrzTreeRebuilder.visitrrL ast.IndexcdSr`rrs rJrzTreeRebuilder.visitrrL ast.keyword nodes.KeywordcdSr`rrs rJrzTreeRebuilder.visitrrL ast.Lambda nodes.LambdacdSr`rrs rJrzTreeRebuilder.visitrrLast.List nodes.ListcdSr`rrs rJrzTreeRebuilder.visitrrL ast.ListCompnodes.ListCompcdSr`rrs rJrzTreeRebuilder.visitrrLast.Name;nodes.Name | nodes.Const | nodes.AssignName | nodes.DelNamecdSr`rrs rJrzTreeRebuilder.visitrrL ast.Nonlocalnodes.NonlocalcdSr`rrs rJrzTreeRebuilder.visitrrL ast.Ellipsis nodes.ConstcdSr`rrs rJrzTreeRebuilder.visitrrLast.NameConstantcdSr`rrs rJrzTreeRebuilder.visitrrLast.StrcdSr`rrs rJrzTreeRebuilder.visitrrL ast.BytescdSr`rrs rJrzTreeRebuilder.visitrrLast.NumcdSr`rrs rJrzTreeRebuilder.visitrrL ast.ConstantcdSr`rrs rJrzTreeRebuilder.visitrrLast.Pass nodes.PasscdSr`rrs rJrzTreeRebuilder.visitrrL ast.Raise nodes.RaisecdSr`rrs rJrzTreeRebuilder.visitrrL ast.Return nodes.ReturncdSr`rrs rJrzTreeRebuilder.visitrrLast.Set nodes.SetcdSr`rrs rJrzTreeRebuilder.visitrrL ast.SetComp nodes.SetCompcdSr`rrs rJrzTreeRebuilder.visitrrL ast.Slice nodes.SlicecdSr`rrs rJrzTreeRebuilder.visitrrL ast.SubscriptcdSr`rrs rJrzTreeRebuilder.visitrrL ast.Starred nodes.StarredcdSr`rrs rJrzTreeRebuilder.visitrrLast.Try"nodes.TryExcept | nodes.TryFinallycdSr`rrs rJrzTreeRebuilder.visitrrL)r ast.TryStar nodes.TryStarcdSr`rrs rJrzTreeRebuilder.visitrrL ast.TuplecdSr`rrs rJrzTreeRebuilder.visitrrL ast.UnaryOp nodes.UnaryOpcdSr`rrs rJrzTreeRebuilder.visitrrL ast.While nodes.WhilecdSr`rrs rJrzTreeRebuilder.visit rrLast.With nodes.WithcdSr`rrs rJrzTreeRebuilder.visitrrL ast.Yield nodes.YieldcdSr`rrs rJrzTreeRebuilder.visitrrL ast.YieldFromnodes.YieldFromcdSr`rrs rJrzTreeRebuilder.visitrrL)r ast.Match nodes.MatchcdSr`rrs rJrzTreeRebuilder.visitrrLast.match_casenodes.MatchCasecdSr`rrs rJrzTreeRebuilder.visit"rrLast.MatchValuenodes.MatchValuecdSr`rrs rJrzTreeRebuilder.visit&rrLast.MatchSingletonnodes.MatchSingletoncdSr`rrs rJrzTreeRebuilder.visit* rLast.MatchSequencenodes.MatchSequencecdSr`rrs rJrzTreeRebuilder.visit0r|rLast.MatchMappingnodes.MatchMappingcdSr`rrs rJrzTreeRebuilder.visit6r|rLast.MatchClassnodes.MatchClasscdSr`rrs rJrzTreeRebuilder.visit<rrL ast.MatchStarnodes.MatchStarcdSr`rrs rJrzTreeRebuilder.visit@rrL ast.MatchAs nodes.MatchAscdSr`rrs rJrzTreeRebuilder.visitDrrL ast.MatchOr nodes.MatchOrcdSr`rrs rJrzTreeRebuilder.visitHrrL ast.pattern nodes.PatterncdSr`rrs rJrzTreeRebuilder.visitLrrLast.ASTcdSr`rrs rJrzTreeRebuilder.visitPrrLcdSr`rrs rJrzTreeRebuilder.visitTrrLast.AST | None NodeNG | Nonec|dS|j}||jvr|j|}nQ|j}dt||z}t ||}||j|<|||S)Nvisit_) __class__rE__name__r+rblowerrs)rIrMricls visit_methodcls_name visit_names rJrzTreeRebuilder.visitXs <4n $# # #,S1LL|H!HLL8$D$D$J$J$L$LLJ"444L%1D c "|D&)))rL nodes.AssignName | nodes.DelNamec|jrC|j|jdvr/||j|dS|jsJ|jsJ|j|j|dS)zASave assignment situation since node.parent is not available yet.rQN)rBr{root set_localrirfs rJ_save_assignmentzTreeRebuilder._save_assignmentes   3$)t/A"/E"E"E IIKK ! !$)T 2 2 2 2 2;  ;9  9 K ! !$)T 2 2 2 2 2rLc:||||jS)z8Visit an arg node by returning a fresh AssName instance.)visit_assignnameargrs rJ visit_argzTreeRebuilder.visit_argns$$T648<<.{s'BBBu 5'**BBBrLc<g|]}|Srrrs rJrz1TreeRebuilder.visit_arguments..|s'JJJ5DJJug..JJJrLc<g|]}|Srrrs rJrz1TreeRebuilder.visit_arguments..s'NNNUdjj00NNNrLc<g|]}|Srrrs rJrz1TreeRebuilder.visit_arguments..s'PPPetzz%11PPPrLcFg|]}|jSrr annotationrrrrIs rJrz1TreeRebuilder.visit_arguments..s)PPPstzz#.'::PPPrLcFg|]}|jSrrrs rJrz1TreeRebuilder.visit_arguments..s6" " " 47DJJs~w / /" " " rLc<g|]}|Srrrs rJrz1TreeRebuilder.visit_arguments..s'TTT%4::eW55TTTrLcFg|]}|jSrrrs rJrz1TreeRebuilder.visit_arguments..s6'''8; 3>733'''rLc>g|]}|Sricheck_type_commentrs rJrz1TreeRebuilder.visit_arguments..s9   ?DD # #E' # : :   rLc>g|]}|Srrrs rJrz1TreeRebuilder.visit_arguments..s9# # # ?DD # #E' # : :# # # rLc>g|]}|Srrrs rJrz1TreeRebuilder.visit_arguments..s<(((''g'>>(((rL) argsdefaults kwonlyargs posonlyargs kw_defaultsrkwonlyargs_annotationsposonlyargs_annotationsvarargannotationkwargannotationtype_comment_argstype_comment_kwonlyargstype_comment_posonlyargs)rrvarargrkwargrrrrrrrmrrrrrrrir)rIrMrirrrrrrrrrrrrrrrrrs` @rJvisit_argumentszTreeRebuilder.visit_argumentsrsT! /#{ 4DKOO"j 2DJNNd    CBBBB BBBJJJJJDMJJJ*.)-.0 ; K[_F#zz$+*@'JJ  : IJNE"jj)>HHO  G G G>-%(^%>CN),)FC&NNNNNdoNNN PPPPPt?OPPP PPPPPdiPPP " " " " " ;??" " " 8:  TTTTT4CSTTTK'''''?C?O''' #     HL    # # # # # HL# # # 9;  (((((!-((( $ !####9$;-+/$;%=    ~~  6 N $ $VW 5 5 5  5 N $ $UG 4 4 4rLc .tj|j|jt |ddt |dd|}d}|jr||j|}|||j|||S)z8Visit a Assert node by returning a fresh instance of it.rmNrrrqrYrmrrri) rAssertrqrYrsmsgrrtest)rIrMrirrs rJ visit_assertzTreeRebuilder.visit_asserts,;t\488"4)94@@    " 8 0**TXw//CDIw77===rLHast.Assign | ast.arg | ast.For | ast.AsyncFor | ast.With | ast.AsyncWithZnodes.Assign | nodes.Arguments | nodes.For | nodes.AsyncFor | nodes.With | nodes.AsyncWithc"t|dd}|sdS |j|}n#t$rYdSwxYw|jsdS||jd|}t |tjsdS|j S)N type_commentrr) rsrFparse SyntaxErrorrRrrSrrTrU)rIrMrirtype_comment_ast type_objects rJrz TreeRebuilder.check_type_commentst^T::  4 #288FF     44   $ 4jj!1!6q!9&jII +uz22 4  s2 AA&ast.FunctionDef | ast.AsyncFunctionDef)tuple[NodeNG | None, list[NodeNG]] | Nonect|dd}|sdS t|}n#t$rYdSwxYw|sdSd}fd|jpgD}|jr|j}||fS)Nrc<g|]}|Srr)relemrirIs rJrz=TreeRebuilder.check_function_type_comment..s4" " " )-DJJtV $ $" " " rL)rsrrargtypesreturnsr)rIrMrirrrrs` ` rJcheck_function_type_commentz)TreeRebuilder.check_function_type_commentst^T::  4 :<HH     44   4!%" " " " " 2B2K2Qr" " "   # Cjj!1!96BBG  s ) 77cD|tj||Sr`)_visit_functiondefrrwrs rJvisit_asyncfunctiondefz$TreeRebuilder.visit_asyncfunctiondef s&&u'=tVLLLrLcD|tj||Sr`) _visit_forrAsyncForrs rJvisit_asyncforzTreeRebuilder.visit_asyncforsu~tV<<>???rLcD|tj||Sr`) _visit_withr AsyncWithrs rJvisit_asyncwithzTreeRebuilder.visit_asyncwith sv>>>rLc @tj|j|jt |ddt |dd||}fd|jD|j |S)z8Visit a Assign node by returning a fresh instance of it.rmNrrrrc<g|]}|Srrrs rJrz.TreeRebuilder.visit_assign../s'JJJETZZw//JJJrL)targetsrUtype_annotation) rAssignrqrYrsrrrrrU)rIrMrirrs` @rJ visit_assignzTreeRebuilder.visit_assign#s,;t\488"4)94@@    11$w1GGJJJJJT\JJJ**TZ11+    rLc Ztj|j|jt |ddt |dd|}|||j|||j||j ||j ||S)z.'NNN$**UG44NNNrL) rBoolOprFbool_op_classesrcrrqrYrsrvaluesrs` @rJ visit_boolopzTreeRebuilder.visit_boolops,"24==A;t\488"4)94@@    NNNNN$+NNNOOOrLc tj|j|jt |ddt |dd|S)z7Visit a Break node by returning a fresh instance of it.rmNrrr)rBreakrqrYrsrs rJ visit_breakzTreeRebuilder.visit_breaksG{;t\488"4)94@@     rLc 6tj|j|jt |ddt |dd||jfd|jDfd|j DS)z:Visit a CallFunc node by returning a fresh instance of it.rmNrrrc<g|]}|Srrrs rJrz,TreeRebuilder.visit_call..'DDD$**UG,,DDDrLc<g|]}|Srrrs rJrz,TreeRebuilder.visit_call..s'LLLUdjj00LLLrL)funcrkeywords) rCallrqrYrsrrrrr rs` @rJ visit_callzTreeRebuilder.visit_calls*;t\488"4)94@@     DIw//DDDDD$)DDDLLLLLdmLLL    rLTnewstylec ||\}}tj|j|j|jt |ddt |dd|d}|jD]*}|jdkr |j }n+ |} fd|j Dfd|jD|||fd|jD| | S) z(Visit a ClassDef node to become astroid.rmNrrr metaclassc<g|]}|Srrrs rJrz0TreeRebuilder.visit_classdef..s' @ @ @ETZZw ' ' @ @ @rLc<g|]}|Srrrs rJrz0TreeRebuilder.visit_classdef..rrLcRg|]#}|jdk |$S)r%)rr)rkwdrrIs rJrz0TreeRebuilder.visit_classdef..s>   7k)) 3(()))rL)positionr)r]rClassDefr{rqrYrsr rrrUvisit_decoratorsrbasesrRrr) rIrMrir#r\r%r) decoratorsrs ` @rJvisit_classdefzTreeRebuilder.visit_classdefs"]]400l.;t\488"4)94@@    }  G{k)) JJw88> ***499  @ @ @ @ @TZ @ @ @ ? ? ? ? ?TY ? ? ?        =    ,,T7;;ZZ g66   ##G,,,rLc tj|j|jt |ddt |dd|S)z:Visit a Continue node by returning a fresh instance of it.rmNrrr)rContinuerqrYrsrs rJvisit_continuezTreeRebuilder.visit_continuesG~;t\488"4)94@@     rLc 4tj|j|jt |ddt |dd||jfdt|j |j DS)z9Visit a Compare node by returning a fresh instance of it.rmNrrrcpg|]2\}}jj|j|f3Sr)rFcmp_op_classesrr)rrexprrrIs rJrz/TreeRebuilder.visit_compare..sR    R'6r|DJJtW--   rL) rComparerqrYrsrrrzipops comparatorsrs` @rJ visit_comparezTreeRebuilder.visit_compares-;t\488"4)94@@      JJty' * *      #&dh0@"A"A     rLctj||j|jfd|jDt|jS)z?Visit a Comprehension node by returning a fresh instance of it.c<g|]}|Srrrs rJrz5TreeRebuilder.visit_comprehension..s' > > >ETZZw ' ' > > >rL) rr rrriterifsris_asyncrs` @rJvisit_comprehensionz!TreeRebuilder.visit_comprehensions%f-- JJt{G , , JJty' * * > > > > >TX > > >       rLnodes.Decorators | NonecJ|jsdStjdkr7|jdj}|jdj}|jdj}n |j}d}d}t j||j||| fd|jDS)zqVisit a Decorators node by returning a fresh instance of it. Note: Method not called by 'visit' NrrrQrc<g|]}|Srrrs rJrz2TreeRebuilder.visit_decorators.. s'VVV$**UG44VVVrL) decorator_listsys version_inforqrmrrr DecoratorsrYr)rIrMrirqrmrrrs` @rJr,zTreeRebuilder.visit_decoratorss" 4  v % %(+2F,R0;J!04CNN[FJ!N"!)     VVVVV$BUVVVWWWrLc tj|j|jt |ddt |dd|fd|jDS)z8Visit a Delete node by returning a fresh instance of it.rmNrrrc<g|]}|Srrrs rJrz.TreeRebuilder.visit_delete..-s'OOO$**UG44OOOrL)rDeleterqrYrsrrrs` @rJ visit_deletezTreeRebuilder.visit_delete#s{,;t\488"4)94@@     OOOOO$,OOOPPPrL,Generator[tuple[NodeNG, NodeNG], None, None]c #6Kt|j|jD]{\}}|||}|sBt j|j|jt|ddt|dd|}n|||}||fV|dSNrmrrr) r8keysrrr DictUnpackrqrYrs)rIrMrirkeyrU rebuilt_value rebuilt_keys rJ_visit_dict_itemszTreeRebuilder._visit_dict_items0sdi55 - -JC JJug66M 7#.(/,7&}lDII#*=:JD#Q#Q!  #jjg66 }, , , , , - -rLc tj|j|jt |ddt |dd|}t ||||}|||S)z6Visit a Dict node by returning a fresh instance of it.rmNrrr)rDictrqrYrslistrUr)rIrMriritemss rJ visit_dictzTreeRebuilder.visit_dictDs*;t\488"4)94@@    TX  " "4 9 9T T  rLc Btj|j|jt |ddt |dd||j|jfd|j DS)z:Visit a DictComp node by returning a fresh instance of it.rmNrrrc<g|]}|Srrrs rJrz0TreeRebuilder.visit_dictcomp..a' E E EETZZw ' ' E E ErL) rDictComprqrYrsrrrRrU generatorsrs` @rJvisit_dictcompzTreeRebuilder.visit_dictcompTs.;t\488"4)94@@      JJtx ) ) JJtz7 + + E E E E ET_ E E E   rLc tj|j|jt |ddt |dd|}|||j||S)z6Visit a Expr node by returning a fresh instance of it.rmNrrr)rrTrqrYrsrrrUrs rJ visit_exprzTreeRebuilder.visit_expreso*;t\488"4)94@@     DJ88999rLc Dtj|j|jt |ddt |dd||j||j fd|j DS)z@Visit an ExceptHandler node by returning a fresh instance of it.rmNrrrc<g|]}|Srrrs rJrz5TreeRebuilder.visit_excepthandler..rrL) rr!rqrYrsrrrcrr{rRrs` @rJvisit_excepthandlerz!TreeRebuilder.visit_excepthandlerrs%;t\488"4)94@@      JJty' * *  ! !$ ; ; ? ? ? ? ?TY ? ? ?   rLrtype[nodes.For]cdSr`rrIrrMris rJrzTreeRebuilder._visit_forrrLtype[nodes.AsyncFor]cdSr`rrhs rJrzTreeRebuilder._visit_forrrL type[_ForT]ast.For | ast.AsyncForr2c :|j}trPtsIt|tjr/jr(j|jdz d}||j|t|ddt|dd| |} |j  |jfd|jDfd |jD| S) z5Visit a For node by returning a fresh instance of it.rPrnrmNrrrrc<g|]}|Srrrs rJrz,TreeRebuilder._visit_for..rrLc<g|]}|Srrrs rJrz,TreeRebuilder._visit_for..s'HHH5DJJug..HHHrL)rr>rRorelser)rYrrrSastrrArqindexrsrrrrr>rRrp)rIrrMrirYrrs` @rJrzTreeRebuilder._visit_fors;_  D9 DD#,)G)G DDJ DDK!O4::7CCJ#;!t\488"4)94@@    11$w1GG::dk733DIw//DDDDD$)DDDHHHHHDKHHH+    rLcD|tj||Sr`)rrForrs rJ visit_forzTreeRebuilder.visit_forsuy$777rLc d|jD}tj|jpd||jpd|j|jt|ddt|dd|}|j ||S)z=Visit an ImportFrom node by returning a fresh instance of it.c*g|]}|j|jfSrr{asnameraliass rJrz2TreeRebuilder.visit_importfrom..!DDD%*el+DDDrLNrmrr)fromnamenameslevelrqrYrmrrri) rr ImportFromrGrrqrYrsrCappend)rIrMrirrs rJvisit_importfromzTreeRebuilder.visit_importfromsEDDDD"[&B*$;t\488"4)94@@     &&w///rLtype[nodes.FunctionDef]cdSr`rrhs rJrz TreeRebuilder._visit_functiondefrrLtype[nodes.AsyncFunctionDef]cdSr`rrhs rJrz TreeRebuilder._visit_functiondefs  rLtype[_FunctionT]r1c " ji|\}}|j}tr|jr|jdj}||j||jt|ddt|dd| | }|j r |j }nd}dx}} | } | r| \} } |j  fd|jD||| ||  |  j S)z,Visit an FunctionDef node to become astroid.rrmNrrrc<g|]}|Srrrs rJrz4TreeRebuilder._visit_functiondef..rrL)rrRr.rtype_comment_returnsrr*r)rBrr]rqrrEr{rYrsr,rrrrrrRrrpop) rIrrMrir\rqr.rrrtype_comment_annotationrs ` @rJrz TreeRebuilder._visit_functiondefs !!"%%%!]]400l  3, 3(+2F#t\488"4)94@@   **499 < jjw77GGG3770"&"B"B4"Q"Q " N6M 3 "3DIw//DDDDD$)DDD!!5/,,T7;;ZZ g66   ##G,,,    rLcD|tj||Sr`)rrrxrs rJvisit_functiondefzTreeRebuilder.visit_functiondef s&&u'8$GGGrLc tj|j|jt |ddt |dd||jfd|jDS)z>Visit a GeneratorExp node by returning a fresh instance of it.rmNrrrc<g|]}|Srrrs rJrz4TreeRebuilder.visit_generatorexp..r]rL) r GeneratorExprqrYrsrreltr_rs` @rJvisit_generatorexpz TreeRebuilder.visit_generatorexps$;t\488"4)94@@      JJtx ) ) E E E E ET_ E E E   rL2nodes.Attribute | nodes.AssignAttr | nodes.DelAttrc ||}|tjkrHtj|j|j|jt|ddt|dd|}n|tj kr|tj |j|j|jt|ddt|dd|}t|tj s|j |nGtj|j|j|jt|ddt|dd|}|||j||S)z|jD]6}|jd|g|7|S)z&Visit a Global node to become astroid.rmNrrrrqrYrmrrrirQ) rGlobalrrqrYrsrB setdefaultr)rIrMrirr{s rJ visit_globalzTreeRebuilder.visit_globalOs,*;t\488"4)94@@      L  L L"2&11$;;BB7KKKKrLc 4tj|j|jt |ddt |dd||jfd|jDfd|j DS)z5Visit an If node by returning a fresh instance of it.rmNrrrc<g|]}|Srrrs rJrz*TreeRebuilder.visit_if..krrLc<g|]}|Srrrs rJrz*TreeRebuilder.visit_if..l' A A AETZZw ' ' A A ArL) rIfrqrYrsrrrrRrprs` @rJvisit_ifzTreeRebuilder.visit_if_s(;t\488"4)94@@      JJty' * * ? ? ? ? ?TY ? ? ? A A A A AT[ A A A   rLc Ltj|j|jt |ddt |dd|}|||j|||j|||j ||S)z7Visit a IfExp node by returning a fresh instance of it.rmNrrr) rIfExprqrYrsrrrrRrprs rJ visit_ifexpzTreeRebuilder.visit_ifexpps+;t\488"4)94@@      JJty' * * JJty' * * JJt{G , ,   rLc ,d|jD}tj||j|jt |ddt |dd|}|jD]8\}}|p|}||dd|9|S)z8Visit a Import node by returning a fresh instance of it.c*g|]}|j|jfSrrxrzs rJrz.TreeRebuilder.visit_import..r|rLrmNrrr.r)rrImportrqrYrsrr@)rIrMrirrr{rys rJ visit_importzTreeRebuilder.visit_importsDDDDD,;t\488"4)94@@   $M : :LD&>TD   TZZ__Q/ 9 9 9 9rLc tj|j|jt |ddt |dd|fd|jDS)Nrmrrrc<g|]}|Srrrs rJrz1TreeRebuilder.visit_joinedstr..rrL)r JoinedStrrqrYrsrrrs` @rJvisit_joinedstrzTreeRebuilder.visit_joinedstrs{/;t\488"4)94@@     NNNNN$+NNNOOOrLc &tj|j|jt |ddt |dd|}|||j||j||j ||S)Nrmrrr)rU conversion format_spec) rFormattedValuerqrYrsrrrUrrrs rJvisit_formattedvaluez"TreeRebuilder.visit_formattedvalues&;t\488"4)94@@     **TZ11 4#3W==    rLc tj|j|jt |ddt |dd|}|||j|||j||SrO) r NamedExprrqrYrsrrrrUrs rJvisit_namedexprzTreeRebuilder.visit_namedexprso{?"4t<<&t-=tDD G    4;00$**TZ2Q2Q   NrLctjtj|fd|jDS)z>Visit an ExtSlice node by returning a fresh instance of Tuple.)rdric<g|]}|Srr)rdimrrIs rJrz0TreeRebuilder.visit_extslice..s'LLL3djjg66LLLrL)rTuplerrerdimsrs` @rJvisit_extslicezTreeRebuilder.visit_extslicesO kgl6BBBG   LLLLL$)LLL M M MNrLc8||j|S)z;Visit a Index node by returning a fresh instance of NodeNG.)rrUrs rJ visit_indexzTreeRebuilder.visit_indexs::dj&11 1rLc tj|jt|ddt|ddt|ddt|dd|}|||j||S)z9Visit a Keyword node by returning a fresh instance of it.rqNrYrmrr)rrqrYrmrrri)rr"rrsrrrUrs rJ visit_keywordzTreeRebuilder.visit_keywords-4400t\488t\488"4)94@@    DJ88999rLc tj|j|jt |ddt |dd|}|||j|||j||S)z8Visit a Lambda node by returning a fresh instance of it.rmNrrr) rLambdarqrYrsrrrrRrs rJ visit_lambdazTreeRebuilder.visit_lambdas,;t\488"4)94@@     DIw77DIw9W9WXXXrLc |}tj||j|jt |ddt |dd|fd|jDS)z6Visit a List node by returning a fresh instance of it.rmNrrrdrqrYrmrrric<g|]}|Srrrs rJrz,TreeRebuilder.visit_list..'LLL$**UG44LLLrL)rgrListrqrYrsreltsrs` @rJ visit_listzTreeRebuilder.visit_lists##D))*;t\488"4)94@@    LLLLL$)LLLMMMrLc tj|j|jt |ddt |dd||jfd|jDS)z:Visit a ListComp node by returning a fresh instance of it.rmNrrrc<g|]}|Srrrs rJrz0TreeRebuilder.visit_listcomp..r]rL) rListComprqrYrsrrrr_rs` @rJvisit_listcompzTreeRebuilder.visit_listcomps.;t\488"4)94@@      JJtx ) ) E E E E ET_ E E E   rL-nodes.Name | nodes.AssignName | nodes.DelNamec ||}|tjkrHtj|j|j|jt|ddt|dd|}n|tj krHtj |j|j|jt|ddt|dd|}nGtj |j|j|jt|ddt|dd|}|tjtj fvrFtttj tjf|}|||S)z6Visit a Name node by returning a fresh instance of it.rmNrrr)rgrrrDelNameidrqrYrsrrNamer r rrs rJrzTreeRebuilder.visit_name s\##D)) gk ! !mW{?"4t<<&t-=tDDGG % %&W{?"4t<<&t-=tDDGGjW{?"4t<<&t-=tDDG w{GM2 2 25!15=!@A7KKG  ! !' * * *rLc tj|j|j|jt |ddt |dd|S)z6Visit a Nonlocal node and return a new instance of it.rmNrrr)rNonlocalrrqrYrsrs rJvisit_nonlocalzTreeRebuilder.visit_nonlocal6sL~*;t\488"4)94@@    rLc tj|j|j|j|jt |ddt |dd|S)z=Visit a Constant node by returning a fresh instance of Const.rmNrr)rUkindrqrYrmrrri)rConstrUrrqrYrsrs rJvisit_constantzTreeRebuilder.visit_constantBsQ{*;t\488"4)94@@    rLcPtjt|j|j|S)z>Visit an Ellipsis node by returning a fresh instance of Const.)rUrqrYri)rrEllipsisrqrYrs rJvisit_ellipsiszTreeRebuilder.visit_ellipsisQs+;{?  rLcNtj|j|j|j|Sr`)rrrUrqrYrs rJvisit_nameconstantz TreeRebuilder.visit_nameconstantZs*;    rLast.Str | ast.BytescNtj|j|j|j|S)zAVisit a String/Bytes node by returning a fresh instance of Const.)rrsrqrYrs rJ visit_strzTreeRebuilder.visit_stre(;   rLcNtj|j|j|j|S)z8Visit a Num node by returning a fresh instance of Const.)rrnrqrYrs rJ visit_numzTreeRebuilder.visit_numprrLc tj|j|jt |ddt |dd|S)z6Visit a Pass node by returning a fresh instance of it.rmNrrr)rPassrqrYrsrs rJ visit_passzTreeRebuilder.visit_passysGz;t\488"4)94@@     rLc tj|j|jt |ddt |dd|}|||j|||j||S)z7Visit a Raise node by returning a fresh instance of it.rmNrrr)exccause) rRaiserqrYrsrrrrrs rJ visit_raisezTreeRebuilder.visit_raises+;t\488"4)94@@      48W--**TZ11    rLc tj|j|jt |ddt |dd|}|j.|||j||S)z8Visit a Return node by returning a fresh instance of it.rmNrrr)rReturnrqrYrsrUrrrs rJ visit_returnzTreeRebuilder.visit_returnsw,;t\488"4)94@@     : !   TZZ G<< = = =rLc tj|j|jt |ddt |dd|fd|jDS)z5Visit a Set node by returning a fresh instance of it.rmNrrrc<g|]}|Srrrs rJrz+TreeRebuilder.visit_set..rrL)rSetrqrYrsrrrs` @rJ visit_setzTreeRebuilder.visit_sets{);t\488"4)94@@     LLLLL$)LLLMMMrLc tj|j|jt |ddt |dd||jfd|jDS)z9Visit a SetComp node by returning a fresh instance of it.rmNrrrc<g|]}|Srrrs rJrz/TreeRebuilder.visit_setcomp..r]rL) rSetComprqrYrsrrrr_rs` @rJ visit_setcompzTreeRebuilder.visit_setcomps-;t\488"4)94@@      JJtx ) ) E E E E ET_ E E E   rLc vtjt|ddt|ddt|ddt|dd|}|||j|||j|||j||S)z7Visit a Slice node by returning a fresh instance of it.rqNrYrmrrr)rupperstep)rSlicersrrrrrrs rJ visit_slicezTreeRebuilder.visit_slices+4400t\488t\488"4)94@@     **TZ11**TZ11DIw//    rLc D||}tj||j|jt |ddt |dd|}|||j|||j ||S)z;Visit a Subscript node by returning a fresh instance of it.rmNrrr) rgr SubscriptrqrYrsrrrUslicers rJvisit_subscriptzTreeRebuilder.visit_subscripts##D))/;t\488"4)94@@     JJtz7 + +TZZ G-L-L   rLc ||}tj||j|jt |ddt |dd|}|||j||S)z5Visit a Starred node and return a new instance of it.rmNrrr) rgrStarredrqrYrsrrrUrs rJ visit_starredzTreeRebuilder.visit_starreds##D))-;t\488"4)94@@    DJ88999rLnodes.TryExceptctjdkri|j}|j}g|j|j|j}t|D]}|j}|j}tj |j |j |||n tj |j |j | fd|jDfd|jDfd|jDS)z;Visit a TryExcept node by returning a fresh instance of it.rrc<g|]}|Srrrs rJrz1TreeRebuilder.visit_tryexcept..rrLc<g|]}|Srrrs rJrz1TreeRebuilder.visit_tryexcept.. s' C C CETZZw ' ' C C CrLc<g|]}|Srrrs rJrz1TreeRebuilder.visit_tryexcept.. rrL) rFrGrmrrrRhandlersrpreversedr TryExceptrqrYr)rIrMrirmrr all_childrenrrs` @rJvisit_tryexceptzTreeRebuilder.visit_tryexcepts  v % %J!0N*TDI*T *T *TL!,//  "- !&!5o{?%- GGodk4?FKKG ? ? ? ? ?TY ? ? ? C C C C CT] C C C A A A A AT[ A A A   rL)nodes.TryExcept | nodes.TryFinally | Nonec |jrtj|j|jt |ddt |dd||jr|g}nfd|jD} |fd|jDS|jr||SdS)Nrmrrrc<g|]}|Srrrs rJrz+TreeRebuilder.visit_try.. s'JJJu 5'22JJJrLc<g|]}|SrrrrrrIs rJrz+TreeRebuilder.visit_try..!s'#S#S#SqDJJq'$:$:#S#S#SrL) finalbodyr TryFinallyrqrYrsrrrRr)rIrMrirRrs` @rJ visit_tryzTreeRebuilder.visit_trys > &{?"4t<<&t-=tDD G} K,,T7;;<JJJJJ JJJ   T#S#S#S#S#SDN#S#S#S T T TN = 6''f55 5trLc Ntj|j|jt |ddt |dd|fd|jDfd|jDfd|jDfd|j DS) Nrmrrrc<g|]}|Srrrs rJrz/TreeRebuilder.visit_trystar..0s'<<.1s'DDDdjjG,,DDDrLc<g|]}|Srrrs rJrz/TreeRebuilder.visit_trystar..2s'@@@qDJJq'**@@@rLc<g|]}|Srrrs rJrz/TreeRebuilder.visit_trystar..3s'FFF!tzz!W--FFFrL)rRrrpr) rTryStarrqrYrsrrRrrprrs` @rJ visit_trystarzTreeRebuilder.visit_trystar's-;t\488"4)94@@     <<<<<$)<<<DDDDDdmDDD@@@@@DK@@@FFFFFt~FFF    rLc |}tj||j|jt |ddt |dd|fd|jDS)z7Visit a Tuple node by returning a fresh instance of it.rmNrrrc<g|]}|Srrrs rJrz-TreeRebuilder.visit_tuple..CrrL)rgrrrqrYrsrrrs` @rJ visit_tuplezTreeRebuilder.visit_tuple7s##D))+;t\488"4)94@@    LLLLL$)LLLMMMrLc tj|jj|jj|j|jt|ddt|dd|}| | |j ||S)z9Visit a UnaryOp node by returning a fresh instance of it.rmNrrr) rUnaryOprFunary_op_classesrrrqrYrsrroperandrs rJ visit_unaryopzTreeRebuilder.visit_unaryopFs-"3DG4EF;t\488"4)94@@    DL'::;;;rLc 4tj|j|jt |ddt |dd||jfd|jDfd|j DS)z7Visit a While node by returning a fresh instance of it.rmNrrrc<g|]}|Srrrs rJrz-TreeRebuilder.visit_while..`rrLc<g|]}|Srrrs rJrz-TreeRebuilder.visit_while..arrL) rWhilerqrYrsrrrrRrprs` @rJ visit_whilezTreeRebuilder.visit_whileTs+;t\488"4)94@@      JJty' * * ? ? ? ? ?TY ? ? ? A A A A AT[ A A A   rLtype[nodes.With]cdSr`rrhs rJrzTreeRebuilder._visit_witherrLtype[nodes.AsyncWith]cdSr`rrhs rJrzTreeRebuilder._visit_withkrrL type[_WithT]ast.With | ast.AsyncWithr3c |j}trPtsIt|tjr/jr(j|jdz d}||j|t|ddt|dd|dfd  | } fd |j Dfd |j D|S)NrPrnrmrrrr ast.withitemr;tuple[NodeNG, NodeNG | None]cx|j}|j}||fSr`)r context_expr optional_vars)rr6varrrIs rJ visit_childz.TreeRebuilder._visit_with..visit_childs9::e0'::D**U0'::C9 rLrc&g|] }|Srr)rrrCs rJrz-TreeRebuilder._visit_with..s#>>>%;;u%%>>>rLc<g|]}|Srrrs rJrz-TreeRebuilder._visit_with..rrL)rYrRr)rr=r;r>)rYrrrSrqrrArqrrrsrrrYrR)rIrrMrirYrrrCs` @@rJrzTreeRebuilder._visit_withqs6 _  D9 DD#-)H)H DTZ DDK!O4::7CCJ#;!t\488"4)94@@            11$w1GG>>>>4:>>>DDDDD$)DDD+    rLcD|tj||Sr`)rrWithrs rJ visit_withzTreeRebuilder.visit_withs D&999rLc tj|j|jt |ddt |dd|}|j.|||j||S)z7Visit a Yield node by returning a fresh instance of it.rmNrrr)rYieldrqrYrsrUrrrs rJ visit_yieldzTreeRebuilder.visit_yieldsw+;t\488"4)94@@     : !   TZZ G<< = = =rLc tj|j|jt |ddt |dd|}|j.|||j||SrO)r YieldFromrqrYrsrUrrrs rJvisit_yieldfromzTreeRebuilder.visit_yieldfromsw/;t\488"4)94@@     : !   TZZ G<< = = =rLctj|j|j|j|j||jfd|j DS)Nrc<g|]}|Srr)rcaserrIs rJrz-TreeRebuilder.visit_match..s'HHHTtzz$00HHHrL)subjectcases) rMatchrqrYrmrrrrrRrSrs` @rJ visit_matchzTreeRebuilder.visit_matchsk{??#2 G    4<99HHHHHTZHHH    NrLctj||j|jfd|jDS)Nrc<g|]}|Srrrs rJrz1TreeRebuilder.visit_matchcase..'HHHUdjj00HHHrL)patternguardrR)rr#rrrYrZrRrs` @rJvisit_matchcasezTreeRebuilder.visit_matchcases~oV444G    4<99jjW55HHHHHdiHHH     NrLctj|j|j|j|j|}|||j||S)Nrr) r MatchValuerqrYrmrrrrrUrs rJvisit_matchvaluezTreeRebuilder.visit_matchvaluesa&{??#2 G   4::dj'#B#B  C C CNrLchtj|j|j|j|j|j|S)N)rUrqrYrmrrri)rMatchSingletonrUrqrYrmrrrs rJvisit_matchsingletonz"TreeRebuilder.visit_matchsingletons;'j{??#2  rLctj|j|j|j|j|fd|jDS)Nrc<g|]}|SrrrrYrrIs rJrz5TreeRebuilder.visit_matchsequence..'TTT7$**Wg66TTTrLpatterns)r MatchSequencerqrYrmrrrrgrs` @rJvisit_matchsequencez!TreeRebuilder.visit_matchsequencesw){??#2 G   TTTTTdmTTT    NrLc tj|j|j|j|j|fd|jDfd|jD ||j S)Nrc<g|]}|Srrrs rJrz4TreeRebuilder.visit_matchmapping..rXrLc<g|]}|Srrrds rJrz4TreeRebuilder.visit_matchmapping..rerL)rPrgrest) r MatchMappingrqrYrmrrrrPrgrrmrs` @rJvisit_matchmappingz TreeRebuilder.visit_matchmappings({??#2 G   HHHHHdiHHHTTTTTdmTTT**4$)DD     NrLctj|j|j|j|j||jfd|j D|j fd|j DS)Nrc<g|]}|Srrrds rJrz2TreeRebuilder.visit_matchclass..rerLc<g|]}|Srrrds rJrz2TreeRebuilder.visit_matchclass..s45.BrerLrf)rMatchOrrqrYrmrrrrgrs` @rJ visit_matchorzTreeRebuilder.visit_matchor9stm{??#2 G   TTTTTdmTTT    NrL)NN)r6rr7r8r9r:r;r<)rMr,r;rN)rMr^r;r)rMrhrirjr;rk)rMrr;r<)rrr;r<) rMr-rrXrrXrrr;r)rMrrirr;r)rMrrirr;r)rMrrirr;r)rMr0rirr;r)rMrrirr;r)rMrrirr;r)rMrrirr;r)rMrrirr;r)rMrrirr;r)rMrrirr;r)rMrrirr;r)rMrrirr;r)rMrrirr;r)rMrrirr;r)rMr.rirr;r)rMrrirr;r)rMrrirr;r)rMrrirr;r)rMrrirr;r)rMrrirr;r)rMrrirr;r)rMrrirr;r)rMrrirr;r)rMrrirr;r)rMrrirr;r)rMr/rirr;r)rMrrirr;r)rMrrirr;r)rMrrirr;r)rMrrirr;r)rMr rirr;r )rMr rirr;r)rMrrirr;r)rMrrirr;r)rMrrirr;r)rMrrirr;r)rMrrirr;r)rMr!rirr;r")rMr$rirr;r%)rMr'rirr;r()rMr*rirr;r+)rMr-rirr;r.)rMr0rirr;r1)rMr3rirr;r4)rMr6rirr;r4)rMr8rirr;r4)rMr:rirr;r4)rMr<rirr;r4)rMr>rirr;r4)rMr@rirr;rA)rMrCrirr;rD)rMrFrirr;rG)rMrIrirr;rJ)rMrLrirr;rM)rMrOrirr;rP)rMrRrirr;r)rMrTrirr;rU)rMrWrirr;rX)rMr[rirr;r\)rMr^rirr;r)rMr`rirr;ra)rMrcrirr;rd)rMrfrirr;rg)rMririrr;rj)rMrlrirr;rm)rMrprirr;rq)rMrsrirr;rt)rMrvrirr;rw)rMryrirr;rz)rMr}rirr;r~)rMrrirr;r)rMrrirr;r)rMrrirr;r)rMrrirr;r)rMrrirr;r)rMrrirr;r)rMrrirr;r)rMr<rirr;r<)rMrrirr;r)rMrr;r<)rMrrirr;r)rMrrirr;r)rMrrirrrXr;r)rMrrirrr<r;r<)rMrrirrr:r;r)T)rMr.rirr#rr;r)rMrhrirr;rB)rMrrirrrr;rM)rrfrMrrirr;r)rrirMrrirr;r)rrkrMrlrirr;r2)rrrMr/rirr;r)rrrMr0rirr;r)rrrMrrirr;r1)rMrrirr;r)rMr-rirr;r)rMrrirr;r4)rMrWrirr;r)rMrWrirr;r)rr6rMrfrirr;rg)rr8rMrrirr;r)rr:rMr;rirr;r3)rMrfrirr;r)rMririrr;r)rMrlrirr;r)er __module__ __qualname____doc__rKr]rgrrrrr r rrFrGrrrrrrrrrrrrrr rrrr"r/r2r;rAr,rLrUrZr`rbrerrurrrrrrrrrrrrrrrrrrrrrrrr visit_bytesrrrrrrrr rrr!r(r+r0r5rrHrKrNrUr[r^rarirorvryr|rrrLrJr5r59s;; .2 22222&* U U U U5 5 5 5 n00000000d////(0P                                                                                                                                                                                                              v % %    X   f $ $    X    X                                       f $ $    X    X    X    X    X                                                               w & &    X                                       w & &    X    X    X    X     X     X     X    X    X    X    X              * * * *3333====LLLL\ !!!!!!!!F!!!!2MMMM ====    ????$$   X    X *          $DH#####J     ,    @    ----( "    &   X    X 68888(   X    X 5555nHHHH $----^ ""$    $ 6!!      &       2 2 2 2             ((((T           &                        "         ""    :2        "   X    X B::::         7""                        &    (              S#"rLr5);r __future__rrqrFrucollections.abcrriortokenizerrtypingr r r r r astroidr astroid._astrrr astroid.constrrrrrastroid.managerr astroid.nodesrastroid.nodes.utilsrastroid.typingrrGrtyping_extensionsr+__annotations__r,rxrwr1rtrr2rGrr3rr+rr5rrLrJrs #""""" ////////////////@@@@@@@@@@@@@@UUUUUUUUUUFFFFFFFFFFFFFF****** ((((((444444v''''''$"!$##   34    W\5#4e6L M M EN33 5:u 7 7%,8IIJK K K K K K K K K K rL