+
    }¯³j§K  ã                  óÊ  € ^ 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 lt#R R lt$R  R! lt%R" R# lt&R$ R% lt'R1R' R( llt(R2R) R* llt)R+ R, lt*R- R. lt+R/ R0 lt,R&# )3é    )Úannotations)ÚOptional)ÚSequence)Úmap_instance_to_supertype)ÚAssignmentStmt)ÚCallExpr)Ú
Expression)ÚFuncDef)Ú
LambdaExpr)Ú
MemberExpr)ÚNameExpr)ÚRefExpr)ÚStrExpr)ÚTypeInfo)ÚVar)ÚSemanticAnalyzerPluginInterface)Ú
is_subtype)ÚAnyType)ÚCallableType)Úget_proper_type)ÚInstance)ÚNoneType)Ú
ProperType)Ú	TypeOfAny)Ú	UnionType)Únames)Úutilc               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# ©é   Úapir   Ústmtr   Únoder   Úleft_hand_explicit_typeúOptional[ProperType]Úinfer_from_right_sider   Úreturn© )Úformats   "ÚZ/home/luca/screen-checking/.venv/lib/python3.14/site-packages/sqlalchemy/ext/mypy/infer.pyÚ__annotate__r+   (   sD   € ÷ % ñ % Ø	(ð% à
ð% ð ð% ð 2ð	% ð
 #ð% ð ñ% ó    c                óØ  € \         P                  ! V4      pVf   R # V\         P                  J d   \        WW#V4      pV# V\         P                  J d   \        WW#4      pV# V\         P                  J d   \        WW#4      pV# V\         P                  J d   \        WW#4      pV# V\         P                  J d   \        WV4      pV# V\         P                  J d   \        WW#4      pV# R # ©N)r   Útype_id_for_calleeÚMAPPEDÚ_infer_type_from_mappedÚCOLUMNÚ_infer_type_from_decl_columnÚRELATIONSHIPÚ_infer_type_from_relationshipÚCOLUMN_PROPERTYÚ%_infer_type_from_decl_column_propertyÚSYNONYM_PROPERTYÚ#infer_type_from_left_hand_type_onlyÚCOMPOSITE_PROPERTYÚ(_infer_type_from_decl_composite_property)r!   r"   r#   r$   r&   Útype_idÚpython_type_for_types   &&&&&  r*   Ú#infer_type_from_right_hand_nameexprr>   (   s  € ô ×&Ò&Ð'<Ó=€GØ‚ÙØ	”E—L‘LÓ	 Ü6Ø�tÐ6Kó 
Ðð4  Ðð/ 
”E—L‘LÓ	 Ü;Ø�tó 
Ðð,  Ðð' 
”E×&Ñ&Ó	&Ü<Ø�tó 
Ðð$  Ðð 
”E×)Ñ)Ó	)ÜDØ�tó 
Ðð  Ðð 
”E×*Ñ*Ó	*ÜBØÐ.ó 
Ðð  Ðð 
”E×,Ñ,Ó	,ÜGØ�tó 
Ðð  Ðñ r,   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R/# ©
r    r!   r   r"   r   r#   r   r$   r%   r'   r(   )r)   s   "r*   r+   r+   P   sA   € ÷ c$ñ c$Ø	(ðc$à
ðc$ð ðc$ð 2ð	c$ð
 ñc$r,   c                ó”  € \        VP                  \        4      '       g   Q hVP                  P                  ^ ,          pRp\        V\        4      '       d9   \        VP
                  \        4      '       d   VP
                  p\        V. 4      p\        P                  ! VP                  R4      p\        P                  ! VP                  R4      pRp	VeC   V P                  V4      RJ d.   Vf*   Rp	Ve"   V P                  \        P                  V.4      pEMHVe   V P                  V4      RJ Ed    VEe›   Rp	\        V\        4      '       d   VP                  p\        V\        4      '       d>   \        VP
                  \        4      '       d   Ve   \        VP
                  V.4      pEM²\        V\        4      '       dé   \        VP
                  \        4      '       dÉ   VP
                  P                   e±   Ve¬   \        VP
                  P                   \"        4      '       d‚   \%        VP
                  P                   P&                  4      p
\        V
\"        4      '       dC   \%        V
P&                  4      p\        V\        4      '       d   \        VP                   V.4      pM´\        P(                  ! V RVP                  4       RpM�VeV   V P                  V4      RJ dA   Ve#   \        P(                  ! V RVP                  4       Ve   \+        V\-        4       .4      pM6Vf3   Rp\        P(                  ! WP/                  VP0                  4      V4       Vf   \3        WV4      # VeS   V	'       d=   \        V\        4      '       g   Q h\        V\        4      '       g   Q h\5        WW54      # \7        V VVV4      # V# )	ar  Infer the type of mapping from a relationship.

E.g.::

    @reg.mapped
    class MyClass:
        # ...

        addresses = relationship(Address, uselist=True)

        order: Mapped["Order"] = relationship("Order")

Will resolve in mypy as::

    @reg.mapped
    class MyClass:
        # ...

        addresses: Mapped[List[Address]]

        order: Mapped["Order"]

NÚuselistÚcollection_classFTz>Expected Python collection type for collection_class parameterzOSending uselist=False and collection_class at the same time does not make sensezäCan't infer scalar or collection for ORM mapped expression assigned to attribute '{}' if both 'uselist' and 'collection_class' arguments are absent from the relationship(); please specify a type annotation on the left hand side.)Ú
isinstanceÚrvaluer   Úargsr   r#   r   r   r   Úget_callexpr_kwargÚ
parse_boolÚ
named_typer   ÚNAMED_TYPE_BUILTINS_LISTÚcalleer
   Útyper   r   Úret_typeÚfailr   r   r)   Únamer9   Ú3_infer_collection_type_from_left_and_inferred_rightÚ(_infer_type_from_left_and_inferred_right)r!   r"   r#   r$   Útarget_cls_argr=   Úrelated_object_typeÚuselist_argÚcollection_cls_argÚtype_is_a_collectionÚrtÚcallable_ret_typeÚmsgs   &&&&         r*   r5   r5   P   sg  € ô< �d—k‘k¤8×,Ò,Ð,Ð,Ø—[‘[×%Ñ% aÕ(€NØ15Ðä�.¤(×+Ò+´
Ø×ÑœX÷1ò 1ð -×1Ñ1ÐÜ'Ð(;¸RÓ@Ðô  ×)Ò)¨$¯+©+°yÓA€KÜ/3×/FÒ/FØ�‰Ð'ó0Ðð !Ðð 	ÒØ�N‰N˜;Ó'¨4Ó/ØÒ&à#ÐØÒ+Ø#&§>¡>Ü×.Ñ.Ð1EÐ0Fó$Ð ùð 	Ò˜sŸ~™~¨kÓ:¸dÔBØ
Ó
(Ø#ÐÜÐ(¬(×3Ò3Ø!3×!:Ñ!:ÐäÐ(¬(×3Ò3¼
Ø×#Ñ#¤X÷9
ò 9
ð $Ò/ô (0Ø&×+Ñ+Ð.BÐ-Có(Ð$ùô Ð)¬8×4Ò4ÜÐ-×2Ñ2´G×<Ò<Ø"×'Ñ'×,Ñ,Ò8à#Ò/ô
 Ð0×5Ñ5×:Ñ:¼L×IÒIÜ(Ð);×)@Ñ)@×)EÑ)E×)NÑ)NÓO�Bä! "¤l×3Ò3Ü,;¸B¿K¹KÓ,HÐ)Ü%Ð&7¼×BÒBÜ3;Ø 1× 6Ñ 6Ø!5Ð 6ó4Ð0øô
 �IŠIØð-à—‘ô	ð $(Ñ Ø	Ò	  S§^¡^°KÓ%@ÀEÓ%IØÒ)Ü�IŠIØð&à—‘ô	ð  Ò+Ü#,Ø%¤x£zÐ2ó$Ð øð
 #Ò*ð9ð ô �IŠI�cŸ:™: d§i¡iÓ0°$Ô7àÒ#Ü2ØÐ.ó
ð 	
ð 
!Ò	,ßÜÐ5´x×@Ò@Ð@Ð@ÜÐ2´H×=Ò=Ð=Ð=ÜFØÐ2óð ô <ØØØ'Ø$ó	ð ð $Ð#r,   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R/# r@   r(   )r)   s   "r*   r+   r+   ö   s:   € ÷ $ñ $Ø	(ð$à
ð$ð ð$ð 2ð	$ð
 ñ$r,   c                ój  € \        VP                  \        4      '       g   Q hVP                  P                  ^ ,          pRp\        V\        4      '       d:   \        VP
                  \        4      '       d   VP
                  p\        V. 4      pMRpVf   \        WV4      # Ve   \        WW54      # V# )z+Infer the type of mapping from a Composite.N)
rD   rE   r   rF   r   r#   r   r   r9   rQ   )r!   r"   r#   r$   rR   r=   rS   s   &&&&   r*   r;   r;   ö   s·   € ô �d—k‘k¤8×,Ò,Ð,Ð,Ø—[‘[×%Ñ% aÕ(€NØÐä�.¤(×+Ò+´
Ø×ÑœX÷1ò 1ð -×1Ñ1ÐÜ'Ð(;¸RÓ@Ñà#ÐàÒ#Ü2ØÐ.ó
ð 	
ð 
!Ò	,Ü7ØÐ.ó
ð 	
ð $Ð#r,   c               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# r   r(   )r)   s   "r*   r+   r+     sD   € ÷ ñ Ø	(ðà
ðð ðð 2ð	ð
 #ðð ñr,   c                óŠ   € \        VP                  \        4      '       g   Q h\        P                  ! V4      p\        WV4      # )zNInfer the type of mapping from a right side expression
that returns Mapped.


)rD   rE   r   r   Útype_for_calleer9   )r!   r"   r#   r$   r&   Úthe_mapped_types   &&&&& r*   r1   r1     sA   € ô �d—k‘k¤8×,Ò,Ð,Ð,ô ×*Ò*Ð+@ÓA€Oä.ØÐ*óð r,   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R/# r@   r(   )r)   s   "r*   r+   r+   6  s:   € ÷ .ñ .Ø	(ð.à
ð.ð ð.ð 2ð	.ð
 ñ.r,   c                ó\  € \        VP                  \        4      '       g   Q hVP                  P                  '       dx   VP                  P                  ^ ,          p\        V\        4      '       dE   \        P
                  ! VP                  4      pV\        P                  J d   \        V VVVVR7      # \        VP                  \        4      '       dM   \        P
                  ! VP                  P                  4      pV\        P                  J d   \        V VVV4      # \        WV4      # )z�Infer the type of mapping from a ColumnProperty.

This includes mappings against ``column_property()`` as well as the
``deferred()`` function.

)Úright_hand_expression)rD   rE   r   rF   r   r/   rK   r2   r3   ÚQUERY_EXPRESSIONr9   )r!   r"   r#   r$   Úfirst_prop_argr<   s   &&&&  r*   r7   r7   6  s÷   € ô �d—k‘k¤8×,Ò,Ð,Ð,à‡{�{××ÐØŸ™×)Ñ)¨!Õ,ˆä�n¤h×/Ò/Ü×.Ò.¨~×/DÑ/DÓEˆGð œ%Ÿ,™,Ó&Ü3ØØØØ+Ø*8ôð ô �$—+‘+œx×(Ò(Ü×*Ò*¨4¯;©;×+=Ñ+=Ó>ˆð ”e×,Ñ,Ó,Ü/ØØØØ'ó	ð ô /ØÐ*óð r,   Nc               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# )r    r!   r   r"   r   r#   r   r$   r%   rb   zOptional[CallExpr]r'   r(   )r)   s   "r*   r+   r+   g  sL   € ÷ `
ñ `
Ø	(ð`
à
ð`
ð ð`
ð 2ð	`
ð
 .ð`
ð ñ`
r,   c                ó¶  € \        V\        4      '       g   Q hRpVf/   \        VP                  \        4      '       g   R# VP                  pVP                  R,           FË  p\        V\        4      '       d=   \        VP
                  \        4      '       d   VP
                  pVP                  p M|KU  \        V\        \        34      '       d)   \        VP                  \        4      '       d   TpRp M8K™  \        V\        34      '       d   K²  \        V\        34      '       d   KË  Q h	  Vf   R# \        VP                  \        4      '       d{   \        P                  ! VP                  P                  \        P                   4      '       d<   \#        WP                  X4      pVe   \%        WW84      # \'        V\)        4       .4      # \+        WV4      # )a�  Infer the type of mapping from a Column.

E.g.::

    @reg.mapped
    class MyClass:
        # ...

        a = Column(Integer)

        b = Column("b", String)

        c: Mapped[int] = Column(Integer)

        d: bool = Column(Boolean)

Will resolve in MyPy as::

    @reg.mapped
    class MyClass:
        # ...

        a: Mapped[int]

        b: Mapped[str]

        c: Mapped[int]

        d: Mapped[bool]

N:r   r    Nr(   )rD   r   rE   r   rF   rK   r   r   r   r#   r   r   r   r   Ú
mro_has_idÚmroÚ
TYPEENGINEÚ#extract_python_type_from_typeenginerQ   r   r   r9   )	r!   r"   r#   r$   rb   rK   Ú
column_argÚ	type_argsr=   s	   &&&&&    r*   r3   r3   g  s“  € ôL �dœC× Ò Ð Ð à€FàÒ$Ü˜$Ÿ+™+¤x×0Ò0Ùà $§¡Ðà+×0Ñ0°×5Ð5ˆ
Ü�j¤(×+Ò+Ü˜*×+Ñ+¬W×5Ò5à#×*Ñ*�Ø2<·/±/�	Ùñ	 6ô
 ˜
¤X¬zÐ$:×;Ò;Ü˜*Ÿ/™/¬8×4Ò4à#�Ø�	Ùñ Ü˜
¤W J×/Ò/áÜ˜
¤Z M×2Ò2ñ à�5ñ1 6ð4 ‚~Ùä�&—+‘+œx×(Ò(¬U×-=Ò-=Ø�‰�‰œ×)Ñ)÷.ò .ô  CØ—‘˜ió 
Ðð #Ò.Ü;ØÐ2óð ô
 Ð2´H³JÐ?Ó@Ð@ô 3ØÐ.ó
ð 	
r,   c               ó4   € V ^8„  d   QhRRRRRRRRRR	R
R	RR	/# )r    r!   r   r#   r   r$   r   r=   Úorig_left_hand_typer%   Úorig_python_type_for_typer'   r(   )r)   s   "r*   r+   r+   Ê  sN   € ÷ 'ñ 'Ø	(ð'à
ð'ð (ð'ð %ð	'ð
 .ð'ð  4ð'ð ñ'r,   c                ód  € Vf   TpVf   Tp\        W#4      '       g“   V P                  \        P                  V.4      pRp\        P
                  ! V VP                  VP                  \        P                  ! W@P                  4      \        P                  ! W`P                  4      4      V4       V# )z‘Validate type when a left hand annotation is present and we also
could infer the right hand side::

    attrname: SomeType = Column(SomeDBType)

zRLeft hand assignment '{}: {}' not compatible with ORM mapped expression of type {})
r   rI   r   ÚNAMED_TYPE_SQLA_MAPPEDr   rN   r)   rO   Úformat_typeÚoptions)r!   r#   r$   r=   rn   ro   Úeffective_typerY   s   &&&&&&  r*   rQ   rQ   Ê  s¥   € ð Ò"Ø5ÐØ Ò(Ø$8Ð!äÐ-×DÒDØŸ™Ü×(Ñ(Ð+DÐ*Eó
ˆð
4ð 	ô 	�	Š	ØØ�J‰JØ—	‘	Ü× Ò Ð!4·k±kÓBÜ× Ò  ·±Ó=óð
 ô	
ð Ðr,   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# )
r    r!   r   r#   r   r$   r   r=   r'   r%   r(   )r)   s   "r*   r+   r+   ô  s:   € ÷ ñ Ø	(ðà
ðð &ðð #ð	ð
 ñr,   c           	     óB  € TpTpVP                   '       d:   \        VP                   ^ ,          4      p\        VP                   ^ ,          4      pMTpTp\        V\        \        34      '       g   Q h\        V\        \        34      '       g   Q h\        V VVVVVR7      # )r   )rn   ro   )rF   r   rD   r   r   rQ   )r!   r#   r$   r=   rn   ro   Úleft_hand_argÚpython_type_args   &&&&    r*   rP   rP   ô  s¡   € ð 2ÐØ 4Ðà×#×#Ð#Ü'Ð(?×(DÑ(DÀQÕ(GÓHˆÜ)Ð*>×*CÑ*CÀAÕ*FÓG‰à/ˆØ.ˆä�m¤h´	Ð%:×;Ò;Ð;Ð;Ü�o¬´)Ð'<×=Ò=Ð=Ð=ä3ØØØØØ/Ø";ôð r,   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r    r!   r   r#   r   r$   r%   r'   r(   )r)   s   "r*   r+   r+     s0   € ÷ 'ñ 'Ø	(ð'à
ð'ð 2ð'ð ñ	'r,   c                óâ   € Vfk   Rp\         P                  ! WP                  VP                  4      V4       V P	                  \
        P                  \        \        P                  4      .4      # V# )z…Determine the type based on explicit annotation only.

if no annotation were present, note that we need one there to know
the type.

z”Can't infer type from ORM mapped expression assigned to attribute '{}'; please specify a Python type or Mapped[<python type>] on the left hand side.)
r   rN   r)   rO   rI   r   rq   r   r   Úspecial_form)r!   r#   r$   rY   s   &&& r*   r9   r9     sc   € ð Ò&ð;ð 	ô 	�	Š	�#—z‘z $§)¡)Ó,¨dÔ3à�~‰~Ü×(Ñ(¬7´9×3IÑ3IÓ+JÐ*Kó
ð 	
ð 'Ð&r,   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r    r!   r   r#   r   rl   zSequence[Expression]r'   r   r(   )r)   s   "r*   r+   r+   .  s0   € ÷  1ñ  1Ø	(ð 1à
ð 1ð $ð 1ð ñ	 1r,   c                ó°  € VP                   R 8X  d¯   V'       d§   V^ ,          p\        V\        4      '       dh   \        VP                  \        4      '       dH   VP                  P
                   F,  pVP                   R8X  g   K  \        VP                  . 4      u # 	  M V P                  \        P                  . 4      # VP                  R4      '       g   Q RV,          4       hV P                  R4      pVe!   \        VP                  \        4      '       g   Q h\        \        V. 4      VP                  4      p\        VP                  R,          4      # )zsqlalchemy.sql.sqltypes.Enumz	enum.Enumz"sqlalchemy.sql.type_api.TypeEnginez+could not extract Python type from node: %séÿÿÿÿ)ÚfullnamerD   r   r#   r   rh   r   rI   r   ÚNAMED_TYPE_BUILTINS_STRÚhas_baseÚlookup_fully_qualified_or_noner   r   rF   )r!   r#   rl   Ú	first_argÚbase_Útype_engine_symÚtype_engines   &&&    r*   rj   rj   .  s$  € ð
 ‡}�}Ð6Ô6¿9Ø˜a•Lˆ	Ü�i¤×)Ò)¬jØ�N‰NœH÷/
ò /
ð #Ÿ™×+Ô+�Ø—>‘> [Ö0Ü# I§N¡N°BÓ7Ò7ò ,ð
 —>‘>¤%×"?Ñ"?ÀÓDÐDà�=‰=Ð=×>Ò>ð Ø5¸Õ<óÐ>ð ×8Ñ8Ø,ó€Oð Ò&¬:Ø×Ñœh÷,ò ,ð ð ô ,Ü��rÓØ×Ñó€Kô ˜;×+Ñ+¨BÕ/Ó0Ð0r,   r.   )NN)-Ú
__future__r   Útypingr   r   Úmypy.maptyper   Ú
mypy.nodesr   r   r	   r
   r   r   r   r   r   r   r   Úmypy.pluginr   Úmypy.subtypesr   Ú
mypy.typesr   r   r   r   r   r   r   r   Ú r   r   r>   r5   r;   r1   r7   r3   rQ   rP   r9   rj   r(   r,   r*   Ú<module>r�      s“   ðõ #å Ý å 2Ý %Ý Ý !Ý Ý !Ý !Ý Ý Ý Ý Ý Ý 7Ý $Ý Ý #Ý &Ý Ý Ý !Ý  Ý  å Ý õ% õPc$õL$õ@õ@.÷b`
÷F'õTõ:'÷: 1r,   