K iٿP ddlZddlZddlZddlZddlmZddlmZmZm Z m Z ddl m Z dZ dZdZdZd Zd Zd Zd Zd ZdZdZdZdZdZdZdZdZdZdZGddZ GddeZ!Gdde Z"e!jGdGd d!e"Z$Gd"d#eZ%Gd$d%e Z&e!jGdGd&d'e&Z'e!jGd()Gd*d+e&Z(e!jGd,)Gd-d.e&Z)e!jGd/)Gd0d1e&Z*e!jGd2)Gd3d4e&Z+e!jGd5Gd6d7e&Z,e!jGd8Gd9d:e&Z-e!jGd;)Gd<d=e&Z.e!jGd>)Gd?d@e&Z/e!jGdA)e!jGdB)GdCdDe&Z0e!jGdEGdFdGe&Z1e!jGdHGdIdJe&Z2e!jGdKGdLdMe&Z3e!jGdKGdNdOe&Z4e!jGdPGdQdRe&Z5e!jGeSGdTdUe&Z6e!jGdVGdWdXe&Z7e!jGdYGdZd[e&Z8e!jGd\Gd]d^e&Z9e!jGd_Gd`dae&Z:e!jGdbe!jGdcGdddee&Z;e!jGdfGdgdhe&Ze!jGdnGdodpe>Z?e!jGdqGdrdse>Z@e!jGdtGdudve>ZAe!jGdwGdxdye>ZBe!jGdzGd{d|e>ZCe!jGd}Gd~de>ZDe!jGdGdde>ZEy)N)contextmanager) NormalizerNormalizerConfigIssueRule)_get_token_collection)if_stmt while_stmtfor_stmttry_stmt with_stmt)testlist_star_expr testlist_compexprlistd) nested_scopes generatorsdivisionabsolute_importwith_statementprint_functionunicode_literalsgenerator_stop)comp_for sync_comp_forc(|j}|dk(ry|dk(rt|}|jdd\}}||S|jdk(r2|dkry|jdd k(s|jd d k(r|d kry yy|dk(r:|dk(s4t|jdk(r|jdjdk(ry|dk(rt t ||S|dk(ry|dk(r |dk(r|d kry y|dk(rt|jdkDry|S|dk(r*d|j vry|dkryt|j S|dk(r|j dk(r|d kryy |d!k(ry!|d"vry|d#k(ry|d$k(ry%|d&vry|jd d'k(ry(|jd)jd*k(rH|jd)}|jd dk(ry+|jd dk(ry,|jd d-k(ry.|Sd/|vrd0|vsd1|vs|d2vr|d kryy3|d0k(ry4|d5k(ry|d6k(ry7|S)8Nlambdeflambdaatomdictorsetmakerliteral:r**r$ dict display dict literal set display()r$rtuple)version[list{}keywordyieldyield expressionoperator...Ellipsisellipsis comparisonstringnumberstrings yield_exprtestconditional expression atom_exprpowerawaitawait expressiontrailer function call subscript. attributeexpr star_expr_testtermfactor expressionstarredrfstringf-string expression)type_get_comprehension_typechildrenlen _get_rhs_name_remove_parensvaluestr)noder2type_ comprehensionfirstsecondrLs Y/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/parso/python/errors.pyr_r_s IIE  &/5  bq) v  $ [[, , ??1%,0Bd0J(--( SL3'1,q1A1F1F/1Y c\ !5wG G c\ c\fm %% c\c$--014 ^ L] )  djj % V tzz? " * u!4 W  ,  1 1 , ! &' ( ( == w &% ]]2  # #y 0mmB'G"c)&!!!$+"!!!$+" L 5[5 e  & & W  +  & & ) $ Lc#K|jD]@}|jdk(r+|jD]}|jdk(s|dk(r|=|Byw)zB Iterates over all statements and splits up simple_stmt. simple_stmtnewline;Nr]r[)scopechildchild2s rh _iter_stmtsrrms[ :: &.. ;;)+v}   KsAAc|jdd\}}|jdk(r&|jdjtvr|dk(ryy|jdk(r3|jdjtvr|jdd k(ry y y) Nr!rr'r3zlist comprehensionzgenerator expressionr"rKr(zdict comprehensionzset comprehensionr]r[_COMP_FOR_TYPES)r rfrgs rhr\r\{sMM"1%ME6 {{o%&//!*<*A*A_*T C<') ( (V__R-@-E-E-X ??1  $'& rich|j}|Dcgc]}|jc}dgk(Scc}w)N __future__)get_from_namesra) import_from from_namesns rh_is_future_importr|s1 ++-J' (AGG (\N :: (s/c |j}t|dk(r |ddk(rt|jdS|S#t$rY|SwxYw)z_ Returns the inner part of an expression like `(foo)`. Also removes nested parens. r$rr/r')r]r^r`AttributeError)r r]s rhr`r`s] 4== x=A (1+"4!$--"23 3 K    K  s > A  A c|j<|j}|jdk7s|jddk7r|S|jz_iter_params..s& Y!qvv/@AFFjDXA Ys#--)r]) parent_nodes rh _iter_paramsrs Y{++ YYricd}t|jD]9}|jdk(r|sd}||k(ry|jdk(r t|r9yy)z@ Checks if the import is the first statement of a file. Fr@TryN)rr get_root_noder[r|)ryfound_docstringstmts rh_is_future_import_firstrsaOK5578  99   ;  99 %*;D*A  ric#Kfd|jtvr(|jdddD]}|Ed{y|Ed{y77w)Nc3K|jdk(rl|jddk(rC|jd}|jdk(rt|Ed{y|Ed{y|jddk(ry|y727#w)Nr rr/r'rr3)r[r]!_iter_definition_exprs_from_lists)rpr check_exprs rhrz5_iter_definition_exprs_from_lists..check_exprs :: ~~a C' %q 1  %%8@OOO *-888"c)## P9s$ABBB"B#"BBr!)r[_STAR_EXPR_PARENTSr])rrprs @rhrrs` }}**&&ss+ )E!%( ( ( )h''' )'s!8AAAAAAcg}|jdddD]0}|jdvr|t|z } |j|2|S)Nr!)rtestlist)r]r[rappend) expr_stmtexprslist_s rh_get_expr_stmt_definition_exprsrsW E##ERE*  ::; ; 6u= =E LL   LricH|jd}tt|SNr')r]r4r)r rs rh_get_for_stmt_definition_exprsrs#  #H 1(; <.sLU5::0LsrYT)r[anyr]search_ancestor)r2rcs rh_any_fstring_errorrsR4< yyL LdmmLLL i ##I..ricNeZdZd dZdZdZdZdZdZe dZ d Z d Z y) _ContextNc||_g|_||_i|_g|_g|_g|_g|_||_yN) rcblocksparent_context_used_name_dict _global_names_local_params_names_nonlocal_names_nonlocal_names_in_subscopes_add_syntax_error)selfrcadd_syntax_errorrs rh__init__z_Context.__init__sH  ,!#% !,.)!1ricj|jxr"|jjjdvS)N) async_funcdef async_stmt) is_functionrcrr[rs rhis_async_funcdefz_Context.is_async_funcdefs5!I   %%)HH Iric4|jjdk(S)Nfuncdef)rcr[rs rhrz_Context.is_function syy~~**ric|jj}|dk(ry|dk(r|jj|y|dk(r|jj|y|dk(rV|j j |jjDcgc]}|jjc}y|jj|jgj|ycc}w)NrL global_stmt nonlocal_stmtr) rr[rrrrextend get_paramsnamerar setdefault)rr parent_typers rhadd_namez_Context.add_nameskk&& ) #  - '    % %d + O +  ' ' - I %  $ $ + +/3{{/E/E/GHe!!H   + +DJJ ; B B4 HIsC0c|j|jd|j|jd|jDcic]}|j|}}|jD]Q} ||j}d|jz}|j |j kr|}n|}|j ||Sg}|jD]}|j}||jvr||vs |j"d|jz}|j ||P|jr|j|jvsy|j||j|zScc}w#t$rYwxYw)zV Returns a list of nonlocal names that need to be part of that scope. globalnonlocalz name '%s' is nonlocal and globalz"no binding for nonlocal '%s' found) _analyze_namesrrraKeyError start_posrrrrrrr) rr{global_name_strs nonlocal_name global_namemessage error_namenonlocals_not_handledsearchs rhfinalizez_Context.finalizes D..9 D00*=040B0BC1AGGQJCC!11 8M .}/B/BC 9;;L;LLG$$}'>'>>( *  " ":w 7 8!#!>> ATATT&&}g>%%'!''t/C/CC%,,]; <##&;;;3D  sE&-E++ E87E8c fd}g}jjdk(rjj}|D] d}tjj j gD]}|j jkDrd}|j}|jdk(r|j|k(rI|jr<|jdk(r*|jdjdk(r|r| |d nd }nd }|r||n|D]/} | jj j k(s'|d f1y) NcHj|jfzyr)rra)r base_namerrds rhraise_z'_Context._analyze_names..raise_Bs!  " "9g%8P.P QrirFTrrr' annassignzannotated name '%s' can't be %sz.name '%s' is assigned to before %s declarationz)name '%s' is used prior to %s declarationzname '%s' is parameter and %s) rcr[rreversedrgetrarrr is_definitionr]) rglobals_or_nonlocalsrdrparamsfound_global_or_nonlocalrrrrrs ` ` @rhrz_Context._analyze_namesAs? R 99>>Y &YY))+F-# =I', $ !5!5!9!9)//2!NO >>I$7$77/3,;;')fkkT.A%%'{{k1 & 2 7 7; F3)-I@A"RIG/7O9 <  =::##y6:;< =C# =ric#~K|jj|d|jjywr)rrpoprrcs rh add_blockz_Context.add_blockns) 4   s;=c2t||j|S)N)r)rrrs rh add_contextz_Context.add_contexttsd44TJJricJ|xj|jz c_yr)rr)r child_contexts rhclose_child_contextz_Context.close_child_contextws ))]-C-C-EE)rir) __name__ __module__ __qualname__rrrrrrrrrrrirhrrsD 2I +I" .create_contextsA|+DKK8NyyAAd&<&T>T/U "#ric|jdk(r|j|5 dddyt| |S#1swYxYw)Nr)r[ visit_nodervisit)rrcrs rhrzErrorFinder.visitsK 99 $&     w}T""   s <Ac#K|j||jtvra|jj |5t |jj tk(r|j|dddddy|jdk(rG|xjdz c_ |jtk(r|j|jddd|jdk(r|xjdzc_ y|jdvr9|j}|j|_|jj|yy#1swYyxYww)Nz!too many statically nested blockssuiter'ztoo many levels of indentationrr)_check_type_rulesr[ _BLOCK_STMTSrrr^r_MAX_BLOCK_SIZErr_MAX_INDENT_COUNT_add_indentation_errorr]rr)rrcrs rhrzErrorFinder.visit_nodes t$ 99 $''- t||**+>**41TU   YY' !  # #q ( #&&*;;++DMM!,<>^_ 99   # #q ( # YY1 1llG"11DL LL , ,W 52  s?E=E>CEEEc|jdk(r|jdvrQt|jj d}|jdk(rd}nd}|j ||y|j jdrd}ntjd |j }|Bd }|jd k\rS|j t|jjvr(d |z}n"t|jd d k(rd}nd}|j||y|j dk(r:|j }|jdvr |j"j%||_t&|Q|S)N error_leaf)INDENT ERROR_DEDENTrKrzunexpected indentz3unindent does not match any outer indentation level\z6unexpected character after line continuation characterz\w{,2}("{1,3}|'{1,3})invalid syntaxr f-string: r'z!EOL while scanning string literalz/EOF while scanning triple-quoted string literalrr(r )r[ token_typer4 get_next_leaf _split_prefixrra startswithrematchr2ralways_break_tokensr^grouprrrrr visit_leaf)rleafspacingrrrrs rhr zErrorFinder.visit_leafsW 99 $"<<t113AACDRH??h.1GSG++GW=*'::((.VGHH%> KE}"2 LLF2 $ .C $ /11!2'3W&t|jj|r|j ||j y|S)Nrr)rr[rrGr2r'fstring_message)rrcerrors rhr?z_InvalidSyntaxRule.is_issuesQ""$))\9 "4#3#3#;#;TB NN4)=)=N >LriN)rrrrrMr=r?rrirhrIrIsG0O$ rirIrI)raceZdZdZdZdZy)_AwaitOutsideAsyncz'await' outside async functioncL|jjj Sr)rGrrrr!s rhr?z_AwaitOutsideAsync.is_issue-s ##++<<>>>ric|jSrrrs rhget_error_nodez!_AwaitOutsideAsync.get_error_node0s {{riN)rrrrr?rUrrirhrPrP)s.G?rirPbreakceZdZdZdZy)_BreakOutsideLoopz'break' outside loopcxd}|jjjD]}|jdvsd}| S)NFr r T)rGrrr[)rr!in_loopblocks rhr?z_BreakOutsideLoop.is_issue9sD%%--44 Ezz77 {riNrrrrr?rrirhrXrX5s $GrirXcontinueceZdZdZdZdZy)_ContinueChecksz'continue' not properly in loopz0'continue' not supported inside 'finally' clausecfd}|jjjD]}|jdvrd}|jdk(s#|jd}|dk(s8|j |j kDsR|jj dksl|j||jy|syy) NFrZTr finallyr#rL) rGrrr[r]rr2r'message_in_finally)rr!r[r\ last_blocks rhr?z_ContinueChecks.is_issueFs%%--44 !Ezz77zzZ'"^^B/ )+)=)==((0069NN41H1HNI  !riN)rrrrrdr?rrirhr`r`As/GKrir`fromceZdZdZdZdZy)_YieldFromCheckz"'yield from' inside async functionc.|jjSrrTrRs rhr=z_YieldFromCheck.get_node\s{{!!!ric|jjdk(xr$|jjj S)N yield_arg)rr[rGrrrRs rhr?z_YieldFromCheck.is_issue_s6{{;.<  ((99;    ))$/ :: $););)=*> $riN)rrrr message_noner?rrirhrmrmds*G*Lrirmr@c@eZdZejdkrdZdZydZdZy) _StringChecksr*z0bytes can only contain ASCII literal characters.z/bytes can only contain ASCII literal charactersch|jj}d|vrtd|jDryd|vr|j }d|vr"|j d}t j}nt j} tj5tjd||dddyy#1swYyxYw#t$r)}|j|dt|zYd}~yd}~wt$r)}|j|d t|zYd}~yd}~wwxYw) Nbc3>K|]}t|dkDs|yw)N)ord)rcs rhrz)_StringChecks.is_issue..zs>aQ#>sTrzutf-8ignorez(unicode error) rLz(value error) ) string_prefixlowerrra _get_payloadencodecodecs escape_decodeunicode_escape_decodewarningscatch_warningsfilterwarningsUnicodeDecodeErrorr'rb ValueError)rr!r{payloadfunces rhr?z_StringChecks.is_issuews**002 - >4::>> m #'')Gm#!..1++33 H,,."++H5M"" $""& Jt-?#a&-HII Ht-=A-FGG HsBCC9CC C C D1C<< D1D,,D1N)rrrsysrrr?rrirhrrrrps) '!DHDHrirr*ceZdZdZdZy) _StarCheckz"named arguments must follow bare *c|j}|jdk(r[|rX|j|jj|dzd}|Dcgc]}|dvr|js|}}t |dk(Syycc}w)N parametersr'),r0r)rr[r]index star_countr^)rr!rafterrps rhr?z_StarCheck.is_issues ;;, &6OOFOO$9$9$$?!$C$DEE(-JuZ/8H8HJEJu:? " ,2 &Js A8Nr]rrirhrrs 2G#rirr)ceZdZdZdZy)_StarStarCheckz3dict unpacking cannot be used in dict comprehensionc|jjdk(r6|jj}|duxr|jtvSy)Nr")rr[get_next_siblingru)rr!rs rhr?z_StarStarCheck.is_issuesJ ;;  / /,,.??AH4'LHMM_,L L 0riNr]rrirhrrs DGMrirr8returnc eZdZdZdZdZdZy)_ReturnAndYieldChecksz&'return' with value in async generatorz'yield' inside async functionc|jSrrTrRs rhr=z_ReturnAndYieldChecks.get_node {{ric|jjjjdk7r0|j |j |d|j zy|jjjrct|jjjjr+|j dk(r|jjdk(ryyyyy)Nrz'%s' outside functionrLr return_stmtT) rGrrcr[r'r=rarriter_yield_exprsrrRs rhr?z_ReturnAndYieldChecks.is_issues    # # ( ( - - : NN4==.8ORVR\R\8\N ]    % % 6 6 8((0055FFHIzzX%$++*:*:m*K+L%J9riN)rrrrmessage_async_yieldr=r?rrirhrrs7G9rirrBceZdZdZdZdZy)_BytesAndStringMixz&cannot mix bytes and nonbytes literalscZ|jdk(ryd|jjvS)NrYFrt)r[r{r|)rr@s rh_is_bytes_literalz$_BytesAndStringMix._is_bytes_literals+ ;;) #f**00222ric|jd}|j|}|jddD]}||j|k7syy)Nrr'T)r]r)rrcrffirst_is_bytesr@s rhr?z_BytesAndStringMix.is_issuesP a //6mmAB' F!7!7!?? riN)rrrrrr?rrirhrrs7G3 ririmport_as_namesceZdZdZdZy)_TrailingImportCommaz:trailing comma not allowed without surrounding parenthesescd|jddk(r|jjddk7ryyy)NrKrr0T)r]rrs rhr?z_TrailingImportComma.is_issues5 ==  # (<(.check_delete_starredsP++){{99 *99$A&8$A&$AA ++) rirr"r rr/!can't use starred expression hererLzcannot delete starredrr') rGr2rrr[rr]r'rumessage_iterable_unpacking)rrcrancestors rhr?z_StarExprRule.is_issues     # #v -{{H-d3H == G"4 G6F G G!&0X5F5Fq5IS5P NN4)LN M   %''61t-DE t-PQ  ;;   .{{##A&++>tT-L-LM? /riN)rrrrr?rrirhrrs!UNrir)typesceZdZdZy)_StarExprParentRulecfd||jr|jDcgc] }|dk7s | }}|Dcgc]}|jdk(s|}}t|dkDr5|jj dkrd}nd}|j |d|y|r3|j|d }|d k\rd }|j |d |yyyycc}wcc}w) Nc|y|j}|dk(ry|dk(r&|j|jdjkS||jS)NFrLrrK)r[rr]r)rcrrdrs rhrz3_StarExprParentRule.is_issue..is_definition$sYMME ! #~~(9(9"(=(G(GGG x7 7rirrRr'rz%two starred expressions in assignmentz*multiple starred expressions in assignmentrLrz1too many expressions in star-unpacking assignment)rr]r[r^rGr2r'r)rrcrxrrXrcountrs @rhr?z_StarExprParentRule.is_issue#s 8 t{{ +#}}9!SA9D9"&@Q!&&K*?q@G@7|a##++f4EGJGwqz7; 71:.C<QGNN71:wN?  ,9@s CCCCNrrrr?rrirhrr!s@rirrceZdZdZdZdZy)_AnnotatorRulezillegal target for annotationc|jSrrTrs rhr=z_AnnotatorRule.get_nodeGrricd}|jjd}t|} |j}d|vs|jdk(r |ddk(rd}n|jdk(r |ddk(rd}|d}|A|jd k(s1|jd vr!jd k(r|jddk7sy yyd }|j |j||zy#t$rYqwxYw)Nrrr r/r1r3r4rKrrFrLTz,only single target (not %s) can be annotatedrL)rr]r`r[r~r')rrcrdlhsr]rLrs rhr?z_AnnotatorRule.is_issueJskk""1%S! #||Hh#((f"4!9KV# s(:rlG =HH&xx#99 1((+s23 'EG NN3::wN ?'   s C C"!C"Nr@rrirhrrAs.G@rirrceZdZdZy) _ArgumentRulec|jd}|jjdkr t|}|jddk(rn|jdk7r_|jdk(r|jjdkrd}n!d}n|jjdkrd }nd}|j || t |r.|jjd k(r|j |d yyy) Nrr#r'=rrz lambda cannot contain assignmentz=expression cannot contain assignment, perhaps you meant "=="?zkeyword can't be an expressionrLrr)r]rGr2r`r[r'rr)rrcrfrs rhr?z_ArgumentRule.is_issuehs a     # #f ,"5)E == s "uzzV';zzY&##++f4@G]G##++f4>G]G NN5'N 2 %d + 0@0@J0N NN4)9N :1O +riNrrrirhrrfs;rirrceZdZdZdZy)_NonlocalModuleLevelRulez0nonlocal declaration not allowed at module levelcF|jjjduSr)rGrrrs rhr?z!_NonlocalModuleLevelRule.is_issues''66$>>riNr]rrirhrrs @G?rirarglistc"eZdZedZdZy) _ArglistRulec8|jjdkryy)Nrz?Generator expression must be parenthesized if not sole argumentz*Generator expression must be parenthesized)rGr2rs rhrz_ArglistRule.messages    # #f ,T?rict}d}d}|jD],}|dk(r |jdk(r|jd}t|rt |jdk\ry|dvr!|dk(r|sYd }|j || od}rd}|jd k(s|j |vrMd }|jjd k\r|dj|j z }|j || |j|j |rd}|j || |sd}|j || /y)NFrrrr!T)rr)rz>iterable argument unpacking follows keyword argument unpackingrLrzkeyword argument repeatedrz: {}z6positional argument follows keyword argument unpackingz,positional argument follows keyword argument) setr]r[rr^r'rarGr2formatadd)rrcarg_setkw_onlykw_unpacking_onlyrrfrs rhr?z_ArglistRule.is_issues7%! & >H3}} * ))!,-h7C riN)rrrpropertyrr?rrirhrrs @@ *>rirrrceZdZdZdZy)_ParameterRulez-non-default argument follows default argumentct}d}d}t|D]}|jdk(r|jdk(rd}d}&|jj|vr6d}|j |j||jjz|j |jj|r|j|js|sy|jrd}d}d}y)NFr:rTz.duplicate argument '%s' in function definitionrL) rrr[rarr'rdefaultr)rrc param_names default_only star_seenprs rhr?z_ParameterRule.is_issuese   d# (Avv#77c> $I#(Lvv||{*Jqvvw/EF OOAFFLL )99$Q\\##\\ $I#(L#'L) (riNr]rrirhrrs>G(rirr ceZdZdZdZy) _TryStmtRulezdefault 'except:' must be lastcd}|jdddD]0}|dvry|dk(r|}||j||j2y)Nr$)elsercexceptrL)r]r'r)rr default_except except_clauses rhr?z_TryStmtRule.is_issues\%..qt!t4 EM 33(!.+~t||D  EriNr]rrirhrrs .GErirrYc6eZdZdZdZdZdZdZdZdZ d dZ y) _FStringRuleNz3f-string expression part cannot include a backslashz'f-string: expressions nested too deeplyzAf-string: invalid conversion character: expected 's', 'r', or 'a'cB|j|jdd|yr_check_fstring_contentsr])r format_specdepths rh_check_format_specz_FStringRule._check_format_specs $$[%9%9!"%=uEric<|dk\r|j||j|jd}d|jvr|j||j|jd}|j dk(r|j dk(r|jd}n|}|j dk(r:|jd}|j d vr|j||j|jd }|j d k(r|j||dzyy) Nr!rLr'rr:rr$fstring_conversion)sryarfstring_format_spec) r'message_nestedr]get_code message_exprr[ramessage_conversionr)r fstring_exprrrQ children_2 conversionrrs rh_check_fstring_exprz _FStringRule._check_fstring_exprs A: NN<1D1DN E$$Q' 4==? " NN4):):N ;!**1- ??j (Z-=-=-D%..q1J#J ??2 2&&q)Dzz0tT-D-DE"++B/   4 4  # #K ; 5ric@|j|jddy)Nr'rKr)rrYs rhr?z_FStringRule.is_issues $$W%5%5a%;N\F<,=ArirceZdZddZy)_CheckAssignmentRulect d}|j}|dk(rd}nN|dk(r|jdd\}}t|}|(|jdk(rT|jjdkrd}n|jdd k(r!|jjd krd }nd }nd }n|dk(rC|dk(r>|jjdkrd}n|jjd krd }nd }n}|dk(r9t |jdkDr!|jjdkrd}nCd }n?|dvr:|jdk(rd}n'|jdk(r>|r|dk(rd}n|dk(rd}|jdddD]} |j | |||n|j ||||n|dk(rG|jdk(rd}n|jjdkrd}nt|j}nx|dk(r1|jdk(rc|jjd krd}nFd}nB|dk(rd}n9|dvrd}n1|dk(rd } |j|| !n|d"k(rd#}n |d$vr|jd%d&k(rd'}n|jd(d)k(r!|jjd krd}nd*}n|jd+} | jd,k(sJ| jd%dk(rd-}n|r| jd%dk(rd.}nq|rn| jd%d/k(r[d0}nW|d1k(r!|jjdkrd}n5d2}n1|d3vr-|jdddD]} |j | |||nd4|vr|d5k7sd6|vs|d7vr|jjd krd}nd*}n|d5k(r|r0|jjd8k\rd9}n|j|d:!n{|jjd8k\r |j} n t|} | jtvr8|s6| jdk(r| jd%dk(sd;} |j|| !|j |jd|Q|rd<|z} n5|jjdkrd=nd>} d?j| |rd@ndA|g} |j|| !yy)BNrrr r!r"r#r&r'r(r*r,r-r.r5r6)r/r3rCr9rr/r1r3r4r7r8r:r;r<r=r>r?z+assignment to yield expression not possiblerLrDrErFrrIrJrr)rWrKrLrMrNrOrPrYrZ)rrrrQrRrSrTrrXrz4starred assignment target must be in a list or tuplez)cannot use assignment expressions with %szcan'tcannot deletez assign to)r[r]r\rGr2r^_check_assignmentrarbr'rrrjoin)rrc is_deletion is_namedexpr is_aug_assignrNrdrfrgrprrLrrs rhrz&_CheckAssignmentRule._check_assignments  I E f_ MM"1-ME6+D1E};;"22''//&8 )!??1-4#//77'A(6(6$1Ec\fm''//&8 )++33g=$2E$2Ec\c$--&81&<''//&8 ) -j({{l2 27($|(/!&#(.&,__SqS%9dE 225+|Ubcd..v{LR_` i zzW$*!!))F2!DJJ j zzU"##++g5&E&E l " E 5 5E l "CG NN4N 1 f_,E , ,}}Q7**r"d*##++g5&E(E--+||y000##A&#-+E!g&6&6q&9S&@'E!g&6&6q&9S&@'E i ''&0!- D Dss+ X&&uk<W Xo%;"6E!,,'''1"$ k !##++v5%ENN41TNU##++v5#{{H5d;H==(::=!)&!8X=N=Nq=QUX=XTGNN4N9  " "4==#3 4  EM$($4$4$<$asynchronous comprehension outside of an asynchronous functionc|jd}|jdk7r|j||jjddk(xr%|jj j S)Nr' expr_listrasync)r]r[rrrGrr)rrcrs rhr?z_CompForRule.is_issueshMM!$ >>[ (  " "9 -{{##A&'1@$$,,==?? @riNr]rrirhrrs NG@rirrc eZdZdZdezZdZy) _ExprStmtRulez+illegal expression for augmented assignmentz'{target}' is an c |jd}|dk7xr|jdk7}|jjdks|s*|jdddD]}|j |||rt |jd}|jd k(sI|jd vr<|jdjd k(r |jd jdd k7ry|jjdkry|j ||jjt|jd|jjyy)Nr'rrr#rr!)rrrrFrLrKr/FT)targetrL) r]r[rGr2rr`r'extended_messagerr_)rrc augassignr before_equalr!s rhr?z_ExprStmtRule.is_issuesBMM!$ !S(JY^^{-J    # #v -] $ er!e 4 R &&|=&Q R #DMM!$45F{{f$ 55OOA&++y8OOB'003s:''61 1188,T]]1-=t?O?O?W?WX9 riN)rrrrr"r?rrirhrrs;G*W4rir with_itemceZdZdZy) _WithItemRulec@|j|jdyNr!)rr])rr%s rhr?z_WithItemRule.is_issues y11!45riNrrrirhr'r's6rir'rceZdZdZy) _DelStmtRulech|jd}|jdk7r|j|dyy)Nr'rT)rr]r[r)rrrps rhr?z_DelStmtRule.is_issues6!!!$ :: $  " "5d " ; %riNrrrirhr+r+s>[ (  " "9 - )riNrrrirhr2r2s.rir2namedexpr_testceZdZdZy)_NamedExprRulec& |jd}d}||rd}|j||t fd fd}||}|r|jjj j dk(rd}|j|| Dcgc]}|j d k(s|j }}|j d k(r0|j|vr"d |jz}|j|||j|d ycc}w) Nrcp |j}||S|jdk(r|jd|k(r|S|}6)Nrr$r)rcrs rhsearch_namedexpr_in_comp_forz=_NamedExprRule.is_issue..search_namedexpr_in_comp_forsC>!M;;/1fooa6HD6P!M rizKassignment expression cannot be used in a comprehension iterable expressionrLc|jdk(r|}n|jdk(r|jd}jty)Nrrr')r[r]rr)rcomprs rhprocess_comp_forz1_NamedExprRule.is_issue..process_comp_forsB}}/*,((+ OO:4@ Aricd} |jdd}| |S|jD] }|jtvs|d}nG)NFTrr")rr]r[ru)rc has_ancestorsrpr<s rhsearch_all_comp_ancestorsz:_NamedExprRule.is_issue..search_all_comp_ancestorssd!M++O=MN< ! "]]Ezz_4(/(,   rirzKassignment expression within a comprehension cannot be used in a class bodyrzGassignment expression cannot rebind comprehension iteration variable %rT)r) r]r'r4rGrrcr[rar) rr4rfr9rr? search_allrQnamelistrr<s @@rhr?z_NamedExprRule.is_issues ''*  ( 7dG NN>7N ;6 B !/~> '',,11Z?;~w?/7Ot499;N OHOzzV# x(? @BG++N~w? u48Ps D+DNrrrirhr6r6s=9rir6)Frrrr contextlibrparso.normalizerrrrrparso.python.tokenizerr rrrrrur_rrr\r|r`rrrrrrrrrrr5 register_ruler;rBrErIrPrXr`rhrmrrrrrrrrrrrrrrrrrrrrrr'r+r/r2r6rrirhrFs(  %FF7M H0Sl  ;  Z"(0= 8/FFDq;*q;h.d.  - 3? 3. 3#(# ) )  -.& )* ) * ,j-, (  ,!@Z!@-!@H  +;J;,;2 0?z?1?  *2>:2>+2>j  -  *(Z(+.(>  + E: E, E  *%A:%A+%APD2:D2N 0 @' @1 @  ,(-D  ,6(6-6   +<'<,<  ,)()-)   +.'.,.  01@9)@92@9ri