+
    }¯³jèC  ã                  óê  € ^ RI Ht ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIH	t	 ^ RIH
t
 ^ R	IHt ^ R
IHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIH t  ^ RIH!t! ^ RIH"t" ^ RIH#t# ^R I$H%t% ^R!I$H&t& ^R"I$H't' ^R#I$H(t( R/R$ R% llt)R& R' lt*R( R) lt+R* R+ lt,R, R- lt-R.# )0é    )Úannotations)ÚList)ÚOptional)ÚUnion)ÚAssignmentStmt)ÚCallExpr)ÚClassDef)Ú	Decorator)Ú
LambdaExpr)ÚListExpr)Ú
MemberExpr)ÚNameExpr)ÚPlaceholderNode)ÚRefExpr)ÚStrExpr)Ú
SymbolNode)ÚSymbolTableNode)ÚTempNode)ÚTypeInfo)ÚVar)ÚSemanticAnalyzerPluginInterface)ÚAnyType)ÚCallableType)Úget_proper_type)ÚInstance)ÚNoneType)Ú
ProperType)ÚType)Ú	TypeOfAny)ÚUnboundType)Ú	UnionType)Úapply)Úinfer)Únames)Úutilc               ó(   € V ^8„  d   QhRRRRRRRR/# )	é   Úclsr	   Úapir   Úis_mixin_scanÚboolÚreturnz(Optional[List[util.SQLAlchemyAttribute]]© )Úformats   "Ú_/home/luca/screen-checking/.venv/lib/python3.14/site-packages/sqlalchemy/ext/mypy/decl_class.pyÚ__annotate__r0   0   s0   € ÷ ?ñ ?Ø	ð?à	(ð?ð ð?ð .ñ	?ó    c                ó6  € \         P                  ! W4      pVf   R # V P                  P                  R4      '       d   R # \         P                  ! W14      p\         P
                  ! V4       Ve"   V'       g   \        P                  ! WV4       V# . pV P                  P                  '       g2   VP                  P                  4        F  w  rV\        WWVV4       K  	  My\         P                  ! V P                  P                  4       FK  p\        V\        4      '       d   \!        WWt4       K'  \        V\"        4      '       g   K?  \%        WWt4       KM  	  \'        W4       V'       g   \        P(                  ! WV4       \         P*                  ! W44       V# )NÚbuiltins)r%   Úinfo_for_clsÚfullnameÚ
startswithÚget_mapped_attributesÚestablish_as_sqlalchemyr"   Ú re_apply_declarative_assignmentsÚdefsÚbodyr$   ÚitemsÚ_scan_symbol_table_entryÚflatten_typecheckingÚ
isinstancer   Ú!_scan_declarative_assignment_stmtr
   Ú _scan_declarative_decorator_stmtÚ_scan_for_mapped_basesÚadd_additional_orm_attributesÚset_mapped_attributes)r(   r)   r*   ÚinfoÚmapped_attributesÚsym_nameÚsymÚstmts   &&&     r/   Ú,scan_declarative_assignments_and_apply_typesrJ   0   sB  € ô
 ×Ò˜SÓ&€Dà‚|áØ	�‰×	 Ñ	  ×	,Ò	,Ùô 	×"Ò" 4Ó-ð ô
 	× Ò  Ô&àÒ$÷
 ô ×2Ò2°3Ð=NÔOà Ð àÐà�8‰8�=�=ˆ=ð "ŸZ™Z×-Ñ-Ö/‰MˆHÜ$Ø˜(Ð):öò 0ô
 ×-Ò-¨c¯h©h¯m©mÖ<ˆDÜ˜$¤×/Ò/Ü1Ø˜döô ˜D¤)×,Ô,Ü0Ø˜döñ =ô ˜3Ô$çÜ×+Ò+¨CÐ6GÔHä×Ò˜tÔ7àÐr1   c               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# )r'   r(   r	   r)   r   ÚnameÚstrÚvaluer   Ú
attributesúList[util.SQLAlchemyAttribute]r,   ÚNoner-   )r.   s   "r/   r0   r0   r   sL   € ÷ V
ñ V
Ø	ðV
à	(ðV
ð ðV
ð ð	V
ð
 /ðV
ð 
ñV
r1   c           
     ó0  € \        VP                  4      p\        V\        4      '       g   R# Rp\        P
                  ! VP                  4      pRpV\        P                  \        P                  \        P                  \        P                  \        P                  \        P                  09   d5   VP                  '       d   \        VP                  ^ ,          4      pEMnRpEMjV\        P                  J EdV   VP                  '       g   RpEM?\        VP                  ^ ,          4      p	\        V	\        4      '       d   V	P                  p	\        V	\        \        34      '       dæ   VP!                  V	P"                  V	4      p
V
eÆ   \        V
P$                  \        4      '       d¦   \        P&                  ! V
P$                  \        P(                  4      '       d6   \+        \,        P.                  ! WP$                  . 4      \1        4       .4      pM;\2        P4                  ! VRP7                  V
P$                  P8                  4      V4       V'       dL   Rp\2        P4                  ! WP7                  W P"                  4      V 4       \;        \<        P>                  4      pVeo   VP$                  f   Q hVPA                  \2        PB                  ! VVP$                  PD                  VP$                  PF                  VV PH                  R7      4       R# R# )zYExtract mapping information from a SymbolTableNode that's in the
type.names dictionary.

NFTú4Column type should be a TypeEngine subclass not '{}'zØCan't infer type from attribute {} on class {}. please specify a return type from this function that is one of: Mapped[<python type>], relationship[<target class>], Column[<TypeEngine>], MapperProperty[<python type>]©rL   ÚlineÚcolumnÚtyprE   )%r   Útyper?   r   r$   Útype_id_for_named_nodeÚMAPPEDÚRELATIONSHIPÚCOMPOSITE_PROPERTYÚMAPPER_PROPERTYÚSYNONYM_PROPERTYÚCOLUMN_PROPERTYÚargsÚCOLUMNr    r   Úlookup_qualifiedrL   ÚnodeÚhas_base_type_idÚ
TYPEENGINEr!   r#   Ú#extract_python_type_from_typeenginer   r%   Úfailr.   r5   r   r   Úspecial_formÚappendÚSQLAlchemyAttributerU   rV   rE   )r(   r)   rL   rN   rO   Ú
value_typeÚleft_hand_explicit_typeÚtype_idÚerrÚtypeengine_argrH   Úmsgs   &&&&&       r/   r=   r=   r   sE  € ô ! §¡Ó,€JÜ�j¤(×+Ò+Ùà"ÐÜ×*Ò*¨:¯?©?Ó;€Gð €Cð Ü�‰Ü×ÑÜ× Ñ Ü×ÑÜ×ÑÜ×Ñðô ð �?�?ˆ?Ü&5°j·o±oÀaÕ6HÓ&IÒ#àŠCØ	”E—L‘LÔ	 Ø��ˆØŠCä:IØ—‘ Õ"ó;ˆNô ˜.¬(×3Ò3Ø!/×!4Ñ!4�ä˜.¬;¼Ð*A×BÒBØ×*Ñ*¨>×+>Ñ+>ÀÓO�Ø’?¤z°#·(±(¼H×'EÒ'EÜ×-Ò-¨c¯h©h¼×8HÑ8H×IÒIÜ2;ä %× IÒ IØ$'¯©°2ó!"ô !)£
ð	ó3Ñ/ô Ÿ	š	Øð0ß06±°s·x±x×7HÑ7HÓ0IØ&ô	÷ ðBð 	ô 	�	Š	�#—z‘z $¯©Ó1°3Ô7ä")¬)×*@Ñ*@Ó"AÐàÒ*Ø�z‰zÒ%Ð%Ð%Ø×ÑÜ×$Ò$ØØ—Z‘Z—_‘_Ø—z‘z×(Ñ(Ø+Ø—X‘Xôö	
ñ +r1   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r'   r(   r	   r)   r   rI   r
   rO   rP   r,   rQ   r-   )r.   s   "r/   r0   r0   Ë   sA   € ÷ Y(ñ Y(Ø	ðY(à	(ðY(ð ðY(ð /ð	Y(ð
 
ñY(r1   c           
     ó 
  € VP                    FP  p\        V\        \        \        34      '       g   K&  \
        P                  ! V4      \
        P                  J g   KP   M	  R# V P                  P                  P                  V4      pRp\        P                  ! VP                  4      '       d•   \        \        P                   4      p\        VP"                  P                  4      pVP"                  Vn        \'        V.\)        V4      4      p	VP$                  P*                  V	n        W�P                  P                  V&   R# \        VP,                  P*                  \.        4      '       Ed   VP,                  P*                  P0                  p
\        V
\2        4      '       d   \
        P4                  ! W V4      pMR# V\
        P6                  \
        P8                  \
        P:                  \
        P<                  \
        P>                  \
        P@                  09   d1   V
PB                  '       d   \E        V
PB                  ^ ,          4      pEM6V\
        PF                  J Ed"   V
PB                  '       Ed   V
PB                  ^ ,          p\        V\2        4      '       dæ   VPI                  VP                  V4      pVeÆ   \        VP$                  \J        4      '       d¦   \
        PL                  ! VP$                  \
        PN                  4      '       d6   \Q        \R        PT                  ! WP$                  . 4      \W        4       .4      pM;\        PX                  ! VRP[                  VP$                  P\                  4      V
4       VfV   Rp\        PX                  ! WP[                  VP"                  P                  4      V4       \        \        P                   4      p\        VP"                  P                  4      pVP"                  Vn        \        V\2        4      '       d    \E        \        P^                  ! W4      4      pVPa                  \
        Pb                  V.4      VP$                  n        \
        Pd                  ! \g        VP,                  Ph                  VP,                  P                  4      4      p\'        V.V4      p	VP$                  P*                  V	n        VPk                  \        Pl                  ! VP                  VPn                  VPp                  VV Pr                  R7      4       W�P                  P                  V&   R# )ax  Extract mapping information from a @declared_attr in a declarative
class.

E.g.::

    @reg.mapped
    class MyClass:
        # ...

        @declared_attr
        def updated_at(cls) -> Column[DateTime]:
            return Column(DateTime)

Will resolve in mypy as::

    @reg.mapped
    class MyClass:
        # ...

        updated_at: Mapped[Optional[datetime.datetime]]

NrS   zàCan't infer type from @declared_attr on function '{}';  please specify a return type from this function that is one of: Mapped[<python type>], relationship[<target class>], Column[<TypeEngine>], MapperProperty[<python type>]rT   ):Ú
decoratorsr?   r   r   r   r$   rY   ÚDECLARED_ATTRr:   r;   Úindexr%   Úname_is_dunderrL   r   r   rh   Úvarrc   r   r   rX   Úfuncr   Úret_typer    Útype_id_for_unbound_typerZ   r[   r\   r]   r^   r_   r`   r   ra   rb   r   rd   re   r!   r#   rf   r   rg   r.   r5   Úunbound_to_instanceÚ
named_typeÚNAMED_TYPE_SQLA_MAPPEDÚexpr_to_mapped_constructorr   Ú	argumentsri   rj   rU   rV   rE   )r(   r)   rI   rO   ÚdecÚ	dec_indexrl   Úany_Ú	left_nodeÚnew_stmtÚ	func_typerm   ro   rH   rp   Úrvalues   &&&&            r/   rA   rA   Ë   s®  € ð8 �Œˆä�sœX¤z´:Ð>×?Ô?Ü×,Ò,¨SÓ1´U×5HÑ5HÕHáñ ñ 	à—‘—‘×#Ñ# DÓ)€Ià48Ðä×Ò˜4Ÿ9™9×%Ò%ô ”y×-Ñ-Ó.ˆÜ˜TŸX™XŸ]™]Ó+ˆ	ØŸ™ˆ	ŒÜ! 9 +¬x¸«~Ó>ˆØ!Ÿ™×+Ñ+ˆŒØ#+�‰�‰�iÑ ÙÜ	�D—I‘I—N‘N¤L×	1Ó	1Ø—I‘I—N‘N×+Ñ+ˆ	Ü�i¤×-Ò-Ü×4Ò4°YÀSÓI‰Gñ ð ä—‘Ü×"Ñ"Ü×(Ñ(Ü×%Ñ%Ü×&Ñ&Ü×%Ñ%ðôð ——�ä&5°i·n±nÀQÕ6GÓ&HÒ#ØœŸ™Ô$¨¯¯©Ø&Ÿ^™^¨AÕ.ˆNÜ˜.¬+×6Ò6Ø×*Ñ*¨>×+>Ñ+>ÀÓO�Ø’?¤z°#·(±(¼H×'EÒ'EÜ×-Ò-¨c¯h©h¼×8HÑ8H×IÒIÜ2;ä %× IÒ IØ$'¯©°2ó!"ô !)£
ð	ó3Ñ/ô Ÿ	š	Øð0ß06±°s·x±x×7HÑ7HÓ0IØ%ô	ð Ò&ð
Bð 	ô 	�	Š	�#—z‘z $§(¡(§-¡-Ó0°$Ô7ä")¬)×*@Ñ*@Ó"AÐä˜Ÿ™Ÿ™Ó'€IØ—X‘X€I„Nô Ð)¬;×7Ò7Ü"1Ü×$Ò$ SÓBó#
Ðð Ÿ.™.Ü×$Ñ$Ð'>Ð&?ó€I‡N�NÔô ×-Ò-Ü�4—9‘9×&Ñ&¨¯	©	¯©Ó7ó€Fô ˜y˜k¨6Ó2€HØ—N‘N×'Ñ'€H„Mà×ÑÜ× Ò Ø—‘Ø—‘Ø—;‘;Ø'Ø—‘ô	
ôð  (‡H�H‡M�M�)Ór1   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r'   r(   r	   r)   r   rI   r   rO   rP   r,   rQ   r-   )r.   s   "r/   r0   r0   g  sA   € ÷ ñ Ø	ðà	(ðð ðð /ð	ð
 
ñr1   c           
     óþ  € VP                   ^ ,          p\        V\        4      '       g   R# V P                  P                  P                  VP                  4      pVf   Q hVP                  p\        V\        4      '       d   R# WdP                  J g   Q h\        V\        4      '       g   Q hVP                  R8X  dB   VP                  VP                  4      RJ d!   \        P                  ! V P                  4       R# VP                  R8X  d"   \        P                  ! V P                  4       M¿VP                  P                  R4      '       d   R# VP                  R8X  dŒ   \        VP                  \         4      '       g   \        P"                  ! VRV4       MRVP                  P$                   F8  p\        V\        \&        34      '       g   K!  \(        P*                  ! WWs4       K:  	  RpRp	VP,                  '       g   VP.                  fÑ   \        VP.                  \0        4      '       d°   VP.                  p	VP.                  P                  R8X  d‰   VP3                  RV 4      p
V
es   V
P                  ee   \        P4                  ! V
P                  4      \        P6                  J d3   \9        VP.                  P:                  ^ ,          4      p	VP.                  pM€\9        VP.                  4      p\        V\<        4      '       dR   \        P4                  ! VP.                  4      \        P6                  J d    \9        VP:                  ^ ,          4      p	TpMTp	Rp\        VP                  \>        4      '       d   Ve   T	pM\        VP                  \@        4      '       d^   \        VP                  PB                  \D        4      '       d4   \F        PH                  ! WWiVP                  PB                  4      pVf   R# MR# Vf   Q hVPK                  \        PL                  ! VP                  VPN                  VPP                  VV P                  R	7      4       \(        PR                  ! VVVV	V4       R# )
zRExtract mapping information from an assignment statement in a
declarative class.

NÚ__abstract__TÚ__tablename__Ú__Ú_mypy_mapped_attrsz+_mypy_mapped_attrs is expected to be a listÚMappedrT   )*Úlvaluesr?   r   rE   r$   ÚgetrL   rc   r   r   Ú
parse_boolr†   r%   Úset_is_baseÚset_has_tabler6   r   rg   r<   r   r"   Úapply_mypy_mapped_attrÚis_inferredrX   r    rb   rY   rZ   r   r`   r   r   r   Úcalleer   r#   Ú#infer_type_from_right_hand_nameexprri   rj   rU   rV   Úapply_type_to_mapped_statement)r(   r)   rI   rO   ÚlvaluerH   rc   ÚitemÚleft_hand_mapped_typerl   Ú
mapped_symÚ	node_typeÚpython_type_for_types   &&&&         r/   r@   r@   g  s\  € ð �\‰\˜!�_€FÜ�fœh×'Ò'Ùà
�(‰(�.‰.×
Ñ
˜VŸ[™[Ó
)€Cð
 Š?Ðˆ?Ø�8‰8€Dä�$œ×(Ò(Ùà—;‘;ÓÐÐÜ�dœC× Ò Ð Ð à‡y�y�NÔ"Ø�>‰>˜$Ÿ+™+Ó&¨$Ó.Ü×Ò˜SŸX™XÔ&ÙØ	�‰�oÔ	%Ü×Ò˜3Ÿ8™8Õ$Ø	�‰×	Ñ	˜d×	#Ò	#ÙØ	�‰Ð*Ô	*Ü˜$Ÿ+™+¤x×0Ò0Ü�IŠI�cÐHÈ$ÕOàŸ™×)Ô)�Ü˜d¤X¬wÐ$7×8Ô8Ü×0Ò0°¸4ÖLñ *ð -1ÐØ48Ðà××Ð˜4Ÿ9™9Ò,Ü�d—i‘i¤×-Ò-ð '+§i¡iÐ#à�y‰y�~‰~ Ô)Ø ×1Ñ1°(¸CÓ@�
àÒ*Ø"Ÿ™Ò3Ü×4Ò4°Z·_±_ÓEÜ—|‘|ó$ô />ØŸ	™	Ÿ™ qÕ)ó/Ð+ð -1¯I©IÐ)øô $ D§I¡IÓ.ˆ	ä�y¤(×+Ò+Ü×,Ò,¨Y¯^©^Ó<ÄÇÁÓLô '6°i·n±nÀQÕ6GÓ&HÐ#Ø$-Ñ!ð '0Ð#Ø$(Ð!ä�$—+‘+œx×(Ò(Ð-BÒ-Nð
  7ÑÜ	�D—K‘K¤×	*Ò	*¬zØ�‰×ÑœG÷0ò 0ô  %×HÒHØ�t°d·k±k×6HÑ6Hó 
Ðð  Ò'Ùð (ñ 	àÒ+Ð+Ð+à×ÑÜ× Ò Ø—‘Ø—‘Ø—;‘;Ø$Ø—‘ô	
ôô 
×(Ò(ØØØØØör1   c               ó$   € V ^8„  d   QhRRRRRR/# )r'   r(   r	   r)   r   r,   rQ   r-   )r.   s   "r/   r0   r0   é  s&   € ÷ 
ñ 
Ø	ð
à	(ð
ð 
ñ
r1   c                óà   € \         P                  ! W4      pVf   R# VP                  ^R  F>  pVP                  P	                  R4      '       d   K&  \        VP                  VRR7       K@  	  R# )zØGiven a class, iterate through its superclass hierarchy to find
all other classes that are considered as ORM-significant.

Locates non-mapped mixins and scans them for mapped attributes to be
applied to subclasses.

Nr3   T)r*   éÿÿÿÿ)r%   r4   Úmror5   r6   rJ   Údefn)r(   r)   rE   Ú	base_infos   &&  r/   rB   rB   é  s_   € ô ×Ò˜SÓ&€Dà‚|Ùà—X‘X˜a “^ˆ	Ø×Ñ×(Ñ(¨×4Ò4Ùô
 	5Ø�N‰N˜C¨t÷	
ó $r1   N)F).Ú
__future__r   Útypingr   r   r   Ú
mypy.nodesr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   Úmypy.pluginr   Ú
mypy.typesr   r   r   r   r   r   r   r   r    r!   Ú r"   r#   r$   r%   rJ   r=   rA   r@   rB   r-   r1   r/   Ú<module>rª      s�   ðõ #å Ý Ý å %Ý Ý Ý  Ý !Ý Ý !Ý Ý &Ý Ý Ý !Ý &Ý Ý Ý Ý 7Ý Ý #Ý &Ý Ý Ý !Ý Ý  Ý "Ý  å Ý Ý Ý ÷?õDV
õrY(õx÷D
r1   