ó
    Ñ]j<F ã                  ó–  • S r SSKJr  SSKrSSKrSSKrSSKJr  SSKJr  SSKJ	r	  SSKJ
r
  SSKJr  SS	KJr  SS
KJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKrSSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJ r   SSKJ!r!  SSKJ"r"  SSKJ#r#  SSK$J%r%  SSK$J&r&  SS K'J(r(  SS!K'J)r)  SS"K*J+r+  SS#K*J,r,  SS$K*J-r-  SS%K*J.r.  SS&K*J/r/  SS'K*J0r0  SS(K1J2r2  SS)K3J4r4  SS*K3J5r5  SS+K6J7r7  SS,K6J8r8  SS-K6J9r9  SS.K6J:r:  S/S0KJ;r;  S/SKJr  S/S1KJ6r6  S/S2K<J=r=  S/S3K>J?r?  S/S4K@JArA  S/S5K@JBrB  S/S6K6JCrC  S/S7KDJErE  S/S8KDJFrF  S/S9KDJGrG  S/S:KDJHrH  S/S;KDJIrI  S/S<KDJJrJ  \(       a0  SS=KJKrK  SS>KJLrL  SS?K$JMrM  SS@KNJOrO  SSAKJPrP  S/SBKQJRrR  S/SCK@JSrS  S/SDKTJUrU  \" SE\SF9rV\\W\4   rX\\\SG4   \
\W\4   4   rY " SH SI\I\    5      rZ " SJ SK\Z\    \I5      r[ " SL SM\J5      r\    ShSN jr]SiSO jr^SjSP jr_ Sk       SlSQ jjr`SmSR jra        SnSS jrb          SoST jrc\6RÈ                  " SU5      SpSV j5       re        SqSW jrf " SX SY5      rg " SZ S[\g5      rh " S\ S]\5      ri " S^ S_\g5      rj\6RÈ                  " SU5            SrS` j5       rk " Sa Sb\j5      rl        SsSc jrmStSd jrnSuSe jroSf\olp        SvSg jrqg)wz(Internal implementation for declarative.é    )ÚannotationsN)ÚAny)ÚCallable)Úcast)ÚDict)ÚIterable)ÚList)ÚMapping)Ú
NamedTuple)ÚNoReturn)ÚOptional)ÚSequence)ÚTuple)ÚType)ÚTYPE_CHECKING)ÚTypeVar)ÚUnioné   )Ú
attributes)Úclsregistry)Úexc)Úinstrumentation)Ú	mapperlib)Ú_O)Úattr_is_internal_proxy)ÚInstrumentedAttribute)ÚQueryableAttribute)Ú_is_mapped_class)ÚInspectionAttr)ÚCompositeProperty)ÚSynonymProperty)Ú_AttributeOptions)Ú_DCAttributeOptions)Ú_IntrospectsAnnotations)Ú_MappedAttribute)Ú_MapsColumns)ÚMapperProperty)ÚMapper)ÚColumnProperty)ÚMappedColumn)Ú_extract_mapped_subtype)Ú_is_mapped_annotation)Úclass_mapper)Úde_stringify_annotationé   )Úevent)Úutil)Ú
expression)Ú_NoArg)ÚColumn)ÚTable)Útopological)Ú_AnnotationScanType)Úget_args)Ú
is_fwd_ref)Ú
is_literal)ÚProtocol)Ú	TypedDict)Ú
_ClassDict)Ú_RegistryType)ÚMapped)Údeclared_attr)ÚClassManager)ÚNamedColumn)ÚMetaData)Ú
FromClauseÚ_T)Úbound.c                  óB   • \ rS rSr% SrS\S'   S\S'   S\S'   SS	 jrS
rg)ÚMappedClassProtocoléZ   zžA protocol representing a SQLAlchemy mapped class.

The protocol is generic on the type of class, use
``MappedClassProtocol[Any]`` to allow any mapped class.
ÚstrÚ__name__ú
Mapper[_O]Ú
__mapper__rD   Ú	__table__c                ó   • g ©N© )ÚselfÚkws     ÚU/home/mande/repo/quber/.venv/lib/python3.13/site-packages/sqlalchemy/orm/decl_base.pyÚ__call__ÚMappedClassProtocol.__call__e   ó   € ¨ó    rQ   N)rS   r   Úreturnr   )rK   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__annotations__rU   Ú__static_attributes__rQ   rX   rT   rH   rH   Z   s   ‡ ñð ƒMØÓØÓç,rX   rH   c                  ó`   • \ rS rSr% SrS\S'   S\S'   S\S'   S	\S
'   S\S'   SS jrSS jrSrg)Ú_DeclMappedClassProtocoléh   z:Internal more detailed version of ``MappedClassProtocol``.rC   ÚmetadatarJ   Ú__tablename__Ú_MapperKwArgsÚ__mapper_args__úOptional[_TableArgsType]Ú__table_args__úOptional[_DataclassArguments]Ú_sa_apply_dc_transformsc                ó   • g rP   rQ   ©rR   s    rT   Ú__declare_first__Ú*_DeclMappedClassProtocol.__declare_first__r   rW   rX   c                ó   • g rP   rQ   rl   s    rT   Ú__declare_last__Ú)_DeclMappedClassProtocol.__declare_last__t   s   € ¨rX   rQ   N©rY   ÚNone)	rK   rZ   r[   r\   r]   r^   rm   rp   r_   rQ   rX   rT   ra   ra   h   s)   ‡ Ù@àÓØÓØ"Ó"Ø,Ó,à:Ó:ä,ç+rX   ra   c                  óf   • \ rS rSr% S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S	'   S
\S'   Srg)Ú_DataclassArgumentséw   zUnion[_NoArg, bool]ÚinitÚreprÚeqÚorderÚunsafe_hashÚ
match_argsÚkw_onlyz'Union[_NoArg, Callable[..., Type[Any]]]Údataclass_callablerQ   N©rK   rZ   r[   r\   r^   r_   rQ   rX   rT   ru   ru   w   s2   ‡ Ø
ÓØ
ÓØÓØÓØ$Ó$Ø#Ó#Ø Ó Ø?Ö?rX   ru   c                ó–   • [         R                  U 5      (       a  [         R                  U 5      $ [        U 5      (       a
  [	        U SS9$ g )NF)Ú	configure)Ú_DeferredMapperConfigÚhas_clsÚconfig_for_clsr   r-   ©Úclss    rT   Ú_declared_mapping_infor‡   ‚   sA   € ô ×$Ñ$ S×)Ñ)Ü$×3Ñ3°CÓ8Ð8ä	˜#×	Ñ	Ü˜C¨5Ñ1Ð1àrX   c                óz   • [         R                  U 5      (       a  [        U SSS9(       + $ [        U 5      (       a  gg)am  return True if this class will be used as a superclass to set in
'inherits'.

This includes deferred mapper configs that aren't mapped yet, however does
not include classes with _sa_decl_prepare_nocascade (e.g.
``AbstractConcreteBase``); these concrete-only classes are not set up as
"inherits" until after mappers are configured using
mapper._set_concrete_base()

Ú_sa_decl_prepare_nocascadeT©ÚstrictF)r‚   rƒ   Ú_get_immediate_cls_attrr   r…   s    rT   Ú_is_supercls_for_inheritsr�   �   sB   € ô ×$Ñ$ S×)Ñ)Ü*ØÐ-°dñ
ô 
ð 	
ô 
˜#×	Ñ	ØàrX   c                óä   • U [         L a  g U R                  R                  SS5      (       a&  U R                   H  n[	        U5      nUc  M  Us  $    g [        U 5      nU(       a  UR                  $ U $ )NÚ__abstract__F)ÚobjectÚ__dict__ÚgetÚ	__bases__Ú"_resolve_for_abstract_or_classicalÚ_dive_for_cls_managerÚclass_)r†   Úbase_ÚsupÚ
clsmanagers       rT   r”   r”   ¥   sj   € Ø
Œf‚}Øð ‡|�|×Ñ˜¨×.Ñ.Ø—]”]ˆEÜ4°UÓ;ˆCØ‹Ø’
ñ #ð
 ä*¨3Ó/ˆ
æØ×$Ñ$Ð$àˆJrX   c                ó@  • US:w  d   e[        U [        5      (       d  gXR                  ;   a  [        X5      $ U R                  SS  HS  n[        U5      SLnXR                  ;   d  M!  X0L d#  U(       a  X0R                  ;   d  M=  O U(       a  MH  [        X15      s  $    g)a“  return an attribute of the class that is either present directly
on the class, e.g. not on a superclass, or is from a superclass but
this superclass is a non-mapped mixin, that is, not a descendant of
the declarative base and is also not classically mapped.

This is used to detect attributes that indicate something about
a mapped class independently from any mapped classes that it may
inherit from.

r�   Nr   )Ú
issubclassr�   r‘   ÚgetattrÚ__mro__r•   r“   )r†   Úattrnamer‹   ÚbaseÚ_is_classical_inheritss        rT   rŒ   rŒ   »   s�   € ð  �~Ó%Ð%Ð%ä�cœ6×"Ñ"Øà—<‘<ÓÜ�sÓ%Ð%à—‘˜A˜B“ˆÜ!6°tÓ!<ÀDÐ!HÐà—}‘}Õ$ØŠKæ*0�Ÿ™Ö&°dß.Ð.ô ˜4Ó*Ò*ñ  ð rX   c                ól   • U R                    H$  n[        R                  " U5      nU(       d  M"  Us  $    g rP   )r�   r   Úopt_manager_of_class)r†   rŸ   Úmanagers      rT   r•   r•   â   s6   € ð
 —”ˆÜ.8×.MÒ.MØó/
ˆ÷ ˆ7ØŠNñ ð rX   c                ó2   • [         R                  XUS 0 5      $ rP   )Ú_MapperConfigÚsetup_mapping)Úregistryr†   Údict_s      rT   Ú_as_declarativer©   ð   s   € ô
 ×&Ñ& x°e¸TÀ2ÓFÐFrX   c                óF   • [        XX#5        [        SU5      R                  $ )NzMappedClassProtocol[_O])Ú_ImperativeMapperConfigr   rM   )r§   r†   ÚtableÚ	mapper_kws       rT   Ú_mapperr®   ø   s"   € ô ˜H¨5Ô<ÜÐ)¨3Ó/×:Ñ:Ð:rX   zsqlalchemy.orm.decl_apic                ó€   • [         R                  R                  R                  n[	        X[         R
                  45      $ rP   )r1   Ú	preloadedÚorm_decl_apiÚ_declared_attr_commonÚ
isinstanceÚclassproperty)Úobjr²   s     rT   Ú_is_declarative_propsr¶     s.   € ä ŸN™N×7Ñ7×MÑMÐä�c´4×3EÑ3EÐFÓGÐGrX   c                óˆ   • [        U 5      (       a2  [        U SS5      (       a  [        R                  " SU< SU< S35        gg)NÚ
_cascadingFz1@declared_attr.cascading is not supported on the z attribute on class z5.  This attribute invokes for subclasses in any case.T)r¶   rœ   r1   Úwarn)rµ   Únamer†   s      rT   Ú_check_declared_props_nocascader»   	  s>   € ô ˜S×!Ñ!Ü�3˜ e×,Ñ,Ü�I‹Ió .2³3ð8ôð
 àrX   c                  ó¦   • \ rS rSr% SrS\S'   S\S'   S\S'   S	\S
'   \            SS j5       r      SS jrSS jr	SSS jjr
SS jrSrg)r¥   i  )r†   Ú	classnameÚ
propertiesÚdeclared_attr_regÚ__weakref__ú	Type[Any]r†   rJ   r½   z_util.OrderedDict[str, Union[Sequence[NamedColumn[Any]], NamedColumn[Any], MapperProperty[Any]]]r¾   zDict[declared_attr[Any], Any]r¿   c                óR  • [         R                  " U 5      nU(       a*  UR                  UL a  [        R                  " SU < S35      eUR
                  R                  SS5      (       a  g [        USSS9=(       d    [        US5      nU(       a  [        XX4U5      $ [        XX4U5      $ )	NúClass z, already has been instrumented declarativelyr�   Fr‰   TrŠ   Ú_sa_decl_prepare)r   r¢   r–   r   ÚInvalidRequestErrorr‘   r’   rŒ   Úhasattrr‚   Ú_ClassScanMapperConfig)r†   r§   Úcls_r¨   r¬   r­   r£   Ú	defer_maps           rT   r¦   Ú_MapperConfig.setup_mapping+  s²   € ô ×1Ò1°#Ó6ˆÞ�w—~‘~¨Ò-Ü×)Ò)Ø˜™ÐKÐLóð ð �=‰=×Ñ˜^¨U×3Ñ3Øä+ØÐ.°tñ
÷ /ä�TÐ-Ó.ð 	ö Ü(Ø ¨ióð ô *Ø ¨ióð rX   c                óè  • [         R                  " U[        S5      U l        UR                  U l        [         R                  " 5       U l        0 U l        UR                  SS5      (       d-  [        R                  " U R                  SUU UR                  S9  g [        R                  " U R                  5      nU(       a  UR                  (       d#  [         R"                  " SU R                  -  5      eg )NrÈ   Únon_primaryF)Úfinalizer§   Údeclarative_scanÚinit_methodztClass %s has no primary mapper configured.  Configure a primary mapper first before setting up a non primary Mapper.)r1   Úassert_arg_typeÚtyper†   rK   r½   ÚOrderedDictr¾   r¿   r’   r   Úregister_classÚconstructorr   r¢   Ú	is_mappedr   rÅ   )rR   r§   rÈ   r­   r£   s        rT   Ú__init__Ú_MapperConfig.__init__J  s¿   € ô ×'Ò'¨¬d°FÓ;ˆŒØŸ™ˆŒÜ×*Ò*Ó,ˆŒØ!#ˆÔà�}‰}˜]¨E×2Ñ2Ü×*Ò*Ø—‘ØØ!Ø!%Ø$×0Ñ0óô !×5Ò5°d·h±hÓ?ˆGÞ '×"3×"3Ü×-Ò-ðà $§¡ñ)óð ð #4rX   c                óh   • [         R                  " U R                  5      nUR                  X5        U$ rP   )r   Úmanager_of_classr†   Úinstall_member)rR   rž   Úvaluer£   s       rT   Úset_cls_attributeÚ_MapperConfig.set_cls_attributef  s)   € Ü!×2Ò2°4·8±8Ó<ˆØ×Ñ˜xÔ/ØˆrX   c                ó   • [        5       erP   )ÚNotImplementedError©rR   r­   s     rT   ÚmapÚ_MapperConfig.mapk  s   € Ü!Ó#Ð#rX   c                ó&   • U R                  U5        g rP   )rá   rà   s     rT   Ú_early_mappingÚ_MapperConfig._early_mappingn  s   € Ø�‰�ÕrX   )r½   r†   r¿   r¾   N)r§   r>   rÈ   úType[_O]r¨   r=   r¬   úOptional[FromClause]r­   re   rY   úOptional[_MapperConfig])r§   r>   rÈ   rÁ   r­   re   )rž   rJ   rÛ   rE   rY   rE   ).©r­   re   rY   zMapper[Any]©r­   re   rY   rs   )rK   rZ   r[   r\   Ú	__slots__r^   Úclassmethodr¦   rÖ   rÜ   rá   rä   r_   rQ   rX   rT   r¥   r¥     s£   ‡ ð€Ið 
ƒNØƒNðó ð 5Ó4àðàðð ðð ð	ð
 $ðð !ðð 
!óó ðð<àðð ðð !ô	ô8ö
$÷rX   r¥   c                  ón   ^ • \ rS rSrSr        SU 4S jjr\R                  4SS jjrS	S jr	Sr
U =r$ )
r«   ir  )Úlocal_tableÚinheritsc                ó†  >• [         TU ]  XU5        U R                  SU5      U l        [        R
                     UR                  SS5      (       d6  [        R                  " U R                  U R                  UR                  5        U R                  U5        U R                  U5        S S S 5        g ! , (       d  f       g = f)NrN   rÌ   F)ÚsuperrÖ   rÜ   rî   r   Ú_CONFIGURE_MUTEXr’   r   Ú	add_classr½   r†   Ú_class_registryÚ_setup_inheritancerä   )rR   r§   rÈ   r¬   r­   Ú	__class__s        €rT   rÖ   Ú _ImperativeMapperConfig.__init__u  s�   ø€ ô 	‰Ñ˜¨Ô3à×1Ñ1°+¸uÓEˆÔä×'Ó'Ø—=‘= °×6Ñ6Ü×%Ò%Ø—N‘N D§H¡H¨h×.FÑ.Fôð ×#Ñ# IÔ.à×Ñ 	Ô*÷ (×'Ö'ús   ¹A0B2Â2
C c                ój   • [         nU R                  SU" U R                  U R                  40 UD65      $ )NrM   )r(   rÜ   r†   rî   ©rR   r­   Ú
mapper_clss      rT   rá   Ú_ImperativeMapperConfig.mapŠ  s6   € Üˆ
à×%Ñ%ØÙ�t—x‘x ×!1Ñ!1Ñ?°YÑ?ó
ð 	
rX   c                ó¦  • U R                   nUR                  SS 5      nUc‰  / nUR                   H=  n[        U5      nUc  M  [	        U5      (       d  M%  Xd;  d  M,  UR                  U5        M?     U(       a2  [        U5      S:”  a  [        R                  " SU< SU< 35      eUS   nO![        U[        5      (       a  UR                  nX0l        g )Nrï   r   rÃ   ú has multiple mapped bases: r   )r†   r’   r“   r”   r�   ÚappendÚlenr   rÅ   r³   r(   r–   rï   )rR   r­   r†   rï   Úinherits_searchr—   Úcs          rT   rõ   Ú*_ImperativeMapperConfig._setup_inheritance’  s½   € Ø�h‰hˆà—=‘= ¨TÓ2ˆàÑð !ˆOØŸœ�Ü6°uÓ=�Ø‘9Ùä,¨Q×/Ó/°AÕ4LØ#×*Ñ*¨1Ö-ñ 'ö Ü�Ó'¨!Ó+Ü×1Ó1ã¢ð1óð ð +¨1Ñ-�øÜ˜¤&×)Ñ)Ø—‘ˆHà �rX   )rï   rî   )r§   r>   rÈ   ræ   r¬   rç   r­   re   ré   rê   )rK   rZ   r[   r\   rë   rÖ   r1   Ú
EMPTY_DICTrá   rõ   r_   Ú__classcell__©rö   s   @rT   r«   r«   r  sK   ø† Ø+€Ið+àð+ð ð+ð $ð	+ð
 !÷+ð* .2¯_©_ö 
÷!ò !rX   r«   c                  ó\   • \ rS rSr% S\S'   S\S'   S\S'   S\S	'   S
\S'   S\S'   S\S'   Srg)Ú_CollectedAnnotationi°  r7   Úraw_annotationzOptional[Type[Mapped[Any]]]Úmapped_containerzUnion[_AnnotationScanType, str]Úextracted_mapped_annotationÚboolÚis_dataclassr   Ú
attr_valuerJ   Úoriginating_modulerÁ   Úoriginating_classrQ   Nr   rQ   rX   rT   r  r  °  s+   ‡ Ø'Ó'Ø1Ó1Ø!@Ó@ØÓØƒOØÓØ Ö rX   r  c                  ó–  ^ • \ rS rSr% SrSrS\S'   S\S'   S\S	'   S
\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S '   S\S!'   S\S"'   S#\S$'    S\S%'              S=U 4S& jjrS>S' jr    S?S( jr	1 S)kr
\R                  " S*5      r    S@S+ jrS>S, jrS>S- jr\    SAS. j5       r\        SBS/ j5       r\SCS0 j5       r            SDS1 jr        SES2 jr          SFS3 jrS>S4 jrS>S5 jrSGSHS6 jjrSIS7 jrSJS8 jrSJS9 jrSJS: jr\R@                  4SKS; jjr!S<r"U =r#$ )LrÇ   iº  )r§   Úclsdict_viewÚcollected_attributesÚcollected_annotationsrî   Úpersist_selectableÚdeclared_columnsÚcolumn_orderingÚcolumn_copiesÚ
table_argsÚ	tablenameÚmapper_argsÚmapper_args_fnÚtable_fnrï   ÚsingleÚallow_dataclass_fieldsÚdataclass_setup_argumentsÚis_dataclass_prior_to_mappingÚallow_unmapped_annotationsFr>   r§   r=   r  zDict[str, _CollectedAnnotation]r  úDict[str, Any]r  rç   rî   r  zutil.OrderedSet[Column[Any]]r  zDict[Column[Any], int]r  zRDict[Union[MappedColumn[Any], Column[Any]], Union[MappedColumn[Any], Column[Any]]]r  zOptional[str]r  úMapping[str, Any]r  rg   r  z&Optional[Callable[[], Dict[str, Any]]]r  úOptional[Type[Any]]rï   r  r  r   r!  ri   r  r  c                óŒ  >• U(       a  [         R                  " U5      O[         R                  U l        [        T	U ]  XU5        Xl        S U l        0 U l        0 U l	        [         R                  " 5       U l        0 U l        0 U l        SU l        [        U R                   SS 5      =U l        n[        U R                   SS5      =(       d    [%        U R"                  5      U l        [(        R*                  " U5      =U l        n[/        US5      nU(       a  U(       a  U(       a  [0        R2                  " S5      e[%        U=(       a    U5      U l        U R7                  5         U R9                  5         U R;                  5         [<        R>                     [@        RB                  " U RD                  U R                   URF                  5        U RI                  U5        U RK                  5         U RM                  5         U RO                  U5        U RQ                  U5        U RS                  U5        S S S 5        g ! , (       d  f       g = f)NFrj   Ú__allow_unmapped__Ú__sa_dataclass_metadata_key__z‘SQLAlchemy mapped dataclasses can't consume mapping information from dataclass.Field() objects if the immediate class is not already a dataclass.)*r1   Úimmutabledictr  r  rñ   rÖ   r§   r  r  r  Ú
OrderedSetr  r  r  r  rœ   r†   r  r  r!  Údataclassesr  r   rŒ   r   rÅ   r  Ú_setup_declared_eventsÚ_scan_attributesÚ_setup_dataclasses_transformsr   rò   r   ró   r½   rô   Ú_setup_inheriting_mapperÚ_extract_mappable_attributesÚ_extract_declared_columnsÚ_setup_tableÚ_setup_inheriting_columnsrä   )
rR   r§   rÈ   r¨   r¬   r­   ÚdcaÚcldÚsdkrö   s
            €rT   rÖ   Ú_ClassScanMapperConfig.__init__ú  sØ  ø€ ö */ŒD×Ò˜uÔ%´D·O±Oð 	Ôô 	‰Ñ˜¨Ô3Ø ŒØ"&ˆÔà$&ˆÔ!Ø%'ˆÔ"Ü $§¢Ó 1ˆÔØ!ˆÔØˆÔØˆŒÜ/6Ø�H‰HÐ/°ó0
ð 	
ˆÔ&¨ô +2Ø�H‰HÐ*¨Eó+
÷ +2ä�$×0Ñ0Ó1ð 	Ô'ô 4?×3KÒ3KØó4
ð 	
ˆÔ*¨Sô & dÐ,KÓLˆö –s¦Ü×)Ò)ð4óð ô '+¨3¯;°3Ó&7ˆÔ#à×#Ñ#Ô%à×ÑÔà×*Ñ*Ô,ä×'Ó'Ü×!Ò!Ø—‘ §¡¨(×*BÑ*Bôð ×)Ñ)¨)Ô4à×-Ñ-Ô/à×*Ñ*Ô,à×Ñ˜eÔ$à×*Ñ*¨9Ô5à×Ñ 	Ô*÷ (×'Ö'ús   ÆBH5È5
Ic                ó  ^ • [        T R                  S5      (       a&  [        R                  " [        S5      SU 4S jj5       n[        T R                  S5      (       a'  [        R                  " [        S5      SU 4S jj5       ng g )Nrp   Úafter_configuredc                 óN   >• [        ST R                  5      R                  5         g ©Nú_DeclMappedClassProtocol[Any])r   r†   rp   rl   s   €rT   r8  ÚG_ClassScanMapperConfig._setup_declared_events.<locals>.after_configuredJ  s   ø€ äØ3°T·X±Xóç"Ñ"Õ$rX   rm   Úbefore_configuredc                 óN   >• [        ST R                  5      R                  5         g r:  )r   r†   rm   rl   s   €rT   r=  ÚH_ClassScanMapperConfig._setup_declared_events.<locals>.before_configuredR  s   ø€ äØ3°T·X±Xóç#Ñ#Õ%rX   rr   )rŒ   r†   r0   Úlistens_forr(   )rR   r8  r=  s   `  rT   r+  Ú-_ClassScanMapperConfig._setup_declared_eventsG  so   ø€ Ü" 4§8¡8Ð-?×@Ñ@ä×ÒœvÐ'9Ó:ö%ó ;ð%ô
 # 4§8¡8Ð-@×AÑAä×ÒœvÐ':Ó;ö&ó <ñ&ð BrX   c                óî  ^^^^• U R                   (       a  [        TS5      nOSnU(       d
  SU4S jjnU$ [        R                  " T5       Vs0 s H.  nX$R                  ;   d  M  UR
                  UR                  U   _M0     snm[        R                  " T5       Vs0 s H.  nX$R                  ;   d  M  UR
                  UR                  U   _M0     snm[        5       mSUUUU4S jjnU$ s  snf s  snf )z�Produce a function that checks if a class has overridden an
attribute, taking SQLAlchemy-enabled dataclass fields into account.

r'  Nc                ó    >• [        TX5      UL$ rP   )rœ   )Úkeyrµ   r†   s     €rT   Úattribute_is_overriddenÚR_ClassScanMapperConfig._cls_attr_override_checker.<locals>.attribute_is_overriddeni  s   ø€ Ü˜s CÓ-°SÐ8Ð8rX   c                óB  >• [        U5      (       a  UR                  nTR                  U T5      n[        U5      (       a  UR                  nX!L a  gUTLa  gTR                  U T5      n[        TX5      nX!L a  gUTLa  [	        U[
        5      (       a  gX1L a  gUTLa  gg)NFT)r¶   Úfgetr’   rœ   r³   r   )rD  rµ   ÚretÚ	all_fieldÚabsentÚall_datacls_fieldsr†   Úlocal_datacls_fieldss       €€€€rT   rE  rF  z  s²   ø€ Ü(¨×-Ñ-ØŸ(™(�Cð +×.Ñ.¨s°FÓ;�Ü(¨×-Ñ-ØŸ(™(�Cà’:Ø Ø Ò&Øà.×2Ñ2°3¸Ó?�	ä˜c 3Ó,�à’:Ø ð
 ˜fÒ$¬ØÔ.÷*ñ *ð  àÒ#Ø Ø fÒ,Øð rX   )rD  rJ   rµ   r   rY   r  )r  rŒ   r1   Údataclass_fieldsrc   rº   Úlocal_dataclass_fieldsr�   )rR   r†   Úsa_dataclass_metadata_keyrE  ÚfrK  rL  rM  s    `   @@@rT   Ú_cls_attr_override_checkerÚ1_ClassScanMapperConfig._cls_attr_override_checkerX  sô   û€ ð ×&×&Ü(?ØÐ4ó)Ñ%ð )-Ð%æ(÷9ðr 'Ð&ôg ×.Ò.¨sÔ3ó"â3�AØ,·
±
Ñ:ó >�—‘˜Ÿ
™
Ð#<Ñ=Ò=Ù3ñ"Ðô ×4Ò4°SÔ9ó$â9�AØ,·
±
Ñ:ó >�—‘˜Ÿ
™
Ð#<Ñ=Ò=Ù9ñ$Ð ô “XˆF÷&ò &ðP 'Ð&ùòk"ùò
$s   ÁC-Á%C-ÂC2Â5C2>   rN   rd   rh   rf   z^(?:_sa_|__)c                ó4  ^^^	^
^^• [         R                  " U5      m[        U5      mU R                  nU R                  n[         R
                  " [        T5      [        T5      5       Vs/ s H"  nUR                  U5      (       a  XB;   d  M   UPM$     snmU R                  (       a  [        US5      mOSmT(       d    SUUU4S jjnU$ [         R                  " U5       Vs0 s H  ofR                  U_M     snm	Tm
  SUUU	U
UU4S jjnU$ s  snf s  snf )z produce a function to iterate the "attributes" of a class
which we want to consider for mapping, adjusting for SQLAlchemy fields
embedded in dataclass fields.

r'  Nc                 ó   >• U U4S jT 5       $ )Nc              3  ól   >#   • U  H)  nUTR                  U5      TR                  U5      S 4v •  M+     g7f)FN©r’   )Ú.0rº   Úcls_annotationsÚcls_varss     €€rT   Ú	<genexpr>Ú`_ClassScanMapperConfig._cls_attr_resolver.<locals>.local_attributes_for_class.<locals>.<genexpr>Ð  s>   øé € ð ò !&˜ð Ø Ÿ™ TÓ*Ø'×+Ñ+¨DÓ1Øõ	ò !&ùs   ƒ14rQ   )rY  rZ  Únamess   €€€rT   Úlocal_attributes_for_classÚM_ClassScanMapperConfig._cls_attr_resolver.<locals>.local_attributes_for_classÍ  s   ø€ õñ !&óð rX   c               3  ó@  >#   • T H“  n TR                  U S 5      nU(       aQ  TUR                  ;   aA  UR                  [        UR                  T5      TR                  UR                  5      S4v •  Mm  U TR                  U 5      TR                  U 5      S4v •  M•     g 7f)NTF)r’   rc   rº   Ú_as_dc_declaredattr)rº   ÚfieldrY  rZ  rN  Úfixed_sa_dataclass_metadata_keyr]  rP  s     €€€€€€rT   r^  r_  á  s™   øé € ó "�DØ,×0Ñ0°°tÓ<�EÞÐ!:¸e¿n¹nÓ!LØ#Ÿj™jÔ*=Ø!ŸN™NÐ,Kó+à*×.Ñ.¨u¯z©zÓ:¸DðAô Að # H§L¡L°Ó$6¸×8KÑ8KØ ó9à ð!ô !ò "ùs   ƒBB)rY   z$Iterable[Tuple[str, Any, Any, bool]])r1   Úget_annotationsÚvarsÚ_include_dundersÚ_match_exclude_dundersÚmerge_lists_w_orderingÚlistÚmatchr  rŒ   rO  rº   )rR   r†   rf  rg  Únr^  rb  rY  rZ  rN  rc  r]  rP  s          @@@@@@rT   Ú_cls_attr_resolverÚ)_ClassScanMapperConfig._cls_attr_resolver­  s)  ý€ ô ×.Ò.¨sÓ3ˆä˜“9ˆà×0Ñ0ÐØ!%×!<Ñ!<Ðô ×0Ò0Ü�X“¤ _Ó 5ôó
ò�ð *×/Ñ/°×2Ñ2°aÑ6K÷	 ññ
ˆð ×&×&Ü7NØÐ4ó8Ñ%ð )-Ð%æ(ðØ4÷ñ ðD *Ð)ô' 04×/JÒ/JÈ3Ô/Oó Ú/O e—
‘
˜EÒ!Ñ/Oñ Ðð /HÐ+ð!Ø4÷!ô !ð *Ð)ùòg
ùò> s   Á+DÂDÃ$Dc                óX  ^• U R                   n[        SU5      mU R                  nU R                  nU R                  nU R
                  nS nS =pxS n	S n
SU;   nU R                  U R                   5      n/ nUR                   H`  nXáL=(       a    [        U5      nU R                  U5      nU(       d  XáLa  U R                  UUUU5      nO0 nUR                  UUUU45        Mb     U GH—  u  nnnnUR                  U5        U" 5        GHq  u  nnnnUU;   Ga&  US:X  a2  [        UUU5      nU(       d  U(       a  U(       a  SU4S jjnUnMD  MF  MH  US:X  a4  [        UUU5      nU
(       d  U(       a  U(       a  TR                  n
M~  M€  M‚  US:X  a+  [        UUU5      nU(       a  U	(       d  SU4S jjnUn	M¯  M±  M³  US:X  a{  [        UUU5      nU(       dd  U(       a  U(       aS  TR                  n[!        U["        [$        ['        S 5      45      (       d  [(        R*                  " S5      eXáLa  S	nGM+  GM.  GM1  GM4   eU(       aU  [-        U5      (       aB  UR.                  (       d1  [0        R2                  " SUR4                  < SU< SU< SU< S3	5        GM’  XáLGa  [!        U[6        [8        45      (       a  GMµ  [!        U[:        5      (       a  [(        R<                  " S5      e[-        U5      (       Gad  Uc   eUR>                  (       aO  UU;   a  [0        R2                  " SU< SU< S35        URA                  UU5      =UU'   =UU'   n[C        UUU5        O U(       a3  [E        UUS 5      n[!        U[F        5      (       d  URI                  5       nO[E        UU5      n[!        U[F        5      (       a;  [K        U5      (       a+  [!        URL                  [:        5      (       d  URN                  nU=UU'   UU'   [!        U[6        [:        45      (       a  URP                  c  URR                  Ul(        U RU                  UURW                  5       US	U5        GMU  [Y        UX5      (       a   U(       d  UU;   d  U" US 5      (       d   eGM†  U R[                  UUU5        GMœ  U(       a[  UU;  d  UU   ULaM  U" UU5      (       a   e[-        U5      (       a  URI                  5       nUUU'   U RU                  UUUS
U5        GMþ  U RU                  UUUS U5      nUS L=(       a    UR\                  S LnUb  UR^                  OUnUc#  U(       d  U(       a  Ub  UO	[9        5       UU'   GMc  UU;   d  GMl  UUU'   GMt     GMš     U(       a	  U
(       d  S nXpl0        X l1        X`l2        X�l3        g )Nr;  rN   rf   c                 ó.   >• [        T R                  5      $ rP   )Údictrf   ©Úcls_as_Decls   €rT   Ú_mapper_args_fnÚ@_ClassScanMapperConfig._scan_attributes.<locals>._mapper_args_fnB  s   ø€ Ü'+¨K×,GÑ,GÓ'HÐ HrX   rd   c                 ó   >• T R                   $ rP   )rN   rq  s   €rT   Ú	_table_fnÚ:_ClassScanMapperConfig._scan_attributes.<locals>._table_fnX  s   ø€ Ø'2×'<Ñ'<Ð <rX   rh   z3__table_args__ value must be a tuple, dict, or NoneTFz*Regular (i.e. not __special__) attribute 'Ú.z(' uses @declared_attr, but owning class z& is mapped - not applying to subclass zÂMapper properties (i.e. deferred,column_property(), relationship(), etc.) must be declared as @declared_attr callables on declarative mixin classes.  For dataclass field() objects, use a lambda:úAttribute 'ú' on class z> cannot be processed due to @declared_attr.cascading; skipping)rY   r"  )rY   rD   )4r†   r   r  r  r  rf  rR  r�   r�   rl  Ú_produce_column_copiesrþ   Úupdater»   rd   rh   r³   Útuplerp  rÑ   r   ÚArgumentErrorr¶   Ú_quietr1   r¹   rK   r4   r*   r'   rÅ   r¸   Ú__get__Úsetattrrœ   r   rH  r   Úoriginal_propertyÚ
descriptorÚdocr]   Ú_collect_annotationÚ_collect_return_annotationr,   Ú_warn_for_decl_attributesr	  r  r  r  r  r  )rR   r†   r  r  r  rf  r  r  Úinherited_table_argsr  r  Úfixed_tablerE  ÚbasesrŸ   Úclass_mappedr^  Úlocally_collected_columnsrº   rµ   Ú
annotationÚis_dataclass_fieldÚ
check_declrs  rv  rI  Úcollected_annotationrÕ   Úgenerated_objrr  s                                @rT   r,  Ú'_ClassScanMapperConfig._scan_attributesñ  sÄ  ø€ Ø�h‰hˆäÐ:¸CÓ@ˆà×(Ñ(ˆØ#×8Ñ8ÐØ×*Ñ*ˆØ×0Ñ0ÐØˆØ,0Ð0ˆ
ØˆØˆ	Ø! \Ñ1ˆà"&×"AÑ"AÀ$Ç(Á(Ó"KÐàˆà—K”KˆDð  ˜?×NÔ/HÈÓ/NˆLà)-×)@Ñ)@ÀÓ)FÐ&æ D¢OØ,0×,GÑ,GØ.Ø+ØØó	-Ñ)ð -/Ð)à�L‰LàØ Ø.Ø-ð	öñ+  ôF ñ
ØØØ&Ø%ð !×'Ñ'Ð(AÔBñ ,×-ñØØØØ"àÐ+Ô+ØÐ0Ó0Ü%DØ  só&˜
ö  .Þ ,¶
÷Ið .=šNñ 1;ñ  .ð  Ó0Ü%DØ  só&˜
ö  )¶,Æ*Ø(3×(AÑ(AšIñ CM™yà Ó,Ü%DØ  só&˜
ö &®h÷=ð (1šHñ /7™:ð Ð!1Ó1Ü%DØ  só&˜
ö  *¶<Æ:Ø)4×)CÑ)C˜JÜ#-Ø *¬U´D¼$¸t»*Ð,E÷$ñ $ô '*×&7Ò&7ð%4ó'"ð !"ð  $šØ7;Ó 4ò  /ò DNšzð %˜uÞ!Ü,¨S×1Ñ1¸#¿*¿*ÜŸ	›	ð
  $Ÿ}œ}«d³D»#ð	?ôò Ø“_ô " #¬´Ð'=×>Ñ>â Ü# C¬×8Ñ8Ü!×5Ò5ð=óð ô /¨s×3Ò3ð  #™Ð.˜àŸ>Ÿ>Ø# |Ó3ô !%§	£	ó 37»ð%=ô!"ð !$§¡¨C°Ó 5ð6Ð0°Ñ6ð 6¸ÀsÑ9KØ #ä# C¨¨sÕ3æ1ô
 '.¨c°4¸Ó&> ô
 (2°#´~×'FÑ'FØ*-¯(©(«* Cøô '.¨c°4Ó&8 ô !+¨3´× ?Ñ ?Ü$:¸3×$?Ñ$?Ü(2Ø$'×$9Ñ$9¼>÷)"ñ )"ð '*§n¡n ð !$ðÐ0°Ñ6¸ÀsÑ9Kô
 ' s¬V´^Ð,D×EÑEØ #§¡¡à&)§k¡k˜CœGà×0Ñ0Ø Ø×:Ñ:Ó<Ø Ø Ø÷ô /¨z¸3×EÑEö  +à $Ð(<Ó <Ù#:¸4À×#FÑ#Fðð!Gò !ð ×6Ñ6°t¸TÀ3×GÞ'Ø Ó,°¸TÑ0BÈ#Ò0Mñ  7°t¸S×AÑAÐAÐAä,¨S×1Ñ1Ø!Ÿh™h›j˜à14Ð(¨Ñ.Ø×,Ñ,Ø˜j¨$°°s÷ð ,0×+CÑ+CØ˜j¨$°°có,Ð(ð -°DÐ8÷ NØ0×AÑAÈÐMð ð 0Ñ;ð -×7Ò7à ð "ð
 ‘{®;¾9ð  -Ñ8ñ *ä!-£ð -¨TÔ2ð
  Ö-Ø58Ð,¨TÔ2ô} .ñ ö`  ®	ØˆJà$ŒØ"ŒØ,ÔØ �rX   c                ó¨  ^ ^^• T R                   nU(       d  g ST R                  R                  ;   a$  [        R                  " ST R                   S35      eST R                  R                  ;   a$  [        R                  " ST R                   S35      e[
        R                  " [        5      m      SU U4S jjm[        R                  " T R                  5      nUc   eUU 4S jT R                  R                  5        5        VVVs/ s HG  u  p4n[        R                  " UUUT R                  R                  U[         R"                  5      5      PMI     nnnnT(       aZ  TR                  5        HF  u  nn[$        R&                  " ST R                   S	S
R)                  S U 5       5       SU S3SSS9  MH     0 n	0 n
U H6  n[+        U5      S:X  a  Uu  pÍO[+        U5      S:X  a
  Uu  pÍnXêU'   O eXÙU'   M8     U
R                  5        H  u  nn[-        T R                  UU5        M     T R/                  UT R                  U	5        g s  snnnf )NÚ__dataclass_fields__rÃ   zý is already a dataclass; ensure that base classes / decorator styles of establishing dataclasses are not being mixed. This can happen if a class that inherits from 'MappedAsDataclass', even indirectly, is been mapped with '@registry.mapped_as_dataclass'rN   zk already defines a '__table__'. ORM Annotated Dataclasses do not support a pre-existing '__table__' elementc                ól   >• UTR                   La$  SUR                  ;  a  TU   R                  U 5        g)Nr”  T)r†   r‘   rþ   )rD  r  rR   Úwarn_for_non_dc_attrss     €€rT   Ú_allow_dataclass_fieldÚT_ClassScanMapperConfig._setup_dataclasses_transforms.<locals>._allow_dataclass_field;  s7   ø€ ð "¨¯©Ò1Ø*Ð2C×2LÑ2LÓLà%Ð&7Ñ8×?Ñ?ÀÔDàrX   c              3  óÜ   >#   • U  Ha  u  nu  nnnnnnnT	" X5      (       d  M  UT
R                   ;  d$  [        T
R                   U   [        5      (       a  MQ  UU(       a  UOUU4v •  Mc     g 7frP   )r  r³   r   )rX  rD  Úraw_annor	  Úmapped_annoÚis_dcr  r  r  r—  rR   s            €€rT   r[  ÚG_ClassScanMapperConfig._setup_dataclasses_transforms.<locals>.<genexpr>P  s…   øé € ð 0ò 8ñ�Cñ ØØ$ØØØØ&Ø%á)¨#×Aóð  ˜t×8Ñ8Ó8ô &Ø×1Ñ1°#Ñ6Ô8J÷ó1ØÞ#.‘K°HØ$õò 8ùs   ƒA,£0A,ÁA,zWhen transforming z to a dataclass, attribute(s) ú, c              3  ó8   #   • U  H  n[        U5      v •  M     g 7frP   ©rx   )rX  rD  s     rT   r[  r�  x  s   é € Ð C²l¨s¤ c§ ²lùó   ‚z originates from superclass a  , which is not a dataclass.  This usage is deprecated and will raise an error in SQLAlchemy 2.1.  When declaring SQLAlchemy Declarative Dataclasses, ensure that all mixin classes and other superclasses which include attributes are also a subclass of MappedAsDataclass.z2.0Údcmx©Úcoder/   é   )rD  rJ   r  rÁ   rY   r  )r  r†   r‘   r   rÅ   ÚcollectionsÚdefaultdictri  r   rÙ   r  Úitemsr"   Ú!_get_arguments_for_make_dataclassr  r’   r3   ÚNO_ARGr1   Úwarn_deprecatedÚjoinrÿ   r�  Ú_apply_dataclasses_to_any_class)rR   r  r£   rD  Úannor	  Ú
field_listr  Únon_dc_attrsr   ÚdefaultsÚitemrº   ÚtpÚspecÚkÚvr—  r–  s   `                @@rT   r-  Ú4_ClassScanMapperConfig._setup_dataclasses_transforms  sf  ú€ Ø$(×$BÑ$BÐ!Þ(Øð " T§X¡X×%6Ñ%6Ó6Ü×)Ò)Ø˜Ÿ™˜
ð #2ð 2óð ð ˜$Ÿ(™(×+Ñ+Ó+Ü×)Ò)Ø˜Ÿ™˜
ð #&ð &óð ô !,× 7Ò 7¼Ó =Ðð		Øð		Ø)2ð		à÷		ð 		ô "×2Ò2°4·8±8Ó<ˆØÑ"Ð"Ð"õ0ð ×/Ñ/×5Ñ5Ô7ô0õ%
ò0Ñ+�Ð+ô ×?Ò?ØØØ Ø×)Ñ)×-Ñ-¨c´6·=±=ÓAö	ñ0ð 	ò %
öN !ð '×,Ñ,Ö.ñØ!Øä×$Ò$Ø(¨¯©¨
ð 3$à—y‘yÑ C±lÓ CÓCÐDð E2à(Ð)ð *5ð		6ð Øôñ /ð  ˆØˆÛˆDÜ�4‹y˜A‹~Ø‘��bÜ�T“˜a“Ø!%‘�˜$Ø!%˜’à�uØ "˜Óñ ð —N‘NÖ$‰DˆAˆqÜ�D—H‘H˜a Ö#ñ %ð 	×,Ñ,Ø% t§x¡x°õ	
ùôU%
s   ÄAIc                óþ   • [         R                  " U5      n0 nUR                  5        HP  u  pE[        XQU5      (       a6  [	        UUUR
                  U[        S 5      SSSS9nU(       a
  Uu  pxXsU'   MJ  ML  XSU'   MR     U$ )NF©ÚrequiredrŽ  Úexpect_mapped)r1   rd  r¨  r,   r+   rZ   rÑ   )	r†   ÚklassrY  Únew_annorº   r�  Ú	extractedÚinnerÚ_s	            rT   Ú(_update_annotations_for_non_mapped_classÚ?_ClassScanMapperConfig._update_annotations_for_non_mapped_class—  s�   € ô ×.Ò.¨uÓ5ˆàˆØ /× 5Ñ 5Ö 7ÑˆDÜ$ Z¸×>Ñ>Ü3ØØØ×$Ñ$ØÜ˜“JØ"Ø',Ø"'ñ	�	ö Ø(‘H�EØ%*˜T“Nñ ð ",˜“ñ! !8ð" ˆrX   c           
     óV  • U R                  U5        US   nU[        R                  L a  [        R                  nU(       a(  [
        R                  " U5      n[        SU5      Ul        OS n U" U40 UR                  5        VVs0 s H$  u  pgU[        R                  Ld  M  US:w  d  M"  Xg_M&     snnD6   U(       a  Uc  U?g XRl        g g s  snnf ! [        [        4 a.  n[        R                  " SUR                  < SU< S3SS9UeS nAff = f! U(       a  Uc  U?f XRl        f f = f)Nr~   r"  zAPython dataclasses error encountered when creating dataclass for z: zN. Please refer to Python dataclasses documentation for additional information.Údcter£  )Ú_assert_dc_argumentsr3   rª  r*  Ú	dataclassr1   rd  r   r^   r¨  Ú	TypeErrorÚ
ValueErrorr   rÅ   rK   )	r†   r  r¼  Úuse_annotationsr~   Úrestoredrµ  r¶  Úexs	            rT   r­  Ú6_ClassScanMapperConfig._apply_dataclasses_to_any_class±  sP  € ð 	× Ñ Ð!:Ô;à6Ð7KÑLÐØ¤§¡Ò.Ü!,×!6Ñ!6Ðö ô
 ×+Ò+¨EÓ2ˆHÜ$(Ð)9¸?Ó$KˆEÕ!àˆHð	5ÙØñð !:× ?Ñ ?Ô Aôâ A™˜Ø¤§¡Ð-ó à23Ð7KÑ2Kó �A’DÙ Aòóö* ØÑ#ØÑ-à,4Õ)ð	 ùó'øô œ:Ð&ó 	Ü×)Ò)ð!Ø!&§¡Ñ 2°"Ø‘&ð <ð<ð ñð ðûð	ûö ØÑ#ØÑ-à,4Õ)ð	 úsB   Á,C ÂCÂ!CÂ)CÂ/C ÃC ÃDÃ!)D
Ä
DÄD ÄD(c                óÄ   • 1 Skn[        U5      R                  U5      nU(       a;  SR                  S [        U5       5       5      n[        R
                  " SU S35      eg )N>   ry   rw   rx   rz   r}   r|   r{   r~   rž  c              3  ó(   #   • U  H  o< v •  M
     g 7frP   rQ   )rX  Úargs     rT   r[  Ú>_ClassScanMapperConfig._assert_dc_arguments.<locals>.<genexpr>ô  s   é € ÐJÒ2I¨3™gœJÒ2Iùs   ‚zDataclass argument(s) z are not accepted)ÚsetÚ
differencer¬  Úsortedr   r~  )r†   Ú	argumentsÚallowedÚdisallowed_argsÚmsgs        rT   rÅ  Ú+_ClassScanMapperConfig._assert_dc_argumentsæ  s`   € ò	
ˆô ˜i›.×3Ñ3°GÓ<ˆÞØ—)‘)ÑJ´&¸Ô2IÓJÓJˆCÜ×#Ò#Ø(¨¨Ð->Ð?óð ð rX   c                óø  • XR                   ;   a  U R                   U   $ Uc  g U R                  nU R                  nUcQ  [        U[        R
                  5      nU(       + =(       a)    U(       + =(       a    US L =(       d    [        U[        5      nSn[        UU R                  UR                  U[        U5      SUU=(       a    U(       + S9n	U	c  g U	u  p«Ucy  [        U
5      (       di  [        U
5       HZ  n[        USSS9(       a   [        U R                  UUR                  SS9n[        U[        5      (       d  MJ  UR!                  5       nM\     [#        UUU
UUUR                  U5      =U R                   U'   nU$ )NFr¹  T)Úcheck_genericÚcheck_for_plain_string)Úinclude_generic)r  r   r!  r³   r*  ÚFieldr%   r+   r†   rZ   rÑ   r:   r8   r9   r.   r$   Úfound_in_pep593_annotatedr  )rR   rº   r  r  r»  r  r  Úallow_unmappedrŽ  r¾  r
  r	  ÚelemÚcas                 rT   r…  Ú*_ClassScanMapperConfig._collect_annotationù  s•  € ð ×-Ñ-Ó-Ø×-Ñ-¨dÑ3Ð3àÑ!Øà×9Ñ9ˆØ×8Ñ8ˆàÑ Ü!+¨J¼×8IÑ8IÓ!JÐà&Ô&÷ Ø&Ô&÷ð  $Ð&÷ @Ü! *Ô.>Ó?ð ð #ÐÜ+ØØ�H‰HØ×(Ñ(ØÜ�ÓØØ1Ø'×<°Ô,<ñ	
ˆ	ð Ñàà8AÑ5Ð#àÑ¤jÐ1L×&MÑ&MÜ Ð!<Ö=�ÜØ¨ÀT÷ô 3ØŸ™ØØ)×4Ñ4Ø(,ñ	�Dô ˜dÔ$;×<Ó<Ø!%×!?Ñ!?Ó!A’Jñ >ô 1EØØØ'ØØØ×(Ñ(Øó1
ð 	
ˆ×"Ñ" 4Ñ(¨2ð ˆ	rX   c                ó~   • [        U[        R                  5      (       a  [        R                  " SU SU S35        g g )Nry  rz  zë appears to be a non-schema SQLAlchemy expression object; this won't be part of the declarative mapping. To map arbitrary expressions, use ``column_property()`` or a similar function such as ``deferred()``, ``query_expression()`` etc. )r³   r2   ÚColumnElementr1   r¹   )rR   r†   rD  r  s       rT   r‡  Ú0_ClassScanMapperConfig._warn_for_decl_attributesA  s?   € ô �aœ×1Ñ1×2Ñ2Ü�IŠIØ˜c˜U +¨c¨Uð 3/ð /õð 3rX   c                ój  • U R                   nU R                  n0 nU R                  nU" 5        GH€  u  pšp¼U(       dg  U
cd  [        XµU5      (       aS  U" Xš5      (       a  M1  U R	                  X›USU
5      nUb  UR
                  OU
n
U
c
  [        5       n
X§U	'   [        XYU
5        Mu  [        U
[        [        45      (       d  M’  U" Xš5      (       a  M¡  U R	                  X›USU
5      nUb  UR
                  OU
n
X–;  d  MÍ  SU;   a)  [        U
SS 5      =(       d    U	US   R                  ;   a  Mü  U
R                  (       aO  U
R                   H?  nUR                  c  M  UR                  R                  b  M+  [        R                   " S5      e   U
R#                  5       =XŠ'   nX÷U	'   [        XYU5        GMƒ     U$ )NTrN   rº   z®Columns with foreign keys to non-table-bound columns must be declared as @declared_attr callables on declarative mixin classes.  For dataclass field() objects, use a lambda:.)r†   r  r  r,   r…  r  r*   r�  r³   r4   rœ   r  Úforeign_keysÚ_table_columnr¬   r   rÅ   Ú_copy)rR   Úattributes_for_classrE  r‰  r  r†   r¨   Úlocally_collected_attributesr  rº   rµ   r�  r  r�  ÚfkÚcopy_s                   rT   r{  Ú-_ClassScanMapperConfig._produce_column_copiesN  sÌ  € ð �h‰hˆØ×!Ñ!ˆØ')Ð$Ø×*Ñ*ˆñ 4H×3IÑ/ˆD�zæØ‘KÜ)¨*Ð;L×MÑMñ +¨4×5Ñ5ñ à'+×'?Ñ'?ØÐ&7¸¸só(Ð$ð
 ,Ñ7ð )×3Ò3àð ð
 ‘;Ü&›.�Cà58¨TÑ2Ü˜ 3Ö'ä˜C¤&¬,Ð!7×8Ó8Ù*¨4×5Ñ5ñ
 à'+×'?Ñ'?ØÐ&7¸¸só(Ð$ð
 ,Ñ7ð )×3Ò3àð ð Õ$Ø 5Ó(Ü   f¨dÓ3×;°tØ˜[Ñ)×+Ñ+õ,ð ×'×'Ø"%×"2Ô"2˜Bà "× 0Ñ 0Ó <Ø$&×$4Ñ$4×$:Ñ$:Ó$Bä&)×&=Ò&=ð%Fó'"ð !"ñ #3ð 25·±³Ð<�MÑ&¨à9>°Ñ6Ü˜C u×-ñO 4JðR ,Ð+rX   c                ó4  • U R                   nU R                  nU R                  nU R                  n[	        USSS9nU R
                  nU=(       d    U R                  n[        U R                  5      n[        U5       GHe  n	X”;   a  M  X)   n
[        U
5      (       a@  U
R                  (       a#  [        R                  " SU R                   -  5        [        X5      n
OU[        U
[         5      (       a@  U
R"                  ULa1  U
R$                  U	:w  a!  ['        U
R$                  5      n
[)        XU
5        [        U
[*        5      (       aI  [-        U
5      S:X  a:  [        U
S   [.        [0        45      (       a  [        R                  " SU	-  5        GM  U(       a"  [        U
[2        R4                  5      (       a  GM;  [        U
[.        [6        45      (       d9  UR9                  U	5        U R;                  XU
5        U(       d  [)        XU
5        GM�  U	S;   a  [<        R>                  " S	U	 S
35      e[        U
[.        5      (       a&  [A        X�RB                  RE                  Xª5      5        GOw[        U
[F        5      (       a_  U RH                  RE                  U	S5      u  nnnnnnnUc
  Ub  U(       a%   U
RK                  U U RL                  UUU	UUUU5	        O	U(       d   e[        U
[6        5      (       aî  U
RT                  (       a¢  U(       d›  [        U
[V        5      (       a  / SQnO/ SQnU Vs1 s H1  n[        U
RX                  SU 35      [Z        R\                  Ld  M/  UiM3     nn[<        R^                  " SU	 SU SSRa                  [c        S U 5       5      5       S35      e[        U
[V        [d        45      (       d   UR9                  U	5        [)        XU
5        GMa  X£U	'   GMh     g ! [N         a   n[P        RR                  " SU S35      UeS nAff = fs  snf )Nr‰   TrŠ   z�Use of @declared_attr.cascading only applies to Declarative 'mixin' and 'abstract' classes.  Currently, this flag is ignored on mapped class %sr   r   z‘Ignoring declarative-like tuple value of attribute '%s': possibly a copy-and-paste error with a comma accidentally placed at the end of the line?)rc   zAttribute name 'z-' is reserved when using the Declarative API.)NNNFNNNz7Could not resolve all types within mapped annotation: "zU".  Ensure all types are written correctly and are imported within the module in use.)rw   Údefault_factoryrx   ÚdefaultÚdataclass_metadata)rw   rð  rx   rò  Údataclasses_ry  rz  z# includes dataclasses argument(s): rž  c              3  ó8   #   • U  H  n[        U5      v •  M     g 7frP   r   )rX  Úas     rT   r[  ÚF_ClassScanMapperConfig._extract_mappable_attributes.<locals>.<genexpr>Y  s   é € Ð/FÂ¸A´°Q·°Âùr¡  zF but class does not specify SQLAlchemy native dataclass configuration.)3r†   r  r¾   rf  rŒ   r!  r   r  r  ri  r¶   r¸   r1   r¹   rœ   r³   r   r–   rD  r!   r�  r}  rÿ   r4   r%   r*  rÝ  r#   Úpopr‡  r   rÅ   Ú_undefer_column_namer  r’   r$   r  rÎ   r§   Ú	NameErrorÚorm_excÚMappedAnnotationErrorÚ_has_dataclass_argumentsr'   Ú_attribute_optionsr3   rª  r~  r¬  rÓ  r&   )rR   r†   r  Ú	our_stuffrf  Úlate_mappedr!  Úexpect_annotations_wo_mappedÚlook_for_dataclass_thingsrµ  rÛ   r�  r	  r
  r  r  r  r  ÚneÚargnamesrõ  Úargss                         rT   r/  Ú3_ClassScanMapperConfig._extract_mappable_attributes¨  s  € Ø�h‰hˆØ#×8Ñ8Ðà—O‘Oˆ	à×0Ñ0Ðä-ØÐ-°dñ
ˆð &*×%DÑ%DÐ"à&×L¨$×*LÑ*Lð 	%ô %)¨×)GÑ)GÓ$HÐ!äÐ*×+ˆAØÓ$Ùà(Ñ+ˆEä$ U×+Ñ+ð ×#×#Ü—I’Iðð  $Ÿx™xñ(ôô   ›‘ô ˜5Ô"4×5Ñ5Ø—L‘L¨Ò+Ø—I‘I “Nô (¨¯	©	Ó2�Ü˜ Ô&ô ˜5¤%×(Ñ(Ü˜“J !“OÜ˜u Q™x¬&Ô2BÐ)C×DÑDä—	’	ðBàDEñFôò
 Þ*¬zØ”{×(Ñ(÷0ñ 0ò
 Ü ¬Ô0CÐ'D×EÑEð
 %×(Ñ(¨Ô+Ø×.Ñ.¨s°uÔ=Þ"Ü˜C EÔ*Úð �mÓ#Ü×-Ò-Ø& q cð *'ð 'óð ô ˜E¤6×*Ñ*Ü$Ø×)Ñ)×-Ñ-¨eÓ;öô ˜eÔ%<×=Ñ=ð ×2Ñ2×6Ñ6ØÐFóñØ"Ø(Ø3Ø$Ø"Ø*Ø)ð )Ñ4Ø%Ñ-ö
 6ð&Ø!×2Ñ2Ø $Ø $§¡Ø #Ø 2Ø !Ø 0Ø *Ø ;Ø ,õ
ö.  <Ð;Ð;ä˜eÔ%8×9Ñ9à×6×6Þ 9ä% e¬^×<Ñ<ò(™Hò(˜Hñ &.ó â%- Ü&Ø %× 8Ñ 8¸LÈÈÐ:Ló ô $*§=¡=ð 1÷ Ù%-ð ð  ô "×/Ò/Ø)¨!¨¨K¸°uð =8à#Ÿy™y¬Ñ/FÁÓ/FÓ)FÓGÐHð IIðIóð ô & e¬n¼lÐ-K×LÑLð -×0Ñ0°Ô3ô   ¨Ô.Ú à �aŒLòm ,øô^  )ó &Ü")×"?Ò"?ð#0Ø0:¨|ð <Eð!Fó#ð
 $&ð&ûð&üòF s$   Ê.#O(Ì*.PÍPÏ(
PÏ2PÐPc                óÄ  • U R                   nU R                  nU R                  n[        R                  " [
        5      n[        UR                  5       5       GH  u  pV[        U[        5      (       a’  UR                  nU(       a  XqU'   OX	 UR                   Hf  u  p‰[        U[        5      (       d  XHR                     R                  U5        UR                  U5        X“U'   Ub  MQ  XXR                  :w  d  Mb  X�U'   Mh     M­  [        U[         5      (       d  MÄ  UR                  c   eXFR                     R                  U5        UR                  U5        XVR                  :X  d  GM  X	 GM     UR                  5        H[  u  p«[#        U5      S:”  d  M  [$        R&                  " SU R(                  < SU
< SSR+                  [-        U5      5      < S35        M]     g )Nr   z	On class z, Column object z7 named directly multiple times, only one will be used: rž  z$. Consider using orm.synonym instead)r¾   r  r  r¦  r§  rÑ  ri  r¨  r³   r&   Úmapper_property_to_assignÚcolumns_to_assignr    rº   ÚaddrD  r4   rÿ   r1   r¹   r½   r¬  rÓ  )rR   rþ  r  r  Úname_to_prop_keyrD  r  Úmp_to_assignÚcolÚ
sort_orderrº   Úkeyss               rT   r0  Ú0_ClassScanMapperConfig._extract_declared_columnss  s~  € Ø—O‘Oˆ	ð  ×0Ñ0ÐØ×.Ñ.ˆÜ&×2Ò2´3Ó7Ðä˜9Ÿ?™?Ó,×-‰FˆCÜ˜!œ\×*Ñ*Ø ×:Ñ:�ÞØ%1˜c’Nð "˜à'(×':Ô':‘O�CÜ% aÔ):×;Ñ;Ø(¯©Ñ2×6Ñ6°sÔ;Ø$×(Ñ(¨Ô-ð ,6 CÑ(ð $Ó+°·w±wµØ), #›ó! (;ô" ˜Aœv×&Ó&ð —v‘vÑ)Ð)Ð)Ø §¡Ñ(×,Ñ,¨SÔ1Ø ×$Ñ$ QÔ'ð Ÿ%™%–<Ø!›ñO .ðR +×0Ñ0Ö2‰JˆDÜ�4‹y˜1�}Ü—	“	ð
 —~”~£t¨d¯i©i¼¸t»Ö.Eð	Höò 3rX   c           	     ó„  ^• U R                   n[        SU5      nU R                  nU R                  nU R                  nU R
                  nU R                  m[        R                  " U5      nU R                  Gc-  SU;  Ga&  UGc"  [        US5      (       a6  [        [        [           [        R                  " UR                  5      5      n	O[        n	UbÑ  Sn
0 nU(       aQ  [!        U["        5      (       a  UnO9[!        U[$        5      (       a$  [!        US   ["        5      (       a
  USS US   pºOUn
UR'                  S5      nU(       a  XËS'   UR'                  S	5      nU(       a  S
US'   [)        UU4S jS9nU R+                  SU	" UU R-                  U5      /UQU
Q70 UD65      nO”Uc>  U R                  (       a!  U R+                  SU R                  5       5      nOUR.                  nU(       aL  U HF  nUR0                  R3                  U5      (       a  M%  [4        R6                  " SUR8                  -  5      e   Xl        g )NúMappedClassProtocol[Any]rN   Ú__table_cls__rQ   éÿÿÿÿr   Ú__autoload_with__Úautoload_withÚ__autoload__TÚautoloadc                ó(   >• TR                  U S5      $ )Nr   rW  )r  r  s    €rT   Ú<lambda>Ú5_ClassScanMapperConfig._setup_table.<locals>.<lambda>Þ  s   ø€  /×"5Ñ"5°a¸Ô";rX   )rD  z8Can't add additional column %r when specifying __table__)r†   r   r  r  r  r  r  r   rÙ   r  rÆ   r   r5   r1   Úunbound_method_to_callabler  r³   rp  r}  r’   rÓ  rÜ   Ú_metadata_for_clsrN   r  Úcontains_columnr   r~  rD  rî   )rR   r¬   r†   rr  r  r  r  r  r£   Ú	table_clsr  Útable_kwr  r  Úsorted_columnsr  r  s                   @rT   r1  Ú#_ClassScanMapperConfig._setup_table®  s#  ø€ Ø�h‰hˆÜÐ5°sÓ;ˆà—N‘Nˆ	Ø—_‘_ˆ
Ø×(Ñ(ˆØ×0Ñ0ÐØ×.Ñ.ˆä×-Ò-¨cÓ2ˆð �M‰MÒ!Ø <Ô/Ø’ä�s˜O×,Ñ,Ü Üœ‘KÜ×3Ò3°C×4EÑ4EÓFó‘	ô
 "�	àÑ$Ø(*�Ø+-�æÜ! *¬d×3Ñ3Ø#-™Ü# J´×6Ñ6Ü% j°¡n´d×;Ñ;Ø-7¸¸"Ð-=¸zÈ"¹~¡(à#-˜Dà ,× 0Ñ 0Ð1DÓ E�Þ Ø0=˜_Ñ-à'×+Ñ+¨NÓ;�ÞØ+/�H˜ZÑ(ä!'Ø$Ü;ñ"�ð ×.Ñ.ØÙØ!Ø×.Ñ.¨wÓ7ðð (ðð ò	ð
 #ñó	�øð ‰}Ø—=—=Ø ×2Ñ2Ø# T§]¡]£_ó‘Eð (×1Ñ1�EÞÛ)�AØ Ÿ7™7×2Ñ2°1×5Ó5Ü!×/Ò/ð3Ø56·U±Uñ;óð ñ *ð !ÕrX   c                óf   • [        U R                  SS 5      nUb  U$ UR                  R                  $ )Nrc   )rœ   r†   r§   rc   )rR   r£   Úmetas      rT   r  Ú(_ClassScanMapperConfig._metadata_for_clsü  s1   € Ü#*¨4¯8©8°ZÀÓ#FˆØÑØˆKà×#Ñ#×,Ñ,Ð,rX   c                óö  • U R                   nUR                  SS 5      nUc‰  / nUR                   H=  n[        U5      nUc  M  [	        U5      (       d  M%  Xd;  d  M,  UR                  U5        M?     U(       a2  [        U5      S:”  a  [        R                  " SU< SU< 35      eUS   nO![        U[        5      (       a  UR                  nX0l        U R                  nSU;  a  U R                  c  SU l        g g g )Nrï   r   rÃ   rý   r   rN   T)r†   r’   r“   r”   r�   rþ   rÿ   r   rÅ   r³   r(   r–   rï   r  r  r  )rR   r­   r†   rï   r   r—   r  r  s           rT   r.  Ú/_ClassScanMapperConfig._setup_inheriting_mapper  sé   € Ø�h‰hˆà—=‘= ¨TÓ2ˆàÑð !ˆOØŸœ�Ü6°uÓ=�Ø‘9Ùä,¨Q×/Ó/°AÕ4LØ#×*Ñ*¨1Ö-ñ 'ö Ü�Ó'¨!Ó+Ü×1Ó1ã¢ð1óð ð +¨1Ñ-�øÜ˜¤&×)Ñ)Ø—‘ˆHà Œà×(Ñ(ˆØ˜lÓ*¨t¯~©~Ñ/EØˆD�Kð 0FÐ*rX   c           
     ó:  • U R                   nU R                  nU R                  nU R                  nUc7  U R                  c*  [        US5      (       d  [        R                  " SU-  5      eU R                  (       GaŸ  [        U R                  5      nUc   eUR                   nUR                  nUGch  U(       a  [        R                  " S5      eU(       aF  [        U[        5      (       d1  [        R                  " SU R                   SU R                   S35      eU H÷  n	Uc   eU	R                  UR                  ;   a_  UR                  U	R                     U	L a  M@  [        R                  " SU	 SUR                   S	UR                  U	R                      S
35      eU	R                   (       a  [        R                  " S5      e["        (       a  [        U[        5      (       d   eUR%                  U	5        Uc  Mà  X‡Ld  Mæ  UR'                  U	5        Mù     g g g )NÚ__no_table__zwClass %r does not have a __table__ or __tablename__ specified and does not inherit from an existing table-mapped class.z?Can't place __table_args__ on an inherited class with no table.z9Can't declare columns on single-table-inherited subclass z; superclass z is not mapped to a TablezColumn 'rz  z! conflicts with existing column 'zs'.  If using Declarative, consider using the use_existing_column parameter of mapped_column() to resolve conflicts.zDCan't place primary key columns on an inherited class with no table.)rî   r†   r  r  rï   rŒ   r   rÅ   r‡   r  r~  r³   r5   rº   r  rK   Úprimary_keyr   Úappend_columnÚ_refresh_for_new_column)
rR   r­   r¬   r†   r  r  Úinherited_mapper_or_configÚinherited_tableÚinherited_persist_selectabler  s
             rT   r2  Ú0_ClassScanMapperConfig._setup_inheriting_columns$  s  € Ø× Ñ ˆØ�h‰hˆØ—_‘_ˆ
Ø×0Ñ0Ðð ‰MØ—‘Ñ%Ü+¨C°×@Ñ@ä×)Ò)ð&à(+ñ,óð ð
 �]�]ˆ]Ü)?ÀÇÁÓ)NÐ&Ø-Ñ9Ð9Ð9Ø8×DÑDˆOà*×=Ñ=ð )ð Š}ö Ü×+Ò+ð)óð ö $¬J°Ì×,NÑ,NÜ×+Ò+ð$Ø$(§H¡H :¨]¸4¿=¹=¸/ð J3ð3óð ó ,�CØ*Ñ6Ð6Ð6Ø—x‘x ?×#4Ñ#4Ó4Ø*×,Ñ,¨S¯X©XÑ6¸#Ò=Ù$Ü!×/Ò/Ø& s e¨;°s·|±|°nð E à /× 1Ñ 1°#·(±(Ñ ;Ð<ð =4ð4óð ð ——Ü!×/Ò/ð3óð ÷
 %’}Ü)¨/¼5×AÑAÐAÐAà#×1Ñ1°#Ô6à4Ó@Ø8ÔOà4×LÑLØöò7 ,ð# ð rX   c                óú  • U R                   nU R                  (       a  U R                  5       nO0 nU(       a  UR                  U5        SU;   a  [        U5      nUR                  US   5        S H+  nXC;   d  M
  X4   nU R                  R                  XU5      X4'   M-     SU;   aF  [        R                  " US   5       Vs/ s H  nU R                  R                  XU5      PM      snUS'   SU;   aP  US   n[        U[        5      (       a  UR                  nX`R                  La  [        R                  " SUS   -  5      eU R                  (       a  U R                  US'   U R                  (       Ga`  UR                  SS5      (       GdH  [        U R                  S5      nUR                  nSU;  a”  UR                    V	s1 s H   n	X—R"                  ;  d  M  U	R$                  iM"     sn	R'                  UR(                  =(       d    S	5      =US'   n
U
R+                  U R,                   V	s/ s H  o™R$                  PM     sn	5        [/        UR1                  5       5       Ho  u  pK[        U[2        R4                  5      (       d  M&  XGR6                  ;   d  M7  UR6                  U   n[        U[8        5      (       d  M]  U/UR:                  -   X$'   Mq     UR=                  5       nX-S'   XÐl        g s  snf s  sn	f s  sn	f )
Nr¾   )Úversion_id_colÚpolymorphic_onr)  rï   z:mapper inherits argument given for non-inheriting class %sÚconcreteFÚexclude_propertiesrQ   ) r¾   r  r|  rp  r  r’   r1   Úto_listr³   r(   r–   rï   r   rÅ   r-   rî   r  Ú_columntopropertyrD  Úunionr4  Údifference_updater  ri  r¨  r2   rä  Ú_propsr)   ÚcolumnsÚcopyr  )rR   r­   r¾   r  rµ  r¶  Úinherits_argÚinherited_mapperr-  r  r4  r  ÚpÚresult_mapper_argss                 rT   Ú_prepare_mapper_argumentsÚ0_ClassScanMapperConfig._prepare_mapper_argumentsl  s¹  € Ø—_‘_ˆ
à××Ø×-Ñ-Ó/‰KàˆKæØ×Ñ˜yÔ)à˜;Ó&Ü˜jÓ)ˆJØ×Ñ˜k¨,Ñ7Ô8ó 6ˆAØÕØ‘N�Ø!%×!3Ñ!3×!7Ñ!7¸Ó!=�“ñ 6ð
 ˜KÓ'ô Ÿš k°-Ñ&@ÔAó*âA�Að ×"Ñ"×&Ñ& qÖ,ÙAñ*ˆK˜Ñ&ð
 ˜Ó$Ø& zÑ2ˆLÜ˜,¬×/Ñ/Ø+×2Ñ2�à§=¡=Ò0Ü×-Ò-ðØ"-¨jÑ"9ñ;óð ð
 �=�=Ø&*§m¡mˆK˜
Ñ#à�=�=ˆ= §¡°¸U×!CÒ!Cô  ,¨D¯M©M¸5ÓAÐØ.×:Ñ:ˆOð $¨;Ó6ð -×.Ò.óJâ.˜Ø× BÑ BÑBó �A—E”EÙ.ñJ÷ ‘%Ð(×;Ñ;×A¸rÓBð	C�Ð0Ñ1Ð4Fð
 #×4Ñ4Ø$(×$9Ò$9Ó:Ò$9˜q—U”UÑ$9Ñ:ôô ˜z×/Ñ/Ó1Ö2‘�Ü! #¤z×'?Ñ'?×@Ñ@ÙØ×/Ñ/Õ/Ø(×/Ñ/°Ñ2�AÜ! !¤^×4Ó4ð *-¨°·	±	Ñ(9˜
›ñ 3ð )×-Ñ-Ó/ÐØ+5˜<Ñ(Ø-Õùòq*ùò<Jùò ;s   Ã %K.ÇK3ÇK3È+K8c                ó@  • U R                  U5        [        U R                  S5      (       a5  [        S[        R
                  " U R                  R                  5      5      nO[        nU R                  SU" U R                  U R                  40 U R                  D65      $ )NÚ__mapper_cls__zType[Mapper[Any]]rM   )r@  rÆ   r†   r   r1   r  rC  r(   rÜ   rî   r  rù   s      rT   rá   Ú_ClassScanMapperConfig.map½  s†   € Ø×&Ñ& yÔ1Ü�4—8‘8Ð-×.Ñ.ÜØ#Ü×/Ò/Ø—H‘H×+Ñ+óó‰Jô  ˆJà×%Ñ%ØÙ�t—x‘x ×!1Ñ!1ÑF°T×5EÑ5EÑFó
ð 	
rX   )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­   re   rr   )r†   ræ   rY   úCallable[[str, Any], bool])r†   rÁ   rY   ú2Callable[[], Iterable[Tuple[str, Any, Any, bool]]])r¼  ræ   rY   ú!Mapping[str, _AnnotationScanType])r  ru   r¼  ræ   rÉ  rG  rY   rs   )rÔ  ru   rY   rs   )rº   rJ   r  r7   r  rÁ   r»  zOptional[bool]r  r   rY   zOptional[_CollectedAnnotation])r†   rÁ   rD  rJ   r  r   rY   rs   )
rê  rF  rE  rE  r‰  r  r  rÁ   rY   z0Dict[str, Union[Column[Any], MappedColumn[Any]]]rP   )r¬   rç   rY   rs   )r£   zClassManager[Any]rY   rC   rê   ré   )$rK   rZ   r[   r\   rë   Úis_deferredr^   rÖ   r+  rR  rf  ÚreÚcompilerg  rl  r,  r-  rì   rÁ  r­  rÅ  r…  r‡  r{  r/  r0  r1  r  r.  r2  r@  r1   r  rá   r_   r  r  s   @rT   rÇ   rÇ   º  s‹  ø‡ ð€Ið. €KØÓØÓØ:Ó:Ø(Ó(Ø%Ó%Ø,Ó,Ø2Ó2Ø+Ó+ðó ð ÓØ"Ó"Ø(Ó(Ø:Ó:Ø!Ó!ØƒLà#'Ó'Ø $Ó$à<Ó<ðð !Ó ððK+àðK+ð ðK+ð ð	K+ð
 $ðK+ð !÷K+ôZ&ð"J'ØðJ'à	#ôJ'òXÐð  ŸZšZ¨Ó8ÐðB*ØðB*à	;ôB*ôHl!ô\	v
ðp ðØðà	*óó ðð2 ð25à#6ð25ð ð25ð ;ð	25ð
 
ó25ó ð25ðh óó ðð$FàðFð ,ðFð %ð	Fð
 &ðFð ðFð 
(ôFðPØðØ#&ðØ+.ðà	ôðX,ð
ðX,ð
 "<ðX,ð ðX,ð %ðX,ð 
:ôX,ôtI!ôV9övL!ô\-ôôBFôPO.ðb .2¯_©_÷ 
ô 
rX   rÇ   c                ó¸   • [         R                  R                  nX   n[        U5      (       a+  [	        X2R
                  5      (       d  UR                  U5      $ U$ rP   )r1   r°   r±   Úcallabler³   r@   )Úfield_metadatarP  Údecl_apirµ   s       rT   ra  ra  Ï  sJ   € ô �~‰~×*Ñ*€HØ
Ñ
3€CÜ�‡}�}œZ¨×-CÑ-C×DÑDØ×%Ñ% cÓ*Ð*àˆ
rX   c                  ó<  ^ • \ rS rSr% S\S'   Sr\R                  " 5       rS\S'   SS jr	\
SS j5       r\R                  SS	 j5       r\SS
 j5       r\SS j5       r\SS j5       r\SS j5       r\ S     SS jj5       r\R&                  4SU 4S jjjrSrU =r$ )r‚   iÞ  úweakref.ref[Type[Any]]Ú_clsTz?util.OrderedDict[weakref.ref[Type[Any]], _DeferredMapperConfig]Ú_configsc                ó   • g rP   rQ   rà   s     rT   rä   Ú$_DeferredMapperConfig._early_mappingç  s   € ØrX   c                ó"   • U R                  5       $ rP   ©rQ  rl   s    rT   r†   Ú_DeferredMapperConfig.clsê  s   € à�y‰y‹{ÐrX   c                ó~   • [         R                  " XR                  5      U l        X R                  U R                  '   g rP   )ÚweakrefÚrefÚ_remove_config_clsrQ  rR  )rR   r–   s     rT   r†   rW  î  s(   € ä—K’K ×(?Ñ(?Ó@ˆŒ	Ø#'�‰�d—i‘iÒ rX   c                ó<   • U R                   R                  US 5        g rP   )rR  r÷  )r†   rZ  s     rT   r[  Ú(_DeferredMapperConfig._remove_config_clsó  s   € à�‰×Ñ˜˜dÕ#rX   c                óv   • [        U[        5      =(       a#    [        R                  " U5      U R                  ;   $ rP   )r³   rÑ   rY  rZ  rR  ©r†   r–   s     rT   rƒ   Ú_DeferredMapperConfig.has_cls÷  s(   € ô ˜&¤$Ó'×O¬G¯KªK¸Ó,?À3Ç<Á<Ñ,OÐOrX   c                óž   • [        US5      (       a  UR                  5         [        R                  " US[        R                  " U5       S3S9e)NÚ_sa_raise_deferred_configrÃ   zG has a deferred mapping on it.  It is not yet usable as a mapped class.)r×  )rÆ   rb  rú  ÚUnmappedClassErrorÚ_safe_cls_namer_  s     rT   Úraise_unmapped_for_clsÚ,_DeferredMapperConfig.raise_unmapped_for_clsü  sQ   € ä�6Ð6×7Ñ7Ø×,Ñ,Ô.ä×(Ò(Øàœ×/Ò/°Ó7Ð8ð 9Jð Jñ
ð 	
rX   c                óH   • U R                   [        R                  " U5         $ rP   )rR  rY  rZ  r_  s     rT   r„   Ú$_DeferredMapperConfig.config_for_cls	  s   € à�|‰|œGŸKšK¨Ó/Ñ0Ð0rX   c                óÔ  ^^• U R                   R                  5        Vs/ s H  o3UR                  4PM     sn VVs/ s H  u  p4Uc  M
  [        XA5      (       d  M  UPM      nnnU(       d  U$ U Vs0 s H  o3R                  U_M     snm/ nT H)  mUR	                  UU4S jTR
                   5       5        M+     [        [        R                  " Xe5      5      $ s  snf s  snnf s  snf )Nc              3  óH   >#   • U  H  nUT;   d  M  TU   TT   4v •  M     g 7frP   rQ   )rX  Úbase_clsÚall_m_by_clsÚm_clss     €€rT   r[  Ú9_DeferredMapperConfig.classes_for_base.<locals>.<genexpr>  s1   øé € ð â /�HØ˜|Ñ+ó >�˜hÑ'¨°eÑ)<Õ=Ú /ùs   ƒ
"‘")	rR  Úvaluesr†   r›   Úextendr“   ri  r6   Úsort)	r†   rk  rq  ÚmrÈ   Úclasses_for_baseÚtuplesrl  rm  s	          @@rT   rs  Ú&_DeferredMapperConfig.classes_for_base  sÖ   ù€ ð 14·±×0CÑ0CÔ0EÓFÒ0E¨1 §¡›JÑ0EÒFô
âF‘�Øó ä$.¨t×$>÷ ÙFð 	ñ 
ö Ø#Ð#á*:Ó;Ò*: QŸ™˜qšÑ*:Ñ;ˆàLNˆÛ!ˆEØ�M‰Mõ à %§¢óö ñ "ô ”K×$Ò$ VÓ>Ó?Ð?ùò! Gùó
ùò <s   ŸC¼	CÁ	CÁCÁ1C%c                ón   >• U R                   R                  U R                  S 5        [        TU ]  U5      $ rP   )rR  r÷  rQ  rñ   rá   )rR   r­   rö   s     €rT   rá   Ú_DeferredMapperConfig.map%  s*   ø€ Ø�‰×Ñ˜$Ÿ)™) TÔ*Ü‰w‰{˜9Ó%Ð%rX   rV  rê   )rY   rÁ   )r–   rÁ   rY   rs   )rZ  rP  rY   rs   )r–   rÁ   rY   r  )r–   rÁ   rY   r   )r–   rÁ   rY   r‚   )T)rk  rÁ   rq  r  rY   zList[_DeferredMapperConfig]ré   )rK   rZ   r[   r\   r^   rH  r1   rÒ   rR  rä   Úpropertyr†   Úsetterrì   r[  rƒ   re  r„   rs  r  rá   r_   r  r  s   @rT   r‚   r‚   Þ  sõ   ø‡ Ø
 Ó à€Kð 	×ÒÓð ð ó ôð óó ðð 	‡Z�Zó(ó ð(ð ó$ó ð$ð óPó ðPð ó

ó ð

ð ó1ó ð1ð à/3ð@Ø ð@Ø(,ð@à	$ô@ó ð@ð. .2¯_©_÷ &÷ &rX   r‚   c                óÆ  • SU R                   ;   Gaº  [        SU 5      nSS jn[        U[        5      (       a=  [	        X5        U" U5      R                  USS9  UR                  R                  X5        g[        U[        5      (       aŠ  UR                  nUR                   HJ  u  pg[	        X5        U" U5      R                  USS9  U(       a  M/  UR                  R                  X5        ML     U(       a  UR                  R                  X5        gg[        U[        5      (       a  UR                  R                  X5        g[        U[        5      (       aA  UR                  U:w  a1  [        UR                  5      nUR                  R                  X5        g[        R!                  XU5        UR                  R#                  5         g[        R!                  XU5        g)z­add an attribute to an existing declarative class.

This runs through the logic to determine MapperProperty,
adds it to the Mapper, adds a column to the mapped Table, etc.

rM   r  c                ó¢   • [        U R                  [        5      (       a  U R                  $ [        R                  " SU R
                  < S35      e)Nz+Cannot add a new attribute to mapped class z) because it's not mapped against a table.)r³   rN   r5   r   rÅ   rK   )Úmcs    rT   Ú_table_or_raiseÚ'_add_attribute.<locals>._table_or_raise7  sF   € Ü˜"Ÿ,™,¬×.Ñ.Ø—|‘|Ð#Ü×)Ò)Ø=¸b¿k¹k¹_ð M;ð ;óð rX   T)Úreplace_existingN)r|  r  rY   r5   )r‘   r   r³   r4   rø  r*  rM   Úadd_propertyr&   r  r  r'   r   rD  r!   rÑ   Ú__setattr__Ú_expire_memoizations)r†   rD  rÛ   Ú
mapped_clsr}  Úmpr  rÀ  s           rT   Ú_add_attributer…  *  s„  € ð �s—|‘|Ô#ÜÐ4°cÓ:ˆ
ô	ô �eœV×$Ñ$Ü  Ô,Ù˜JÓ'×5Ñ5Ø¨ð 6ñ ð ×!Ñ!×.Ñ.¨sÕ:Ü˜œ|×,Ñ,Ø×0Ñ0ˆBØ×1Ô1‘�Ü$ SÔ.Ù 
Ó+×9Ñ9Ø¨$ð :ñ ÷ �rØ×)Ñ)×6Ñ6°sÖ@ñ 2ö Ø×%Ñ%×2Ñ2°3Õ;ð ä˜œ~×.Ñ.Ø×!Ñ!×.Ñ.¨sÕ:Ü˜Ô1×2Ñ2°u·y±yÀCÓ7Gô $ E§I¡IÓ.ˆEØ×!Ñ!×.Ñ.¨sÕ:ä×Ñ˜S uÔ-Ø×!Ñ!×6Ñ6Õ8ä×Ñ˜ 5Õ)rX   c                ó¨  • SU R                   ;   a­  XR                   ;   až  [        SU 5      R                  R                  (       dy  U R                   U   n[	        U[
        [        [        [        45      (       a  [        S5      e[        R                  X5        [        SU 5      R                  R                  5         g [        R                  X5        g )NrM   r  z<Can't un-map individual mapped attributes on a mapped class.)r‘   r   rM   Ú_dispose_calledr³   r4   r&   r'   r   rß   rÑ   Ú__delattr__r‚  )r†   rD  rÛ   s      rT   Ú_del_attributer‰  ^  sª   € à˜Ÿ™Ó$Ø—<‘<ÓÜØ&¨ó
ç
‰*—_‘_õ%ð —‘˜SÑ!ˆÜØ”FœL¬.Ô:LÐM÷
ñ 
ô &ØNóð ô ×Ñ˜SÔ&ÜØ*¨Cóç‰j×-Ñ-Õ/ä×Ñ˜Õ"rX   c                ó    • [        U 5      nU H=  n[        X#5      (       d  [        U< SUR                  < 35      e[	        XX   5        M?     g)a%  A simple constructor that allows initialization from kwargs.

Sets attributes on the constructed instance using the names and
values in ``kwargs``.

Only keys that are present as
attributes of the instance's class are allowed. These could be,
for example, any mapped columns or relationships.
z$ is an invalid keyword argument for N)rÑ   rÆ   rÇ  rK   r�  )rR   ÚkwargsrÈ   rµ  s       rT   Ú_declarative_constructorrŒ  v  sI   € ô �‹:€DÛˆÜ�t×ÑÜÛ>?ÀÇÃÐOóð ô 	�˜™Ö#ò rX   rÖ   c                óR   • UR                   c  Xl         UR                  c  Xl        g g rP   )rD  rº   )rD  Úcolumns     rT   rø  rø  Œ  s%   € Ø‡z�zÑØŒ
Ø‡{�{ÑØ�ð rX   )r†   rÁ   rY   z3Optional[Union[_DeferredMapperConfig, Mapper[Any]]])r†   rÁ   rY   r  )r†   rÁ   rY   r$  )F)r†   rÁ   rž   rJ   r‹   r  rY   zOptional[Any])r†   ræ   rY   zOptional[ClassManager[_O]])r§   r>   r†   rÁ   r¨   r=   rY   rè   )
r§   r>   r†   ræ   r¬   rç   r­   re   rY   rL   )rµ   r   rY   r  )rµ   r   rº   rJ   r†   ræ   rY   r  )rM  r#  rP  rJ   rY   r   )r†   rÁ   rD  rJ   rÛ   zMapperProperty[Any]rY   rs   )r†   rÁ   rD  rJ   rY   rs   )rR   r   r‹  r   rY   rs   )rD  rJ   rŽ  zColumn[Any]rY   rs   )rr]   Ú
__future__r   r¦  r*  rI  Útypingr   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   rY  Ú r   r   r   rú  r   r   Ú_typingr   r   r   r   rŸ   r   r   Údescriptor_propsr    r!   Ú
interfacesr"   r#   r$   r%   r&   r'   Úmapperr(   r¾   r)   r*   r1   r+   r,   r-   r.   r0   Úsqlr2   Úsql.baser3   Ú
sql.schemar4   r5   r6   Úutil.typingr7   r8   r9   r:   r;   r<   r=   r>   r?   rN  r@   rA   Úsql.elementsrB   rC   Úsql.selectablerD   rE   rJ   re   Ú_TableArgsTyperH   ra   ru   r‡   r�   r”   rŒ   r•   r©   r®   Úpreload_moduler¶   r»   r¥   r«   r  rÇ   ra  r‚   r…  r‰  rŒ  rK   rø  rQ   rX   rT   Ú<module>rž     s÷  ðñ /å "ã Û Û 	Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý  Ý Ý Û å Ý Ý Ý Ý Ý Ý +Ý -Ý *Ý "Ý  Ý /Ý -Ý )Ý +Ý /Ý (Ý $Ý &Ý Ý &Ý $Ý )Ý 'Ý Ý )Ý Ý Ý Ý Ý Ý Ý Ý Ý -Ý "Ý $Ý $Ý "Ý #æÝ#Ý&ÝÝ'Ý-Ý*Ý%Ý+áˆT˜Ñ€à˜˜S˜Ñ!€Ø�u˜S #˜X‘¨¨S°#¨X©Ð6Ñ7€ô-˜( 2™,ô -ô,Ð2°2Ñ6¸ô ,ô@˜)ô @ð
Ø	ð
à8ô
ôô,ð. 38ð$Ø	ð$Ø!ð$Ø+/ð$àõ$ôNðGØðGØ"+ðGØ4>ðGàôGð;Øð;à	ð;ð  ð;ð ð	;ð
 ô;ð ×ÒÐ.Ó/óHó 0ðHðØ	ðØðØ&ðà	ô÷Wñ Wôt;!˜mô ;!ô|!˜:ô !ôR
˜]ô R
ðj0 ×ÒÐ.Ó/ðØ%ðØBEðàóó 0ðôI&Ð2ô I&ðX1*Ø	ð1*Øð1*Ø%8ð1*à	ô1*ôh#ô0$ð& %/Ð Ô !õrX   