Ë
    pPêjYW ã                  óÞ  — U d dl mZ d dlZd dlZd dlZd dlmZmZ d dlm	Z	m
Z
mZmZmZmZ d dlmZmZmZ d dlmZ d dlmZ d dlmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZemfZfmgZgmhZhmiZi d d	ljmkZk d d
llmmZmmnZnmoZompZpmqZqmrZrmsZsmtZt d dlumvZvmwZw d dlxmyZymzZz d dl{m|Z| d dl}m~Z~mZm€Z€m�Z�m‚Z‚mƒZƒm„Z„m…Z…m†Z†m‡Z‡mˆZˆm‰Z‰mŠZŠm‹Z‹mŒZŒ d dl�mŽZŽm�Z� e�j                   d   Z‘de’d<   d dl“Z”d dl“m•Z•m–Z–m—Z—m˜Z˜m™Z™mšZšm›Z›mœZœm�Z� e‘f	 	 	 	 	 	 	 	 	 d.d„Zže”�j>                  e”�j@                  z  e”�jB                  z  e”�jD                  z  Z£e�j                   dk\  re”�jH                  Z¤ne	Z¤e�j                   dk\  r4e”�jJ                  Z¦e”�jN                  Z¨e”j                  Z©e”�jT                  Z«ne	Z¦e	Z¨e	Z©e	Z«e�j                   dk\  re”�jX                  Z­e”�j\                  Z¯ne	Z­e	Z¯ edeL¬«      Z° e‚eg d«      Z±de’d<    e�jd                  d«      Z³de’d<   	 d/	 	 	 	 	 	 	 	 	 	 	 d0d„Z´d1d„Zµ	 	 	 	 	 	 	 	 	 	 d2d „Z¶	 	 	 	 	 	 	 	 	 	 d3d!„Z·d4d"„Z¸d5d#„Z¹ G d$„ d%«      Zº G d&„ d'«      Z»d6d(„Z¼ G d)„ d*e|«      Z½ G d+„ d,e|«      Z¾d7d-„Z¿y)8é    )ÚannotationsN)ÚCallableÚSequence)ÚAnyÚFinalÚLiteralÚTypeVarÚcastÚoverload)ÚdefaultsÚ
errorcodesÚmessage_registry)ÚErrors)ÚErrorMessage)QÚ	ARG_NAMEDÚARG_NAMED_OPTÚARG_OPTÚARG_POSÚARG_STARÚ	ARG_STAR2ÚMISSING_FALLBACKÚPARAM_SPEC_KINDÚTYPE_VAR_KINDÚTYPE_VAR_TUPLE_KINDÚArgKindÚArgumentÚ
AssertStmtÚAssignmentExprÚAssignmentStmtÚ	AwaitExprÚBlockÚ	BreakStmtÚ	BytesExprÚCallExprÚClassDefÚComparisonExprÚComplexExprÚConditionalExprÚContinueStmtÚ	DecoratorÚDelStmtÚDictExprÚDictionaryComprehensionÚEllipsisExprÚ
ExpressionÚExpressionStmtÚ	FloatExprÚForStmtÚFuncDefÚGeneratorExprÚ
GlobalDeclÚIfStmtÚImportÚ	ImportAllÚ
ImportBaseÚ
ImportFromÚ	IndexExprÚIntExprÚ
LambdaExprÚListComprehensionÚListExprÚ	MatchStmtÚ
MemberExprÚMypyFileÚNameExprÚNodeÚNonlocalDeclÚOperatorAssignmentStmtÚOpExprÚOverloadedFuncDefÚOverloadPartÚPassStmtÚ	RaiseStmtÚRefExprÚ
ReturnStmtÚSetComprehensionÚSetExprÚ	SliceExprÚStarExprÚ	StatementÚStrExprÚ	SuperExprÚTemplateStrExprÚTempNodeÚTryStmtÚ	TupleExprÚTypeAliasStmtÚ	TypeParamÚ	UnaryExprÚVarÚ	WhileStmtÚWithStmtÚ	YieldExprÚYieldFromExprÚcheck_param_names)ÚOptions)Ú	AsPatternÚClassPatternÚMappingPatternÚ	OrPatternÚSequencePatternÚSingletonPatternÚStarredPatternÚValuePattern)Ú"infer_reachability_of_if_statementÚmark_block_unreachable)Úargument_elide_nameÚspecial_function_elide_names)ÚTraverserVisitor)ÚAnyTypeÚCallableArgumentÚCallableTypeÚEllipsisTypeÚInstanceÚ
ProperTypeÚRawExpressionTypeÚ	TupleTypeÚTypeÚTypedDictTypeÚTypeListÚ	TypeOfAnyÚUnboundTypeÚ	UnionTypeÚ
UnpackType)Úbytes_to_human_readable_reprÚunnamed_functioné   r   ÚPY_MINOR_VERSION)	ÚASTÚ	AttributeÚCallÚFunctionTypeÚNameÚStarredÚUAddÚUnaryOpÚUSubc                ó¾   — t        j                  «       5  t        j                  dt        «       t	        j
                  | ||d|¬«      cd d d «       S # 1 sw Y   y xY w)NÚignoreT)Útype_commentsÚfeature_version)ÚwarningsÚcatch_warningsÚsimplefilterÚSyntaxWarningÚast3Úparse)ÚsourceÚfilenameÚmoder�   s       úS/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/mypy/fastparse.pyÚ
ast3_parserš   ˆ   sP   € ô 
×	 Ñ	 Ó	"ñ 
Ü×Ñ˜h¬Ô6Ü�z‰zØØØØØ+ô
÷
÷ 
ò 
ús   •4AÁA)é   é   ©r›   é   )r›   é   ÚN)ÚboundéÿÿÿÿÚ_dummy_fallbackz[^#]*#\s*type:\s*ignore\s*(.*)ÚTYPE_IGNORE_PATTERNc           
     óØ  — |duxr |j                   xs ||j                  v }|xr |du xs |j                   }|€
t        «       }|j	                  |||¬«       |j                  d«      }|rt        j                  d   }n9|rt        j                  d   }n#|j                  d   dk\  sJ ‚|j                  d   }|j                  d   dk(  r!|j                  d   |kD  r|j                  d   }	 t        j                  «       5  t        j                  dt        ¬«       t        j                  dt        ¬«       t!        | |d	|¬
«      }	ddd«       t#        |||||¬«      j%                  	«      }
tG        |
t2        «      sJ ‚|
S # 1 sw Y   Œ<xY w# t&        $ rq}	 t)        j*                  «       j%                  	«       |‚# t&        $ r5 |j-                  ddddt.        j0                  ¬«       t3        g g di «      }
Y nw xY wY d}~Œ•d}~wt4        $ rÙ}|j6                  }|t        j                  j8                  kD  r;|j;                  d«      r*|j                  d   › d|j                  d   › �}|d|› d�z  }|j-                  |j<                  �|j<                  nd|j>                  tA        jB                  dd„ |«      dt.        jD                  ¬«       t3        g g di «      }
Y d}~�Œud}~ww xY w)zÏParse a source file, without doing any semantic analysis.

    Return the parse tree. If errors is not provided, raise ParseError
    on failure. Otherwise, use the errors object to report parse errors.
    N)Úoptionsz.pyir�   r   r›   r�   )ÚcategoryÚexec)r�   )r¦   Úis_stubÚerrorsÚstrip_function_bodiesÚpathr¢   z&Source expression too complex to parseF©ÚblockerÚcodezinvalid syntaxú.z+; you likely need to run mypy using Python z	 or newerz^(\s*\w)c                ó@   — | j                  d«      j                  «       S )Nr�   )ÚgroupÚupper)Úms    r™   ú<lambda>zparse.<locals>.<lambda>
  s   €  q§w¡w¨q£z×'7Ñ'7Ó'9€ ó    T)$Úignore_errorsÚignored_filesÚpreserve_astsrb   Úset_fileÚendswithÚsysÚversion_infor   ÚPYTHON3_VERSIONÚpython_versionr�   r‘   ÚfilterwarningsÚDeprecationWarningr“   rš   ÚASTConverterÚvisitÚRecursionErrorr”   ÚNodeVisitorÚreportÚcodesÚMISCrB   ÚSyntaxErrorÚmsgÚminorÚ
startswithÚlinenoÚoffsetÚreÚsubÚSYNTAXÚ
isinstance)r–   ÚfnamÚmodulerª   r¦   r·   r«   Úis_stub_filer�   ÚastÚtreeÚeÚmessageÚpython_version_strs                 r™   r•   r•   »   sò  € ð  DÐ(ÒB¨W×-BÑ-Bò Ø�×$Ñ$Ð$ð ð *Ò\¨w¸$¨Ò/[Àg×F[ÑF[ÐB[Ðà€Ü“)ˆØ
‡O�O�D˜&¨'€OÔ2Ø—=‘= Ó(€LÙÜ×*Ñ*¨1Ñ-‰Ù	Ü"×2Ñ2°1Ñ5‰à×%Ñ% aÑ(¨AÒ-Ð-Ð-Ø!×0Ñ0°Ñ3ˆØ×Ñ˜aÑ  AÒ%¨'×*@Ñ*@ÀÑ*CÀoÒ*UØ!×0Ñ0°Ñ3ˆð5+ô ×$Ñ$Ó&ñ 	TÜ×#Ñ# HÔ7IÕJÜ×#Ñ# H´}ÕEÜ˜V T¨6À?ÔSˆC÷	Tô
 ØØ ØØ"7Øô
÷ ‰%�‹*ð 	ô\ �dœHÔ%Ð%Ð%Ø€K÷i	Tð 	Tûô ò ð	ô ×ÑÓ×$Ñ$ SÔ)ð ˆGøô ò 	/Ø�M‰MØ�BÐ@È%ÔV[×V`ÑV`ð ô ô ˜B  E¨2Ó.ŠDð	/úô
 ûô ò +Ø—%‘%ˆØœS×-Ñ-×3Ñ3Ò3¸×8JÑ8JÐK[Ô8\Ø$+×$:Ñ$:¸1Ñ$=Ð#>¸aÀ×@VÑ@VÐWXÑ@YÐ?ZÐ![ÐØÐDÐEWÐDXÐXaÐbÑbˆGØ�‰ØŸ™Ð,ˆA�HŠH°"Ø�H‰HÜ�F‰FØÑ9¸7óð Ü—‘ð 	ô 	
ô ˜˜B  rÓ*Žûð+ús\   Ã.F ÄAFÅ'F ÆFÆF Æ	K)Æ#F>Æ<HÆ>;G<Ç9HÇ;G<Ç<HÈK)ÈCK$Ë$K)c                ó,  — | r2| j                  «       dk(  s| j                  «       j                  d«      rg S t        j                  d| «      }|€y|j	                  d«      j                  d«      D �cg c]  }|j                  «       x}sŒ|‘Œ c}S c c}w )zÖParse optional "[code, ...]" tag after "# type: ignore".

    Return:
     * [] if no tag was found (ignore all errors)
     * list of ignored error codes if a tag was found
     * None if the tag was invalid.
    Ú ú#z\s*\[([^]#]*)\]\s*(#.*)?$Nr�   ú,)ÚstriprÌ   rÏ   Úmatchr²   Úsplit)Útagr´   r¯   Ústripped_codes       r™   Úparse_type_ignore_tagrä     s€   € ñ �#—)‘)“+ Ò# s§y¡y£{×'=Ñ'=¸cÔ'Bàˆ	Ü
�‰Ð-¨sÓ3€AØ€yàØ&'§g¡g¨a£j×&6Ñ&6°sÓ&;Ö_˜dÐQU×Q[ÑQ[ÓQ]Ð@]ÀÑ@]ŠMÒ_Ð_ùÒ_s   Á2BÂ
Bc                ó   — 	 t        | dd«      }t        j                  | «      }|rb|j                  d«      }t	        |«      }|€F|�<|j                  ||t        j                  j                  t        j                  ¬«       nt        ‚d}t        |t        j                  «      sJ ‚t        |||d¬«      j!                  |j"                  «      }||fS # t        $ rr |�n| j%                  dd	«      d
   j'                  «       }	t        j(                  j+                  |	«      }
|j                  |||
j                  d|
j,                  ¬«       Y y‚ w xY w)zkParse type portion of a type comment (+ optional type ignore).

    Return (ignore info, parsed type).
    z<type_comment>Úevalr�   N)r¯   F)ÚlineÚoverride_columnÚis_evaluatedrÝ   é   r   Tr­   ©NN)rš   r¤   rà   r²   rä   rÆ   r   ÚINVALID_TYPE_IGNOREÚvaluerÇ   rÑ   rÉ   rÒ   r”   r/   ÚTypeConverterrÃ   Úbodyrá   rß   ÚTYPE_COMMENT_SYNTAX_ERROR_VALUEÚformatr¯   )Útype_commentrç   Úcolumnrª   ÚtypÚextra_ignorerâ   ÚignoredÚ	convertedÚstripped_typeÚerr_msgs              r™   Úparse_type_commentrú   '  s@  € ð"Ü˜Ð'7¸Ó@ˆô +×0Ñ0°Ó>ˆÙØ*×0Ñ0°Ó3ˆCÜ(=¸cÓ(BˆGØˆØÐ%Ø—M‘MØ˜fÔ&6×&JÑ&J×&PÑ&PÔW\×WcÑWcð "õ ô &Ð%àˆGÜ˜#œtŸ™Ô/Ð/Ð/Ü!Ø˜¨vÀEô
ç
‰%�—‘‹/ð 	ð ˜	Ð!Ð!øô5 ò ØÐØ(×.Ñ.¨s°AÓ6°qÑ9×?Ñ?ÓAˆMÜ&×FÑF×MÑMÈmÓ\ˆGØ�M‰M˜$ ¨¯©¸tÈ'Ï,É,ˆMÔWÙàðús   ‚C ÃA7EÅEc                óö   — 	 t        d| › d�||d¬«      \  }}t        |t        t        f«      r|j                  €| |_        ||_        |S t        | |||«      S # t        t        f$ r t        | |||«      cY S w xY w)zÌParses a type that was originally present inside of an explicit string.

    For example, suppose we have the type `Foo["blah"]`. We should parse the
    string expression "blah" using this function.
    ú(ú)N)rç   ró   rª   )	rú   rÒ   r|   r}   Úoriginal_str_exprÚoriginal_str_fallbackrv   rÉ   Ú
ValueError)Úexpr_stringÚexpr_fallback_namerç   ró   Ú_Únodes         r™   Úparse_type_stringr  M  s‘   € ðPÜ$ q¨¨°QÐ%7¸dÈ6ÐZ^Ô_‰ˆˆ4Ü�dœ[¬)Ð4Ô5¸$×:PÑ:PÐ:XØ%0ˆDÔ"Ø);ˆDÔ&ØˆKä$ [Ð2DÀdÈFÓSÐSøÜœÐ$ò Pô ! Ð.@À$ÈÓOÒOðPús   ‚AA Á
A ÁA8Á7A8c                óê   — t        | t        «      r| j                  dk(  S t        | t        «      rDt        | j                  t        «      r*| j                  j                  dk(  xr | j
                  dk(  S y)NÚno_type_checkÚtypingF)rÒ   r‡   Úidr„   rí   Úattr)Úexprs    r™   Úis_no_type_check_decoratorr  c  sW   € Ü�$œÔØ�w‰w˜/Ñ)Ð)Ü	�Dœ)Ô	$Ü�d—j‘j¤$Ô'Ø—:‘:—=‘= HÑ,ÒM°·±¸oÑ1MÐMØr¶   c                óÖ   — | €y t        j                  | «      D ]N  }t        |t         j                  t         j                  t         j
                  t         j                  f«      sŒL|c S  y ©N)r”   ÚwalkrÒ   ÚYieldÚ	YieldFromÚ	NamedExprÚAwait)r  r  s     r™   Ú.find_disallowed_expression_in_annotation_scoper  l  sN   € Ø€|ØÜ—	‘	˜$“ò ˆÜ�dœTŸZ™Z¬¯©¼¿¹ÌÏÉÐTÕUØŠKðð r¶   c                  óø  — e Zd ZU 	 	 	 	 	 	 	 	 	 	 	 	 dd„Zd€d„Zd�d„Zd‚d„Zdƒd„Zd„d„Zd…d„Z	d†d„Z
d‡d	„Zd
d
d
dœ	 	 	 	 	 	 	 	 	 dˆd„Z	 	 	 	 	 	 d‰d„Zej                  dej                   dej"                  dej$                  dej&                  dej(                  dej*                  dej,                  dej.                  dej0                  dej2                  dej4                  dej6                  diZded<   dŠd„Zej>                  dej@                  dejB                  d ejD                  d!ejF                  d"ejH                  d#ejJ                  d$ejL                  d%ejN                  d&ejP                  d'i
Z)ded(<   d‹d)„Z*dŒd*„Z+d�d+„Z,d
d
d,œ	 	 	 	 	 	 	 dŽd-„Z-d�d.„Z.	 d�	 	 	 	 	 d‘d0„Z/	 	 	 	 d’d1„Z0d“d2„Z1d”d3„Z2d•d4„Z3d–d5„Z4d—d6„Z5d˜d7„Z6	 d™	 	 	 	 	 dšd8„Z7d›d9„Z8	 d™	 	 	 	 	 	 	 dœd:„Z9	 d™	 	 	 	 	 	 	 	 	 	 	 d�d;„Z:džd<„Z;dŸd=„Z<d d>„Z=d¡d?„Z>d¢d@„Z?d£dA„Z@d¤dB„ZAd¥dC„ZBd¦dD„ZCd§dE„ZDd¨dF„ZEd©dG„ZFdªdH„ZGd«dI„ZHd¬dJ„ZId­dK„ZJd®dL„ZKd¯dM„ZLd°dN„ZMd±dO„ZNd²dP„ZOd³dQ„ZPd´dR„ZQdµdS„ZRd¶dT„ZSd·dU„ZTd¸dV„ZUd¹dW„ZVdºdX„ZWd»dY„ZXd¼dZ„ZYd½d[„ZZd¾d\„Z[d¿d]„Z\dÀd^„Z]dÁd_„Z^dÂd`„Z_dÃda„Z`dÄdb„ZadÅdc„ZbdÆdd„ZcdÇde„ZddÈdf„ZedÉdg„ZfdÊdh„ZgdËdi„ZhdÌdj„ZidÍdk„ZjdÎdl„ZkdÏdm„ZldÐdn„ZmdÑdo„ZndÒdp„ZodÓdq„ZpdÔdr„ZqdÕds„ZrdÖdt„Zsd×du„ZtdØdv„ZudÙdw„ZvdÚdx„ZwdÛdy„ZxdÜdz„ZydÝd{„ZzdÞd|„Z{dßd}„Z|dàd~„Z}y/)árÂ   c               ó�   — g | _         g | _        || _        || _        || _        || _        || _        i | _        d| _        i | _	        y ©NF)
Úclass_and_function_stackÚimportsr¦   r©   rª   r«   r¬   Útype_ignoresÚuses_template_stringsÚvisitor_cache)Úselfr¦   r©   rª   r«   r¬   s         r™   Ú__init__zASTConverter.__init__v  sU   € ð LNˆÔ%Ø)+ˆŒàˆŒØˆŒØˆŒØ%:ˆÔ"ØˆŒ	à24ˆÔØ%*ˆÔ"ð GIˆÕr¶   c                ó`   — | j                   j                  |||dt        j                  ¬«       y ©NÚnote)Úseverityr¯   ©rª   rÆ   rÇ   rÑ   ©r  rÊ   rç   ró   s       r™   r!  zASTConverter.note�  s#   € Ø�‰×Ñ˜4 ¨°vÄEÇLÁLÐÕQr¶   c                ó(  — |s| j                   j                  sz| j                  j                  | j                  | j
                  | j                   j                  «       | j                  j                  |||j                  ||j                  ¬«       y y )Nr­   )	r¦   r·   rª   Úset_file_ignored_linesr¬   r  rÆ   rí   r¯   )r  rÊ   rç   ró   r®   s        r™   ÚfailzASTConverter.fail’  sj   € Ù˜$Ÿ,™,×4Ò4à�K‰K×.Ñ.Ø—	‘	˜4×,Ñ,¨d¯l©l×.HÑ.Hôð �K‰K×Ñ˜t V¨S¯Y©YÀÈcÏhÉhÐÕWð 5r¶   c                ór   — | j                  t        j                  |j                  |j                  d¬«       y )NF©rç   ró   r®   )r'  r   ÚFAILED_TO_MERGE_OVERLOADSrç   ró   ©r  r  s     r™   Úfail_merge_overloadz ASTConverter.fail_merge_overloadš  s-   € Ø�	‰	Ü×6Ñ6Ø—‘Ø—;‘;Øð	 	õ 	
r¶   c                óÐ   — |€y t        |«      }| j                  j                  |«      }|€4d|j                  j                  z   }t        | |«      }|| j                  |<    ||«      S )NÚvisit_)Útyper  ÚgetÚ	__class__Ú__name__Úgetattr)r  r  ÚtypeobjÚvisitorÚmethods        r™   rÃ   zASTConverter.visit¢  sh   € Øˆ<ØÜ�t“*ˆØ×$Ñ$×(Ñ(¨Ó1ˆØˆ?Ø §¡× 7Ñ 7Ñ7ˆFÜ˜d FÓ+ˆGØ*1ˆD×Ñ˜wÑ'á�t‹}Ðr¶   c                óŽ   — |j                   |_        |j                  |_        |j                  |_        |j                  |_        |S r  )rÍ   rç   Ú
col_offsetró   Ú
end_linenoÚend_lineÚend_col_offsetÚ
end_column)r  r  Úns      r™   Úset_linezASTConverter.set_line®  s5   € Ø—H‘HˆŒ	Ø—l‘lˆŒØŸ™ˆŒØ×*Ñ*ˆŒàˆr¶   c                ó\   — g }|D ]$  }| j                  |«      }|j                  |«       Œ& |S r  )rÃ   Úappend)r  ÚlÚresrØ   Úexps        r™   Útranslate_opt_expr_listz$ASTConverter.translate_opt_expr_list¶  s5   € Ø')ˆØò 	ˆAØ—*‘*˜Q“-ˆCØ�J‰J�s�Oð	ð ˆ
r¶   c                óN   — t        t        t           | j                  |«      «      S r  )r
   Úlistr/   rD  )r  rA  s     r™   Útranslate_expr_listz ASTConverter.translate_expr_list½  s   € Ü”DœÑ$ d×&BÑ&BÀ1Ó&EÓFÐFr¶   c                óÖ   — t        |t        j                  t        j                  t        j                  f«      r%|j
                  r|j
                  d   j                  S |j                  S ©Nr   )rÒ   r”   ÚAsyncFunctionDefr%   ÚFunctionDefÚdecorator_listrÍ   r+  s     r™   Ú
get_linenozASTConverter.get_linenoÀ  sM   € ä�tœd×3Ñ3´T·]±]ÄD×DTÑDTÐUÔVØ×#Ò#à×&Ñ& qÑ)×0Ñ0Ð0Ø�{‰{Ðr¶   F)ÚismoduleÚ	can_stripÚis_coroutinec               óÂ  — |rã|rá| j                   rÕt        | j                   «      x}| j                  |d   «      k  r©| j                   j                  |«      }|rCdj	                  |«      }| j                  t        j                  j                  |«      |dd¬«       t        | j                  | j                  |«      «      «      }| j                  ||«       t        |«       |gS | j                  }	|r&| j                  rt!        |	«      dk(  r|	d   dk(  r|sg S g }
|D ]$  }| j#                  |«      }|
j%                  |«       Œ& |r˜| j                  rŒ|	dd  ddgk(  r@t'        |
«      rd}n2t)        «       }|
D ]#  }|j+                  |«       |j,                  sŒ!d} n |r<|	d	   dk(  r4|r2t/        «       }|
D ]#  }|j+                  |«       |j,                  sŒ!d} n |rg S |
S )
Nr   z, Fr)  r�   ÚFéþÿÿÿÚCr¢   )r  ÚminrM  ÚpopÚjoinr'  r   Ú"TYPE_IGNORE_WITH_ERRCODE_ON_MODULErñ   r!   Úfix_function_overloadsÚtranslate_stmt_listÚset_block_linesrl   r  r«   ÚlenrÃ   r@  Úis_possible_trivial_bodyÚFindAttributeAssignÚacceptÚfoundÚ	FindYield)r  ÚstmtsrN  rO  rP  ÚfirstÚignoresÚjoined_ignoresÚblockÚstackrB  Ústmtr  r5  ÚsÚyield_visitors                   r™   rZ  z ASTConverter.translate_stmt_listÈ  sé  € ñ ÙØ×!Ò!Ü˜d×/Ñ/Ó0Ð0�°D·O±OÀEÈ!ÁHÓ4MÒMà×'Ñ'×+Ñ+¨EÓ2ˆGÙØ!%§¡¨7Ó!3�Ø—	‘	Ü$×GÑG×NÑNÈ~Ó^ØØØ!ð	 ô ô ˜$×5Ñ5°d×6NÑ6NÈuÓ6UÓVÓWˆEØ× Ñ  ¨Ô.Ü" 5Ô)Ø�7ˆNà×-Ñ-ˆñ Ø×*Ò*Ü�E“
˜a’Ø�a‘˜C’Ù àˆIà!ˆØò 	ˆDØ—:‘:˜dÓ#ˆDØ�J‰J�tÕð	ñ
 ˜×3Ò3Ø�R�Sˆz˜c 3˜ZÒ'Ü+¨CÔ0Ø %‘Iô 2Ó3�GØ ò "˜ØŸ™ Ô)Ø"Ÿ=›=Ø(-˜IÙ!ð	"ñ ˜U 2™Y¨#Ò-±,ô !*£�Øò �AØ—H‘H˜]Ô+Ø$×*Ó*Ø$)˜	Ùð	ñ Ø�	Øˆ
r¶   c                ó�   — |€y |j                   }t        |||j                  | j                  «      \  }}|�|| j                  |<   |S r  )rÍ   rú   r8  rª   r  )r  r=  rò   rÍ   rõ   rô   s         r™   Útranslate_type_commentz#ASTConverter.translate_type_comment  sQ   € ð ÐØà—X‘XˆFÜ 2°<ÀÈÏÉÐW[×WbÑWbÓ cÑˆL˜#ØÐ'Ø,8�×!Ñ! &Ñ)ØˆJr¶   ú+ú-Ú*ú@ú/ú%z**z<<z>>ú|ú^ú&z//zFinal[dict[type[AST], str]]Úop_mapc                óš   — t         j                  j                  t        |«      «      }|€ t	        dt        t        |«      «      z   «      ‚|S )NzUnknown operator )rÂ   rv  r0  r/  ÚRuntimeErrorÚstr©r  ÚopÚop_names      r™   Úfrom_operatorzASTConverter.from_operator/  s?   € Ü×%Ñ%×)Ñ)¬$¨r«(Ó3ˆØˆ?ÜÐ2´S¼¸b»³]ÑBÓCÐCàˆNr¶   ú>ú<z==z>=z<=z!=Úiszis notÚinznot inÚcomp_op_mapc                óš   — t         j                  j                  t        |«      «      }|€ t	        dt        t        |«      «      z   «      ‚|S )NzUnknown comparison operator )rÂ   r‚  r0  r/  rx  ry  rz  s      r™   Úfrom_comp_operatorzASTConverter.from_comp_operatorC  s?   € Ü×*Ñ*×.Ñ.¬t°B«xÓ8ˆØˆ?ÜÐ=ÄÄDÈÃHÃÑMÓNÐNàˆNr¶   c                óJ  — |d   |d   }}|j                   |_        |j                  |_        |j                  |_        |j                  |_        |j                  sy |j                  d   }t        |t        t        f«      r#|j                  |_        |j                  |_        y y )Nr   r¢   )rÍ   rç   r8  ró   r9  r:  r;  r<  rï   rÒ   r*   rH   )r  Úbrb  rc  ÚlastÚ	new_firsts         r™   r[  zASTConverter.set_block_linesJ  sŠ   € Ø˜A‘h  b¡	ˆtˆØ—‘ˆŒØ×#Ñ#ˆŒØ—_‘_ˆŒ
Ø×*Ñ*ˆŒØ�vŠvØØ—F‘F˜1‘Iˆ	Ü�i¤)Ô->Ð!?Ô@ð —^‘^ˆAŒFØ ×'Ñ'ˆA�Hð	 Ar¶   c                ó„   — d }|r;t        | j                  | j                  |«      «      «      }| j                  ||«       |S r  ©r!   rY  rZ  r[  )r  rb  r†  s      r™   Úas_blockzASTConverter.as_blockY  s?   € ØˆÙÜ�d×1Ñ1°$×2JÑ2JÈ5Ó2QÓRÓSˆAØ× Ñ   EÔ*Øˆr¶   ©rO  rP  c          	     óŠ   — |sJ ‚t        | j                  | j                  |||¬«      «      «      }| j                  ||«       |S )NrŒ  rŠ  )r  rb  rO  rP  r†  s        r™   Úas_required_blockzASTConverter.as_required_block`  sP   € ñ ˆˆuÜØ×'Ñ'Ø×(Ñ(¨¸)ÐR^Ð(Ó_óó
ˆð
 	×Ñ˜Q Ô&Øˆr¶   c           	     ó0	  — g }g }d }d }d }d }d }d }	g }
|D �]Ú  }d }d }d }t        |t        «      r(| j                  ||«      }|�| j                  |«      \  }}|�Át        |t        t
        f«      r«|j                  |k(  rœ|�|
j                  |«       |�Bt        |t        «      r|j                  |j                  «       n|j                  |«       d\  }}|	r| j                  |	«       d }	|j                  |«       t        |t
        «      sŒ÷|j                  }�Œ|��8t        |t        «      �r'||k(  �r!||k7  �r|
j                  |«       |€|�| j                  |«       �ŒM|�Bt        |t        «      r|j                  |j                  «       n|j                  |«       d\  }}t        |j                  d   t        «      r]|
j                  t        t        t           |j                  d d «      «       |j                  |j                  d   j                  «       �Œ|j                  t        t        t
        z  |j                  d   «      «       �Œ@|�|j                  |«       |}d\  }}d }	|r8||k(  r3|j                  «       }t        |t        «      sJ ‚|
j                  |«       |r-|
r+|
D ]$  }| j!                  |«       |j                  |«       Œ& g }
t#        |«      dk(  r|j                  |d   «       n(t#        |«      dkD  r|j                  t        |«      «       d }t        |t        «      r&t%        |j                  «      s|g}|j                  }�ŒHt        |t        «      rn|�lg }|}|}d }|�^|
j                  t        t        t           |j                  d d «      «       t        t        t
        z  t        z  |j                  d   «      }|}	�ŒÆg }d }|j                  |«       �ŒÝ |r+|
r)|
D ]$  }| j!                  |«       |j                  |«       Œ& t#        |«      dk(  r|j                  |d   «       |S t#        |«      dkD  r|j                  t        |«      «       |S |�|j                  |«       |S |�|j                  |«       |S )Nrë   r¢   r   r�   )rÒ   r6   Ú_check_ifstmt_for_overloadsÚ'_get_executable_if_block_with_overloadsr*   r3   Únamer@  rH   ÚextendÚitemsr,  rï   r
   rF  rV  Ú_strip_contents_from_if_stmtr\  r€   )r  rb  ÚretÚcurrent_overloadÚcurrent_overload_nameÚlast_unconditional_func_defÚlast_if_stmtÚlast_if_overloadÚlast_if_stmt_overload_nameÚlast_if_unknown_truth_valueÚskipped_if_stmtsrh  Úif_overload_nameÚif_block_with_overloadÚif_unknown_truth_valueÚpoppedÚif_stmts                    r™   rY  z#ASTConverter.fix_function_overloadsl  sÔ  € Ø!ˆØ/1ÐØ,0ÐØ26Ð#Ø&*ˆØKOÐØ15Ð"Ø59Ð#Ø)+ÐØó x	%ˆDØ+/ÐØ37Ð"Ø48Ð"Ü˜$¤Ô'à#'×#CÑ#CÀDÐJ_Ó#`Ð Ø#Ð/à×DÑDÀTÓJñ CÐ*Ð,Bð
 &Ð1Ü˜t¤i´Ð%9Ô:Ø—I‘IÐ!6Ò6àÐ+Ø$×+Ñ+¨LÔ9Ø#Ð/ô "Ð"2Ô4EÔFØ(×/Ñ/Ð0@×0FÑ0FÕGà(×/Ñ/Ð0@ÔAØ5?Ñ2�LÐ"2Ù.Ø×,Ñ,Ð-HÔIØ26Ð/Ø ×'Ñ'¨Ô-Ü˜d¤GÕ,ð 37·)±)Ò/à%Ñ1Ü˜t¤VÕ,Ø$Ð(=Ó=Ø/Ð3HÓHð !×'Ñ'¨Ô-Ø)Ð1Ø-Ð9Ø×0Ñ0Ð1GÔHÙØ#Ð/ô "Ð"2Ô4EÔFØ(×/Ñ/Ð0@×0FÑ0FÕGà(×/Ñ/Ð0@ÔAØ5?Ñ2�LÐ"2ÜÐ4×9Ñ9¸"Ñ=Ô?PÔQØ$×+Ñ+¬D´´f±Ð?U×?ZÑ?ZÐ[^Ð\^Ð?_Ó,`ÔaØ$×+Ñ+Ð,B×,GÑ,GÈÑ,K×,QÑ,QÖRà$×+Ñ+ÜœY¬Ñ0Ð2H×2MÑ2MÈaÑ2PÓQöð  Ð+Ø—J‘J˜|Ô,Ø1FÐ.Ø5?Ñ2�LÐ"2Ø26Ð/á#Ð(=ÐA[Ò([ð !ŸW™W›Y�FÜ% f¬fÔ5Ð5Ð5Ø$×+Ñ+¨FÔ3Ù#Ñ(8ð $4ò ,˜Ø×9Ñ9¸'ÔBØŸ
™
 7Õ+ð,ð (*Ð$ÜÐ'Ó(¨AÒ-Ø—J‘JÐ/°Ñ2Õ3ÜÐ)Ó*¨QÒ.Ø—J‘JÔ0Ð1AÓBÔCð /3Ð+Ü˜d¤IÔ.Ô7GÈÏ	É	Ô7RØ(, vÐ$Ø,0¯I©IÒ)Ü ¤fÔ-Ð2BÐ2NØ')Ð$Ø,<Ð)Ø#'�LØ15Ð.Ø-Ð9Ø(×/Ñ/Ü ¤¤f¡Ð/E×/JÑ/JÈ3ÈBÐ/OÓPôô ,0Ü%¬Ñ/Ô2CÑCØ2×7Ñ7¸Ñ;ó,Ð(ð 3IÒ/à')Ð$Ø,0Ð)Ø—J‘J˜tÖ$ðqx	%ñt Ñ 0ð ,ò $�Ø×1Ñ1°'Ô:Ø—
‘
˜7Õ#ð$ô ÐÓ  AÒ%Ø�J‰JÐ'¨Ñ*Ô+ð ˆ
ô Ð!Ó" QÒ&Ø�J‰JÔ(Ð)9Ó:Ô;ð
 ˆ
ð	 Ð)Ø�J‰JÐ'Ô(ð ˆ
ð Ð%Ø�J‰J�|Ô$Øˆ
r¶   Nc                óF  ‡ — t        |j                  d   j                  «      dk(  r\t        |j                  d   j                  d   t        t        f«      sª|�*t        |j                  d   j                  d   t
        «      s~t        |j                  d   j                  «      dkD  rXt        |j                  d   j                  d   t        «      r.t        ˆ fd„|j                  d   j                  dd D «       «      syt        t        t
        z  t        z  |j                  d   j                  d   «      j                  }|j                  €|S t        |j                  j                  «      dk(  r¯t        |j                  j                  d   t        t
        t        f«      r(|j                  j                  d   j                  |k(  r|S t        |j                  j                  d   t        «      r.‰ j                  |j                  j                  d   |«      |k(  r|S y)z{Check if IfStmt contains only overloads with the same name.
        Return overload_name if found, None otherwise.
        r   r�   Nr¢   c              3  ó@   •K  — | ]  }‰j                  |«      –— Œ y ­wr  )Ú_is_stripped_if_stmt)Ú.0r£  r  s     €r™   ú	<genexpr>z;ASTConverter._check_ifstmt_for_overloads.<locals>.<genexpr>  s   øè ø€ Ò]¸7�D×-Ñ-¨g×6Ñ]ùs   ƒ)r\  rï   rÒ   r*   rH   r3   Úallr
   r’  Ú	else_bodyr6   r�  )r  rh  r˜  Úoverload_names   `   r™   r�  z(ASTConverter._check_ifstmt_for_overloads   s³  ø€ ô �—	‘	˜!‘×!Ñ!Ó" aÒ'ä˜4Ÿ9™9 Q™<×,Ñ,¨QÑ/´)Ô=NÐ1OÔPØ(Ð4Ü˜tŸy™y¨™|×0Ñ0°Ñ3´WÔ=ä�4—9‘9˜Q‘<×$Ñ$Ó%¨Ò)Ü˜4Ÿ9™9 Q™<×,Ñ,¨RÑ0Ô2CÔDÜÓ]ÀdÇiÁiÐPQÁl×FWÑFWÐX[ÐY[ÐF\Ô]Ô]àäœY¬Ñ0Ô3DÑDÀdÇiÁiÐPQÁl×FWÑFWÐXZÑF[Ó\×aÑaˆØ�>‰>Ð!Ø Ð äˆt�~‰~×"Ñ"Ó# qÒ(ô ˜4Ÿ>™>×.Ñ.¨qÑ1´I¼wÔHYÐ3ZÔ[Ø—N‘N×'Ñ'¨Ñ*×/Ñ/°=Ò@à$Ð$ä˜4Ÿ>™>×.Ñ.¨qÑ1´6Ô:Ø×4Ñ4°T·^±^×5HÑ5HÈÑ5KÐMbÓcØ ò!ð %Ð$àr¶   c                óN  — t        || j                  «       |j                  €|j                  d   j                  du ry|j                  �3|j                  d   j                  du r|j                  j                  du rd|fS |j                  j                  du r|j                  d   dfS |j                  d   j                  du r]t        |j                  j                  d   t        «      r(| j                  |j                  j                  d   «      S |j                  dfS d|fS )a  Return block from IfStmt that will get executed.

        Return
            0 -> A block if sure that alternative blocks are unreachable.
            1 -> An IfStmt if the reachability of it can't be inferred,
                 i.e. the truth value is unknown.
        Nr   Trë   F)rk   r¦   rª  rï   Úis_unreachablerÒ   r6   r‘  ©r  rh  s     r™   r‘  z4ASTConverter._get_executable_if_block_with_overloads)  s  € ô 	+¨4°·±Ô>Ø�>‰>Ð! d§i¡i°¡l×&AÑ&AÀTÑ&Iàà�N‰NÐ"Ø�y‰y˜‰|×*Ñ*¨eÑ3Ø—‘×-Ñ-°Ñ6ð ˜�:ÐØ�>‰>×(Ñ(¨DÑ0à—9‘9˜Q‘< Ð%Ð%Ø�9‰9�Q‰<×&Ñ&¨$Ñ.ô ˜$Ÿ.™.×-Ñ-¨aÑ0´&Ô9Ø×CÑCÀDÇNÁN×DWÑDWÐXYÑDZÓ[Ð[Ø—>‘> 4Ð'Ð'Ø�TˆzÐr¶   c                ó~  — t        |j                  «      dk(  rg |j                  d   _        |j                  r…t        |j                  j                  «      dk(  rbt        |j                  j                  d   t        «      r)| j                  |j                  j                  d   «       yg |j                  _        yyy)z³Remove contents from IfStmt.

        Needed to still be able to check the conditions after the contents
        have been merged with the surrounding function overloads.
        r�   r   N)r\  rï   rª  rÒ   r6   r•  r®  s     r™   r•  z)ASTConverter._strip_contents_from_if_stmtI  sŠ   € ô ˆt�y‰y‹>˜QÒØ "ˆD�I‰I�a‰LÔØ�>Š>œc $§.¡.×"5Ñ"5Ó6¸!Ò;Ü˜$Ÿ.™.×-Ñ-¨aÑ0´&Ô9Ø×1Ñ1°$·.±.×2EÑ2EÀaÑ2HÕIà&(�—‘Õ#ð	 <ˆ>r¶   c                óN  — t        |t        «      syt        |j                  «      dk(  r%t        |j                  d   j                  «      dk(  sy|j                  r"t        |j                  j                  «      dk(  ry| j                  |j                  j                  d   «      S )ziCheck stmt to make sure it is a stripped IfStmt.

        See also: _strip_contents_from_if_stmt
        Fr�   r   T)rÒ   r6   r\  rï   rª  r¦  r®  s     r™   r¦  z!ASTConverter._is_stripped_if_stmtW  s€   € ô
 ˜$¤Ô'Øä�D—I‘I“ !Ò#¬¨D¯I©I°a©L×,=Ñ,=Ó(>À!Ò(Càà�~Š~¤ T§^¡^×%8Ñ%8Ó!9¸QÒ!>àð ×(Ñ(¨¯©×)<Ñ)<¸QÑ)?Ó@Ð@r¶   c                ó:   — || j                   j                  k(  ry|S )z;Return the actual, internal module id for a source text id.r  )r¦   Úcustom_typing_module)r  r	  s     r™   Útranslate_module_idz ASTConverter.translate_module_idj  s   € à�—‘×2Ñ2Ò2ØØˆ	r¶   c                ó  — i | _         d| _        |j                   D ]`  }t        |j                  «      }|�|| j                   |j                  <   Œ4| j                  t        j                  |j                  dd¬«       Œb | j                  | j                  |j                  d¬«      «      }t        || j                  d| j                   ¬«      }| j                  |_        | j                  |_        | j                  |_        |S )NFr¢   ©r®   T)rN  )Úignored_lines)r  r  rä   râ   rÍ   r'  r   rì   rY  rZ  rï   rB   r  r©   r¬   )r  ÚmodÚtiÚparsedrï   r–  s         r™   Úvisit_ModulezASTConverter.visit_Modulep  sÛ   € ØˆÔØ%*ˆÔ"Ø×"Ñ"ò 	^ˆBÜ*¨2¯6©6Ó2ˆFØÐ!Ø/5�×!Ñ! "§)¡)Ò,à—	‘	Ô*×>Ñ>ÀÇ	Á	È2ÐW\�	Õ]ð	^ð ×*Ñ*¨4×+CÑ+CÀCÇHÁHÐW[Ð+CÓ+\Ó]ˆä�t˜TŸ\™\¨5À×@QÑ@QÔRˆØ—l‘lˆŒØ—9‘9ˆŒØ$(×$>Ñ$>ˆÔ!Øˆ
r¶   c                ó$   — | j                  |«      S r  ©Údo_func_def©r  r=  s     r™   Úvisit_FunctionDefzASTConverter.visit_FunctionDef‡  s   € Ø×Ñ Ó"Ð"r¶   c                ó(   — | j                  |d¬«      S )NT)rP  r¼  r¾  s     r™   Úvisit_AsyncFunctionDefz#ASTConverter.visit_AsyncFunctionDefŒ  s   € Ø×Ñ °ÐÓ5Ð5r¶   c                ó¼  — | j                   j                  d«       t        |j                  xr t	        d„ |j                  D «       «      «      }|j
                  }| j                  |j                  ||¬«      }| j                  j                  r#t        |j                  «      r|D ]	  }d|_        Œ |D �cg c]  }|j                  ‘Œ }}|D �cg c]&  }|j                  rdn|j                  j                  ‘Œ( }}d}	g }
|rdgt        |«      z  }
d}�nÙ|j                   ��'	 t#        |j                   dd«      }t%        |t&        «      sJ ‚t        |j(                  «      dk(  r¾t%        |j(                  d	   t*        j,                  «      r—|j(                  d	   j.                  t0        u rx|j2                  r-| j5                  t6        j8                  ||j:                  d
¬«       |D �cg c]3  }|j<                  �|j<                  nt?        t@        jB                  «      ‘Œ5 }
}n |j2                  st	        d„ |D «       «      r-| j5                  t6        j8                  ||j:                  d
¬«       tE        | jF                  ||j:                  ¬«      jI                  |j(                  «      }tK        tL        tN        dz     |«      }
tE        | jF                  |¬«      jQ                  |j2                  «      }| j                   dd ddgk(  }|r@t        |
«      t        |«      k  r)|
jS                  d	t?        t@        jT                  «      «       n¥td        jf                  dk\  r'|jh                  r| jk                  |jh                  «      }	|D �cg c]  }|j<                  ‘Œ }
}tE        | jF                  |j2                  r|j2                  j
                  n|¬«      jQ                  |j2                  «      }tm        ||
«      D ]!  \  }}| jo                  ||jp                  «       Œ# d}t	        |
«      s|�r/t        |
«      dk7  r@t	        d„ |
D «       «      r.| j5                  t6        jr                  ||j:                  d
¬«       nát        |
«      t        |«      kD  r.| j5                  t6        jt                  ||j:                  d
¬«       nœt        |
«      t        |«      k  r.| j5                  t6        jv                  ||j:                  d
¬«       nWty        |
D �cg c]  }|�|nt?        t@        jB                  «      ‘Œ! c}|||�|nt?        t@        jB                  «      tz        «      }|j|                  }|j~                  }| j                   j�                  «        | j                   j                  d«       | jƒ                  |j„                  d|¬«      }t‡        |j                  ||||	«      }t%        |jˆ                  tx        «      r|jˆ                  j‹                  «       |_F        |rd|_G        |�||_H        |j“                  |«       |j                  r¦t•        |j                  «      }d
|_K        |j“                  |«       d|_L        | j“                  ||«       t›        || jI                  |j                  «      |«      }|j                  d	   }|j“                  |j
                  |j:                  ||«       |}n| j“                  ||«       |}| j                  jœ                  rt+        jž                  |d
¬«      |_P        | j                   j�                  «        |S c c}w c c}w c c}w # tV        $ rè |j                   jY                  dd«      d	   j[                  «       }t6        j\                  j_                  |«      }| j5                  |||j:                  d
¬«       |j                   r.|j                   d	   dvr| ja                  d||j:                  «       t?        t@        jb                  «      gt        |«      z  }
t?        t@        jb                  «      }Y �Œbw xY wc c}w c c}w )zCHelper shared between visit_FunctionDef and visit_AsyncFunctionDef.ÚDc              3  ó2   K  — | ]  }t        |«      –— Œ y ­wr  )r  )r§  Úds     r™   r¨  z+ASTConverter.do_func_def.<locals>.<genexpr>•  s   è ø€ Ò$]ÀqÔ%?À×%BÑ$]ùs   ‚)r  TNz<func_type>Ú	func_typer�   r   Frµ  c              3  ó8   K  — | ]  }|j                   d u–— Œ y ­wr  )Útype_annotation)r§  Úas     r™   r¨  z+ASTConverter.do_func_def.<locals>.<genexpr>Ã  s   è ø€ Ò'TÈ!¨×(9Ñ(9ÀÔ(EÑ'Tùs   ‚)rç   rè   ©rç   rS  rT  rÝ   rê   )rü   rÝ   z.Suggestion: wrap argument types in parenthesesr�   c              3  ó<   K  — | ]  }t        |t        «      –— Œ y ­wr  )rÒ   rs   )r§  Úts     r™   r¨  z+ASTConverter.do_func_def.<locals>.<genexpr>í  s   è ø€ Ò*ZÈ1¬:°a¼×+FÑ*Zùs   ‚rR  rŒ  ©Úclean)Qr  r@  ÚboolrL  ÚanyrÍ   Útransform_argsÚargsr¦   Úpos_only_special_methodsrn   r’  Úpos_onlyÚkindÚvariabler\  rò   rš   rÒ   r†   Úargtypesr”   ÚConstantrí   ÚEllipsisÚreturnsr'  r   ÚDUPLICATE_TYPE_SIGNATURESr8  rÈ  rp   r{   Úunannotatedrî   rª   rG  r
   rF  rx   rÃ   ÚinsertÚspecial_formrÉ   rá   rß   rð   rñ   r!  Ú
from_errorr¼   r½   Útype_paramsÚtranslate_type_paramsÚzipÚset_type_optionalÚinitializerÚELLIPSIS_WITH_OTHER_TYPEPARAMSÚTYPE_SIGNATURE_TOO_MANY_PARAMSÚTYPE_SIGNATURE_TOO_FEW_PARAMSrr   r£   r9  r;  rV  rŽ  rï   r3   r/  Úcopy_modifiedÚunanalyzed_typerP  Ú
definitionr>  r\   Úis_readyÚis_decoratedr*   Úinclude_docstringsÚget_docstringÚ	docstring)r  r=  rP  r  rÍ   rÒ  ÚargÚ	arg_kindsÚ	arg_namesÚexplicit_type_paramsÚ	arg_typesÚreturn_typeÚfunc_type_astrÉ  Útranslated_argsÚin_method_scoperø   rù   Úarg_typerÆ  r:  r<  rï   Úfunc_defÚvarÚdecorc  Úretvals                               r™   r½  zASTConverter.do_func_def�  s  € ð 	×%Ñ%×,Ñ,¨SÔ1ÜØ×ÑÒ]¤Ñ$]ÈA×L\ÑL\Ô$]Ó!]ó
ˆð —‘ˆØ×"Ñ" 1§6¡6¨6ÀÐ"ÓOˆØ�<‰<×0Ò0Ô5QÐRS×RXÑRXÔ5YØò $�Ø#�•ð$ð *.Ö. #�S—X“XÐ.ˆ	Ð.ØLPÖQÀS˜SŸ\š\‘T¨s¯|©|×/@Ñ/@Ñ@ÐQˆ	ÐQà7;Ðà')ˆ	ÙØ˜¤ T£Ñ*ˆIØŠKØ�^‰^Ñ'ð6<Ü *¨1¯>©>¸=È+Ó V�Ü! -´Ô>Ð>Ð>ô ˜×.Ñ.Ó/°1Ò4Ü" =×#9Ñ#9¸!Ñ#<¼d¿m¹mÔLØ%×.Ñ.¨qÑ1×7Ñ7¼8ÑCà—y’yàŸ	™	Ü,×FÑFØ"ØŸL™LØ$)ð	 "ô ð "&ö!ð ð  !×0Ñ0Ð<ð ×-Ò-ä!(¬×)>Ñ)>Ó!?ñ@ð!�Iñ !ð —y’y¤CÑ'TÈtÔ'TÔ$TØŸ	™	Ü,×FÑFØ"ØŸL™LØ$)ð	 "ô ô 3@ØŸ™¨&À!Ç,Á,ô3ç)Ñ)¨-×*@Ñ*@ÓAð $ô !%¤T¬$°©+Ñ%6¸Ó H�IÜ+¨D¯K©K¸fÔE×KÑKÈM×LaÑLaÓb�ð #'×"?Ñ"?ÀÀÐ"DÈÈcÈ
Ñ"R�Ù"¤s¨9£~¼¸D»	Ò'AØ×$Ñ$ Q¬´	×0FÑ0FÓ(GÔHøô ×Ñ 7Ò*¨q¯}ª}Ø'+×'AÑ'AÀ!Ç-Á-Ó'PÐ$à48Ö9¨q˜×*Ó*Ð9ˆIÐ9Ü'Ø—‘°a·i²i !§)¡)×"2Ò"2ÀVôç‰e�A—I‘IÓð ô !  yÓ1ò 	>‰MˆC�Ø×"Ñ" 8¨S¯_©_Õ=ð	>ð ˆ	ÜˆyŒ>š[Ü�9‹~ Ò"¤sÑ*ZÐPYÔ*ZÔ'ZØ—	‘	Ü$×CÑCØØ—L‘LØ!ð	 õ ô �Y“¤# i£.Ò0Ø—	‘	Ü$×CÑCØØ—L‘LØ!ð	 õ ô �Y“¤# i£.Ò0Ø—	‘	Ü$×BÑBØØ—L‘LØ!ð	 õ ô )ØU^Ö_ÐPQ˜!˜-‘Q¬W´Y×5JÑ5JÓ-KÑKÒ_ØØØ#.Ð#:‘KÄÌ	×H]ÑH]Ó@^Ü#ó�	ð —<‘<ˆØ×%Ñ%ˆ
à×%Ñ%×)Ñ)Ô+Ø×%Ñ%×,Ñ,¨SÔ1Ø×%Ñ% a§f¡f¸È<Ð%ÓXˆÜ˜1Ÿ6™6 4¨¨yÐ:NÓOˆÜ�h—m‘m¤\Ô2à'/§}¡}×'BÑ'BÓ'DˆHÔ$ÙØ$(ˆHÔ!ØÐ Ø#+ˆIÔ Ø×Ñ˜vÔ&à×ÒÜ�h—m‘mÓ$ˆCØ ˆCŒLØ�L‰L˜Ô à$(ˆHÔ!Ø�M‰M˜( AÔ&ä˜X t×'?Ñ'?À×@PÑ@PÓ'QÐSVÓWˆDØ×$Ñ$ QÑ'ˆEØ�M‰M˜%Ÿ,™,¨×(8Ñ(8¸(ÀJÔOØ*.‰Fà�M‰M˜( AÔ&ØˆFØ�<‰<×*Ò*Ü!%×!3Ñ!3°A¸UÔ!CˆHÔØ×%Ñ%×)Ñ)Ô+Øˆùòa /ùÚQùò4!øô8 ò 	<Ø !§¡× 4Ñ 4°S¸!Ó <¸QÑ ?× EÑ EÓ G�Ü*×JÑJ×QÑQÐR_Ó`�Ø—	‘	˜' 6¨1¯<©<À�	ÔGØ—>’> a§n¡n°QÑ&7¸zÑ&IØ—I‘IØHÈ&ÐRS×R^ÑR^ôô %¤Y×%9Ñ%9Ó:Ð;¼cÀ$»iÑG�	Ü%¤i×&:Ñ&:Ó;“ð	<üò :ùòB `s?   Â6]Ã+]Ä#C]  Ç'8]ÈD)]  ÎaÔ$aÝ]  Ý C-aáac                ó¤   — | j                   j                  sy t        |t        «      xr |j                  dk(  }t        |t
        «      r||_        y y )NÚNone)r¦   Úimplicit_optionalrÒ   rC   r’  r|   Úoptional)r  r/  rä  r  s       r™   rã  zASTConverter.set_type_optional0  sD   € Ø�|‰|×-Ò-Øä˜k¬8Ó4ÒS¸×9IÑ9IÈVÑ9SˆÜ�dœKÔ(Ø$ˆD�Mð )r¶   c           
     óÊ  — g }g }|j                   }||j                  z   }|j                  }t        |«      t        |«      z
  }	t	        |d |	 «      D ]L  \  }
}|
t        |«      k  }|j                  | j                  |d t        ||«      «       |j                  |«       ŒN t	        t        ||	d  |«      «      D ]R  \  }
\  }}|	|
z   t        |«      k  }|j                  | j                  ||t        ||«      «       |j                  |«       ŒT |j                  �L|j                  | j                  |j                  d t        |«      «       |j                  |j                  «       t        |j                  |j                  «      D ]E  \  }}|j                  | j                  |||€t        nt        |«      «       |j                  |«       ŒG |j                   �L|j                  | j                  |j                   d t"        |«      «       |j                  |j                   «       t%        |D �cg c]  }|j&                  j(                  ‘Œ c}|| j*                  «       |S c c}w r  )ÚposonlyargsrÒ  r   r\  Ú	enumerater@  Úmake_argumentr   râ  r   Úvarargr   Ú
kwonlyargsÚkw_defaultsr   r   Úkwargr   ra   rÖ  r’  Úfail_arg)r  rÒ  rç   r  Únew_argsÚnamesr  Ú	args_argsÚargs_defaultsÚnum_no_defaultsÚirÉ  rÔ  rÅ  Úkdrð  s                   r™   rÑ  zASTConverter.transform_args8  s  € ð ˆØ "ˆØ×&Ñ&ˆØ $§)¡)Ñ+ˆ	ØŸ™ˆÜ˜i›.¬3¨}Ó+=Ñ=ˆä˜iÐ(8¨Ð9Ó:ò 	‰DˆAˆqØœ3˜{Ó+Ñ+ˆHØ�O‰O˜D×.Ñ.¨q°$¼ÀÐPXÓYÔZØ�L‰L˜�Oð	ô #¤3 y°Ð1AÐ'BÀMÓ#RÓSò 	‰IˆA‰v��1Ø&¨Ñ*¬S°Ó-=Ñ=ˆHØ�O‰O˜D×.Ñ.¨q°!´W¸mÈXÓVÔWØ�L‰L˜�Oð	ð �;‰;Ð"Ø�O‰O˜D×.Ñ.¨t¯{©{¸DÄ(ÈMÓZÔ[Ø�L‰L˜Ÿ™Ô%ô ˜Ÿ™¨$×*:Ñ*:Ó;ò 	‰EˆAˆrØ�O‰OØ×"Ñ"Ø�r¨¨
�9¼À}óôð
 �L‰L˜�Oð	ð �:‰:Ð!Ø�O‰O˜D×.Ñ.¨t¯z©z¸4ÄÈMÓZÔ[Ø�L‰L˜Ÿ™Ô$ä¸ÖA°˜3Ÿ<™<×,Ó,ÒAÀ5È$Ï-É-ÔXàˆùò Bs   È.I c                ón  — |rd }nš|j                   }|j                  }|�9|�7| j                  t        j                  |j
                  |j                  d¬«       d }|�1t        | j                  |j
                  ¬«      j                  |«      }n| j                  ||«      }t        |j                  «      rd}t        |j                  |«      }	d|	_        d|	_        t!        |	|| j                  |«      ||«      }
|
j#                  |j
                  |j                  |j$                  |j&                  «       |
S )NFrµ  rÊ  T)Ú
annotationrò   r'  r   rÛ  rÍ   r8  rî   rª   rÃ   rl  rm   rð  r\   Úis_inferredÚis_argumentr   r>  r9  r;  )r  rð  ÚdefaultrÕ  r  rÔ  rù  r  rò   rû  Úarguments              r™   r  zASTConverter.make_argumentd  s	  € ñ Ø‰HàŸ™ˆJØ×+Ñ+ˆLØÐ%¨,Ð*BØ—	‘	Ü$×>Ñ>Ø—J‘JØ—N‘NØ!ð	 ô ð ˆHØÐ%Ü(¨¯©¸3¿:¹:ÔF×LÑLÈZÓX‘à×6Ñ6°s¸LÓI�Ü˜sŸw™wÔ'ØˆHä�#—'‘'˜8Ó$ˆØˆŒØˆŒÜ˜C ¨4¯:©:°gÓ+>ÀÀhÓOˆØ×Ñ˜#Ÿ*™* c§n¡n°c·n±nÀc×FXÑFXÔYØˆr¶   c                óh   — | j                  t        |«      |j                  |j                  d¬«       y ©NTrµ  )r'  r   rÍ   r8  )r  rÊ   rð  s      r™   r
  zASTConverter.fail_arg‡  s#   € Ø�	‰	”,˜sÓ# S§Z¡Z°·±Èˆ	ÕNr¶   c           	     ó‚  — | j                   j                  d«       |j                  D �cg c]6  }|j                  sŒ|j                  | j	                  |j
                  «      f‘Œ8 }}d }t        j                  dk\  r'|j                  r| j                  |j                  «      }t        |j                  | j                  |j                  «      d | j                  |j                  «      t!        |«      j#                  d«      ||¬«      }| j                  |j$                  «      |_        | j)                  ||«       | j*                  j,                  rt/        j0                  |d¬«      |_        |j4                  |_        |j8                  |_        |j<                  |_        | j                   jA                  «        |S c c}w )NrT  r�   Ú	metaclass)r  ÚkeywordsÚ	type_argsFrÍ  )!r  r@  r  rð  rÃ   rí   r¼   r½   rà  rá  r%   r’  rŽ  rï   rG  ÚbasesÚdictr0  rL  Ú
decoratorsr>  r¦   rí  r”   rî  rï  r8  ró   r9  r:  r;  r<  rV  )r  r=  Úkwr  ró  Úcdefs         r™   Úvisit_ClassDefzASTConverter.visit_ClassDef�  sS  € Ø×%Ñ%×,Ñ,¨SÔ1Ø=>¿Z¹ZÖR°rÈ2Ï6Ë6�R—V‘V˜TŸZ™Z¨¯©Ó1Ò2ÐRˆÐRð 8<Ðä×Ñ˜wÒ&¨1¯=ª=Ø#'×#=Ñ#=¸a¿m¹mÓ#LÐ äØ�F‰FØ×"Ñ" 1§6¡6Ó*ØØ×$Ñ$ Q§W¡WÓ-Ü˜8“n×(Ñ(¨Ó5ØØ*ô
ˆð ×2Ñ2°1×3CÑ3CÓDˆŒØ�‰�d˜AÔà�<‰<×*Ò*Ü!×/Ñ/°¸Ô?ˆDŒNØ—l‘lˆŒØŸ™ˆŒØ×*Ñ*ˆŒØ×%Ñ%×)Ñ)Ô+Øˆùò5 Ss
   ªF<¼)F<c                ó<  — t        |j                  «      }|€y t        |t        j                  t        j
                  f«      r7| j                  t        j                  |j                  |j                  d¬«       t        |t        j                  «      r7| j                  t        j                  |j                  |j                  d¬«       t        |t        j                  «      r8| j                  t        j                  |j                  |j                  d¬«       y y r  )r  r¡   rÒ   r”   r  r  r'  r   Ú"TYPE_VAR_YIELD_EXPRESSION_IN_BOUNDrÍ   r8  r  Ú"TYPE_VAR_NAMED_EXPRESSION_IN_BOUNDr  Ú"TYPE_VAR_AWAIT_EXPRESSION_IN_BOUND)r  Ú
type_paramÚincorrect_exprs      r™   Úvalidate_type_paramz ASTConverter.validate_type_param­  sä   € ÜGÈ
×HXÑHXÓYˆØÐ!ØÜ�n¤t§z¡z´4·>±>Ð&BÔCØ�I‰IÜ ×CÑCØ×!Ñ!Ø×%Ñ%Øð	 ô ô �n¤d§n¡nÔ5Ø�I‰IÜ ×CÑCØ×!Ñ!Ø×%Ñ%Øð	 ô ô �n¤d§j¡jÔ1Ø�I‰IÜ ×CÑCØ×!Ñ!Ø×%Ñ%Øð	 õ ð 2r¶   c           
     ój  — g }|D �]%  }d }g }d }t         j                  dk\  r:t        | j                  |j                  ¬«      j                  |j                  «      }t        |t        «      r-|j                  t        |j                  t        d g |«      «       Œ”t        |t        «      r-|j                  t        |j                  t        d g |«      «       ŒÑt        |j                  t         j"                  «      r®t%        |j                  j&                  «      dk  r8| j)                  t*        j,                  |j                  |j.                  d¬«       n«t        | j                  |j                  ¬«      }|j                  j&                  D �cg c]  }|j                  |«      ‘Œ }}nW|j                  �K| j1                  |«       t        | j                  |j                  ¬«      j                  |j                  «      }|j                  t        |j                  t2        |||«      «       �Œ( |S c c}w )N)r›   é   rÊ  rê   Frµ  )r¼   r½   rî   rª   rÍ   rÃ   Údefault_valuerÒ   Úast_ParamSpecr@  rZ   r’  r   Úast_TypeVarTupler   r¡   r”   ÚTupler\  Úeltsr'  r   Ú"TYPE_VAR_TOO_FEW_CONSTRAINED_TYPESr8  r*  r   )	r  rà  ró  Úpr¡   Úvaluesr  ÚconvrÌ  s	            r™   rá  z"ASTConverter.translate_type_paramsÇ  s¨  € Ø!ÐØó 	ˆAØ!%ˆEØ!#ˆFØ#'ˆGÜ×Ñ 7Ò*Ü'¨¯©¸!¿(¹(ÔC×IÑIÈ!Ï/É/ÓZ�Ü˜!œ]Ô+Ø$×+Ñ+¬I°a·f±f¼oÈtÐUWÐY`Ó,aÕbÜ˜AÔ/Ô0Ø$×+Ñ+Ü˜aŸf™fÔ&9¸4ÀÀWÓMõô ˜aŸg™g¤t§z¡zÔ2Ü˜1Ÿ7™7Ÿ<™<Ó(¨1Ò,ØŸ	™	Ü,×OÑOØŸH™HØŸL™LØ$)ð	 "õ ô  -¨T¯[©[¸q¿x¹xÔH˜Ø9:¿¹¿¹Ö!F°A $§*¡*¨Q¥-Ð!F˜Ñ!FØ—W‘WÐ(Ø×,Ñ,¨QÔ/Ü)¨$¯+©+¸A¿H¹HÔE×KÑKÈAÏGÉGÓT�EØ$×+Ñ+Ü˜aŸf™f¤m°U¸FÀGÓLöð7	ð< $Ð#ùò "Gs   ÆH0c                ón   — t        | j                  |j                  «      «      }| j                  ||«      S r  )rM   rÃ   rí   r>  ©r  r=  r  s      r™   Úvisit_ReturnzASTConverter.visit_Returnê  s*   € Ü˜$Ÿ*™* Q§W¡WÓ-Ó.ˆØ�}‰}˜T 1Ó%Ð%r¶   c                ó:  — t        |j                  «      dkD  rKt        | j                  |j                  «      «      }|j	                  |j
                  «       t        |«      }n't        | j                  |j                  d   «      «      }| j	                  ||«      S )Nr�   r   )r\  ÚtargetsrX   rG  r>  rÍ   r+   rÃ   )r  r=  Útupr  s       r™   Úvisit_DeletezASTConverter.visit_Deleteï  sp   € Üˆq�y‰y‹>˜AÒÜ˜D×4Ñ4°Q·Y±YÓ?Ó@ˆCØ�L‰L˜Ÿ™Ô"Ü˜3“<‰Dä˜4Ÿ:™: a§i¡i°¡lÓ3Ó4ˆDØ�}‰}˜T 1Ó%Ð%r¶   c                óè   — | j                  |j                  «      }| j                  |j                  «      }| j	                  ||j
                  «      }t        |||d¬«      }| j                  ||«      S )NF©r/  Ú
new_syntax)rG  r:  rÃ   rí   rl  rò   r   r>  )r  r=  ÚlvaluesÚrvaluerô   ri  s         r™   Úvisit_AssignzASTConverter.visit_Assignù  s_   € Ø×*Ñ*¨1¯9©9Ó5ˆØ—‘˜AŸG™GÓ$ˆØ×)Ñ)¨!¨Q¯^©^Ó<ˆÜ˜7 F°ÀÔGˆØ�}‰}˜Q Ó"Ð"r¶   c                óê  — |j                   }|j                  €7t        t        t        j
                  «      d¬«      }| j                  ||«       n| j                  |j                  «      }t        | j                  |¬«      j                  |j                  «      }|€J ‚|j                  j                  |_        t        | j                  |j                  «      g||d¬«      }| j                  ||«      S )NT)Úno_rhsrÊ  r>  )rÍ   rí   rV   rp   r{   rÞ  r>  rÃ   rî   rª   r  r8  ró   r   Útarget)r  r=  rç   rA  rô   ri  s         r™   Úvisit_AnnAssignzASTConverter.visit_AnnAssign  s¸   € Ø�x‰xˆØ�7‰7ˆ?Ü!)¬'´)×2HÑ2HÓ*IÐRVÔ!WˆFØ�M‰M˜& !Õ$à—Z‘Z §¡Ó(ˆFÜ˜DŸK™K¨dÔ3×9Ñ9¸!¿,¹,ÓGˆØˆÐˆØ—\‘\×,Ñ,ˆŒ
Ü˜DŸJ™J q§x¡xÓ0Ð1°6ÀÐPTÔUˆØ�}‰}˜Q Ó"Ð"r¶   c                óÖ   — t        | j                  |j                  «      | j                  |j                  «      | j                  |j
                  «      «      }| j                  ||«      S r  )rF   r}  r{  rÃ   rE  rí   r>  ©r  r=  ri  s      r™   Úvisit_AugAssignzASTConverter.visit_AugAssign  sO   € Ü"Ø×Ñ˜qŸt™tÓ$ d§j¡j°·±Ó&:¸D¿J¹JÀqÇwÁwÓ<Oó
ˆð �}‰}˜Q Ó"Ð"r¶   c                óD  — | j                  ||j                  «      }t        | j                  |j                  «      | j                  |j
                  «      | j                  |j                  «      | j                  |j                  «      |«      }| j                  ||«      S r  )rl  rò   r2   rÃ   rE  ÚiterrŽ  rï   r‹  Úorelser>  ©r  r=  Útarget_typer  s       r™   Ú	visit_ForzASTConverter.visit_For  sz   € Ø×1Ñ1°!°Q·^±^ÓDˆÜØ�J‰J�q—x‘xÓ Ø�J‰J�q—v‘vÓØ×"Ñ" 1§6¡6Ó*Ø�M‰M˜!Ÿ(™(Ó#Øó
ˆð �}‰}˜T 1Ó%Ð%r¶   c                óR  — | j                  ||j                  «      }t        | j                  |j                  «      | j                  |j
                  «      | j                  |j                  «      | j                  |j                  «      |«      }d|_
        | j                  ||«      S ©NT)rl  rò   r2   rÃ   rE  rK  rŽ  rï   r‹  rL  Úis_asyncr>  rM  s       r™   Úvisit_AsyncForzASTConverter.visit_AsyncFor"  s�   € Ø×1Ñ1°!°Q·^±^ÓDˆÜØ�J‰J�q—x‘xÓ Ø�J‰J�q—v‘vÓØ×"Ñ" 1§6¡6Ó*Ø�M‰M˜!Ÿ(™(Ó#Øó
ˆð ˆŒØ�}‰}˜T 1Ó%Ð%r¶   c                óÖ   — t        | j                  |j                  «      | j                  |j                  «      | j                  |j                  «      «      }| j                  ||«      S r  )r]   rÃ   ÚtestrŽ  rï   r‹  rL  r>  r7  s      r™   Úvisit_WhilezASTConverter.visit_While/  sO   € ÜØ�J‰J�q—v‘vÓ × 6Ñ 6°q·v±vÓ >ÀÇÁÈaÏhÉhÓ@Wó
ˆð �}‰}˜T 1Ó%Ð%r¶   c                óÚ   — t        | j                  |j                  «      g| j                  |j                  «      g| j                  |j                  «      «      }| j                  ||«      S r  )r6   rÃ   rU  rŽ  rï   r‹  rL  r>  r7  s      r™   Úvisit_IfzASTConverter.visit_If6  sX   € ÜØ�Z‰Z˜Ÿ™ÓÐ  4×#9Ñ#9¸!¿&¹&Ó#AÐ"BÀDÇMÁMÐRS×RZÑRZÓD[ó
ˆð �}‰}˜T 1Ó%Ð%r¶   c           	     ó„  — | j                  ||j                  «      }t        |j                  D �cg c]  }| j	                  |j
                  «      ‘Œ c}|j                  D �cg c]  }| j	                  |j                  «      ‘Œ c}| j                  |j                  «      |«      }| j                  ||«      S c c}w c c}w r  )
rl  rò   r^   r”  rÃ   Úcontext_exprÚoptional_varsrŽ  rï   r>  )r  r=  rN  r  r  s        r™   Ú
visit_WithzASTConverter.visit_With=  s�   € Ø×1Ñ1°!°Q·^±^ÓDˆÜØ12·±Ö9¨AˆT�Z‰Z˜Ÿ™Õ'Ò9Ø23·'±'Ö:¨QˆT�Z‰Z˜Ÿ™Õ(Ò:Ø×"Ñ" 1§6¡6Ó*Øó	
ˆð �}‰}˜T 1Ó%Ð%ùò :ùÚ:s   °"B8Á""B=
c           	     ó’  — | j                  ||j                  «      }t        |j                  D �cg c]  }| j	                  |j
                  «      ‘Œ c}|j                  D �cg c]  }| j	                  |j                  «      ‘Œ c}| j                  |j                  «      |«      }d|_	        | j                  ||«      S c c}w c c}w rQ  )rl  rò   r^   r”  rÃ   rZ  r[  rŽ  rï   rR  r>  )r  r=  rN  r  ri  s        r™   Úvisit_AsyncWithzASTConverter.visit_AsyncWithH  s—   € Ø×1Ñ1°!°Q·^±^ÓDˆÜØ12·±Ö9¨AˆT�Z‰Z˜Ÿ™Õ'Ò9Ø23·'±'Ö:¨QˆT�Z‰Z˜Ÿ™Õ(Ò:Ø×"Ñ" 1§6¡6Ó*Øó	
ˆð ˆŒ
Ø�}‰}˜Q Ó"Ð"ùò :ùÚ:s   °"B?Á""C
c                ó¢   — t        | j                  |j                  «      | j                  |j                  «      «      }| j	                  ||«      S r  )rK   rÃ   ÚexcÚcauser>  r7  s      r™   Úvisit_RaisezASTConverter.visit_RaiseT  s9   € Ü˜Ÿ™ A§E¡EÓ*¨D¯J©J°q·w±wÓ,?Ó@ˆØ�}‰}˜T 1Ó%Ð%r¶   c           
     óV  — |j                   D �cg c]5  }|j                  �%| j                  t        |j                  «      |«      nd ‘Œ7 }}|j                   D �cg c]  }| j	                  |j
                  «      ‘Œ }}|j                   D �cg c]  }| j                  |j                  «      ‘Œ }}t        | j                  |j                  «      |||| j                  |j                  «      | j                  |j                  «      «      }| j                  ||«      S c c}w c c}w c c}w r  )Úhandlersr’  r>  rC   rÃ   r/  rŽ  rï   rW   r‹  rL  Ú	finalbody©r  r=  ÚhÚvsÚtypesrd  r  s          r™   Ú	visit_TryzASTConverter.visit_TryY  sõ   € àXY×XbÑXbö
ØST°!·&±&Ð2DˆD�M‰Mœ( 1§6¡6Ó*¨AÔ.È$ÑNð
ˆð 
ð ./¯Z©ZÖ8¨�—‘˜AŸF™FÕ#Ð8ˆÐ8Ø<=¿J¹JÖG°q�D×*Ñ*¨1¯6©6Õ2ÐGˆÐGäØ×"Ñ" 1§6¡6Ó*ØØØØ�M‰M˜!Ÿ(™(Ó#Ø�M‰M˜!Ÿ+™+Ó&ó
ˆð �}‰}˜T 1Ó%Ð%ùò
ùò 9ùÚGs   �:DÁ"D!Â"D&c           
     ód  — |j                   D �cg c]5  }|j                  �%| j                  t        |j                  «      |«      nd ‘Œ7 }}|j                   D �cg c]  }| j	                  |j
                  «      ‘Œ }}|j                   D �cg c]  }| j                  |j                  «      ‘Œ }}t        | j                  |j                  «      |||| j                  |j                  «      | j                  |j                  «      «      }d|_        | j                  ||«      S c c}w c c}w c c}w rQ  )rd  r’  r>  rC   rÃ   r/  rŽ  rï   rW   r‹  rL  re  Úis_starrf  s          r™   Úvisit_TryStarzASTConverter.visit_TryStarj  sü   € àXY×XbÑXbö
ØST°!·&±&Ð2DˆD�M‰Mœ( 1§6¡6Ó*¨AÔ.È$ÑNð
ˆð 
ð ./¯Z©ZÖ8¨�—‘˜AŸF™FÕ#Ð8ˆÐ8Ø<=¿J¹JÖG°q�D×*Ñ*¨1¯6©6Õ2ÐGˆÐGäØ×"Ñ" 1§6¡6Ó*ØØØØ�M‰M˜!Ÿ(™(Ó#Ø�M‰M˜!Ÿ+™+Ó&ó
ˆð ˆŒØ�}‰}˜T 1Ó%Ð%ùò
ùò 9ùÚGs   �:D#Á"D(Â"D-c                ó¢   — t        | j                  |j                  «      | j                  |j                  «      «      }| j	                  ||«      S r  )r   rÃ   rU  rÊ   r>  r7  s      r™   Úvisit_AssertzASTConverter.visit_Assert}  s9   € Ü˜$Ÿ*™* Q§V¡VÓ,¨d¯j©j¸¿¹Ó.?Ó@ˆØ�}‰}˜T 1Ó%Ð%r¶   c                óF  — g }|j                   D ]Y  }| j                  |j                  «      }|j                  }|€||j                  k7  r|j                  }|j	                  ||f«       Œ[ t        |«      }| j                  j	                  |«       | j                  ||«      S r  )r  r³  r’  Úasnamer@  r7   r  r>  )r  r=  r  Úaliasr’  rq  r  s          r™   Úvisit_ImportzASTConverter.visit_Import‚  s�   € Ø.0ˆØ—W‘Wò 	)ˆEØ×+Ñ+¨E¯J©JÓ7ˆDØ—\‘\ˆFØˆ~ $¨%¯*©*Ò"4ð Ÿ™�Ø�L‰L˜$ ˜Õ(ð	)ô �5‹MˆØ�‰×Ñ˜AÔØ�}‰}˜Q Ó"Ð"r¶   c           	     ó$  — |j                   €J ‚t        |j                  «      dk(  rM|j                  d   j                  dk(  r1|j                  �|j                  nd}t        ||j                   «      }nlt        |j                  �| j                  |j                  «      nd|j                   |j                  D �cg c]  }|j                  |j                  f‘Œ c}«      }| j                  j                  |«       | j                  ||«      S c c}w )Nr�   r   ro  rÜ   )Úlevelr\  r  r’  rÔ   r8   r:   r³  rq  r  r@  r>  )r  r=  r·  r  rÉ  s        r™   Úvisit_ImportFromzASTConverter.visit_ImportFrom’  sÑ   € Ø�w‰wÐ"Ð"Ð"Üˆq�w‰w‹<˜1Ò §¡¨¡§¡°CÒ!7ØŸh™hÐ2�!—(’(¸ˆCÜ% c¨1¯7©7Ó3‰AäØ67·h±hÐ6J�×(Ñ(¨¯©Ô2ÐPRØ—‘Ø-.¯W©WÖ5¨�!—&‘&˜!Ÿ(™(Ò#Ò5óˆAð
 	�‰×Ñ˜AÔØ�}‰}˜Q Ó"Ð"ùò 6s   Â:Dc                óP   — t        |j                  «      }| j                  ||«      S r  )r5   r  r>  )r  r=  Úgs      r™   Úvisit_GlobalzASTConverter.visit_Global¡  s!   € Ü�q—w‘wÓˆØ�}‰}˜Q Ó"Ð"r¶   c                óP   — t        |j                  «      }| j                  ||«      S r  )rE   r  r>  )r  r=  rÅ  s      r™   Úvisit_NonlocalzASTConverter.visit_Nonlocal¦  s!   € Ü˜Ÿ™Ó!ˆØ�}‰}˜Q Ó"Ð"r¶   c                ór   — | j                  |j                  «      }t        |«      }| j                  ||«      S r  )rÃ   rí   r0   r>  )r  r=  rí   r  s       r™   Ú
visit_ExprzASTConverter.visit_Expr«  s/   € Ø—
‘
˜1Ÿ7™7Ó#ˆÜ˜eÓ$ˆØ�}‰}˜T 1Ó%Ð%r¶   c                ó:   — t        «       }| j                  ||«      S r  )rJ   r>  rH  s      r™   Ú
visit_PasszASTConverter.visit_Pass±  s   € Ü‹JˆØ�}‰}˜Q Ó"Ð"r¶   c                ó:   — t        «       }| j                  ||«      S r  )r"   r>  rH  s      r™   Úvisit_BreakzASTConverter.visit_Break¶  s   € Ü‹KˆØ�}‰}˜Q Ó"Ð"r¶   c                ó:   — t        «       }| j                  ||«      S r  )r)   r>  rH  s      r™   Úvisit_ContinuezASTConverter.visit_Continue»  s   € Ü‹NˆØ�}‰}˜Q Ó"Ð"r¶   c                ó¢   — t        | j                  |j                  «      | j                  |j                  «      «      }| j	                  ||«      S r  )r   rÃ   rE  rí   r>  rH  s      r™   Úvisit_NamedExprzASTConverter.visit_NamedExprÁ  s9   € Ü˜4Ÿ:™: a§h¡hÓ/°·±¸A¿G¹GÓ1DÓEˆØ�}‰}˜Q Ó"Ð"r¶   c                óZ  — t        |j                  «      dk\  sJ ‚|j                  }t        |t        j
                  «      rd}n=t        |t        j                  «      rd}n t        dt        t        |«      «      z   «      ‚| j                  || j                  |j                  «      |«      S )Nrê   ÚandÚorzunknown BoolOp )r\  r4  r{  rÒ   r”   ÚAndÚOrrx  ry  r/  r²   rG  )r  r=  Úop_noder{  s       r™   Úvisit_BoolOpzASTConverter.visit_BoolOpÆ  s„   € ä�1—8‘8‹} Ò!Ð!Ð!Ø—$‘$ˆÜ�gœtŸx™xÔ(Ø‰BÜ˜¤§¡Ô)Ø‰BäÐ0´3´t¸A³w³<Ñ?Ó@Ð@ð �z‰z˜"˜d×6Ñ6°q·x±xÓ@À!ÓDÐDr¶   c           
     ó²   — t        |«      dk(  rt        ||d   |d   «      }n$t        ||d   | j                  ||dd  |«      «      }| j                  ||«      S )Nrê   r   r�   )r\  rG   r²   r>  )r  r{  Úvalsr=  rØ   s        r™   r²   zASTConverter.groupÔ  sY   € Üˆt‹9˜Š>Ü�r˜4 ™7 D¨¡GÓ,‰Aä�r˜4 ™7 D§J¡J¨r°4¸¸°8¸QÓ$?Ó@ˆAØ�}‰}˜Q Ó"Ð"r¶   c                ó2  — | j                  |j                  «      }|€*t        dt        t	        |j                  «      «      z   «      ‚t        || j                  |j                  «      | j                  |j                  «      «      }| j                  ||«      S )Nzcannot translate BinOp )
r}  r{  rx  ry  r/  rG   rÃ   ÚleftÚrightr>  ©r  r=  r{  rØ   s       r™   Úvisit_BinOpzASTConverter.visit_BinOpÜ  sq   € Ø×Ñ §¡Ó%ˆàˆ:ÜÐ8¼3¼tÀAÇDÁD»z»?ÑJÓKÐKä�2�t—z‘z !§&¡&Ó)¨4¯:©:°a·g±gÓ+>Ó?ˆØ�}‰}˜Q Ó"Ð"r¶   c                ó  — d }t        |j                  t        j                  «      rd}ntt        |j                  t        j                  «      rd}nMt        |j                  t        j
                  «      rd}n&t        |j                  t        j                  «      rd}|€*t        dt        t        |j                  «      «      z   «      ‚t        || j                  |j                  «      «      }| j                  ||«      S )Nú~Únotrm  rn  zcannot translate UnaryOp )rÒ   r{  r”   ÚInvertÚNotr‰   r‹   rx  ry  r/  r[   rÃ   Úoperandr>  r’  s       r™   Úvisit_UnaryOpzASTConverter.visit_UnaryOpæ  s¯   € ØˆÜ�a—d‘dœDŸK™KÔ(Ø‰BÜ˜Ÿ™œdŸh™hÔ'Ø‰BÜ˜Ÿ™œdŸi™iÔ(Ø‰BÜ˜Ÿ™œdŸi™iÔ(ØˆBàˆ:ÜÐ:¼SÄÀaÇdÁdÃ»_ÑLÓMÐMä�b˜$Ÿ*™* Q§Y¡YÓ/Ó0ˆØ�}‰}˜Q Ó"Ð"r¶   c                óæ  — t        j                  |j                  «      }|j                  j                  |_        |j                  j                  |_        | j
                  j                  d«       t        | j                  |j                  |j                  «      | j                  |g«      «      }| j
                  j                  «        |j                  |j                  |j                  «       |S )NÚL)r”   ÚReturnrï   rÍ   r8  r  r@  r=   rÑ  rÒ  rŽ  rV  r>  )r  r=  rï   rØ   s       r™   Úvisit_LambdazASTConverter.visit_Lambdaø  s¥   € Ü�{‰{˜1Ÿ6™6Ó"ˆØ—f‘f—m‘mˆŒØŸ&™&×+Ñ+ˆŒà×%Ñ%×,Ñ,¨SÔ1Ü�t×*Ñ*¨1¯6©6°1·8±8Ó<¸d×>TÑ>TÐVZÐU[Ó>\Ó]ˆØ×%Ñ%×)Ñ)Ô+Ø	�
‰
�1—8‘8˜QŸ\™\Ô*Øˆr¶   c                óÖ   — t        | j                  |j                  «      | j                  |j                  «      | j                  |j                  «      «      }| j                  ||«      S r  )r(   rÃ   rU  rï   rL  r>  ©r  r=  rØ   s      r™   Úvisit_IfExpzASTConverter.visit_IfExp  sH   € Ü˜DŸJ™J q§v¡vÓ.°·
±
¸1¿6¹6Ó0BÀDÇJÁJÈqÏxÉxÓDXÓYˆØ�}‰}˜Q Ó"Ð"r¶   c           
     óÆ   — t        t        t        | j                  |j                  «      | j                  |j                  «      «      «      «      }| j                  ||«      S r  )r,   rF  râ  rD  ÚkeysrG  r4  r>  r   s      r™   Ú
visit_DictzASTConverter.visit_Dict	  sO   € ÜÜ”�T×1Ñ1°!·&±&Ó9¸4×;SÑ;SÐTU×T\ÑT\Ó;]Ó^Ó_ó
ˆð �}‰}˜Q Ó"Ð"r¶   c                ón   — t        | j                  |j                  «      «      }| j                  ||«      S r  )rO   rG  r1  r>  r   s      r™   Ú	visit_SetzASTConverter.visit_Set  s,   € Ü�D×,Ñ,¨Q¯V©VÓ4Ó5ˆØ�}‰}˜Q Ó"Ð"r¶   c                óŠ   — t        | j                  t        t        j                  |«      «      «      }| j                  ||«      S r  )r>   Úvisit_GeneratorExpr
   r”   ÚGeneratorExpr>  r   s      r™   Úvisit_ListCompzASTConverter.visit_ListComp  s5   € Ü˜d×5Ñ5´d¼4×;LÑ;LÈaÓ6PÓQÓRˆØ�}‰}˜Q Ó"Ð"r¶   c                óŠ   — t        | j                  t        t        j                  |«      «      «      }| j                  ||«      S r  )rN   r¨  r
   r”   r©  r>  r   s      r™   Úvisit_SetCompzASTConverter.visit_SetComp  s5   € Ü˜T×4Ñ4´T¼$×:KÑ:KÈQÓ5OÓPÓQˆØ�}‰}˜Q Ó"Ð"r¶   c                ó€  — |j                   D �cg c]  }| j                  |j                  «      ‘Œ }}|j                   D �cg c]  }| j                  |j                  «      ‘Œ }}|j                   D �cg c]  }| j	                  |j
                  «      ‘Œ }}|j                   D �cg c]  }t        |j                  «      ‘Œ }}| j                  |j                  «      }|j                  �| j                  |j                  «      }n|}d }t        ||||||«      }	| j                  |	|«      S c c}w c c}w c c}w c c}w r  )Ú
generatorsrÃ   rE  rK  rG  ÚifsrÏ  rR  Úkeyrí   r-   r>  )
r  r=  Úcr:  ÚitersÚifs_listrR  r°  rí   rØ   s
             r™   Úvisit_DictCompzASTConverter.visit_DictComp  sý   € Ø12·±Ö>¨A�4—:‘:˜aŸh™hÕ'Ð>ˆÐ>Ø-.¯\©\Ö:¨�—‘˜AŸF™FÕ#Ð:ˆÐ:Ø=>¿\¹\ÖJ¸�D×,Ñ,¨Q¯U©UÕ3ÐJˆÐJØ./¯l©lÖ;¨”D˜Ÿ™Õ$Ð;ˆÐ;Ø�j‰j˜Ÿ™ÓˆØ�7‰7ÐØ—J‘J˜qŸw™wÓ'‰Eð ˆEØˆCÜ# C¨°¸ÀÈ(ÓSˆØ�}‰}˜Q Ó"Ð"ùò ?ùÚ:ùÚJùÚ;s   �"D,Á"D1Á3"D6Â%D;c                ó"  — |j                   D �cg c]  }| j                  |j                  «      ‘Œ }}|j                   D �cg c]  }| j                  |j                  «      ‘Œ }}|j                   D �cg c]  }| j	                  |j
                  «      ‘Œ }}|j                   D �cg c]  }t        |j                  «      ‘Œ }}t        | j                  |j                  «      ||||«      }| j                  ||«      S c c}w c c}w c c}w c c}w r  )r®  rÃ   rE  rK  rG  r¯  rÏ  rR  r4   Úeltr>  )r  r=  r±  r:  r²  r³  rR  rØ   s           r™   r¨  zASTConverter.visit_GeneratorExp0  sÎ   € Ø12·±Ö>¨A�4—:‘:˜aŸh™hÕ'Ð>ˆÐ>Ø-.¯\©\Ö:¨�—‘˜AŸF™FÕ#Ð:ˆÐ:Ø=>¿\¹\ÖJ¸�D×,Ñ,¨Q¯U©UÕ3ÐJˆÐJØ./¯l©lÖ;¨”D˜Ÿ™Õ$Ð;ˆÐ;Ü˜$Ÿ*™* Q§U¡UÓ+¨W°e¸XÀxÓPˆØ�}‰}˜Q Ó"Ð"ùò ?ùÚ:ùÚJùÚ;s   �"C=Á"DÁ3"DÂ%Dc                ór   — | j                  |j                  «      }t        |«      }| j                  ||«      S r  )rÃ   rí   r    r>  )r  r=  ÚvrØ   s       r™   Úvisit_AwaitzASTConverter.visit_Await9  s.   € Ø�J‰J�q—w‘wÓˆÜ�a‹LˆØ�}‰}˜Q Ó"Ð"r¶   c                ón   — t        | j                  |j                  «      «      }| j                  ||«      S r  )r_   rÃ   rí   r>  r   s      r™   Úvisit_YieldzASTConverter.visit_Yield?  s*   € Ü�d—j‘j §¡Ó)Ó*ˆØ�}‰}˜Q Ó"Ð"r¶   c                ón   — t        | j                  |j                  «      «      }| j                  ||«      S r  )r`   rÃ   rí   r>  r   s      r™   Úvisit_YieldFromzASTConverter.visit_YieldFromD  s*   € Ü˜$Ÿ*™* Q§W¡WÓ-Ó.ˆØ�}‰}˜Q Ó"Ð"r¶   c                óê   — |j                   D �cg c]  }| j                  |«      ‘Œ }}| j                  |j                  g|j                  z   «      }t        ||«      }| j                  ||«      S c c}w r  )Úopsr„  rG  r�  Úcomparatorsr&   r>  )r  r=  ÚoÚ	operatorsÚoperandsrØ   s         r™   Úvisit_ComparezASTConverter.visit_CompareI  sf   € Ø9:¿¹Ö?°A�T×,Ñ,¨QÕ/Ð?ˆ	Ð?Ø×+Ñ+¨Q¯V©V¨H°q·}±}Ñ,DÓEˆÜ˜9 hÓ/ˆØ�}‰}˜Q Ó"Ð"ùò @s   �A0c                óx  — |j                   }|j                  }|D �cg c]  }|j                  ‘Œ }}| j                  |D �cg c]   }t	        |t
        «      r|j                  n|‘Œ" c}|D �cg c]  }|j                  ‘Œ c}z   «      }|D �cg c]  }t        |«      t
        u rt        nt        ‘Œ! c}|D �cg c]  }|€t        nt        ‘Œ c}z   }	t        | j                  |j                  «      ||	t        dd gt!        |«      z  «      |z   «      }
| j#                  |
|«      S c c}w c c}w c c}w c c}w c c}w )Nzlist[str | None])rÒ  r  rð  rG  rÒ   rˆ   rí   r/  r   r   r   r   r$   rÃ   Úfuncr
   r\  r>  )r  r=  rÒ  r  ÚkÚkeyword_namesrÉ  rô  rð  rñ  rØ   s              r™   Ú
visit_CallzASTConverter.visit_CallQ  s  € Ø�v‰vˆØ—:‘:ˆØ(0Ö1 1˜Ÿ›Ð1ˆÐ1Ø×,Ñ,Ø?CÖD¸!œ
 1¤gÔ.ˆQ�WŠW°AÑ5ÒDÐYaÖGbÐTUÈÏËÒGbÑbó
ˆ	ð KOÖOÀQ¤ a£¬GÑ!3•X¼Ñ@ÒOØ?LöS
Ø8;˜˜�I¬)Ñ3òS
ñ 
ˆ	ô Ø�J‰J�q—v‘vÓØØÜÐ# d V¬c°$«iÑ%7Ó8¸=ÑHó	
ˆð �}‰}˜Q Ó"Ð"ùò 2ùâDùÒGbùâOùò S
s   �D#Á%D(Á,D-
Â$D2Â6D7c                ó8  — |j                   }d }|€t        d«      }nít        |t        «      rt	        |«      }nÑt        |t
        «      rt        t        |«      «      }n¬t        |t        «      rt        t        |«      «      }n‡t        |t        «      rt        |«      }nkt        |t        «      rt        |«      }nOt        |t        «      rt        |«      }n3|t        u rt!        «       }n t#        dt        t%        |«      «      z   «      ‚| j'                  ||«      S )Nrÿ  zConstant not implemented for )rí   rC   rÒ   ry  rS   Úbytesr#   r   rÏ  Úintr<   Úfloatr1   Úcomplexr'   rÙ  r.   rx  r/  r>  )r  r=  ÚvalrØ   s       r™   Úvisit_ConstantzASTConverter.visit_Constantd  sÖ   € Ø�g‰gˆØˆØˆ;Ü˜Ó ‰AÜ˜œSÔ!Ü˜“‰AÜ˜œUÔ#ÜÔ6°sÓ;Ó<‰AÜ˜œTÔ"Üœ˜S›Ó"‰AÜ˜œSÔ!Ü˜“‰AÜ˜œUÔ#Ü˜#“‰AÜ˜œWÔ%Ü˜CÓ ‰AØ”H‰_Ü“‰AäÐ>ÄÄTÈ#ÃYÃÑOÓPÐPØ�}‰}˜Q Ó"Ð"r¶   c                ón  — t        d«      }|j                  |j                  |j                  «       t	        | j                  |j                  «      «      }|j                  |«       t        |j                  «      dk(  r| j                  |j                  d   |«      S t        |j                  «      dkD  r=|j                  d   }t        |t         «      r|j                  dk(  r|j                  dd …= t        |d«      }|j                  |«       t        ||gt        gd g«      }| j                  ||«      S )NrÜ   r�   r   r¢   rW  )rS   r>  rÍ   r8  r?   rG  r4  r\  r”  rÒ   rí   rA   r$   r   )r  r=  Úempty_stringÚstrs_to_joinr‡  Újoin_methodÚresult_expressions          r™   Úvisit_JoinedStrzASTConverter.visit_JoinedStr|  s  € ô ˜r“{ˆØ×Ñ˜aŸh™h¨¯©Ô5Ü × 8Ñ 8¸¿¹Ó BÓCˆØ×Ñ˜lÔ+äˆ|×!Ñ!Ó" aÒ'Ø—=‘= ×!3Ñ!3°AÑ!6¸Ó:Ð:Ü�×#Ñ#Ó$ qÒ(Ø×%Ñ% bÑ)ˆDÜ˜$¤Ô(¨T¯Z©Z¸2Ò-=ð !×&Ñ& r¡sÐ+Ü  ¨vÓ6ˆØ×Ñ˜\Ô*Ü$ [°<°.Ä7À)ÈdÈVÓTÐØ�}‰}Ð.°Ó2Ð2r¶   c                ó>  — | j                  |j                  «      }|j                  |j                  |j                  «       |j
                  dk  rdndt        |j
                  «      z   }t        d|z   dz   «      }|j                  �| j                  |j                  «      n
t        d«      }|j                  |j                  |j                  «       t        |d«      }|j                  |«       t        |||gt        t        gd d g«      }| j                  ||«      S )Nr   rÜ   ú!ú{z:{}}rñ   )rÃ   rí   r>  rÍ   r8  Ú
conversionÚchrrS   Úformat_specrA   r$   r   )r  r=  Úval_expÚconv_strÚformat_stringÚformat_spec_expÚformat_methodrÕ  s           r™   Úvisit_FormattedValuez!ASTConverter.visit_FormattedValue’  sî   € ð
 —*‘*˜QŸW™WÓ%ˆØ×Ñ˜Ÿ™ 1§<¡<Ô0ØŸ™¨Ò)‘2¨s´S¸¿¹Ó5FÑ/FˆÜ  h¡°Ñ 7Ó8ˆØ78·}±}Ð7P˜$Ÿ*™* Q§]¡]Ô3ÔV]Ð^`ÓVaˆØ×Ñ˜qŸx™x¨¯©Ô6Ü" =°(Ó;ˆØ×Ñ˜}Ô-Ü$Ø˜G _Ð5¼ÄÐ7IÈDÐRVÈ<ó
Ðð �}‰}Ð.°Ó2Ð2r¶   c                ó0  — d| _         g }|j                  D ]â  }t        |t        «      r°| j	                  |j
                  «      }|j                  |j                  |j                  «       |j                  dk  rd nt        |j                  «      }|j                  �| j	                  |j                  «      nd }|j                  ||j                  ||f«       ŒÃ|j                  | j	                  |«      «       Œä t        |«      }| j                  ||«      S )NTr   )r  r4  rÒ   Úast_InterpolationrÃ   rí   r>  rÍ   r8  rÚ  rÛ  rÜ  r@  ry  rU   )r  r=  r”  rí   Úval_exprrÚ  rÜ  rØ   s           r™   Úvisit_TemplateStrzASTConverter.visit_TemplateStr¥  sê   € Ø%)ˆÔ"ØZ\ˆØ—X‘Xò 
	0ˆEÜ˜%Ô!2Ô3ØŸ:™: e§k¡kÓ2�Ø×!Ñ! %§,¡,°×0@Ñ0@ÔAØ%*×%5Ñ%5¸Ò%9™T¼sÀ5×CSÑCSÓ?T�
à5:×5FÑ5FÐ5R�D—J‘J˜u×0Ñ0Ô1ÐX\ð ð —‘˜h¨¯	©	°:¸{ÐKÕLà—‘˜TŸZ™Z¨Ó.Õ/ð
	0ô ˜EÓ"ˆØ�}‰}˜Q Ó"Ð"r¶   c                óX  — |j                   }t        | j                  |«      |j                  «      }|j                  }t        |t        «      rJt        |j                  t        «      r0|j                  j                  dk(  rt        |j                  |«      }n|}| j                  ||«      S )NÚsuper)rí   rA   rÃ   r
  r  rÒ   r$   ÚcalleerC   r’  rT   r>  )r  r=  rí   Úmember_exprÚobjrØ   s         r™   Úvisit_AttributezASTConverter.visit_Attribute·  s   € Ø—‘ˆÜ  §¡¨EÓ!2°A·F±FÓ;ˆØ×Ñˆä�sœHÔ%Ü˜3Ÿ:™:¤xÔ0Ø—
‘
—‘ 7Ò*ä(1°+×2BÑ2BÀCÓ(H‰AàˆAØ�}‰}˜Q Ó"Ð"r¶   c                ó¢   — t        | j                  |j                  «      | j                  |j                  «      «      }| j	                  ||«      S r  )r;   rÃ   rí   Úslicer>  r   s      r™   Úvisit_SubscriptzASTConverter.visit_SubscriptÆ  s9   € Ü�d—j‘j §¡Ó)¨4¯:©:°a·g±gÓ+>Ó?ˆØ�}‰}˜Q Ó"Ð"r¶   c                ón   — t        | j                  |j                  «      «      }| j                  ||«      S r  )rQ   rÃ   rí   r>  r   s      r™   Úvisit_StarredzASTConverter.visit_StarredË  s*   € Ü�T—Z‘Z §¡Ó(Ó)ˆØ�}‰}˜Q Ó"Ð"r¶   c                óP   — t        |j                  «      }| j                  ||«      S r  )rC   r	  r>  r   s      r™   Ú
visit_NamezASTConverter.visit_NameÐ  s    € Ü�Q—T‘T‹NˆØ�}‰}˜Q Ó"Ð"r¶   c                óö   — |j                   D �cg c]  }| j                  |«      ‘Œ }}t        |j                  t        j
                  «      rt        |«      }nt        |«      }| j                  ||«      S c c}w r  )	r1  rÃ   rÒ   Úctxr”   ÚStorerX   r?   r>  )r  r=  rØ   Ú	expr_lists       r™   Ú
visit_ListzASTConverter.visit_ListÕ  s^   € Ø>?¿f¹fÖ&E¸ t§z¡z°!¥}Ð&Eˆ	Ð&EÜ�a—e‘eœTŸZ™ZÔ(ä&/°	Ó&:‰Aä˜Ó#ˆAØ�}‰}˜Q Ó"Ð"ùò 'Fs   �A6c                ón   — t        | j                  |j                  «      «      }| j                  ||«      S r  )rX   rG  r1  r>  r   s      r™   Úvisit_TuplezASTConverter.visit_Tupleß  s,   € Ü�d×.Ñ.¨q¯v©vÓ6Ó7ˆØ�}‰}˜Q Ó"Ð"r¶   c                óÖ   — t        | j                  |j                  «      | j                  |j                  «      | j                  |j                  «      «      }| j                  ||«      S r  )rP   rÃ   Úlowerr³   Ústepr>  r   s      r™   Úvisit_SlicezASTConverter.visit_Sliceä  sH   € Ü�d—j‘j §¡Ó)¨4¯:©:°a·g±gÓ+>ÀÇ
Á
È1Ï6É6Ó@RÓSˆØ�}‰}˜Q Ó"Ð"r¶   c                ó¸  — t        | j                  |j                  «      |j                  D �cg c]  }| j                  |j                  «      ‘Œ c}|j                  D �cg c]  }| j                  |j
                  «      ‘Œ c}|j                  D �cg c]  }| j                  |j                  «      ‘Œ c}«      }| j                  ||«      S c c}w c c}w c c}w r  )	r@   rÃ   ÚsubjectÚcasesÚpatternÚguardrŽ  rï   r>  )r  r=  r±  r  s       r™   Úvisit_MatchzASTConverter.visit_Matché  s™   € ÜØ�J‰J�q—y‘yÓ!Ø,-¯G©GÖ4 qˆT�Z‰Z˜Ÿ	™	Õ"Ò4Ø*+¯'©'Ö2 QˆT�Z‰Z˜Ÿ™Õ Ò2Ø56·W±WÖ=°ˆT×#Ñ# A§F¡FÕ+Ò=ó	
ˆð �}‰}˜T 1Ó%Ð%ùò	 5ùÚ2ùÚ=s   ®"C
Á "CÂ"Cc                ón   — t        | j                  |j                  «      «      }| j                  ||«      S r  )rj   rÃ   rí   r>  r7  s      r™   Úvisit_MatchValuezASTConverter.visit_MatchValueò  s*   € Ü˜DŸJ™J q§w¡wÓ/Ó0ˆØ�}‰}˜T 1Ó%Ð%r¶   c                óP   — t        |j                  «      }| j                  ||«      S r  )rh   rí   r>  r7  s      r™   Úvisit_MatchSingletonz!ASTConverter.visit_MatchSingletonö  s!   € Ü §¡Ó(ˆØ�}‰}˜T 1Ó%Ð%r¶   c                ó   — |j                   D �cg c]  }| j                  |«      ‘Œ }}|D �cg c]  }t        |t        «      sŒ|‘Œ }}t	        |«      dk  sJ ‚t        |«      }| j                  ||«      S c c}w c c}w )Nrê   )ÚpatternsrÃ   rÒ   ri   r\  rg   r>  )r  r=  r3  r
  Ústarsr  s         r™   Úvisit_MatchSequencez ASTConverter.visit_MatchSequenceú  sp   € Ø+,¯:©:Ö6 a�D—J‘J˜q•MÐ6ˆÐ6Ø$ÖF�q¬
°1´nÕ(E’ÐFˆÐFÜ�5‹z˜AŠ~Ðˆ~ä˜xÓ(ˆØ�}‰}˜T 1Ó%Ð%ùò 7ùÚFs   �A6­A;ÁA;c                ó¶   — |j                   €t        d «      }n0| j                  t        |j                   «      |«      }t        |«      }| j                  ||«      S r  )r’  ri   r>  rC   )r  r=  r  r’  s       r™   Úvisit_MatchStarzASTConverter.visit_MatchStar  sI   € Ø�6‰6ˆ>Ü! $Ó'‰Dà—=‘=¤¨!¯&©&Ó!1°1Ó5ˆDÜ! $Ó'ˆDà�}‰}˜T 1Ó%Ð%r¶   c                ó\  — |j                   D �cg c]  }| j                  |«      ‘Œ }}|j                  D �cg c]  }| j                  |«      ‘Œ }}|j                  €d }n%| j	                  t        |j                  «      |«      }t        |||«      }| j	                  ||«      S c c}w c c}w r  )r£  rÃ   r
  Úrestr>  rC   re   )r  r=  rÇ  r£  r¸  r4  r  r  s           r™   Úvisit_MatchMappingzASTConverter.visit_MatchMapping  sŽ   € Ø'(§v¡vÖ. !�—
‘
˜1•Ð.ˆÐ.Ø)*¯©Ö4 A�$—*‘*˜Q•-Ð4ˆÐ4à�6‰6ˆ>Ø‰Dà—=‘=¤¨!¯&©&Ó!1°1Ó5ˆDä˜d F¨DÓ1ˆØ�}‰}˜T 1Ó%Ð%ùò /ùÚ4s
   �B$·B)c                óh  — | j                  |j                  «      }t        |t        «      sJ ‚|j                  D �cg c]  }| j                  |«      ‘Œ }}|j
                  }|j                  D �cg c]  }| j                  |«      ‘Œ }}t        ||||«      }| j                  ||«      S c c}w c c}w r  )	rÃ   ÚclsrÒ   rL   r
  Ú	kwd_attrsÚkwd_patternsrd   r>  )r  r=  Ú	class_refr3  ÚpositionalsÚkeyword_keysÚkeyword_valuesr  s           r™   Úvisit_MatchClasszASTConverter.visit_MatchClass  s”   € Ø—J‘J˜qŸu™uÓ%ˆ	Ü˜)¤WÔ-Ð-Ð-Ø./¯j©jÖ9¨�t—z‘z !•}Ð9ˆÐ9Ø—{‘{ˆØ12·±Ö@¨A˜$Ÿ*™* Q�-Ð@ˆÐ@ä˜I {°LÀ.ÓQˆØ�}‰}˜T 1Ó%Ð%ùò :ùâ@s   ¼B*Á0B/c                óÜ   — |j                   €d }n't        |j                   «      }| j                  ||«      }t        | j	                  |j
                  «      |«      }| j                  ||«      S r  )r’  rC   r>  rc   rÃ   r  )r  r=  r’  r  s       r™   Úvisit_MatchAszASTConverter.visit_MatchAs"  sX   € Ø�6‰6ˆ>Ø‰Dä˜AŸF™FÓ#ˆDØ—=‘=  qÓ)ˆDÜ˜Ÿ™ A§I¡IÓ.°Ó5ˆØ�}‰}˜T 1Ó%Ð%r¶   c                ó”   — t        |j                  D �cg c]  }| j                  |«      ‘Œ c}«      }| j                  ||«      S c c}w r  )rf   r
  rÃ   r>  )r  r=  r  r  s       r™   Úvisit_MatchOrzASTConverter.visit_MatchOr,  s;   € Ü¸Q¿Z¹ZÖH°'˜$Ÿ*™* WÕ-ÒHÓIˆØ�}‰}˜T 1Ó%Ð%ùò Is   ”Ac                ó<  — t        |j                  «      }|€y t        |t        j                  t        j
                  f«      r7| j                  t        j                  |j                  |j                  d¬«       t        |t        j                  «      r7| j                  t        j                  |j                  |j                  d¬«       t        |t        j                  «      r8| j                  t        j                  |j                  |j                  d¬«       y y r  )r  rí   rÒ   r”   r  r  r'  r   Ú TYPE_ALIAS_WITH_YIELD_EXPRESSIONrÍ   r8  r  Ú TYPE_ALIAS_WITH_NAMED_EXPRESSIONr  Ú TYPE_ALIAS_WITH_AWAIT_EXPRESSION)r  r=  r)  s      r™   Úvalidate_type_aliasz ASTConverter.validate_type_alias0  sÖ   € ÜGÈÏÉÓPˆØÐ!ØÜ�n¤t§z¡z´4·>±>Ð&BÔCØ�I‰IÜ ×AÑAØ—‘Ø—‘Øð	 ô ô �n¤d§n¡nÔ5Ø�I‰IÜ ×AÑAØ—‘Ø—‘Øð	 ô ô �n¤d§j¡jÔ1Ø�I‰IÜ ×AÑAØ—‘Ø—‘Øð	 õ ð 2r¶   c                ó²  — | j                  |j                  «      }| j                  |«       | j                  |j                  «      }t        |«      }| j                  ||j                  «       t        t        |g«      ¬«      }| j                  ||j                  «       t        | j                  |j                  «      ||«      }| j                  ||«      S )N)rï   )rá  rà  r#  rÃ   rí   rM   r>  r=   r!   rY   ró  r’  )r  r=  rà  rí   r–  Ú
value_funcr  s          r™   Úvisit_TypeAliaszASTConverter.visit_TypeAliasK  s¢   € à×0Ñ0°·±Ó?ˆØ× Ñ  Ô#Ø—
‘
˜1Ÿ7™7Ó#ˆô ˜ÓˆØ�‰�c˜1Ÿ7™7Ô#Ü¤U¨C¨5£\Ô2ˆ
Ø�‰�j !§'¡'Ô*Ü˜TŸ_™_¨Q¯V©VÓ4°kÀ:ÓNˆØ�}‰}˜T 1Ó%Ð%r¶   )r¦   rb   r©   rÏ  rª   r   r«   rÏ  r¬   ry  Úreturnrÿ  ©rÊ   ry  rç   rÌ  ró   rÌ  r'  rÿ  )
rÊ   r   rç   rÌ  ró   rÌ  r®   rÏ  r'  rÿ  )r  r6   r'  rÿ  )r  ú
AST | Noner'  r   )r  r    r=  ÚAstNoder'  r    )rA  zSequence[AST | None]r'  zlist[Expression | None])rA  zSequence[AST]r'  úlist[Expression])r  zast3.expr | ast3.stmtr'  rÌ  )
rb  úSequence[ast3.stmt]rN  rÏ  rO  rÏ  rP  rÏ  r'  úlist[Statement])r=  zast3.stmt | ast3.argrò   ú
str | Noner'  úProperType | None)r{  zast3.operatorr'  ry  )r{  z
ast3.cmpopr'  ry  )r†  r!   rb  r,  r'  rÿ  )rb  úlist[ast3.stmt]r'  zBlock | None)rb  r0  rO  rÏ  rP  rÏ  r'  r!   )rb  r-  r'  r-  r  )rh  r6   r˜  r.  r'  r.  )rh  r6   r'  z"tuple[Block | None, IfStmt | None])rh  r6   r'  rÿ  )rh  rR   r'  rÏ  )r	  ry  r'  ry  )r·  zast3.Moduler'  rB   )r=  zast3.FunctionDefr'  úFuncDef | Decorator)r=  zast3.AsyncFunctionDefr'  r1  )F)r=  z(ast3.FunctionDef | ast3.AsyncFunctionDefrP  rÏ  r'  r1  )r/  zType | Nonerä  zExpression | Noner'  rÿ  )rÒ  zast3.argumentsrç   rÌ  r  rÏ  r'  zlist[Argument])rð  úast3.argr  úast3.expr | NonerÕ  r   r  rÏ  rÔ  rÏ  r'  r   )rÊ   ry  rð  r2  r'  rÿ  )r=  zast3.ClassDefr'  r%   )r(  Úast_TypeVarr'  rÿ  )rà  z	list[Any]r'  zlist[TypeParam])r=  zast3.Returnr'  rM   )r=  zast3.Deleter'  r+   )r=  zast3.Assignr'  r   )r=  zast3.AnnAssignr'  r   )r=  zast3.AugAssignr'  rF   )r=  zast3.Forr'  r2   )r=  zast3.AsyncForr'  r2   )r=  z
ast3.Whiler'  r]   )r=  zast3.Ifr'  r6   )r=  z	ast3.Withr'  r^   )r=  zast3.AsyncWithr'  r^   )r=  z
ast3.Raiser'  rK   )r=  zast3.Tryr'  rW   )r=  ÚTryStarr'  rW   )r=  zast3.Assertr'  r   )r=  zast3.Importr'  r7   )r=  zast3.ImportFromr'  r9   )r=  zast3.Globalr'  r5   )r=  zast3.Nonlocalr'  rE   )r=  z	ast3.Exprr'  r0   )r=  z	ast3.Passr'  rJ   )r=  z
ast3.Breakr'  r"   )r=  zast3.Continuer'  r)   )r=  zast3.NamedExprr'  r   )r=  zast3.BoolOpr'  rG   )r{  ry  rŽ  r+  r=  ú	ast3.exprr'  rG   )r=  ú
ast3.BinOpr'  rG   )r=  zast3.UnaryOpr'  r[   )r=  zast3.Lambdar'  r=   )r=  z
ast3.IfExpr'  r(   )r=  ú	ast3.Dictr'  r,   )r=  zast3.Setr'  rO   )r=  zast3.ListCompr'  r>   )r=  zast3.SetCompr'  rN   )r=  zast3.DictCompr'  r-   )r=  zast3.GeneratorExpr'  r4   )r=  z
ast3.Awaitr'  r    )r=  z
ast3.Yieldr'  r_   )r=  zast3.YieldFromr'  r`   )r=  zast3.Comparer'  r&   )r=  r…   r'  r$   )r=  úast3.Constantr'  r   )r=  zast3.JoinedStrr'  r/   )r=  zast3.FormattedValuer'  r/   )r=  Úast_TemplateStrr'  rU   )r=  r„   r'  zMemberExpr | SuperExpr)r=  úast3.Subscriptr'  r;   )r=  rˆ   r'  rQ   )r=  r‡   r'  rC   )r=  ú	ast3.Listr'  zListExpr | TupleExpr)r=  ú
ast3.Tupler'  rX   )r=  ú
ast3.Slicer'  rP   )r=  z
ast3.Matchr'  r@   )r=  zast3.MatchValuer'  rj   )r=  zast3.MatchSingletonr'  rh   )r=  zast3.MatchSequencer'  rg   )r=  zast3.MatchStarr'  ri   )r=  zast3.MatchMappingr'  re   )r=  zast3.MatchClassr'  rd   )r=  zast3.MatchAsr'  rc   )r=  zast3.MatchOrr'  rf   )r=  Úast_TypeAliasr'  rÿ  )r=  r?  r'  zTypeAliasStmt | AssignmentStmt)~r2  Ú
__module__Ú__qualname__r  r!  r'  r,  rÃ   r>  rD  rG  rM  rZ  rl  r”   ÚAddÚSubÚMultÚMatMultÚDivÚModÚPowÚLShiftÚRShiftÚBitOrÚBitXorÚBitAndÚFloorDivrv  Ú__annotations__r}  ÚGtÚLtÚEqÚGtEÚLtEÚNotEqÚIsÚIsNotÚInÚNotInr‚  r„  r[  r‹  rŽ  rY  r�  r‘  r•  r¦  r³  rº  r¿  rÁ  r½  rã  rÑ  r  r
  r#  r*  rá  r8  r<  rB  rF  rI  rO  rS  rV  rX  r\  r^  rb  rj  rm  ro  rs  rv  ry  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â  ræ  rì  rï  rñ  ró  rø  rú  rþ  r  r  r  r  r  r  r  r  r  r#  r&  © r¶   r™   rÂ   rÂ   u  s]  … ðIàðIð ðIð ð	Ið  $ðIð ðIð 
óIó2RóXó
ó
óóóGóð ØØ"ñIà"ðIð ð	Ið
 ðIð ðIð 
óIðV
Ø%ð
Ø5?ð
à	ó
ð 	�‰�#Ø�‰�#Ø�	‰	�3Ø�‰�cØ�‰�#Ø�‰�#Ø�‰�$Ø�‰�TØ�‰�TØ�
‰
�CØ�‰�SØ�‰�SØ�‰�tð+€FÐ'ó ó ð 	�‰�Ø�‰�Ø�‰�Ø�‰�$Ø�‰�$Ø�
‰
�DØ�‰�Ø�
‰
�HØ�‰�Ø�
‰
�Hð0€KÐ,ó óó(óð <AÐW\ñ
Ø$ð
Ø48ð
ØPTð
à	ó
óRðj AEð'Øð'Ø3=ð'à	ó'ðRØðà	+óó@)óAó&óó.#ó
6ð QVð_Ø9ð_ØIMð_à	ó_óB%ð FKð*Ø"ð*Ø*-ð*Ø>Bð*à	ó*ðd ð!àð!ð "ð!ð ð	!ð
 ð!ð ð!ð 
ó!óFOóó<ó4 $óF&ó
&ó#ó#ó#ó	&ó
&ó&ó&ó&ó	#ó&ó
&ó"&ó&&ó
#ó #ó#ó
#ó
&ó#ó
#ó
#ó#ó
Eó#ó#ó#ó$	ó#ó
#ó#ó
#ó
#ó
#ó"#ó#ó#ó
#ó
#ó#ó&#ó03ó,3ó&#ó$#ó#ó
#ó
#ó
#ó#ó
#ó
&ó&ó&ó&ó&ó
&ó&ó&ó&óô6&r¶   rÂ   c                  ó  — e Zd Z	 	 	 d	 	 	 	 	 	 	 	 	 dd„Zdd„Zddd„Zed d„«       Zed!d„«       Zd!d„Zd"d„Zd#d	„Z	d$d
„Z
d%d„Zd&d„Zd'd„Zd(d„Zd)d„Zd*d„Zd+d„Zd,d„Zd-d„Zd.d„Zd/d„Zd0d„Zd1d„Zd2d„Zd3d„Zd4d„Zy)5rî   c                óJ   — || _         || _        || _        g | _        || _        y r  )rª   rç   rè   Ú
node_stackré   )r  rª   rç   rè   ré   s        r™   r  zTypeConverter.__init__[  s)   € ð ˆŒØˆŒ	Ø.ˆÔØ%'ˆŒØ(ˆÕr¶   c                ó<   — | j                   dk  r|S | j                   S )z¿Apply column override if defined; otherwise return column.

        Column numbers are sometimes incorrect in the AST and the column
        override can be used to work around that.
        r   )rè   )r  ró   s     r™   Úconvert_columnzTypeConverter.convert_columnh  s#   € ð ×Ñ !Ò#ØˆMà×'Ñ'Ð'r¶   Nc           
     óL   — t        dd| j                  t        |dd«      |¬«      S )aÊ  Constructs a type representing some expression that normally forms an invalid type.
        For example, if we see a type hint that says "3 + 4", we would transform that
        expression into a RawExpressionType.

        The semantic analysis layer will report an "Invalid type" error when it
        encounters this type, along with the given note if one is provided.

        See RawExpressionType's docstring for more details on how it's used.
        Nz
typing.Anyr8  r¢   )rç   ró   r!  )rv   rç   r3  )r  r  r!  s      r™   Úinvalid_typezTypeConverter.invalid_types  s+   € ô !Ø�, T§Y¡Y´w¸tÀ\ÐSUÓ7VÐ]aô
ð 	
r¶   c                 ó   — y r  rZ  r+  s     r™   rÃ   zTypeConverter.visit�  s   € Ø47r¶   c                 ó   — y r  rZ  r+  s     r™   rÃ   zTypeConverter.visit„  s   € Ø<?r¶   c                ó�  — |€y| j                   j                  |«       	 d|j                  j                  z   }t	        | |d«      }|�6 ||«      }t        |t        «      sJ ‚|| j                   j                  «        S | j                  |«      | j                   j                  «        S # | j                   j                  «        w xY w)z2Modified visit -- keep track of the stack of nodesNr.  )	r]  r@  r1  r2  r3  rÒ   ru   rV  ra  )r  r  r6  r5  rô   s        r™   rÃ   zTypeConverter.visit‡  s¨   € àˆ<ØØ�‰×Ñ˜tÔ$ð
	"Ø §¡× 7Ñ 7Ñ7ˆFÜ˜d F¨DÓ1ˆGØÐ"Ù˜d“m�Ü! #¤zÔ2Ð2Ð2Øð �O‰O×ÑÕ!ð ×(Ñ(¨Ó.à�O‰O×ÑÕ!øˆD�O‰O×ÑÕ!ús    AB) Á>B) Â)Cc                óR   — t        | j                  «      dk  ry| j                  d   S )z3Return the AST node above the one we are processingrê   NrS  )r\  r]  ©r  s    r™   ÚparentzTypeConverter.parent˜  s%   € äˆt�‰Ó !Ò#ØØ�‰˜rÑ"Ð"r¶   c                ó†   — | j                   r5| j                   j                  |||j                  d|j                  ¬«       y y )NTr­   )rª   rÆ   rí   r¯   r$  s       r™   r'  zTypeConverter.failž  s3   € Ø�;Š;Ø�K‰K×Ñ˜t V¨S¯Y©YÀÈ3Ï8É8ÐÕTð r¶   c                óz   — | j                   r/| j                   j                  |||dt        j                  ¬«       y y r   r#  r$  s       r™   r!  zTypeConverter.note¢  s/   € Ø�;Š;Ø�K‰K×Ñ˜t V¨S¸6ÌÏÉÐÕUð r¶   c                óJ   — |D �cg c]  }| j                  |«      ‘Œ c}S c c}w r  )rÃ   ©r  rA  rØ   s      r™   rG  z!TypeConverter.translate_expr_list¦  s   € Ø'(Ö) !�—
‘
˜1•Ò)Ð)ùÒ)s   … c                ón  — |j                   }t        |«      }t        | j                  «       t        j
                  «      s7d }|r |j                  rd}ndj                  |«      }| j                  ||¬«      S |s5| j                  t        j                  |j                  |j                  «       d }t        t        j                   «      }|}t#        |j$                  «      D ]n  \  }}	|dk(  r| j'                  |	«      }
|
€J ‚|
}Œ#|dk(  r| j)                  |	«      }Œ:| j                  t        j*                  |j                  |j                  «       Œp |j                  D �]3  }|j,                  }|j.                  dk(  rX|�D| j                  t        j0                  j                  |«      |j                  |j                  «       | j)                  |«      }Œw|j.                  dk(  r`||urD| j                  t        j2                  j                  |«      |j                  |j                  «       | j'                  |«      }
|
€J ‚|
}Œæ| j                  t        j4                  j                  |j.                  «      |j                  |j                  «       �Œ6 t7        ||||j                  |j                  «      S )Nz/Cannot use a function call in a type annotationz,Suggestion: use {0}[...] instead of {0}(...)©r!  r   r�   r’  r/  )rÆ  Ústringify_namerÒ   rg  r”   ÚListr  rñ   ra  r'  r   ÚARG_CONSTRUCTOR_NAME_EXPECTEDrÍ   r8  rp   r{   rÞ  r  rÒ  rÃ   Ú_extract_argument_nameÚARG_CONSTRUCTOR_TOO_MANY_ARGSrí   rð  ÚMULTIPLE_VALUES_FOR_NAME_KWARGÚMULTIPLE_VALUES_FOR_TYPE_KWARGÚARG_CONSTRUCTOR_UNEXPECTED_ARGrq   )r  rØ   ÚfÚconstructorr!  r’  Údefault_typerô   r  rð  r÷   rÇ  rí   s                r™   rÉ  zTypeConverter.visit_Call©  sA  € à�F‰FˆÜ$ QÓ'ˆä˜$Ÿ+™+›-¬¯©Ô3ØˆDÙØ—:’:ØL‘DàI×PÑPÐQ\Ó]�DØ×$Ñ$ Q¨TÐ$Ó2Ð2ÙØ�I‰IÔ&×DÑDÀaÇhÁhÐPQ×P\ÑP\Ô]àˆÜœy×5Ñ5Ó6ˆØ ˆÜ §¡Ó'ò 	b‰FˆAˆsØ�AŠvØ ŸJ™J s›O�	Ø Ð,Ð,Ð,Ø‘Ø�a’Ø×2Ñ2°3Ó7‘à—	‘	Ô*×HÑHÈ!Ï(É(ÐTU×T`ÑT`Õað	bð —‘ó 	ˆAØ—G‘GˆEØ�u‰u˜ŠØÐ#Ø—I‘IÜ(×GÑG×NÑNÈ{Ó[ØŸ™ØŸ™ôð
 ×2Ñ2°5Ó9‘Ø—‘˜&’Ø˜lÑ*Ø—I‘IÜ(×GÑG×NÑNÈ{Ó[ØŸ™ØŸ™ôð
 !ŸJ™J uÓ-�	Ø Ð,Ð,Ð,Ø‘à—	‘	Ü$×CÑC×JÑJÈ1Ï5É5ÓQØ—L‘LØ×$Ñ$öð+	ô4    T¨;¸¿¹À!Ç,Á,ÓOÐOr¶   c                ót   — t        |D �cg c]  }| j                  |«      ‘Œ c}| j                  ¬«      S c c}w )NrÊ  )rz   rÃ   rç   rk  s      r™   Útranslate_argument_listz%TypeConverter.translate_argument_listá  s)   € Ü°Ö2¨1˜Ÿ™ A�Ò2¸¿¹ÔCÐCùÒ2s   Š5c                óˆ  — t        |t        j                  «      r4t        |j                  t        «      r|j                  j                  «       S t        |t        j                  «      r|j                  €y | j                  t        j                  j                  t        |«      j                  «      | j                  d«       y rI  )rÒ   r”   rØ  rí   ry  rß   r'  r   Ú ARG_NAME_EXPECTED_STRING_LITERALrñ   r/  r2  rç   r¾  s     r™   rq  z$TypeConverter._extract_argument_nameä  s   € Ü�aœŸ™Ô'¬J°q·w±wÄÔ,DØ—7‘7—=‘=“?Ð"Ü˜œ4Ÿ=™=Ô)¨a¯g©g¨oØØ�	‰	Ü×=Ñ=×DÑDÄTÈ!ÃW×EUÑEUÓVØ�I‰IØô	
ð
 r¶   c                óx   — t        |j                  | j                  | j                  |j                  «      ¬«      S )N©rç   ró   )r|   r	  rç   r_  r8  r¾  s     r™   ró  zTypeConverter.visit_Nameð  s(   € Ü˜1Ÿ4™4 d§i¡i¸×8KÑ8KÈAÏLÉLÓ8YÔZÐZr¶   c                óV  — t        |j                  t        j                  «      s| j	                  |«      S | j                  |j                  «      }| j                  |j                  «      }t        ||g| j                  | j                  |j                  «      | j                  d¬«      S )NT)rç   ró   ré   Úuses_pep604_syntax)rÒ   r{  r”   rK  ra  rÃ   r�  r‘  r}   rç   r_  r8  ré   )r  r=  r�  r‘  s       r™   r“  zTypeConverter.visit_BinOpó  s‚   € Ü˜!Ÿ$™$¤§
¡
Ô+Ø×$Ñ$ QÓ'Ð'à�z‰z˜!Ÿ&™&Ó!ˆØ—
‘
˜1Ÿ7™7Ó#ˆÜØ�5ˆMØ—‘Ø×&Ñ& q§|¡|Ó4Ø×*Ñ*Ø#ô
ð 	
r¶   c                ó  — |j                   }|€t        d| j                  ¬«      S t        |t        «      r"t        |d| j                  |j                  «      S |t        u rt        | j                  ¬«      S t        |t        «      rt        |d| j                  ¬«      S t        |t        t        t        f«      r| j                  ||«      S t        |t        «      r.t!        |«      }t        |d| j                  |j                  ¬«      S y )Nrÿ  rÊ  zbuiltins.strzbuiltins.boolzbuiltins.bytes)ró   )rí   r|   rç   rÒ   ry  r  r8  rÙ  rs   rÏ  rv   rÌ  rÍ  rÎ  Únumeric_typerË  r   )r  r=  rÏ  Úcontentss       r™   rÐ  zTypeConverter.visit_Constant  sÑ   € Ø�g‰gˆØˆ;ä˜v¨D¯I©IÔ6Ð6Ü�cœ3Ôä$ S¨.¸$¿)¹)ÀQÇ\Á\ÓRÐRØ”(‰?ä T§Y¡YÔ/Ð/Ü�cœ4Ô ä$ S¨/ÀÇ	Á	ÔJÐJÜ�cœC¤¬Ð0Ô1Ø×$Ñ$ S¨!Ó,Ð,Ü�cœ5Ô!Ü3°CÓ8ˆHÜ$ XÐ/?ÀÇÁÐST×S_ÑS_Ô`Ð`ð "r¶   c                óJ  — | j                  |j                  «      }t        |t        «      rht	        |j
                  «      t        u rMt        |j                  t        «      r|xj
                  dz  c_        |S t        |j                  t        «      r|S | j                  |«      S )Nr¢   )rÃ   r™  rÒ   rv   r/  Úliteral_valuerÌ  r{  r‹   r‰   ra  )r  r=  rô   s      r™   rš  zTypeConverter.visit_UnaryOp  s|   € ð �j‰j˜Ÿ™Ó#ˆä�sÔ-Ô.ä�S×&Ñ&Ó'¬3Ñ.ä˜!Ÿ$™$¤Ô%Ø×!Ò! RÑ'Õ!Ø�
Ü˜!Ÿ$™$¤Ô%Ø�
Ø× Ñ  Ó#Ð#r¶   c           
     ó¨   — t        |t        «      r|}d}nd }dt        |«      j                  › �}t	        ||| j
                  t        |dd«      ¬«      S )Nzbuiltins.intz	builtins.r8  r¢   r~  )rÒ   rÌ  r/  r2  rv   rç   r3  )r  rí   r=  Únumeric_valueÚ	type_names        r™   r‚  zTypeConverter.numeric_type'  sZ   € ô
 �eœSÔ!Ø(-ˆMØ&‰Ið
 !ˆMØ#¤D¨£K×$8Ñ$8Ð#9Ð:ˆIÜ Ø˜9¨4¯9©9¼WÀQÈÐVXÓ=Yô
ð 	
r¶   c                ó(   — | j                  |d¬«      S )Nz(did you mean to use ',' instead of ':' ?rm  )ra  r¾  s     r™   rþ  zTypeConverter.visit_Slice9  s   € Ø× Ñ  Ð)SÐ ÓTÐTr¶   c                óN  — d}t        |j                  t        j                  «      rJ| j	                  |j                  j
                  «      }t        |j                  j
                  «      dk(  rd}n| j                  |j                  «      g}| j                  |j                  «      }t        |t        «      r^|j                  sRt        |j                  || j                  |j                  |¬«      }|j                  |_        |j                   |_        |S | j%                  |«      S )NFr   T)rç   ró   Úempty_tuple_index)rÒ   rî  r”   r0  rG  r1  r\  rÃ   rí   r|   rÒ  r’  rç   ró   r;  r<  r9  r:  ra  )r  r=  r‹  Úparamsrí   Úresults         r™   rï  zTypeConverter.visit_Subscript=  sÚ   € Ø!ÐÜ�a—g‘gœtŸz™zÔ*Ø×-Ñ-¨a¯g©g¯l©lÓ;ˆFÜ�1—7‘7—<‘<Ó  AÒ%Ø$(Ñ!à—j‘j §¡Ó)Ð*ˆFà—
‘
˜1Ÿ7™7Ó#ˆÜ�eœ[Ô)°%·*²*Ü Ø—
‘
ØØ—Y‘YØ—|‘|Ø"3ôˆFð !"× 0Ñ 0ˆFÔØŸl™lˆFŒOØˆMà×$Ñ$ QÓ'Ð'r¶   c           	     ó¢   — t        | j                  |j                  «      t        d| j                  | j                  |j                  «      ¬«      S )NT)Úimplicitrç   ró   )rw   rG  r1  r£   rç   r_  r8  r¾  s     r™   rú  zTypeConverter.visit_TupleU  s@   € ÜØ×$Ñ$ Q§V¡VÓ,ÜØØ—‘Ø×&Ñ& q§|¡|Ó4ô
ð 	
r¶   c                ó&  — |j                   s| j                  |«      S i }g }t        |j                   |j                  «      D ]�  \  }}t	        |t
        j                  «      rt	        |j                  t        «      s6|€!|j                  | j                  |«      «       Œ]| j                  |«      c S | j                  |«      ||j                  <   Œ� t        |t        «       t        «       t        |j                  |j                  «      }||_        |S r  )r£  ra  râ  r4  rÒ   r”   rØ  rí   ry  r@  rÃ   ry   Úsetr£   rÍ   r8  Úextra_items_from)r  r=  r”  r’  Ú	item_namerí   r�  s          r™   r¤  zTypeConverter.visit_Dict^  sÛ   € Ø�vŠvØ×$Ñ$ QÓ'Ð'Ø!#ˆØÐÜ # A§F¡F¨A¯H©HÓ 5ò 	7ÑˆI�uÜ˜i¬¯©Ô7¼zÈ)Ï/É/Ô[^Ô?_ØÐ$Ø$×+Ñ+¨D¯J©J°uÓ,=Ô>ØØ×(Ñ(¨Ó+Ò+Ø%)§Z¡Z°Ó%6ˆE�)—/‘/Ò"ð	7ô ˜u¤c£e¬S«U´OÀQÇXÁXÈqÏ|É|Ó\ˆØ"2ˆÔØˆr¶   c                ó  — | j                  |j                  «      }t        |t        «      rG|j                  s;t        |j
                  › d|j                  › �| j                  |j                  ¬«      S | j                  |«      S )Nr°   r~  )
rÃ   rí   rÒ   r|   rÒ  r’  r
  rç   r8  ra  )r  r=  Ú
before_dots      r™   rì  zTypeConverter.visit_Attributeo  sc   € Ø—Z‘Z §¡Ó(ˆ
ä�j¤+Ô.°z·²Ü *§/¡/Ð!2°!°A·F±F°8Ð<À4Ç9Á9ÐUV×UaÑUaÔbÐbà×$Ñ$ QÓ'Ð'r¶   c                óN   — t        | j                  |j                  «      d¬«      S )NT)Úfrom_star_syntax)r~   rÃ   rí   r¾  s     r™   rñ  zTypeConverter.visit_Starredx  s   € Ü˜$Ÿ*™* Q§W¡WÓ-ÀÔEÐEr¶   c                óˆ   — t        |j                  t        j                  «      sJ ‚| j	                  |j
                  «      }|S r  )rÒ   rõ  r”   ÚLoadrz  r1  )r  r=  r�  s      r™   rø  zTypeConverter.visit_List|  s3   € Ü˜!Ÿ%™%¤§¡Ô+Ð+Ð+Ø×-Ñ-¨a¯f©fÓ5ˆØˆr¶   )r¢   r¢   T)
rª   úErrors | Nonerç   rÌ  rè   rÌ  ré   rÏ  r'  rÿ  )ró   rÌ  r'  rÌ  r  )r  rƒ   r!  r.  r'  rv   )r  r6  r'  ru   )r  r)  r'  r/  )r'  r)  )rÊ   r   rç   rÌ  ró   rÌ  r'  rÿ  r(  )rA  úSequence[ast3.expr]r'  z
list[Type])rØ   r…   r'  rx   )rA  r›  r'  rz   )r=  r6  r'  r.  )r=  r‡   r'  rx   )r=  r7  r'  rx   )r=  r9  r'  rx   )r=  rŠ   r'  rx   )rí   Úobjectr=  rƒ   r'  rx   )r=  r>  r'  rx   )r=  r;  r'  rx   )r=  r=  r'  rx   )r=  r8  r'  rx   )r=  r„   r'  rx   )r=  zast3.Starredr'  rx   )r=  r<  r'  rx   )r2  r@  rA  r  r_  ra  r   rÃ   rg  r'  r!  rG  rÉ  rz  rq  ró  r“  rÐ  rš  r‚  rþ  rï  rú  r¤  rì  rñ  rø  rZ  r¶   r™   rî   rî   Z  s×   „ ð Ø!Ø!ð)àð)ð ð)ð ð	)ð
 ð)ð 
ó)ó	(ô
ð Ú7ó Ø7àÚ?ó Ø?ó"ó"#óUóVó*ó6PópDó
ó[ó
óaó,$ó 
ó$Uó(ó0
óó"(óFôr¶   rî   c                ó¬   — t        | t        «      r| j                  S t        | t        «      r(t	        | j
                  «      }|�|› d| j                  › �S y )Nr°   )rÒ   r‡   r	  r„   rn  rí   r
  )r=  Úsvs     r™   rn  rn  ‚  sJ   € Ü�!”TÔØ�t‰tˆÜ	�A”yÔ	!Ü˜AŸG™GÓ$ˆØˆ>Ø�T˜˜1Ÿ6™6˜(Ð#Ð#Ør¶   c                  óP   — e Zd ZdZdd„Zdd„Zdd„Zdd„Zdd„Zdd„Z	dd„Z
dd	„Zy
)r^  zACheck if an AST contains attribute assignments (e.g. self.x = 0).c                ó    — d| _         d| _        y r  )Úlvaluer`  rf  s    r™   r  zFindAttributeAssign.__init__�  s   € ØˆŒØˆ�
r¶   c                ód   — d| _         |j                  D ]  }|j                  | «       Œ d| _         y ©NTF)r¡  r@  r_  ©r  ri  Úlvs      r™   Úvisit_assignment_stmtz)FindAttributeAssign.visit_assignment_stmt“  s.   € ØˆŒØ—)‘)ò 	ˆBØ�I‰I�d�Oð	àˆ�r¶   c                ó    — d| _         |j                  D ]  }|€Œ|j                  | «       Œ d| _         |j                  j                  | «       y r£  )r¡  rE  r_  rï   r¤  s      r™   Úvisit_with_stmtz#FindAttributeAssign.visit_with_stmt™  sE   € ØˆŒØ—(‘(ò 	 ˆBØ‰~Ø—	‘	˜$•ð	 ð ˆŒØ	�‰�‰�dÕr¶   c                óÜ   — d| _         |j                  j                  | «       d| _         |j                  j                  | «       |j                  r|j                  j                  | «       y y r£  )r¡  Úindexr_  rï   rª  ©r  ri  s     r™   Úvisit_for_stmtz"FindAttributeAssign.visit_for_stmt¡  sN   € ØˆŒØ	�‰�‰�tÔØˆŒØ	�‰�‰�dÔØ�;Š;Ø�K‰K×Ñ˜tÕ$ð r¶   c                 ó   — y r  rZ  r«  s     r™   Úvisit_expression_stmtz)FindAttributeAssign.visit_expression_stmt©  ó   € àr¶   c                 ó   — y r  rZ  ©r  rØ   s     r™   Úvisit_call_exprz#FindAttributeAssign.visit_call_expr­  r¯  r¶   c                 ó   — y r  rZ  r±  s     r™   Úvisit_index_exprz$FindAttributeAssign.visit_index_expr±  r¯  r¶   c                ób   — | j                   r#t        |j                  t        «      rd| _        y y y rQ  )r¡  rÒ   r  rC   r`  r±  s     r™   Úvisit_member_exprz%FindAttributeAssign.visit_member_exprµ  s$   € Ø�;Š;œ: a§f¡f¬hÔ7ØˆD�Jð 8ˆ;r¶   N©r'  rÿ  )ri  r   r'  rÿ  )ri  r^   r'  rÿ  )ri  r2   r'  rÿ  )ri  r0   r'  rÿ  )rØ   r$   r'  rÿ  )rØ   r;   r'  rÿ  )rØ   rA   r'  rÿ  )r2  r@  rA  Ú__doc__r  r¦  r¨  r¬  r®  r²  r´  r¶  rZ  r¶   r™   r^  r^  Œ  s-   „ ÙKóóóó%óóóôr¶   r^  c                  ó(   — e Zd ZdZdd„Zdd„Zdd„Zy)	ra  z/Check if an AST contains yields or yield froms.c                ó   — d| _         y r  ©r`  rf  s    r™   r  zFindYield.__init__½  s	   € Øˆ�
r¶   c                ó   — d| _         y rQ  r»  r±  s     r™   Úvisit_yield_exprzFindYield.visit_yield_exprÀ  ó	   € Øˆ�
r¶   c                ó   — d| _         y rQ  r»  r±  s     r™   Úvisit_yield_from_exprzFindYield.visit_yield_from_exprÃ  r¾  r¶   Nr·  )rØ   r_   r'  rÿ  )rØ   r`   r'  rÿ  )r2  r@  rA  r¸  r  r½  rÀ  rZ  r¶   r™   ra  ra  º  s   „ Ù9óóôr¶   ra  c                óB  — t        | «      }|dk(  ryd}t        | d   t        «      r"t        | d   j                  t        «      r|dz  }||k(  ry||dz   kD  ry| |   }t        |t
        t        f«      xs, t        |t        «      xr t        |j                  t        «      S )zÈCould the statements form a "trivial" function body, such as 'pass'?

    This mimics mypy.semanal.is_trivial_body, but this runs before
    semantic analysis so some checks must be conservative.
    r   Fr�   T)r\  rÒ   r0   r  rS   rJ   rK   r.   )ri  rA  r  rh  s       r™   r]  r]  Ç  s˜   € ô 	ˆA‹€AØˆA‚vØØ	€AÜ�!�A‘$œÔ'¬J°q¸±t·y±yÄ'Ô,Jà	ˆQ‰ˆØˆA‚vØØˆ1ˆq‰5‚yØØˆQ‰4€DÜ�dœX¤yÐ1Ó2ò Ü�4œÓ(ÒP¬Z¸¿	¹	Ä<Ó-Pðr¶   )
r–   ústr | bytesr—   ry  r˜   ry  r�   rÌ  r'  rƒ   r  )r–   rÂ  rÓ   ry  rÔ   r.  rª   r   r¦   zOptions | Noner'  rB   )râ   r.  r'  zlist[str] | None)
rò   ry  rç   rÌ  ró   rÌ  rª   rš  r'  z*tuple[list[str] | None, ProperType | None])
r  ry  r  ry  rç   rÌ  ró   rÌ  r'  ru   )r  r6  r'  rÏ  )r  r3  r'  r3  )r=  rƒ   r'  r.  )ri  r-  r'  rÏ  )ÀÚ
__future__r   rÏ   r¼   r�   Úcollections.abcr   r   r  r   r   r   r	   r
   r   Úmypyr   r   rÇ   r   Úmypy.errorsr   Úmypy.message_registryr   Ú
mypy.nodesr   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+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   Úmypy.optionsrb   Úmypy.patternsrc   rd   re   rf   rg   rh   ri   rj   Úmypy.reachabilityrk   rl   Úmypy.sharedparserm   rn   Úmypy.traverserro   Ú
mypy.typesrp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   Ú	mypy.utilr   r€   r½   r‚   rO  rÖ   r”   rƒ   r„   r…   r†   r‡   rˆ   r‰   rŠ   r‹   rš   r  rh  r  ÚExceptHandlerr*  r5  Ú	TypeAliasr?  Ú	ParamSpecr.  r4  ÚTypeVarTupler/  ÚTemplateStrr:  ÚInterpolationrä  r    r£   Úcompiler¤   r•   rä   rú   r  r  r  rÂ   rî   rn  r^  ra  r]  rZ  r¶   r™   ú<module>r×     s-  ðÞ "ã 	Û 
Û ß .ß ?× ?ç @Ñ @Ý Ý .÷R÷ R÷ R÷ R÷ R÷ R÷ R÷ R÷ R÷ R÷ R÷ R÷ R÷ R÷ R÷ R÷ R÷ R÷ R÷ Rõ Rõf !÷	÷ 	ó 	÷ Yß NÝ +÷÷ ÷ ÷ ñ ÷" Eð ×*Ò*¨1Ñ-Ð �%Ó -ã ß V× VÕ Vð K[ð
Øð
Ø#&ð
Ø.1ð
ØDGð
àó
ð" �)Š)�d—i’iÑ
 $§,¢,Ñ
.°×1CÒ1CÑ
C€à×Ò�wÒØ�lŠl�Gà€Gà×Ò�wÒØ—N’N€MØ—N’N€MØ—,‘,€KØ×(Ò(Ñà€MØ€MØ€KØÐà×Ò�wÒØ×&Ò&€OØ×*Ò*Ñà€OØÐáˆC�tÔ€ñ "Ð"2°B¸Ó;€�Ó ;à'˜RŸZšZÐ(IÓJÐ �UÓ Jð #ðWØðWà
ðWð ðWð ð	Wð
 ðWð óWót`ð$#"Øð#"Ø ð#"Ø*-ð#"Ø7Dð#"à/ó#"ðLPØðPØ*-ðPØ58ðPØBEðPàóPó,ó÷b&ñ b&÷J/eñ eóP	ô+Ð*ô +ô\
Ð ô 
ôr¶   