+
    کhٿ                     R	   ^ RI t ^ RIt^ RIt^ RIt^ RIHt ^ RIHtHtH	t	H
t
 ^ RIHt R}tR~t^t^dtRtRtR tR	 tR
 tR tR tR tR tR tR tR tR tR tR t ! R R4      t  ! R R]4      t! ! R R]
4      t"]!PG                  RR7       ! R R]"4      4       t$ ! R R ]4      t% ! R! R"]
4      t&]!PG                  RR7       ! R# R$]&4      4       t']!PG                  R%R&7       ! R' R(]&4      4       t(]!PG                  R)R&7       ! R* R+]&4      4       t)]!PG                  R,R&7       ! R- R.]&4      4       t*]!PG                  R/R&7       ! R0 R1]&4      4       t+]!PG                  R2R7       ! R3 R4]&4      4       t,]!PG                  R5R7       ! R6 R7]&4      4       t-]!PG                  R8R&7       ! R9 R:]&4      4       t.]!PG                  R;R&7       ! R< R=]&4      4       t/]!PG                  R>R&7      ]!PG                  R?R&7       ! R@ RA]&4      4       4       t0]!PG                  RBR7       ! RC RD]&4      4       t1]!PG                  RER7       ! RF RG]&4      4       t2]!PG                  RHR7       ! RI RJ]&4      4       t3]!PG                  RHR7       ! RK RL]&4      4       t4]!PG                  RMR7       ! RN RO]&4      4       t5]!PG                  ]RP7       ! RQ RR]&4      4       t6]!PG                  RSR7       ! RT RU]&4      4       t7]!PG                  RVR7       ! RW RX]&4      4       t8]!PG                  RYR7       ! RZ R[]&4      4       t9]!PG                  R\R7       ! R] R^]&4      4       t:]!PG                  R_R7      ]!PG                  R`R7       ! Ra Rb]&4      4       4       t;]!PG                  RR7       ! Rc Rd]&4      4       t<]!PG                  ReR7       ! Rf Rg]&4      4       t= ! Rh Ri]&4      t>]!PG                  RR7       ! Rj Rk]>4      4       t?]!PG                  RlR7       ! Rm Rn]>4      4       t@]!PG                  RoR7       ! Rp Rq]>4      4       tA]!PG                  RrR7       ! Rs Rt]>4      4       tB]!PG                  RuR7       ! Rv Rw]>4      4       tC]!PG                  RR7       ! Rx Ry]>4      4       tD]!PG                  RzR7       ! R{ R|]>4      4       tER# )    N)contextmanager)
NormalizerNormalizerConfigIssueRule)_get_token_collectionfor_stmttry_stmtsync_comp_forc                 h   V P                   pVR 8X  d   R# VR8X  Ed.   \        V 4      pV P                  R,          w  rEVe   V# VP                   R8X  dG   VR.8  d   R# VP                  ^,          R8X  g   VP                  ^ ,          R8X  d   VR/8  d   R# R	# R
# VR8X  dF   VR8X  g=   \        V P                  4      ^8X  d%   V P                  ^,          P                   R8X  d   R# VR8X  d   \	        \        V 4      VR7      # VR8X  d   R# VR8X  d   VR8X  d   VR/8  d   R# R	# VR8X  d   \        V P                  4      ^8  d   R
# V# VR8X  d2   RV P                  9   d   R# VR.8  d   R# \        V P                  4      # VR8X  d   V P                  R8X  d   VR/8  d   R# R# VR8X  d   R# VR09   d   R# VR8X  d   R# VR8X  d   R# VR19   d   V P                  ^ ,          R8X  d   R # V P                  R2,          P                   R!8X  db   V P                  R2,          pVP                  ^ ,          R8X  d   R"# VP                  ^ ,          R8X  d   R## VP                  ^ ,          R$8X  d   R%# V# R&V9   d   R'V9  g   R(V9   g   VR39   d   VR/8  d   R# R)# VR'8X  d   R*# VR+8X  d   R# VR,8X  d   R-# V# )4lambdeflambdaatomN   Ndictorsetmakerliteral:**dict displaydict literalset display()testlist_comptuple)version[list{}keywordyieldyield expressionoperator...Ellipsisellipsis
comparison
yield_exprtestconditional expressionawaitawait expressiontrailerfunction call	subscript.	attributeexpr	star_expr_test
expressionstarredtestlist_star_exprfstringf-string expression      r=   
   stringnumberstrings	atom_exprpowertermfactor)type_get_comprehension_typechildrenlen_get_rhs_name_remove_parensvaluestr)noder   type_comprehensionfirstsecondr/   s   &&     5/usr/lib/python3/dist-packages/parso/python/errors.pyrP   rP      s   IIE		&/5b)$  [[,, ??1%,0Bd0J(--(SL3'1,q1A1F1F/1Yc\ !5wGGc\c\fm %%c\c$--014 ^ L] 
)	djj %Vtzz?"	*	u!4W	,		1	1	,	!	&'	(	(==w&%]]2##y0mmB'G"c)&!!!$+"!!!$+"  L 
5[5e&&W	+		&	&	)	$L    c              #     "   V P                    FK  pVP                  R8X  d4   VP                    F!  pVP                  R8X  g   VR8X  d   K  Vx  K#  	  KG  Vx  KM  	  R# 5i)z:
Iterates over all statements and splits up  simple_stmt.
simple_stmtnewline;NrN   rL   )scopechildchild2s   &  rY   _iter_stmtsrc   m   sP      ::&..;;)+v} )
 K  s   AA c                 Z   V P                   R ,          w  rVP                  R8X  d2   VP                   ^,          P                  \        9   d   VR8X  d   R# R# VP                  R8X  dC   VP                   R
,          P                  \        9   d   VP                   ^,          R8X  d   R# R# R	# )r   r   r   zlist comprehensionzgenerator expressionr   r   zdict comprehensionzset comprehensionNrH   rN   rL   _COMP_FOR_TYPES)r   rW   rX   s   &  rY   rM   rM   {   s~    MM"%ME{{o%&//!*<*A*A_*TC<')	(	(V__R-@-E-E-X??1$'&rZ   c                 j    V P                  4       pV Uu. uF  q"P                  NK  	  upR .8H  # u upi )
__future__)get_from_namesrR   )import_from
from_namesns   &  rY   _is_future_importrm      s3    
 ++-J'(ZGGZ(\N::(s   0c                     V P                   p\        V4      ^8X  d+   V^ ,          R8X  d   \        V P                   ^,          4      # V #   \         d     T # i ; i)zS
Returns the inner part of an expression like `(foo)`. Also removes nested
parens.
r   )rN   rO   rQ   AttributeError)r   rN   s   & rY   rQ   rQ      s]    
4== x=A(1+"4!$--"233K   Ks   A
 
AAc                    V P                   e:   V P                   p V P                  R8w  g   V P                  ^ ,          R8w  g   KE  V # R# )zU
Returns an ancestor node of an expression, skipping all levels of parens
bottom-up.
Nr   r   parentrL   rN   rT   s   &rY   _skip_parens_bottom_uprt      s;    
 ++
!{{99$--"2c"9KrZ   c                 (    R  V P                    4       # )c              3   l   "   T F*  qP                   R 8X  g   VP                   R8X  g   K&  Vx  K,  	  R# 5i)paramr%   NrL   ).0rl   s   & rY   	<genexpr>_iter_params.<locals>.<genexpr>   s(     Y+!vv/@AFFjDXAA+s   #4
4)rN   )parent_nodes   &rY   _iter_paramsr}      s    Y{++YYrZ   c                    Rp\        V P                  4       4       FN  pVP                  R8X  d   V'       g   K  RpW 8X  d    R# VP                  R8X  d   \        V4      '       d   KM   R# 	  R# )z8
Checks if the import is the first statement of a file.
FrB   Trj   N)rc   get_root_noderL   rm   )rj   found_docstringstmts   &  rY   _is_future_import_firstr      s]     OK557899 99%*;D*A*A 9rZ   c              #      a"   V3R  loV P                   \        9   d-   V P                  R,           F  pS! V4       Rj  xL
  K  	  R# S! V 4       Rj  xL
  R#  L L5i)c              3   D  <"   V P                   R 8X  d   V P                  ^ ,          R8X  dL   V P                  ^,          pVP                   R8X  d   \        V4       Rj  xL
  R# S! V4       Rj  xL
  R# V P                  ^ ,          R8X  d   Xx  R# V x  R#  L< L,5i)r   r   r   Nr   )rL   rN   !_iter_definition_exprs_from_lists)ra   r   
check_exprs   & rY   r   5_iter_definition_exprs_from_lists.<locals>.check_expr   s     ::~~a C' %q 1 %%8@OOO  *-888"c)## P 9s$   AB B B 1B2+B B NNr   N)rL   _STAR_EXPR_PARENTSrN   )exprlistra   r   s   & @rY   r   r      sX       }}**&&s++E!%((( , h''' )'s#   =A! AA!AA!A!c                     . pV P                   R R^1,           F9  pVP                  R9   d   V\        V4      ,          pK(  VP                  V4       K;  	  V# )N)r9   testlist)rN   rL   r   append)	expr_stmtexprslist_s   &  rY   _get_expr_stmt_definition_exprsr      sU    E##ERE**::;;6u==ELL	 +
 LrZ   c                 P    V P                   ^,          p\        \        V4      4      #    )rN   r   r   )r	   r   s   & rY   _get_for_stmt_definition_exprsr      s#      #H1(;<<rZ   c                 J    V P                   ^,          P                  \        9   # r   re   )arguments   &rY   _is_argument_comprehensionr      s    Q$$77rZ   c                    V R8  g   Vf   R# VP                   R8X  dI   \        ;QJ d&    R VP                   4       F  '       g   K   R# 	  R# ! R VP                   4       4      # VP                   R8X  d   R# VP                  R4      # )r=   F
error_nodec              3   >   "   T F  qP                   R 8H  x  K  	  R# 5i)fstring_startNrx   )ry   ra   s   & rY   rz   %_any_fstring_error.<locals>.<genexpr>   s     LmU::0ms   Tr:   r=   	   )rL   anyrN   search_ancestor)r   rT   s   &&rY   _any_fstring_errorr      sn    4<yyL sLdmmLssLsLsLdmmLLL	i	##I..rZ   c                   d   a  ] tR t^t o RR ltR tR tR tR tR t	]
R 4       tR	 tR
 tRtV tR# )_ContextNc                ~    Wn         . V n        W0n        / V n        . V n        . V n        . V n        . V n        W n        R # N)	rT   blocksparent_context_used_name_dict_global_names_local_params_names_nonlocal_names_nonlocal_names_in_subscopes_add_syntax_error)selfrT   add_syntax_errorr   s   &&&&rY   __init___Context.__init__   sB    	,!#% !,.)!1rZ   c                x    V P                  4       ;'       d$    V P                  P                  P                  R9   # )async_funcdef)r   
async_stmt)is_functionrT   rr   rL   r   s   &rY   is_async_funcdef_Context.is_async_funcdef  s;     ! I I		  %%)HH	IrZ   c                4    V P                   P                  R 8H  # )funcdef)rT   rL   r   s   &rY   r   _Context.is_function  s    yy~~**rZ   c                   VP                   P                  pVR 8X  d   R# VR8X  d   V P                  P                  V4       R# VR8X  d   V P                  P                  V4       R# VR8X  dY   V P
                  P                  VP                   P                  4        Uu. uF  q3P                  P                  NK  	  up4       R# V P                  P                  VP                  . 4      P                  V4       R# u upi )r/   Nglobal_stmtnonlocal_stmtr   )rr   rL   r   r   r   r   extend
get_paramsnamerR   r   
setdefault)r   r   parent_typerw   s   &&  rY   add_name_Context.add_name  s    kk&&)#-'%%d+O+  ''-I%$$++/3{{/E/E/GH/Ge!!/GH   ++DJJ;BB4H Is    C>c                H   V P                  V P                  R4       V P                  V P                  R4       V P                   Uu/ uF  qP                  VbK  	  ppV P                   FZ  p W#P                  ,          pRTP                  ,          pTP
                  TP
                  8  d   TpMTpT P                  Ye4       K\  	  . pV P                   F  pVP                  pWP                  9   d   K!  W9   g   V P                  f'   RVP                  ,          pV P                  W54       K[  V P                  4       '       d   VP                  V P                  9  g   K  VP                  V4       K  	  V P                  V,           # u upi   \         d     EK6  i ; i)zF
Returns a list of nonlocal names that need to be part of that scope.
globalnonlocalz name '%s' is nonlocal and globalz"no binding for nonlocal '%s' found)_analyze_namesr   r   rR   KeyError	start_posr   r   r   r   r   r   r   )	r   rl   global_name_strsnonlocal_nameglobal_namemessage
error_namenonlocals_not_handledsearchs	   &        rY   finalize_Context.finalize  st    	D..9D00*=040B0BC0B1GGQJ0BC!11M./B/BC 9;;L;LLG$$}'>'>>(
*
"":7 2 !#!>>M"((F111)T-@-@-H>ATATT&&}>%%''!''t/C/CC%,,]; ? ##&;;;3 D  s   F.FF! F!c                  a aa
 V
V V3R  lp. pS P                   P                  R8X  d   S P                   P                  4       pV EF6  o
Rp\        S P                  P                  S
P                  . 4      4       F  pVP                  S
P                  8  d   RpVP                  pVP                  R8X  d   VP                  V8X  d   KP  VP                  4       '       dK   VP                  R8X  d7   VP                  ^,          P                  R8X  d   V'       d   Vo
V! R4        MRpMR	pV'       d   K  V! V4        M	  V F3  p	V	P                  P                  S
P                  8X  g   K*  V! R
4      3 K5  	  EK9  	  R# )c                 R   < SP                  SV SP                  S3,          4       R # r   )r   rR   )r   	base_namer   rU   s   &rY   raise_'_Context._analyze_names.<locals>.raise_B  s!    ""9g%8P.PQrZ   r   FTrw   r   	annassignzannotated name '%s' can't be %sz.name '%s' is assigned to before %s declarationz)name '%s' is used prior to %s declarationzname '%s' is parameter and %sN)rT   rL   r   reversedr   getrR   r   rr   r   is_definitionrN   )r   globals_or_nonlocalsrU   r   paramsfound_global_or_nonlocalr   rr   r   rw   r   s   f&f       @rY   r   _Context._analyze_namesA  s7   	R 99>>Y&YY))+F-I',$ !5!5!9!9)//2!NO>>I$7$77/3,;;')fkkT.A %%''{{k1 & 2 7 7; F3 )-I@A"RIG//7O9 P<  ::##y6:;<  C .rZ   c              #     "   V P                   P                  V4       R x  V P                   P                  4        R # 5ir   )r   r   popr   rT   s   &&rY   	add_block_Context.add_blockn  s(     4 s   <>c                0    \        WP                  V R 7      # ))r   )r   r   r   s   &&rY   add_context_Context.add_contextt  s    44TJJrZ   c                T    V ;P                   VP                  4       ,          un         R # r   )r   r   )r   child_contexts   &&rY   close_child_context_Context.close_child_contextw  s    ))]-C-C-EE)rZ   )	r   r   r   r   r   r   r   rT   r   r   )__name__
__module____qualname____firstlineno__r   r   r   r   r   r   r   r   r   r   __static_attributes____classdictcell____classdict__s   @rY   r   r      sM     	2I+I" <D+=Z  
KF FrZ   r   c                   |   a a ] tR tRt oRtV 3R ltR tV 3R lt]R 4       t	V 3R lt
R tR	 tR
 tR tRtVtV ;t# )ErrorFinderi{  z)
Searches for errors in the syntax tree.
c                l   < \         SV `  ! V/ VB  / V n        V P                  P                  V n        R # r   )superr   _error_dictgrammarversion_infor   )r   argskwargs	__class__s   &*,rY   r   ErrorFinder.__init__  s.    $)&)||00rZ   c                |   a a VV 3R  loS! V4      ;'       g    \        VS P                  4      S n        ^ S n        R# )c                    < V f   R # S! V P                   4      pV P                  R9   d   \        V SP                  V4      # V# )N)classdefr   
file_input)rr   rL   r   r   )rT   r   create_contextr   s   & rY   r  .ErrorFinder.initialize.<locals>.create_context  sA    |+DKK8NyyAAd&<&<nMM!!rZ   N)r   r   context_indentation_count)r   rT   r  s   f&@rY   
initializeErrorFinder.initialize  s3    	" &d+UUxd>T>T/U"#rZ   c                   < VP                   R 8X  d&   V P                  V4      ;_uu_ 4         RRR4       R# \        SV `  V4      #   + '       g   i     L; i)r   N )rL   
visit_noder   visit)r   rT   r  s   &&rY   r  ErrorFinder.visit  sE    99$&& 	 '&
 w}T"" '&s   AA	c              #    "   V P                  V4       VP                  \        9   dm   V P                  P	                  V4      ;_uu_ 4        \        V P                  P                  4      \        8X  d   V P                  VR 4       Rx  RRR4       R# VP                  R8X  dR   V ;P                  ^,          un	        V P                  \        8X  d$   V P                  VP                  ^,          R4       Rx  VP                  R8X  d   V ;P                  ^,          un	        R# VP                  R9   d;   V P                  pVP                  V n        V P                  P                  V4       R# R#   + '       g   i     R# ; i5i)z!too many statically nested blocksNsuiteztoo many levels of indentationr  r   )_check_type_rulesrL   _BLOCK_STMTSr	  r   rO   r   _MAX_BLOCK_SIZEr   r
  _MAX_INDENT_COUNT_add_indentation_errorrN   r   r   )r   rT   r	  s   && rY   r  ErrorFinder.visit_node  s    t$99$''--t||**+>**41TU . YY'!##q(#&&*;;++DMM!,<>^_99##q(#YY11llG"11DLLL,,W5 2 .- s   A
F?E4C)F4F	?	Fc                H  < VP                   R 8X  Ed4   VP                  R9   dX   \        VP                  4       P	                  4       4      R,          pVP                  R8X  d   RpMRpV P                  W#4       R# VP                  P                  R4      '       d   RpM\        P                  ! RVP                  4      pVfL   RpV P                  R8  d8   VP                  \        V P                  4      P                  9   d
   RV,           pM$\        VP                  ^4      4      ^8X  d   R	pMR
pV P                  W4       R# VP                  R8X  d>   VP                   pVP                   R9   d!   V P"                  P%                  V4      V n        \&        SV `Q  V4      # )
error_leafINDENTzunexpected indentz3unindent does not match any outer indentation level\z6unexpected character after line continuation characterz\w{,2}("{1,3}|'{1,3})invalid syntax
f-string: z!EOL while scanning string literalz/EOF while scanning triple-quoted string literalr  r   )r  ERROR_DEDENTrH   r   r  )rL   
token_typer   get_next_leaf_split_prefixr  rR   
startswithrematchr   r   always_break_tokensrO   groupr   rr   r	  r   r   
visit_leaf)r   leafspacingr   r'  rr   r  s   &&    rY   r*  ErrorFinder.visit_leaf  sW   99$"<< t113AACDRH??h.1GSG++G=* ' ::((..VGHH%>

KE}"2 LLF2 $

.C $/11!2 '3W&<Gu{{1~.!3&IG&WG&&t5ZZ3[[F{{55#||77? w!$''rZ   c                :    V P                  VR RV,           4       R# )  IndentationError: N	add_issue)r   r,  r   s   &&&rY   r  "ErrorFinder._add_indentation_error  s    w%9G%CDrZ   c                :    V P                  VR RV,           4       R# )  SyntaxError: Nr1  )r   rT   r   s   &&&rY   r   ErrorFinder._add_syntax_error  s    tS/G";<rZ   c                j    VP                   ^ ,          pW#V3pV P                  P                  WE4       R# )r   N)r   r   r   )r   rT   coder   liner   s   &&&&  rY   r2  ErrorFinder.add_issue  s0     ~~a t$##D/rZ   c                    V P                   P                  4        V P                  P                  4        F+  w  rpV P                  P                  \        W1V4      4       K-  	  R # r   )r	  r   r   valuesissuesr   r   )r   r9  r   rT   s   &   rY   r   ErrorFinder.finalize  sI    #'#3#3#:#:#<D4KKuT9: $=rZ   )r   r
  r	  r   )r   r   r   r   __doc__r   r  r  r   r  r*  r  r   r2  r   r   r   __classcell__r  r   s   @@rY   r   r   {  sM     1
$# 6 6.'(RE=0; ;rZ   r   c                   6   a a ] tR tRt oRtV 3R ltRtVtV ;t# )IndentationRulei  r/  c                4   < \         SV `  W4      pR V,           # )r0  )r   _get_messager   r   rT   r  s   &&&rY   rF  IndentationRule._get_message  s    '&w5#g--rZ    	r   r   r   r   r9  rF  r   r   rA  rB  s   @@rY   rD  rD    s     D. .rZ   rD  r   rx   c                   0   a  ] tR tRt o RtR tR tRtV tR# )_ExpectIndentedBlocki  zexpected an indented blockc                b    VP                  4       p\        VP                  4       4      R,          # )r   rH   )r#  r   r$  )r   rT   r+  s   && rY   get_node_ExpectIndentedBlock.get_node  s)    !!#D&&()"--rZ   c                B    VP                   R,          P                  R8H  # )r   r]   rH   r_   r   s   &&rY   is_issue_ExpectIndentedBlock.is_issue  s    }}R %%22rZ   rI  N	r   r   r   r   r   rN  rQ  r   r   r   s   @rY   rL  rL    s     *G.3 3rZ   rL  c                       ] tR tRt]tRtR# )ErrorFinderConfigi  rI  N)r   r   r   r   r   normalizer_classr   rI  rZ   rY   rU  rU    s    "rZ   rU  c                   6   a a ] tR tRt oRtV 3R ltRtVtV ;t# )
SyntaxRulei  r5  c                   < \         SV `  W4      pR V9  d0   \        V P                  P                  V4      '       d
   RV,           pRV,           # )zf-stringr   r6  )r   rF  r   _normalizerr   rG  s   &&&rY   rF  SyntaxRule._get_message  sH    '&w5g%"4#3#3#;#;TBB"W,G((rZ   rI  rJ  rB  s   @@rY   rX  rX    s     D) )rZ   rX  c                   4   a  ] tR tRt o RtRtR tR tRtV t	R# )_InvalidSyntaxRulei  r  zf-string: invalid syntaxc                "    VP                  4       # r   )r#  r   s   &&rY   rN  _InvalidSyntaxRule.get_node  s    !!##rZ   c                    VP                  4       P                  R 8g  pV'       dE   \        V P                  P                  V4      '       d   V P                  WP                  R7       R# V# )r  r   N)r#  rL   r   rZ  r   r2  fstring_message)r   rT   errors   && rY   rQ  _InvalidSyntaxRule.is_issue  sR    ""$))\9"4#3#3#;#;TBBNN4)=)=N> LrZ   rI  N)
r   r   r   r   r   rb  rN  rQ  r   r   r   s   @rY   r]  r]    s     G0O$	 	rZ   r]  r-   )rR   c                   0   a  ] tR tRt o RtR tR tRtV tR# )_AwaitOutsideAsynci)  z'await' outside async functionc                T    V P                   P                  P                  4       '       * # r   )rZ  r	  r   r   r+  s   &&rY   rQ  _AwaitOutsideAsync.is_issue-  s     ##++<<>>>rZ   c                    VP                   # r   rr   r   s   &&rY   get_error_node!_AwaitOutsideAsync.get_error_node0  s    {{rZ   rI  N)	r   r   r   r   r   rQ  rl  r   r   r   s   @rY   rf  rf  )  s     .G? rZ   rf  breakc                   *   a  ] tR tRt o RtR tRtV tR# )_BreakOutsideLoopi5  z'break' outside loopc                    R pV P                   P                  P                   F  pVP                  R9   g   K  RpK  	  V'       * # )FTr	   
while_stmt)rZ  r	  r   rL   )r   r+  in_loopblocks   &&  rY   rQ  _BreakOutsideLoop.is_issue9  s?    %%--44Ezz77 5 {rZ   rI  Nr   r   r   r   r   rQ  r   r   r   s   @rY   rp  rp  5  s     $G rZ   rp  continuec                   .   a  ] tR tRt o RtRtR tRtV tR# )_ContinueChecksiA  z'continue' not properly in loopz0'continue' not supported inside 'finally' clausec                   R pV P                   P                  P                   F  pVP                  R9   d   RpVP                  R8X  g   K)  VP                  R,          pVR8X  g   KE  VP
                  VP
                  8  g   Kb  V P                   P                  R8  g   K  V P                  WP                  R7        R # 	  V'       g   R# R# )	FTr
   finallyra  Nrr  r<   )	rZ  r	  r   rL   rN   r   r   r2  message_in_finally)r   r+  rt  ru  
last_blocks   &&   rY   rQ  _ContinueChecks.is_issueF  s    %%--44Ezz77zzZ'"^^B/
)+)=)==((0069NN41H1HNI  5  rZ   rI  N)	r   r   r   r   r   r~  rQ  r   r   r   s   @rY   rz  rz  A  s     /GK rZ   rz  fromc                   0   a  ] tR tRt o RtR tR tRtV tR# )_YieldFromCheckiX  z"'yield from' inside async functionc                .    VP                   P                   # r   rk  rh  s   &&rY   rN  _YieldFromCheck.get_node\  s    {{!!!rZ   c                    VP                   P                  R 8H  ;'       d%    V P                  P                  P	                  4       # )	yield_arg)rr   rL   rZ  r	  r   rh  s   &&rY   rQ  _YieldFromCheck.is_issue_  s;    {{;. < <  ((99;	<rZ   rI  NrS  r   s   @rY   r  r  X  s     2G"< <rZ   r  r   c                   .   a  ] tR tRt o RtRtR tRtV tR# )_NameChecksid  zcannot assign to __debug__zcannot assign to Nonec                    V P                   P                  P                  V4       VP                  R 8X  d   VP	                  4       '       d   R# R# R# )	__debug__TN)rZ  r	  r   rR   r   rh  s   &&rY   rQ  _NameChecks.is_issuei  sA      ))$/::$););)=)= *>$rZ   rI  N)	r   r   r   r   r   message_nonerQ  r   r   r   s   @rY   r  r  d  s     *G*L rZ   r  rB   c                   R   a  ] tR tRt o ]P
                  R8  d   RtMRtR tRtV t	R# )_StringChecksip  z0bytes can only contain ASCII literal characters.z/bytes can only contain ASCII literal charactersc                $   VP                   P                  4       pR V9   dQ   \        ;QJ d&    R VP                   4       F  '       g   K   RM	  RM! R VP                   4       4      '       d   R# RV9  d   VP	                  4       pR V9   d#   VP                  R4      p\        P                  pM\        P                  p \        P                  ! 4       ;_uu_ 4        \        P                  ! R4       V! V4       RRR4       R# R#   + '       g   i     R# ; i  \         d/   pT P                  TR\        T4      ,           R	7        Rp?R# Rp?i\         d/   pT P                  TR
\        T4      ,           R	7        Rp?R# Rp?ii ; i)bc              3   J   "   T F  p\        V4      ^8  g   K  Vx  K  	  R# 5i)   N)ord)ry   cs   & rY   rz   )_StringChecks.is_issue.<locals>.<genexpr>z  s     >:aQ#:s   #
#TFrzutf-8ignoreNz(unicode error) ra  z(value error) )string_prefixlowerr   rR   _get_payloadencodecodecsescape_decodeunicode_escape_decodewarningscatch_warningsfilterwarningsUnicodeDecodeErrorr2  rS   
ValueError)r   r+  r  payloadfunces   &&    rY   rQ  _StringChecks.is_issuew  s(   **002-C>4::>CCC>4::>>>m# '')Gm#!..1++33H,,..++H5M /. $ /.. & Jt-?#a&-HII Ht-=A-FGGHsH   D  D?D D	D D F*#EF F!#F

FrI  Nr?   )
r   r   r   r   sysr   r   rQ  r   r   r   s   @rY   r  r  p  s)     
'!DCH HrZ   r  *c                   *   a  ] tR tRt o RtR tRtV tR# )
_StarChecki  z"named arguments must follow bare *c                4   VP                   pVP                  R 8X  dv   V'       dl   VP                  VP                  P                  V4      ^,           R pV Uu. uF"  pVR9  g   K  VP                  '       d   K   VNK$  	  pp\        V4      ^ 8H  # R# R# u upi )
parametersN),r   )rr   rL   rN   index
star_countrO   )r   r+  r   afterra   s   &&   rY   rQ  _StarCheck.is_issue  s    ;;,&6OOFOO$9$9$$?!$C$DEE(- JuZ/ 8=8H8H UE Ju:?"	 ,2&Js   	B'B;BrI  Nrw  r   s   @rY   r  r    s     2G# #rZ   r  r   c                   *   a  ] tR tRt o RtR tRtV tR# )_StarStarChecki  z3dict unpacking cannot be used in dict comprehensionc                    VP                   P                  R 8X  d>   VP                  4       P                  4       pVRJ;'       d    VP                  \        9   # R# )r   N)rr   rL   get_next_siblingrf   )r   r+  comp_fors   && rY   rQ  _StarStarCheck.is_issue  sM    ;;//,,.??AH4'LLHMM_,LL 0rZ   rI  Nrw  r   s   @rY   r  r    s     
 DGM MrZ   r  r#   returnc                   4   a  ] tR tRt o RtRtR tR tRtV t	R# )_ReturnAndYieldChecksi  z&'return' with value in async generatorz'yield' inside async functionc                    VP                   # r   rk  rh  s   &&rY   rN  _ReturnAndYieldChecks.get_node      {{rZ   c                   V P                   P                  P                  P                  R 8w  d6   V P	                  V P                  V4      RVP                  ,          R7       R# V P                   P                  P                  4       '       dr   \        V P                   P                  P                  P                  4       4      '       d3   VP                  R8X  d    VP                  P                  R8X  d   R# R# R# R# R# )r   z'%s' outside functionra  r  return_stmtTN)rZ  r	  rT   rL   r2  rN  rR   r   r   iter_yield_exprsrr   rh  s   &&rY   rQ  _ReturnAndYieldChecks.is_issue  s    ##((--:NN4==.8ORVR\R\8\N]%%6688((0055FFHIIzzX%$++*:*:m*K +L% J 9rZ   rI  N)
r   r   r   r   r   message_async_yieldrN  rQ  r   r   r   s   @rY   r  r    s!      7G9 rZ   r  rD   c                   0   a  ] tR tRt o RtR tR tRtV tR# )_BytesAndStringMixi  z&cannot mix bytes and nonbytes literalsc                b    VP                   R 8X  d   R# RVP                  P                  4       9   # )r:   Fr  )rL   r  r  )r   rB   s   &&rY   _is_bytes_literal$_BytesAndStringMix._is_bytes_literal  s+    ;;)#f**00222rZ   c                    VP                   ^ ,          pV P                  V4      pVP                   R,           F  pW0P                  V4      8w  g   K   R# 	  R# )r   r   NNTN)rN   r  )r   rT   rW   first_is_bytesrB   s   &&   rY   rQ  _BytesAndStringMix.is_issue  sJ    a //6mmB''F!7!7!?? (rZ   rI  N)	r   r   r   r   r   r  rQ  r   r   r   s   @rY   r  r    s      7G3
 rZ   r  import_as_namesc                   *   a  ] tR tRt o RtR tRtV tR# )_TrailingImportCommai  z:trailing comma not allowed without surrounding parenthesesc                    VP                   R,          R8X  d'   VP                  P                   R,          R8w  d   R# R# R# )r   r  r   TNrH   )rN   rr   r   s   &&rY   rQ  _TrailingImportComma.is_issue  s5    ==#(<(<R(@C(G )H#rZ   rI  Nrw  r   s   @rY   r  r    s      KG rZ   r  rj   c                   *   a  ] tR tRt o RtR tRtV tR# )_ImportStarInFunctioni  z%import * only allowed at module levelc                v    VP                  4       ;'       d#    V P                  P                  P                  R J# r   )is_star_importrZ  r	  r   r   s   &&rY   rQ  _ImportStarInFunction.is_issue  s1    ""$\\)9)9)A)A)P)PX\)\\rZ   rI  Nrw  r   s   @rY   r  r    s     5G] ]rZ   r  c                   *   a  ] tR tRt o RtR tRtV tR# )_FutureImportRulei  z?from __future__ imports must occur at the beginning of the filec                   \        V4      '       d   \        V4      '       g   R # VP                  4        F  w  r#VP                  p\	        \
        4      pV P                  P                  R	8  d   VP                  R4       VR8X  d   V P                  VRR7       Kh  VR8X  d   RpV P                  WR7       K  WE9  g   K  RV,          pV P                  WR7       K  	  R# R# )
Tannotationsbracesznot a chancera  barry_as_FLUFLz-Seriously I'm not implementing this :) ~ Davez future feature %s is not definedNr=      )
rm   r   	get_pathsrR   r   ALLOWED_FUTURESrZ  r   r   r2  )r   rT   	from_namefuture_namer   allowed_futuresmr   s   &&      rY   rQ  _FutureImportRule.is_issue  s    T""*400*...*:&	"(("&"7##++v5#**=98#NN4N@--GANN4N30@4GGNN4N9 +;	 #rZ   rI  Nrw  r   s   @rY   r  r    s     OG: :rZ   r  r5   c                   *   a  ] tR tRt o RtR tRtV tR# )_StarExprRulei  z2iterable unpacking cannot be used in comprehensionc                   R  pV P                   P                  R	8  d   VP                  pM\        V4      pVP                  . \
        ORN59  d?   VP                  R8X  d   VP                  ^ ,          R8w  g   V P                  VRR7       R# V! V4      '       dF   V P                   P                  R	8  d   V P                  VRR7       R# V P                  VRR7       R# VP                  P                  R8X  dQ   VP                  P                  ^,          P                  \        9   d   V P                  WP                  R7       R# R# R# )
c                     V P                   e>   V P                   p V P                  R8X  d   R# V P                  . \        ORN59  g   KI  R# R# )Ndel_stmtTr   F)rr   rL   r   rs   s   &rY   check_delete_starred4_StarExprRule.is_issue.<locals>.check_delete_starred  sB    ++){{99
*99$A&8$A&$AA rZ   r   r   r   !can't use starred expression herera  Nzcannot delete starredr   r   )
rZ  r   rr   rt   rL   r   rN   r2  rf   message_iterable_unpacking)r   rT   r  ancestors   &&  rY   rQ  _StarExprRule.is_issue   s   	 ##v-{{H-d3H== G"4 G6F GG!&0X5F5Fq5IS5PNN4)LNM%%''61t-DE  t-PQ;;.{{##A&++>t-L-LM ? /rZ   rI  N)r   r   r   r   r  rQ  r   r   r   s   @rY   r  r    s     !UN NrZ   r  )typesc                   &   a  ] tR tRt o R tRtV tR# )_StarExprParentRulei!  c                  a V3R  loS! WP                   4      '       d   VP                   Uu. uF  q"R8w  g   K  VNK  	  ppV Uu. uF  q"P                  R8X  g   K  VNK  	  pp\        V4      ^8  d=   V P                  P
                  R	8  d   RpMRpV P                  V^,          VR7       R# V'       d@   VP                  V^ ,          4      pVR8  d   RpV P                  V^ ,          VR7       R# R# R# R# u upi u upi )
c                    < Vf   R# VP                   pVR8X  d   R# VR8X  d+   V P                  VP                  R,          P                  8  # S! WP                  4      # )NFr/   r   rH   )rL   r   rN   rr   )rT   r  rU   r   s   && rY   r   3_StarExprParentRule.is_issue.<locals>.is_definition$  sW    MME	!#~~(9(9"(=(G(GGG 77rZ   r  r5   z%two starred expressions in assignmentz*multiple starred expressions in assignmentra     z1too many expressions in star-unpacking assignmentNr   )rr   rN   rL   rO   rZ  r   r2  r  )r   rT   r  r   r8   r   countr   s   &&     @rY   rQ  _StarExprParentRule.is_issue#  s    	8 {{++#}}9}!SAA}D9"&@$Q&&K*?qq$G@7|a##++f4EGJGwqz7;

71:.C<QGNN71:wN?    ,9@s   C=C=DDrI  Nr   r   r   r   rQ  r   r   r   s   @rY   r  r  !  s     @ @rZ   r  r   c                   0   a  ] tR tRt o RtR tR tRtV tR# )_AnnotatorRuleiA  zillegal target for annotationc                    VP                   # r   rk  r   s   &&rY   rN  _AnnotatorRule.get_nodeG  r  rZ   c                0   R pVP                   P                  ^ ,          p\        V4      p VP                  pRV9   g    VP                  R8X  d   V^ ,          R8X  d   RpM!VP                  R8X  d   V^ ,          R8X  d   RpVR,          pVfR   VP                  R8X  g?   VP                  R9   d*   XP                  R8X  d   VP                  ^ ,          R8w  g   R	# R # R # R
pV P                  VP                   Wb,          R7       R #   \         d     Li ; i)Nr  r   r   r   r   r   r   r/   Tz,only single target (not %s) can be annotatedra  rH   rE   )rr   rN   rQ   rL   ro   r2  )r   rT   rU   lhsrN   r/   r   s   &&     rY   rQ  _AnnotatorRule.is_issueJ  s    kk""1%S!		#||H h#((f"4!9KV#s(:rlG=HH&xx#99	1((+s2 3	 ' EGNN3::wN?'  		s   D DDrI  NrS  r   s   @rY   r  r  A  s      .G@ @rZ   r  r   c                   &   a  ] tR tRt o R tRtV tR# )_ArgumentRuleif  c                   VP                   ^ ,          pV P                  P                  R8  d   \        V4      pVP                   ^,          R8X  dv   VP                  R8w  de   VP                  R8X  d"   V P                  P                  R8  d   RpM#RpM V P                  P                  R8  d   RpMRpV P                  W#R7       \        V4      '       d3   VP                  P                  R8X  d   V P                  VR	R7       R
# R
# R
# )r   =r   r   z lambda cannot contain assignmentz=expression cannot contain assignment, perhaps you meant "=="?zkeyword can't be an expressionra  r  r  Nr<   )rN   rZ  r   rQ   rL   r2  r   rr   )r   rT   rW   r   s   &&  rY   rQ  _ArgumentRule.is_issueh  s    a ##f,"5)E==s"uzzV';zzY&##++f4@G]G ##++f4>G]GNN5N2%d++0@0@J0NNN4)9N: 1O+rZ   rI  Nr  r   s   @rY   r  r  f  s     ; ;rZ   r  r   c                   *   a  ] tR tRt o RtR tRtV tR# )_NonlocalModuleLevelRulei  z0nonlocal declaration not allowed at module levelc                F    V P                   P                  P                  R J # r   )rZ  r	  r   r   s   &&rY   rQ  !_NonlocalModuleLevelRule.is_issue  s    ''66$>>rZ   rI  Nrw  r   s   @rY   r
  r
    s     @G? ?rZ   r
  arglistc                   6   a  ] tR tRt o ]R 4       tR tRtV tR# )_ArglistRulei  c                @    V P                   P                  R8  d   R# R# )r=   z?Generator expression must be parenthesized if not sole argumentz*Generator expression must be parenthesizedr  )rZ  r   r   s   &rY   r   _ArglistRule.message  s    ##f,T?rZ   c                   \        4       pR pR pVP                   EFi  pVR8X  d   K  VP                  R8X  Ed   VP                  ^ ,          p\        V4      '       d   \	        VP                  4      ^8  d    R# VR9   d,   VR8X  d!   V'       d   RpV P                  WWR7       K  K  RpK  RpVP                  R8X  d   VP                  V9   dU   RpV P                  P                  R8  d#   VR	P                  VP                  4      ,          pV P                  WgR7       EK
  VP                  VP                  4       EK(  EK+  V'       d   R
pV P                  WWR7       EKJ  V'       g   EKU  RpV P                  WWR7       EKl  	  R# )Fr  r   Tr  z>iterable argument unpacking follows keyword argument unpackingra  r   zkeyword argument repeatedz: {}z6positional argument follows keyword argument unpackingz,positional argument follows keyword argumentN)r  r   r   )setrN   rL   r   rO   r2  rR   rZ  r   formatadd)r   rT   arg_setkw_onlykw_unpacking_onlyr   rW   r   s   &&      rY   rQ  _ArglistRule.is_issue  s=   %!H3}}
* ))!,-h77C<NRS<SK'|,'KG NN8NE	 - -1)"GzzV+ ;;'1&AG#//776A '6==+E E NN5NB#KK4 , %VGNN8N=WLGNN8N=M &rZ   rI  N)	r   r   r   r   propertyr   rQ  r   r   r   s   @rY   r  r    s#     @ @*> *>rZ   r  r  r   c                   *   a  ] tR tRt o RtR tRtV tR# )_ParameterRulei  z-non-default argument follows default argumentc                *   \        4       pR pR p\        V4       F  pVP                  R8X  d   VP                  R8X  d   RpR pK+  VP                  P                  V9   d:   RpV P                  VP                  WeP                  P                  ,          R7       VP                  VP                  P                  4       V'       d   K  VP                  f    VP                  '       g   V'       d    R# K  VP                  '       d   RpR pK  RpK  	  R# )Fr%   r  Tz.duplicate argument '%s' in function definitionra  N)	r  r}   rL   rR   r   r2  r  defaultr  )r   rT   param_namesdefault_only	star_seenpr   s   &&     rY   rQ  _ParameterRule.is_issue  s    e	d#Avv#77c> $I#(Lvv||{*Jqvvw/EFOOAFFLL)999$Q\\\## $\\\ $I#(L#'L) $rZ   rI  Nrw  r   s   @rY   r  r    s      >G( (rZ   r  c                   *   a  ] tR tRt o RtR tRtV tR# )_TryStmtRulei  zdefault 'except:' must be lastc                    R pVP                   R,           F:  pVR9   d    R # VR8X  d   TpK  Vf   K  V P                  W P                  R7       K<  	  R # )N:r=   Nr=   exceptra  )elser|  )rN   r2  r   )r   r
   default_exceptexcept_clauses   &&  rY   rQ  _TryStmtRule.is_issue  sP    %..t44M 33(!.+~||D 5rZ   rI  Nrw  r   s   @rY   r%  r%    s     .GE ErZ   r%  r:   c                   L   a  ] tR tRt o RtRtRtRtR tR t	R t
RR	 ltR
tV tR# )_FStringRulei  Nz3f-string expression part cannot include a backslashz'f-string: expressions nested too deeplyzAf-string: invalid conversion character: expected 's', 'r', or 'a'c                L    V P                  VP                  R ,          V4       R# )r  N_check_fstring_contentsrN   )r   format_specdepths   &&&rY   _check_format_spec_FStringRule._check_format_spec  s    $$[%9%9"%=uErZ   c                   V^8  d   V P                  WP                  R7       VP                  ^,          pRVP                  4       9   d   V P                  W0P                  R7       VP                  ^,          pVP
                  R8X  d&   VP                  R8X  d   VP                  ^,          pMTpVP
                  R8X  dA   VP                  ^,          pVP                  R9  d   V P                  W`P                  R7       VP                  R	,          pVP
                  R8X  d   V P                  Wr^,           4       R# R# )
r   ra  r  r%   r  fstring_conversionfstring_format_specN)sr  ar   )	r2  message_nestedrN   get_codemessage_exprrL   rR   message_conversionr3  )r   fstring_exprr2  r4   
children_2
conversionr   r1  s   &&&     rY   _check_fstring_expr _FStringRule._check_fstring_expr  s    A:NN<1D1DNE$$Q'4==?"NN4):):N;!**1-
??j(Z-=-=-D%..q1J#J??22&&q)Dzz0t-D-DE"++B/44##K; 5rZ   c                B    V P                  VP                  ^R 4       R# )r   NrH   r/  )r   r:   s   &&rY   rQ  _FStringRule.is_issue  s    $$W%5%5a%;<rZ   c                `    V F'  pVP                   R 8X  g   K  V P                  W24       K)  	  R# )r>  N)rL   rA  )r   rN   r2  fstring_contents   &&& rY   r0  $_FStringRule._check_fstring_contents  s(    'O##~5((@  (rZ   rI  )r   )r   r   r   r   _fstring_grammarr<  r:  r=  r3  rA  rQ  r0  r   r   r   s   @rY   r-  r-    s7     HL>N\F<,=A ArZ   r-  c                   *   a  ] tR tRt o RR ltRtV tR# )_CheckAssignmentRulei  c                
   R pVP                   pVR8X  d   RpEMVR8X  Ed   VP                  R,          w  rx\        V4      pVEf   VP                   R8X  d_   V P                  P                  R78  d   RpEMVP                  ^,          R8X  d$   V P                  P                  R88  d   RpEMeR	pEMaR
pEM]VR8X  dJ   VR8X  dC   V P                  P                  R78  d   RpEM0V P                  P                  R88  d   RpEMR	pEMVR8X  d>   \        VP                  4      ^8  d$   V P                  P                  R78  d   RpEMR
pEMVR99   d   VP                   R8X  d   RpEMVP                   R8X  dJ   V'       d   VR8X  d   RpM	VR8X  d   RpVP                  R,           F  p	V P                  WW44       K  	  EMSV P                  WW44       EM?VR8X  dL   VP                  R8X  d   RpEM#V P                  P                  R78  d   RpEM\        VP                  4      pEMVR8X  d5   VP                  R8X  d"   V P                  P                  R88  d   RpEMRpEMVR8X  d   RpEMVR:9   d   RpEMVR8X  d   Rp
V P                  WR7       EMVR8X  d   RpEMtVR;9   d   VP                  ^ ,          R 8X  d   R!pEMQVP                  R<,          R"8X  d$   V P                  P                  R88  d   RpEMR#pEMVP                  R=,          pVP                   R$8X  g   Q hVP                  ^ ,          R8X  d   R%pEMV'       d   VP                  ^ ,          R8X  d   R&pEMV'       d   VP                  ^ ,          R'8X  d   R(pEMVR)8X  d$   V P                  P                  R78  d   RpEMfR*pEMbVR>9   d/   VP                  R,           F  p	V P                  WW44       K  	  EM-R+V9   d   VR,8w  g   R-V9   g   VR?9   d"   V P                  P                  R88  d   RpMR#pMVR,8X  d   V'       d3   V P                  P                  R@8  d   R.pMV P                  VR/R7       MV P                  P                  R@8  d   VP                  pM\        V4      pVP                   \        9  dF   V'       g>   VP                   R8X  d   VP                  ^ ,          R8X  g   R0p
V P                  WR7       V P                  VP                  ^,          4       Vec   V'       d   R1V,          p
M<V P                  P                  R78  d   R2MR3pR4P                  Y'       d   R5MR6V.4      p
V P                  WR7       R # R # )ANr   r   r   r   r   r   r   r   r   r   r    r!   r   r   r*   r$   r   r   r   r   r"   r#   r%   r&   r'   r(   r)   z+assignment to yield expression not possiblera  r+   r,   r-   r.   r   r7   r/   r0   r1   r2   r3   r:   r;   r4   r5   r6   r8   r  z4starred assignment target must be in a list or tuplez)cannot use assignment expressions with %szcan'tcannot deletez	assign tor<   r?   )r   r   rA   rE   r   rH   )r9   r   r   rI   r   )rL   rN   rM   rZ  r   rO   _check_assignmentrR   rS   r2  rr   rt   r   join)r   rT   is_deletionis_namedexpris_aug_assignrc  rU   rW   rX   ra   r   r/   r  rL  s   &&&&&         rY   rO  &_CheckAssignmentRule._check_assignment  s   		IEf_ MM"-ME+D1E};;"22''//&8 )!??1-4#//77'A(6(6$1Ec\fm''//&8 )++33g=$2E$2Ec\c$--&81&<''//&8 ) -j({{l2 27 ($|(/!&#(. &,__S%9%9E 225|c &: ..vL`izzW$*!!))F2!DJJj zzU"##++g5&E&El" E55El"CGNN4N1f_,E,,}}Q7**r"d*##++g5&E(E --+||y000##A&#-+E!g&6&6q&9S&@'E!g&6&6q&9S&@'Ei''&0!-DDs++&&u<W ,o%;"6E!,,'''1"$k!##++v5%ENN41TNU##++v5#{{H5d;H==(::=!)&!8X=N=Nq=QUX=XTGNN4N9""4==#34EM$($4$4$<$<v$E8((FHV[#\]NN4N1 rZ   rI  N)FFF)r   r   r   r   rO  r   r   r   s   @rY   rJ  rJ    s     C2 C2rZ   rJ  c                   *   a  ] tR tRt o RtR tRtV tR# )_CompForRulei  z>asynchronous comprehension outside of an asynchronous functionc                   VP                   ^,          pVP                  R8w  d   V P                  V4       VP                  P                   ^ ,          R8H  ;'       d*    V P                  P
                  P                  4       '       * # )r   	expr_listasync)rN   rL   rO  rr   rZ  r	  r   )r   rT   rX  s   && rY   rQ  _CompForRule.is_issue  sn    MM!$	>>[(""9-{{##A&'1 @ @$$,,==??	@rZ   rI  Nrw  r   s   @rY   rV  rV    s     NG@ @rZ   rV  r   c                   <   a  ] tR tRt o RtR],           tR tRtV tR# )_ExprStmtRulei  z+illegal expression for augmented assignmentz'{target}' is an c           	     &   VP                   ^,          pVR8g  ;'       d    VP                  R8g  pV P                  P                  R8:  g	   V'       g0   VP                   RR^1,           F  pV P	                  WCR7       K  	  V'       Ed   \        VP                   ^ ,          4      pVP                  R8X  g]   VP                  R9   dN   VP                   ^,          P                  R8X  d,   VP                   R,          P                   ^ ,          R8w  d   R# V P                  P                  R8:  d   R	# V P                  VV P                  P                  \        VP                   ^ ,          V P                  P                  4      R
7      R7       R# R# )r   r  r   N)rS  r   r/   r   FT)targetra  r<   r   rE   rH   )
rN   rL   rZ  r   rO  rQ   r2  extended_messager  rP   )r   rT   	augassignrS  before_equalr^  s   &&    rY   rQ  _ExprStmtRule.is_issue  sA   MM!$	!S(JJY^^{-J##v-] $er!e 4 4&&|&Q !5 =#DMM!$45F {{f$55OOA&++y8OOB'003s:''61 1188,T]]1-=t?O?O?W?WX 9    rZ   rI  N)	r   r   r   r   r   r_  rQ  r   r   r   s   @rY   r\  r\    s     ;G*W4 rZ   r\  	with_itemc                   &   a  ] tR tRt o R tRtV tR# )_WithItemRulei  c                J    V P                  VP                  ^,          4       R# )r   N)rO  rN   )r   rc  s   &&rY   rQ  _WithItemRule.is_issue  s    y11!45rZ   rI  Nr  r   s   @rY   re  re    s     6 6rZ   re  r  c                   &   a  ] tR tRt o R tRtV tR# )_DelStmtRulei  c                x    VP                   ^,          pVP                  R8w  d   V P                  VRR7       R# R# )r   rX  T)rQ  NrN   rL   rO  )r   r  ra   s   && rY   rQ  _DelStmtRule.is_issue  s6    !!!$::$""5d"; %rZ   rI  Nr  r   s   @rY   ri  ri    s     < <rZ   ri  rX  c                   &   a  ] tR tRt o R tRtV tR# )_ExprListRulei  c                \    VP                   R ,           F  pV P                  V4       K  	  R# )r   N)rN   rO  )r   rX  r4   s   && rY   rQ  _ExprListRule.is_issue  s(    &&s++D""4( ,rZ   rI  Nr  r   s   @rY   rn  rn    s     ) )rZ   rn  c                   &   a  ] tR tRt o R tRtV tR# )_ForStmtRulei  c                t    VP                   ^,          pVP                  R8w  d   V P                  V4       R# R# )r   rX  Nrk  )r   r	   rX  s   && rY   rQ  _ForStmtRule.is_issue  s1    %%a(	>>[(""9- )rZ   rI  Nr  r   s   @rY   rr  rr    s     . .rZ   rr  namedexpr_testc                   &   a  ] tR tRt o R tRtV tR# )_NamedExprRulei  c                d  a	a
 VP                   ^ ,          pR pV! V4      '       d   RpV P                  WR7       \        4       o	V	3R lo
V
3R lpV! V4      pV'       d   V P                  P                  P
                  P                  R8X  d   RpV P                  WR7       S	 Uu. uF!  qwP                  R8X  g   K  VP                  NK#  	  ppVP                  R8X  d7   VP                  V9   d&   R	VP                  ,          pV P                  WR7       V P                  VR
R7       R# u upi )r   c                      V P                   pVf   V# VP                  R8X  d   VP                  ^,          V 8X  d   V# Tp KB  )Tr   rq   )rT   rr   s   & rY   search_namedexpr_in_comp_for=_NamedExprRule.is_issue.<locals>.search_namedexpr_in_comp_for  s>    >!M;;/1fooa6HD6P!MrZ   zKassignment expression cannot be used in a comprehension iterable expressionra  c                    < V P                   R 8X  d   T pM$V P                   R8X  d   V P                  ^,          pSP                  \        X4      4       R# )r   r  N)rL   rN   r   r   )r  compr   s   & rY   process_comp_for1_NamedExprRule.is_issue.<locals>.process_comp_for  sB    }}/*,((+OO:4@ArZ   c                    < R p V P                  RR4      p V f    V# V P                   F%  pVP                  \        9   g   K  S! V4       Rp KM  	  KQ  )FTr   r   )r   rN   rL   rf   )rT   has_ancestorsra   r~  s   &  rY   search_all_comp_ancestors:_NamedExprRule.is_issue.<locals>.search_all_comp_ancestors  sZ    !M++O=MN< !  "]]Ezz_4(/(,	 +rZ   r  zKassignment expression within a comprehension cannot be used in a class bodyr   zGassignment expression cannot rebind comprehension iteration variable %rT)rR  N)	rN   r2  r   rZ  r	  rT   rL   rR   rO  )r   ru  rW   rz  r   r  
search_allr4   namelistr   r~  s   &&       @@rY   rQ  _NamedExprRule.is_issue  s	   ''*	 (77 dGNN>N; 6	B	! /~>
'',,11Z?;~?/7Oxt99;N


xHOzzV#x(?
@BG++N~?u48 Ps   (D-?D-rI  Nr  r   s   @rY   rw  rw    s     =9 =9rZ   rw  )if_stmtrs  r	   r
   	with_stmt)r9   r   r   )nested_scopes
generatorsdivisionabsolute_importwith_statementprint_functionunicode_literalsgenerator_stop)r  r   )Fr  r  r  r&  
contextlibr   parso.normalizerr   r   r   r   parso.python.tokenizer   r  r   r  r  r  rf   rP   rc   rM   rm   rQ   rt   r}   r   r   r   r   r   r   r   r   rD  register_rulerL  rU  rX  r]  rf  rp  rz  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r
  r  r  r%  r-  rJ  rV  r\  re  ri  rn  rr  rw  rI  rZ   rY   <module>r     s(    
  	 % F F 7MH   0Sl;	Z"(0=
8/F FDq;* q;h.d . -	3? 	3 .	3#( #
) 
) -  .& )  * )
  * ,j  -, (<j < )< '*  ( ) HJ  H * HF %	# 	# &	# &	MZ 	M '	M )*J  + *  	*  +"  12:  3 .]J ] /] .:
 : /:. ,!NJ !N -!NH !34@* @ 5@> ,!@Z !@ -!@H 
+;J ; ,;2 0?z ? 1? 	*2>: 2> +2>j -	*(Z ( + .(> 
+E: E ,E 	*%A: %A +%APD2: D2N 0	@' 	@ 1	@ ,(  -D ,6( 6 -6
 
+<' < ,< ,)( ) -) 
+.' . ,.  01@9) @9 2@9rZ   