§
    eŠtj<F ã                  ón  — d Z ddlmZ ddlZddlZddlZddlmZ ddlmZ ddlm	Z	 ddlm
Z
 ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlZddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z  ddlm!Z! ddlm"Z" ddlm#Z# ddl$m%Z% ddl$m&Z& dd l'm(Z( dd!l'm)Z) dd"l*m+Z+ dd#l*m,Z, dd$l*m-Z- dd%l*m.Z. dd&l*m/Z/ dd'l*m0Z0 dd(l1m2Z2 dd)l3m4Z4 dd*l3m5Z5 dd+l6m7Z7 dd,l6m8Z8 dd-l6m9Z9 dd.l6m:Z: d/d0lm;Z; d/dlmZ d/d1lm6Z6 d/d2l<m=Z= d/d3l>m?Z? d/d4l@mAZA d/d5l@mBZB d/d6l6mCZC d/d7lDmEZE d/d8lDmFZF d/d9lDmGZG d/d:lDmHZH d/d;lDmIZI d/d<lDmJZJ er0dd=lmKZK dd>lmLZL dd?l$mMZM dd@lNmOZO ddAlmPZP d/dBlQmRZR d/dCl@mSZS d/dDlTmUZU  edEe¬F¦  «        ZVeeWef         ZXeeedGf         e
eWef         f         ZY G dH„ dIeIe          ¦  «        ZZ G dJ„ dKeZe          eI¦  «        Z[ G dL„ dMeJ¦  «        Z\d�dR„Z]dŽdT„Z^d�dV„Z_	 d�d‘d\„Z`d’d_„Zad“de„Zbd”dk„Zc e6jd        dl¦  «        d•do„¦   «         Zed–dq„Zf G dr„ ds¦  «        Zg G dt„ dueg¦  «        Zh G dv„ dwe¦  «        Zi G dx„ dyeg¦  «        Zj e6jd        dl¦  «        d—d}„¦   «         Zk G d~„ dej¦  «        Zld˜d„„Zmd™d…„Zndšdˆ„Zod‰eo_p        d›dŒ„ZqdS )œz(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                  ó:   — e Zd ZU dZded<   ded<   ded<   dd„ZdS )ÚMappedClassProtocolzª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__Úkwr   Úreturnr   c                ó   — d S ©N© )ÚselfrN   s     úV/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sqlalchemy/orm/decl_base.pyÚ__call__zMappedClassProtocol.__call__e   ó   € € € ó    N)rN   r   rO   r   )rJ   Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__rU   rR   rW   rT   rH   rH   Z   sK   € € € € € € ðð ð €M€M�MØÐÐÑØÐÐÑà,Ð,Ð,Ð,Ð,Ð,rW   rH   c                  óV   — e Zd ZU dZded<   ded<   ded<   ded	<   d
ed<   dd„Zdd„ZdS )Ú_DeclMappedClassProtocolz:Internal more detailed version of ``MappedClassProtocol``.rC   ÚmetadatarI   Ú__tablename__Ú_MapperKwArgsÚ__mapper_args__úOptional[_TableArgsType]Ú__table_args__úOptional[_DataclassArguments]Ú_sa_apply_dc_transformsrO   ÚNonec                ó   — d S rQ   rR   ©rS   s    rT   Ú__declare_first__z*_DeclMappedClassProtocol.__declare_first__r   rV   rW   c                ó   — d S rQ   rR   rh   s    rT   Ú__declare_last__z)_DeclMappedClassProtocol.__declare_last__t   rV   rW   N©rO   rf   )rJ   rX   rY   rZ   r[   ri   rk   rR   rW   rT   r]   r]   h   sl   € € € € € € Ø@Ð@àÐÐÑØÐÐÑØ"Ð"Ð"Ñ"Ø,Ð,Ð,Ñ,à:Ð:Ð:Ñ:à,Ð,Ð,Ð,à+Ð+Ð+Ð+Ð+Ð+rW   r]   c                  ó`   — e Zd ZU ded<   ded<   ded<   ded<   ded<   ded<   ded<   d	ed
<   dS )Ú_DataclassArgumentszUnion[_NoArg, bool]ÚinitÚreprÚeqÚorderÚunsafe_hashÚ
match_argsÚkw_onlyz'Union[_NoArg, Callable[..., Type[Any]]]Údataclass_callableN©rJ   rX   rY   r[   rR   rW   rT   rn   rn   w   sr   € € € € € € ØÐÐÑØÐÐÑØÐÐÑØÐÐÑØ$Ð$Ð$Ñ$Ø#Ð#Ð#Ñ#Ø Ð Ð Ñ Ø?Ð?Ð?Ñ?Ð?Ð?rW   rn   Úclsú	Type[Any]rO   ú3Optional[Union[_DeferredMapperConfig, Mapper[Any]]]c                ó®   — t                                | ¦  «        rt                                | ¦  «        S t          | ¦  «        rt	          | d¬¦  «        S d S )NF)Ú	configure)Ú_DeferredMapperConfigÚhas_clsÚconfig_for_clsr   r-   ©rx   s    rT   Ú_declared_mapping_infor�   ‚   sV   € õ ×$Ò$ SÑ)Ô)ð Ý$×3Ò3°CÑ8Ô8Ð8å	˜#Ñ	Ô	ð Ý˜C¨5Ð1Ñ1Ô1Ð1àˆtrW   Úboolc                ó‚   — t                                | ¦  «        rt          | dd¬¦  «         S t          | ¦  «        rdS dS )a‰  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ˆ   �   sZ   € õ ×$Ò$ SÑ)Ô)ð Ý*ØÐ-°dð
ñ 
ô 
ð 
ð 	
õ 
˜#Ñ	Ô	ð ØˆtàˆurW   úOptional[Type[Any]]c                óÄ   — | t           u rd S | j                             dd¦  «        r!| j        D ]}t	          |¦  «        }|�|c S Œd S t          | ¦  «        }|r|j        S | S )NÚ__abstract__F)ÚobjectÚ__dict__ÚgetÚ	__bases__Ú"_resolve_for_abstract_or_classicalÚ_dive_for_cls_managerÚclass_)rx   Úbase_ÚsupÚ
clsmanagers       rT   r�   r�   ¥   s‡   € Ø
�f€}€}Øˆtð „|×Ò˜¨Ñ.Ô.ð Ø”]ð 	ð 	ˆEÝ4°UÑ;Ô;ˆCØˆØ�
�
�
ð ð �4å*¨3Ñ/Ô/ˆ
àð 	ØÔ$Ð$àˆJrW   FÚattrnamerI   r†   úOptional[Any]c                ó  — |dk    sJ ‚t          | t          ¦  «        sdS || j        v rt          | |¦  «        S | j        dd…         D ]A}t          |¦  «        du}||j        v r%|| u s|r
|| j        v rn	 |st          ||¦  «        c S ŒBdS )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�   )rx   r–   r†   ÚbaseÚ_is_classical_inheritss        rT   r‡   r‡   »   sÌ   € ð  �~Ò%Ð%Ð%Ð%å�c�6Ñ"Ô"ð Øˆtà�3”<ÐÐÝ�s˜HÑ%Ô%Ð%à”˜A˜B˜B”ð ð ˆÝ!6°tÑ!<Ô!<ÀDÐ!HÐà�t”}Ð$Ð$Ø�CˆKˆKà*0ð à˜œÐ&Ð&Ð&Ð&Ø.ð 'õ ˜4 Ñ*Ô*Ð*Ð*Ð*øàˆtrW   úType[_O]úOptional[ClassManager[_O]]c                óN   — | j         D ]}t          j        |¦  «        }|r|c S Œd S rQ   )r›   r   Úopt_manager_of_class)rx   rœ   Úmanagers      rT   r‘   r‘   â   sG   € ð
 ”ð ð ˆÝ.8Ô.MØñ/
ô /
ˆð ð 	ØˆNˆNˆNð	àˆ4rW   Úregistryr>   Údict_r=   úOptional[_MapperConfig]c                ó>   — t                                | ||d i ¦  «        S rQ   )Ú_MapperConfigÚsetup_mapping)r£   rx   r¤   s      rT   Ú_as_declarativer©   ð   s    € õ
 ×&Ò& x°°e¸TÀ2ÑFÔFÐFrW   ÚtableúOptional[FromClause]Ú	mapper_kwr`   rK   c                óP   — t          | |||¦  «         t          d|¦  «        j        S )NzMappedClassProtocol[_O])Ú_ImperativeMapperConfigr   rL   )r£   rx   rª   r¬   s       rT   Ú_mapperr¯   ø   s,   € õ ˜H c¨5°)Ñ<Ô<Ð<ÝÐ)¨3Ñ/Ô/Ô:Ð:rW   zsqlalchemy.orm.decl_apiÚobjr   c                óf   — t           j        j        j        }t	          | |t           j        f¦  «        S rQ   )r1   Ú	preloadedÚorm_decl_apiÚ_declared_attr_commonÚ
isinstanceÚclassproperty)r°   r´   s     rT   Ú_is_declarative_propsr·     s)   € å œNÔ7ÔMÐå�cÐ1µ4Ô3EÐFÑGÔGÐGrW   Únamec                ó€   — t          | ¦  «        r.t          | dd¦  «        rt          j        d|›d|›d�¦  «         dS dS )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°   r¸   rx   s      rT   Ú_check_declared_props_nocascader¼   	  s^   € õ ˜SÑ!Ô!ð 	Ý�3˜ eÑ,Ô,ð 	ÝŒIˆIð .2¨T¨T°3°3°3ð8ñô ð ð
 ˆtàˆurW   c                  óv   — e Zd ZU dZded<   ded<   ded<   ded	<   ed"d„¦   «         Zd#d„Zd$d„Zd%d&d„Z	d'd „Z
d!S )(r§   )rx   Ú	classnameÚ
propertiesÚdeclared_attr_regÚ__weakref__ry   rx   rI   r¾   z_util.OrderedDict[str, Union[Sequence[NamedColumn[Any]], NamedColumn[Any], MapperProperty[Any]]]r¿   zDict[declared_attr[Any], Any]rÀ   r£   r>   Úcls_rž   r¤   r=   rª   r«   r¬   r`   rO   r¥   c                ó>  — t          j        | ¦  «        }|r!|j        |u rt          j        d| ›d�¦  «        ‚|j                             dd¦  «        rd S t          |dd¬¦  «        pt          |d¦  «        }|rt          |||||¦  «        S t          |||||¦  «        S )	NúClass z, already has been instrumented declarativelyr‹   Fr„   Tr…   Ú_sa_decl_prepare)r   r¡   r’   r   ÚInvalidRequestErrorr�   rŽ   r‡   Úhasattrr}   Ú_ClassScanMapperConfig)rx   r£   rÂ   r¤   rª   r¬   r¢   Ú	defer_maps           rT   r¨   z_MapperConfig.setup_mapping+  sä   € õ Ô1°#Ñ6Ô6ˆØð 	�w”~¨Ð-Ð-ÝÔ)ØL˜ÐLÐLÐLñô ð ð Œ=×Ò˜^¨UÑ3Ô3ð 	Ø�4å+ØÐ.°tð
ñ 
ô 
ð /å�TÐ-Ñ.Ô.ð 	ð ð 	Ý(Ø˜$  u¨iñô ð õ *Ø˜$  u¨iñô ð rW   c                óŽ  — t          j        |t          d¦  «        | _        |j        | _        t          j        ¦   «         | _        i | _        | 	                    dd¦  «        s%t          j        | j        d|| |j        ¬¦  «         d S t          j        | j        ¦  «        }|r|j        st!          j        d| j        z  ¦  «        ‚d S )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Útyperx   rJ   r¾   ÚOrderedDictr¿   rÀ   rŽ   r   Úregister_classÚconstructorr   r¡   Ú	is_mappedr   rÆ   )rS   r£   rÂ   r¬   r¢   s        rT   Ú__init__z_MapperConfig.__init__J  sÝ   € õ Ô'¨­d°FÑ;Ô;ˆŒØœˆŒÝÔ*Ñ,Ô,ˆŒØ!#ˆÔà�}Š}˜]¨EÑ2Ô2ð 	ÝÔ*Ø”ØØ!Ø!%Ø$Ô0ðñ ô ð ð ð õ !Ô5°d´hÑ?Ô?ˆGØð  'Ô"3ð ÝÔ-ðà $¤ñ)ñô ð ðð rW   r–   ÚvaluerE   c                ód   — t          j        | j        ¦  «        }|                     ||¦  «         |S rQ   )r   Úmanager_of_classrx   Úinstall_member)rS   r–   rÖ   r¢   s       rT   Úset_cls_attributez_MapperConfig.set_cls_attributef  s/   € Ý!Ô2°4´8Ñ<Ô<ˆØ×Ò˜x¨Ñ/Ô/Ð/ØˆrW   .úMapper[Any]c                ó   — t          ¦   «         ‚rQ   )ÚNotImplementedError©rS   r¬   s     rT   Úmapz_MapperConfig.mapk  s   € Ý!Ñ#Ô#Ð#rW   rf   c                ó0   — |                       |¦  «         d S rQ   )rß   rÞ   s     rT   Ú_early_mappingz_MapperConfig._early_mappingn  s   € Ø�Š�ÑÔÐÐÐrW   N)r£   r>   rÂ   rž   r¤   r=   rª   r«   r¬   r`   rO   r¥   )r£   r>   rÂ   ry   r¬   r`   )r–   rI   rÖ   rE   rO   rE   ).©r¬   r`   rO   rÛ   ©r¬   r`   rO   rf   )rJ   rX   rY   Ú	__slots__r[   Úclassmethodr¨   rÕ   rÚ   rß   rá   rR   rW   rT   r§   r§     sÆ   € € € € € € ð€Ið €N€N�NØ€N€N�Nðð ð ñ ð 5Ð4Ð4Ñ4àðð ð ñ „[ðð<ð ð ð ð8ð ð ð ð
$ð $ð $ð $ð $ðð ð ð ð ð rW   r§   c                  óB   ‡ — e Zd ZdZdˆ fd
„Zej        fdd„Zdd„Zˆ xZ	S )r®   )Úlocal_tableÚinheritsr£   r>   rÂ   rž   rª   r«   r¬   r`   c                ó˜  •— t          ¦   «                              |||¦  «         |                      d|¦  «        | _        t          j        5  |                     dd¦  «        s%t          j        | j	        | j
        |j        ¦  «         |                      |¦  «         |                      |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrM   rË   F)ÚsuperrÕ   rÚ   rç   r   Ú_CONFIGURE_MUTEXrŽ   r   Ú	add_classr¾   rx   Ú_class_registryÚ_setup_inheritancerá   )rS   r£   rÂ   rª   r¬   Ú	__class__s        €rT   rÕ   z _ImperativeMapperConfig.__init__u  s	  ø€ õ 	‰Œ×Ò˜ 4¨Ñ3Ô3Ð3à×1Ò1°+¸uÑEÔEˆÔåÔ'ð 	+ð 	+Ø—=’= °Ñ6Ô6ð ÝÔ%Ø”N D¤H¨hÔ.Fñô ð ð ×#Ò# IÑ.Ô.Ð.à×Ò 	Ñ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð 	+ð 	+s   ÁA&B?Â?CÃCrO   rÛ   c                ó`   — t           }|                      d || j        | j        fi |¤Ž¦  «        S )NrL   )r(   rÚ   rx   rç   ©rS   r¬   Ú
mapper_clss      rT   rß   z_ImperativeMapperConfig.mapŠ  s>   € Ýˆ
à×%Ò%ØØˆJ�t”x Ô!1Ð?Ð?°YÐ?Ð?ñ
ô 
ð 	
rW   rf   c                ó†  — | j         }|                     dd ¦  «        }|€~g }|j        D ]<}t          |¦  «        }|€Œt	          |¦  «        r||vr|                     |¦  «         Œ=|r5t          |¦  «        dk    rt          j        d|›d|›�¦  «        ‚|d         }nt          |t          ¦  «        r|j        }|| _        d S )Nrè   r   rÄ   ú has multiple mapped bases: r   )rx   rŽ   r�   r�   rˆ   ÚappendÚlenr   rÆ   rµ   r(   r’   rè   )rS   r¬   rx   rè   Úinherits_searchr“   Úcs          rT   rî   z*_ImperativeMapperConfig._setup_inheritance’  sò   € ØŒhˆà—=’= ¨TÑ2Ô2ˆàÐð !ˆOØœð .ð .�Ý6°uÑ=Ô=�Ø�9Øå,¨QÑ/Ô/ð .°A¸_Ð4LÐ4LØ#×*Ò*¨1Ñ-Ô-Ð-øàð .Ý�Ñ'Ô'¨!Ò+Ð+ÝÔ1Ð1à˜3˜3  ð1ñô ð ð +¨1Ô-�øÝ˜¥&Ñ)Ô)ð 	'Ø”ˆHà ˆŒˆˆrW   )r£   r>   rÂ   rž   rª   r«   r¬   r`   râ   rã   )
rJ   rX   rY   rä   rÕ   r1   Ú
EMPTY_DICTrß   rî   Ú__classcell__©rï   s   @rT   r®   r®   r  sv   ø€ € € € € Ø+€Ið+ð +ð +ð +ð +ð +ð* .2¬_ð 
ð 
ð 
ð 
ð 
ð!ð !ð !ð !ð !ð !ð !ð !rW   r®   c                  óV   — e Zd ZU ded<   ded<   ded<   ded<   d	ed
<   ded<   ded<   dS )Ú_CollectedAnnotationr7   Úraw_annotationzOptional[Type[Mapped[Any]]]Úmapped_containerzUnion[_AnnotationScanType, str]Úextracted_mapped_annotationr‚   Úis_dataclassr   Ú
attr_valuerI   Úoriginating_modulery   Úoriginating_classNrw   rR   rW   rT   rý   rý   °  sc   € € € € € € Ø'Ð'Ð'Ñ'Ø1Ð1Ð1Ñ1Ø@Ð@Ð@Ñ@ØÐÐÑØ€O€O�OØÐÐÑØ Ð Ð Ñ Ð Ð rW   rý   c                  óì  ‡ — e Zd ZU dZdZded<   ded<   ded<   d	ed
<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded <   ded!<   d"ed#<   	 ded$<   	 daˆ fd+„Zdbd.„Zdcd1„Zh d2£Z	 e
j        d3¦  «        Zddd6„Zdbd7„Zdbd8„Zeded;„¦   «         Zedfd>„¦   «         Zedgd@„¦   «         ZdhdK„ZdidN„ZdjdS„ZdbdT„ZdbdU„ZdkdldW„Zdmd[„Zdnd\„Zdnd]„Zdnd^„Zej        fdod`„Z ˆ xZ!S )prÈ   )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  rb   r  z&Optional[Callable[[], Dict[str, Any]]]r  r‰   rè   r‚   r  r  r  rd   r  r  rÂ   rž   r¤   rª   r¬   r`   c                ó€  •— |rt          j        |¦  «        nt           j        | _        t	          ¦   «                              |||¦  «         || _        d | _        i | _        i | _	        t          j
        ¦   «         | _        i | _        i | _        d| _        t          | j        dd ¦  «        x| _        }t          | j        dd¦  «        pt%          | j        ¦  «        | _        t)          j        |¦  «        x| _        }t/          |d¦  «        }|r|r|rt1          j        d¦  «        ‚t%          |o|¦  «        | _        |                      ¦   «          |                      ¦   «          |                      ¦   «          t<          j        5  tA          j!        | j"        | j        |j#        ¦  «         |  $                    |¦  «         |  %                    ¦   «          |  &                    ¦   «          |  '                    |¦  «         |  (                    |¦  «         |  )                    |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NFre   Ú__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š   rx   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á   )
rS   r£   rÂ   r¤   rª   r¬   ÚdcaÚcldÚsdkrï   s
            €rT   rÕ   z_ClassScanMapperConfig.__init__ú  s™  ø€ ð */ÐC�DÔ˜uÑ%Ô%Ð%µD´Oð 	Ôõ 	‰Œ×Ò˜ 4¨Ñ3Ô3Ð3Ø ˆŒØ"&ˆÔà$&ˆÔ!Ø%'ˆÔ"Ý $¤Ñ 1Ô 1ˆÔØ!ˆÔØˆÔØˆŒÝ/6ØŒHÐ/°ñ0
ô 0
ð 	
ˆÔ&¨õ +2ØŒHÐ*¨Eñ+
ô +
ð +2å�$Ô0Ñ1Ô1ð 	Ô'õ 4?Ô3KØñ4
ô 4
ð 	
ˆÔ*¨Sõ & dÐ,KÑLÔLˆð ð 	�sð 	 ð 	ÝÔ)ð4ñô ð õ '+¨3¨;°3Ñ&7Ô&7ˆÔ#à×#Ò#Ñ%Ô%Ð%à×ÒÑÔÐà×*Ò*Ñ,Ô,Ð,åÔ'ð 	+ð 	+ÝÔ!Ø” ¤¨(Ô*Bñô ð ð ×)Ò)¨)Ñ4Ô4Ð4à×-Ò-Ñ/Ô/Ð/à×*Ò*Ñ,Ô,Ð,à×Ò˜eÑ$Ô$Ð$à×*Ò*¨9Ñ5Ô5Ð5à×Ò 	Ñ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð 	+ð 	+s   ÆB"H3È3H7È:H7rO   rf   c                óø   ‡ — t          ‰ j        d¦  «        r&t          j        t          d¦  «        d	ˆ fd„¦   «         }t          ‰ j        d¦  «        r(t          j        t          d¦  «        d	ˆ fd„¦   «         }d S d S )
Nrk   Úafter_configuredrO   rf   c                 óV   •— t          d‰ j        ¦  «                             ¦   «          d S ©Nú_DeclMappedClassProtocol[Any])r   rx   rk   rh   s   €rT   r+  zG_ClassScanMapperConfig._setup_declared_events.<locals>.after_configuredJ  s,   ø€ åØ3°T´Xñô ç"Ò"Ñ$Ô$Ð$Ð$Ð$rW   ri   Úbefore_configuredc                 óV   •— t          d‰ j        ¦  «                             ¦   «          d S r-  )r   rx   ri   rh   s   €rT   r/  zH_ClassScanMapperConfig._setup_declared_events.<locals>.before_configuredR  s,   ø€ åØ3°T´Xñô ç#Ò#Ñ%Ô%Ð%Ð%Ð%rW   rl   )r‡   rx   r0   Úlistens_forr(   )rS   r+  r/  s   `  rT   r  z-_ClassScanMapperConfig._setup_declared_eventsG  s±   ø€ Ý" 4¤8Ð-?Ñ@Ô@ð 	%åÔ�vÐ'9Ñ:Ô:ð%ð %ð %ð %ð %ñ ;Ô:ð%õ
 # 4¤8Ð-@ÑAÔAð 	&åÔ�vÐ':Ñ;Ô;ð&ð &ð &ð &ð &ñ <Ô;ð&ð &ð &ð	&ð 	&rW   rx   úCallable[[str, Any], bool]c                ó  ‡‡‡‡‡— | j         rt          ‰d¦  «        ŠndŠ‰sdˆfd	„}nWˆfd
„t          j        ‰¦  «        D ¦   «         Šˆfd„t          j        ‰¦  «        D ¦   «         Št          ¦   «         Šdˆˆˆˆfd„}|S )z‘Produce a function that checks if a class has overridden an
        attribute, taking SQLAlchemy-enabled dataclass fields into account.

        r  NÚkeyrI   r°   r   rO   r‚   c                ó*   •— t          ‰| |¦  «        |uS rQ   )rš   )r4  r°   rx   s     €rT   Úattribute_is_overriddenzR_ClassScanMapperConfig._cls_attr_override_checker.<locals>.attribute_is_overriddeni  s   ø€ Ý˜s C¨Ñ-Ô-°SÐ8Ð8rW   c                óH   •— i | ]}‰|j         v ¯|j        |j         ‰         “ŒS rR   ©r^   r¸   ©Ú.0ÚfÚsa_dataclass_metadata_keys     €rT   ú
<dictcomp>zE_ClassScanMapperConfig._cls_attr_override_checker.<locals>.<dictcomp>m  s<   ø€ ð "ð "ð "àØ,°´
Ð:Ð:ð ”˜œ
Ð#<Ô=à:Ð:Ð:rW   c                óH   •— i | ]}‰|j         v ¯|j        |j         ‰         “ŒS rR   r8  r9  s     €rT   r=  zE_ClassScanMapperConfig._cls_attr_override_checker.<locals>.<dictcomp>r  s<   ø€ ð $ð $ð $àØ,°´
Ð:Ð:ð ”˜œ
Ð#<Ô=à:Ð:Ð:rW   c                óL  •— t          |¦  «        r|j        }‰                     | ‰¦  «        }t          |¦  «        r|j        }||u rdS |‰urdS ‰                     | ‰¦  «        }t          ‰| |¦  «        }||u rdS |‰urt	          |t
          ¦  «        rdS ||u rdS |‰urdS dS )NFT)r·   ÚfgetrŽ   rš   rµ   r   )r4  r°   ÚretÚ	all_fieldÚabsentÚall_datacls_fieldsrx   Úlocal_datacls_fieldss       €€€€rT   r6  zR_ClassScanMapperConfig._cls_attr_override_checker.<locals>.attribute_is_overriddenz  sê   ø€ Ý(¨Ñ-Ô-ð #Øœ(�Cð +×.Ò.¨s°FÑ;Ô;�Ý(¨Ñ-Ô-ð #Øœ(�Cà˜#�:�:Ø ˜5Ø Ð&Ð&Ø˜4à.×2Ò2°3¸Ñ?Ô?�	å˜c 3¨Ñ,Ô,�à˜#�:�:Ø ˜5ð
 ˜fÐ$Ð$­ØÕ.ñ*ô *Ð$ð  ˜4à Ð#Ð#Ø ˜5Ø fÐ,Ð,Ø˜4ð �urW   )r4  rI   r°   r   rO   r‚   )r  r‡   r1   Údataclass_fieldsÚlocal_dataclass_fieldsrŒ   )rS   rx   r6  rC  rD  rE  r<  s    ` @@@@rT   Ú_cls_attr_override_checkerz1_ClassScanMapperConfig._cls_attr_override_checkerX  s	  øøøøø€ ð Ô&ð 	-Ý(?ØÐ4ñ)ô )Ð%Ð%ð )-Ð%à(ð 9	ð9ð 9ð 9ð 9ð 9ð 9ð 9ð"ð "ð "ð "åÔ.¨sÑ3Ô3ð"ñ "ô "Ðð
$ð $ð $ð $åÔ4°SÑ9Ô9ð$ñ $ô $Ð õ ‘X”XˆFð&ð &ð &ð &ð &ð &ð &ð &ð &ðP 'Ð&rW   >   rM   r_   rc   ra   z^(?:_sa_|__)ry   ú2Callable[[], Iterable[Tuple[str, Any, Any, bool]]]c                ó�  ‡‡‡‡‡‡‡	‡
— t          j        |¦  «        Št          |¦  «        Š| j        Š| j        Šˆˆfd„t          j        t          ‰¦  «        t          ‰¦  «        ¦  «        D ¦   «         Š	| j        rt          |d¦  «        Š
ndŠ
‰
s	d	ˆˆˆ	fd„}n+d„ t          j	        |¦  «        D ¦   «         Š‰
Šd	ˆˆˆˆˆ	ˆ
fd„}|S )
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.

        c                óF   •— g | ]}‰                      |¦  «        r|‰v ¯|‘ŒS rR   )Úmatch)r:  ÚnÚ_include_dundersÚ_match_exclude_dunderss     €€rT   ú
<listcomp>z=_ClassScanMapperConfig._cls_attr_resolver.<locals>.<listcomp>¼  sL   ø€ ð 
ð 
ð 
àð *×/Ò/°Ñ2Ô2ð
ð
 78Ð;KÐ6KÐ6Kð	 ð 7LÐ6KÐ6KrW   r  NrO   ú$Iterable[Tuple[str, Any, Any, bool]]c                 ó"   •— ˆ ˆfd„‰D ¦   «         S )Nc              3  óp   •K  — | ]0}|‰                      |¦  «        ‰                      |¦  «        d fV — Œ1dS )FN©rŽ   )r:  r¸   Úcls_annotationsÚcls_varss     €€rT   ú	<genexpr>z`_ClassScanMapperConfig._cls_attr_resolver.<locals>.local_attributes_for_class.<locals>.<genexpr>Ð  sa   øè è € ð ð ð ð Ø Ÿš TÑ*Ô*Ø'×+Ò+¨DÑ1Ô1Øð	ðð ð ð ð ð rW   rR   )rU  rV  Únamess   €€€rT   Úlocal_attributes_for_classzM_ClassScanMapperConfig._cls_attr_resolver.<locals>.local_attributes_for_classÍ  s5   ø€ ðð ð ð ð ð !&ðñ ô ð rW   c                ó   — i | ]
}|j         |“ŒS rR   )r¸   )r:  Úfields     rT   r=  z=_ClassScanMapperConfig._cls_attr_resolver.<locals>.<dictcomp>Û  s)   € ð  ð  ð  Ø&+�”
˜Eð ð  ð  rW   c               3  ó&  •K  — ‰D ]Š} ‰                      | d ¦  «        }|rB‰|j        v r9|j        t          |j        ‰¦  «        ‰                      |j        ¦  «        dfV — Œ\| ‰                      | ¦  «        ‰                      | ¦  «        dfV — Œ‹d S )NTF)rŽ   r^   r¸   Ú_as_dc_declaredattr)r¸   r[  rU  rV  rF  Úfixed_sa_dataclass_metadata_keyrX  r<  s     €€€€€€rT   rY  zM_ClassScanMapperConfig._cls_attr_resolver.<locals>.local_attributes_for_classá  sÝ   øè è € ð "ð 	!ð 	!�DØ,×0Ò0°°tÑ<Ô<�EØð !Ð!:¸e¼nÐ!LÐ!LØ#œjÕ*=Ø!œNÐ,Kñ+ô +à*×.Ò.¨u¬zÑ:Ô:¸DðAð Að Að Að Að # H§L¢L°Ñ$6Ô$6¸×8KÒ8KØ ñ9ô 9à ð!ð !ð !ð !ð !ð	!ð 	!rW   )rO   rQ  )
r1   Úget_annotationsÚvarsrN  rO  Úmerge_lists_w_orderingÚlistr  r‡   rG  )rS   rx   rY  rN  rO  rU  rV  rF  r^  rX  r<  s      @@@@@@@@rT   Ú_cls_attr_resolverz)_ClassScanMapperConfig._cls_attr_resolver­  s[  øøøøøøøø€ õ Ô.¨sÑ3Ô3ˆå˜‘9”9ˆàÔ0ÐØ!%Ô!<Ðð
ð 
ð 
ð 
ð 
åÔ0Ý�X‘”¥ _Ñ 5Ô 5ñô ð
ñ 
ô 
ˆð Ô&ð 	-Ý7NØÐ4ñ8ô 8Ð%Ð%ð )-Ð%à(ð "	!ðð ð ð ð ð ð ð ð ð ð  Ý/3Ô/JÈ3Ñ/OÔ/Oð ñ  ô  Ðð /HÐ+ð!ð !ð !ð !ð !ð !ð !ð !ð !ð !ð !ð *Ð)rW   c                óÔ	  ‡— | j         }t          d|¦  «        Š| j        }| j        }| j        }| j        }d }d x}}d }	d }
d|v }|                      | j         ¦  «        }g }|j        D ]d}||uot          |¦  «        }|  	                    |¦  «        }|s||ur|  
                    ||||¦  «        }ni }|                     ||||f¦  «         Œe|D �]÷\  }}}}|                     |¦  «          |¦   «         D �]Î\  }}}}||v rÚ|dk    r t          |||¦  «        }|s|r|rdˆfd„}|}Œ2|dk    rt          |||¦  «        }|
s|r|r‰j        }
ŒW|dk    rt          |||¦  «        }|r
|	sdˆfd	„}|}	Œ{|d
k    rct          |||¦  «        }|sO|r|rK‰j        }t!          |t"          t$          t'          d ¦  «        f¦  «        st)          j        d¦  «        ‚||urd}ŒäJ ‚|r>t-          |¦  «        r-|j        s&t1          j        d|j        ›d|›d|›d|›d�	¦  «         �Œ&||u�rët!          |t6          t8          f¦  «        r�ŒIt!          |t:          ¦  «        rt)          j        d¦  «        ‚t-          |¦  «        �rT|€J ‚|j        rQ||v rt1          j        d|›d|›d�¦  «         |                      ||¦  «        x||<   x||<   }tC          |||¦  «         nœ|r;tE          ||d ¦  «        }t!          |tF          ¦  «        s| $                    ¦   «         }ntE          ||¦  «        }t!          |tF          ¦  «        r0tK          |¦  «        r!t!          |j&        t:          ¦  «        s|j'        }|x||<   ||<   t!          |t6          t:          f¦  «        r|j(        €|j)        |_(        |  *                    || +                    ¦   «         |d|¦  «         �ŒÖtY          |||¦  «        r|s||v s ||d ¦  «        sJ ‚�Œý|  -                    |||¦  «         �Œ|r_||vs
||         |urQ |||¦  «        rJ ‚t-          |¦  «        r| $                    ¦   «         }|||<   |  *                    |||d|¦  «         �Œw|  *                    |||d |¦  «        }|d uo|j.        d u}|�|j/        n|}|€|s|r|�|nt9          ¦   «         ||<   �ŒÅ||v r|||<   �ŒÐ�Œù|r|
sd }|| _0        |
| _1        || _2        |	| _3        d S )Nr.  rM   ra   rO   r  c                 ó,   •— t          ‰ j        ¦  «        S rQ   )Údictra   ©Úcls_as_Decls   €rT   Ú_mapper_args_fnz@_ClassScanMapperConfig._scan_attributes.<locals>._mapper_args_fnB  s   ø€ Ý'+¨KÔ,GÑ'HÔ'HÐ HrW   r_   rD   c                 ó   •— ‰ j         S rQ   )rM   rg  s   €rT   Ú	_table_fnz:_ClassScanMapperConfig._scan_attributes.<locals>._table_fnX  s   ø€ Ø'2Ô'<Ð <rW   rc   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)rO   r  )rO   rD   )4rx   r   r  r  r  rN  rH  r›   rˆ   rc  Ú_produce_column_copiesrõ   Úupdater¼   r_   rc   rµ   Útuplerf  rÐ   r   ÚArgumentErrorr·   Ú_quietr1   r»   rJ   r4   r*   r'   rÆ   rº   Ú__get__Úsetattrrš   r   r@  r   Úoriginal_propertyÚ
descriptorÚdocrZ   Ú_collect_annotationÚ_collect_return_annotationr,   Ú_warn_for_decl_attributesrÿ   r  r  r  r  r  )rS   rx   r  r  r  rN  r  r  Úinherited_table_argsr  r  Úfixed_tabler6  Úbasesrœ   Úclass_mappedrY  Úlocally_collected_columnsr¸   r°   Ú
annotationÚis_dataclass_fieldÚ
check_declri  rk  rA  Úcollected_annotationrÔ   Úgenerated_objrh  s                                @rT   r   z'_ClassScanMapperConfig._scan_attributesñ  s}  ø€ ØŒhˆåÐ:¸CÑ@Ô@ˆàÔ(ˆØ#Ô8ÐØÔ*ˆØÔ0ÐØˆØ,0Ð0ˆ
Ð)ØˆØˆ	Ø! \Ð1ˆà"&×"AÒ"AÀ$Ä(Ñ"KÔ"KÐàˆà”Kð 	ð 	ˆDð   s˜?ÐNÕ/HÈÑ/NÔ/NˆLà)-×)@Ò)@ÀÑ)FÔ)FÐ&àð / D° O OØ,0×,GÒ,GØ.Ø+ØØñ	-ô -Ð)Ð)ð -/Ð)à�LŠLàØ Ø.Ø-ð	ñô ð ð ð ðo	9ñ o	9ñ 
ØØØ&Ø%ð !×'Ò'Ð(AÑBÔBÐBð ,Ð+Ñ-Ô-ðc9ñ c9ñ ØØØØ"àÐ+Ð+Ð+ØÐ0Ò0Ð0Ý%DØ  sñ&ô &˜
ð  .ð =Ø ,ð=Ø0:ð=ðIð Ið Ið Ið Ið Ið .=˜Nøà Ò0Ð0Ý%DØ  sñ&ô &˜
ð  )ð B°,ð BÀ*ð BØ(3Ô(A˜IøØ Ò,Ð,Ý%DØ  sñ&ô &˜
ð &ð 1¨hð 1ð=ð =ð =ð =ð =ð =ð (1˜HøàÐ!1Ò1Ð1Ý%DØ  sñ&ô &˜
ð  *ð 
<°<ð 
<À:ð 
<Ø)4Ô)C˜JÝ#-Ø *­UµD½$¸t¹*¼*Ð,Eñ$ô $ð "õ '*Ô&7ð%4ñ'"ô '"ð !"ð  $¨3˜˜Ø7;Ð 4øð
 %˜uØ!ð `9Ý,¨SÑ1Ô1ð ¸#¼*ð Ýœ	˜	ð
  $œ}˜}˜}¨d¨d¨d°D°D°D¸#¸#¸#ð	?ñô ð ñ Ø �_‘_õ " #­µÐ'=Ñ>Ô>ð hHá Ý# C­Ñ8Ô8ð eHÝ!Ô5ð=ñô ð õ /¨sÑ3Ô3ñ ]Hð  #˜˜˜àœ>ð 8Ø# |Ð3Ð3õ !%¤	 	ð 37°$°$¸¸¸ð%=ñ!"ô !"ð !"ð !$§¢¨C°Ñ 5Ô 5ð6Ð0°Ñ6ð 6¸ÀsÑ9KØ #å# C¨¨sÑ3Ô3Ð3Ð3à1ð 9õ
 '.¨c°4¸Ñ&>Ô&> õ
 (2°#µ~Ñ'FÔ'Fð !5Ø*-¯(ª(©*¬* Cøõ '.¨c°4Ñ&8Ô&8 õ !+¨3µÑ ?Ô ?ð5å$:¸3Ñ$?Ô$?ð5õ )3Ø$'Ô$9½>ñ)"ô )"ð5ð '*¤n ð !$ðÐ0°Ñ6¸ÀsÑ9Kõ
 ' s­Vµ^Ð,DÑEÔEð2à #¤ à&)¤k˜CœGà×0Ò0Ø Ø×:Ò:Ñ<Ô<Ø Ø Øñô ð ñ õ /¨z¸3ÀÑEÔEð Hð  +ð à $Ð(<Ð <Ð <Ø#:Ð#:¸4ÀÑ#FÔ#Fð !=Ð <ð !Gñ !ð ×6Ò6°t¸TÀ3ÑGÔGÐGÑGØ'ð (9Ø Ð,Ð,°¸TÔ0BÈ#Ð0MÐ0Mð  7Ð6°t¸SÑAÔAÐAÐAÐAå,¨SÑ1Ô1ð )Ø!Ÿhšh™jœj˜à14Ð(¨Ñ.Ø×,Ò,Ø˜j¨$°°sñô ð ñ ð ,0×+CÒ+CØ˜j¨$°°cñ,ô ,Ð(ð -°DÐ8ð NØ0ÔAÈÐMð ð 0Ð;ð -Ô7Ð7à ð "ð
 �{¨;�{¸9�{ð  -Ð8ð *˜Må!-¡¤ð -¨TÑ2Ñ2ð
  Ð-Ð-Ø58Ð,¨TÑ2ùñGc9ðR  ð 	¨	ð 	ØˆJà$ˆŒØ"ˆŒØ,ˆÔØ ˆŒˆˆrW   c           
     ó’  ‡ ‡‡— ‰ j         }|sd S d‰ j        j        v rt          j        d‰ j        › d�¦  «        ‚d‰ j        j        v rt          j        d‰ j        › d�¦  «        ‚t          j        t          ¦  «        Šdˆ ˆfd„Št          j	        ‰ j        ¦  «        }|€J ‚ˆ fd„ˆˆ fd„‰ j
                             ¦   «         D ¦   «         D ¦   «         }‰r]‰                     ¦   «         D ]H\  }}t          j        d‰ j        › dd                     d„ |D ¦   «         ¦  «        › d|› d�dd¬¦  «         ŒIi }i }|D ]A}t          |¦  «        dk    r|\  }	}
n!t          |¦  «        dk    r|\  }	}
}|||	<   nJ ‚|
||	<   ŒB|                     ¦   «         D ]\  }}t!          ‰ j        ||¦  «         Œ‰                      |‰ j        |¦  «         d S )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'rM   zk already defines a '__table__'. ORM Annotated Dataclasses do not support a pre-existing '__table__' elementr4  rI   r  ry   rO   r‚   c                ób   •— |‰j         ur$d|j        vr‰|                              | ¦  «         dS )Nr‡  T)rx   r�   rõ   )r4  r  rS   Úwarn_for_non_dc_attrss     €€rT   Ú_allow_dataclass_fieldzT_ClassScanMapperConfig._setup_dataclasses_transforms.<locals>._allow_dataclass_field;  s@   ø€ ð "¨¬Ð1Ð1Ø*Ð2CÔ2LÐLÐLà%Ð&7Ô8×?Ò?ÀÑDÔDÐDà�4rW   c                óŒ   •— g | ]@\  }}}t          j        |||‰j                             |t          j        ¦  «        ¦  «        ‘ŒAS rR   )r"   Ú!_get_arguments_for_make_dataclassr  rŽ   r3   ÚNO_ARG)r:  r4  Úannorÿ   rS   s       €rT   rP  zH_ClassScanMapperConfig._setup_dataclasses_transforms.<locals>.<listcomp>I  s`   ø€ ð %
ð %
ð %
ñ ,��TÐ+õ Ô?ØØØ ØÔ)×-Ò-¨cµ6´=ÑAÔAñ	ô ð%
ð %
ð %
rW   c              3  óª   •K  — | ]M\  }\  }}}}}}} ‰	||¦  «        r4|‰
j         vs t          ‰
j         |         t          ¦  «        °B||r|n||fV — ŒNd S rQ   )r  rµ   r   )r:  r4  Úraw_annorÿ   Úmapped_annoÚis_dcr  r  r  rŠ  rS   s            €€rT   rW  zG_ClassScanMapperConfig._setup_dataclasses_transforms.<locals>.<genexpr>P  s«   øè è € ð 0ð 0ñ�Cñ ØØ$ØØØØ&Ø%à)Ð)¨#Ð/@ÑAÔAð0ð" ˜tÔ8Ð8Ð8õ &ØÔ1°#Ô6Õ8Jñô ð 9ð Ø#.Ð<�K�K°HØ$ðð  9Ð8Ð8Ð8ð#0ð 0rW   zWhen transforming z to a dataclass, attribute(s) ú, c              3  ó4   K  — | ]}t          |¦  «        V — Œd S rQ   ©rp   )r:  r4  s     rT   rW  zG_ClassScanMapperConfig._setup_dataclasses_transforms.<locals>.<genexpr>x  s(   è è € Ð CÐ C¨s¥ c¡¤Ð CÐ CÐ CÐ CÐ CÐ CrW   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/   é   F)r4  rI   r  ry   rO   r‚   )r  rx   r�   r   rÆ   ÚcollectionsÚdefaultdictrb  r   rØ   r  Úitemsr1   Úwarn_deprecatedÚjoinrö   ru  Ú_apply_dataclasses_to_any_class)rS   r  r¢   Ú
field_listr  Únon_dc_attrsr   ÚdefaultsÚitemr¸   ÚtpÚspecÚkÚvrŠ  r‰  s   `             @@rT   r!  z4_ClassScanMapperConfig._setup_dataclasses_transforms  sÂ  øøø€ Ø$(Ô$BÐ!Ø(ð 	ØˆFð " T¤XÔ%6Ð6Ð6ÝÔ)ð2˜œð 2ð 2ð 2ñô ð ð ˜$œ(Ô+Ð+Ð+ÝÔ)ð&˜œð &ð &ð &ñô ð õ !,Ô 7½Ñ =Ô =Ðð		ð 		ð 		ð 		ð 		ð 		ð 		õ "Ô2°4´8Ñ<Ô<ˆØÐ"Ð"Ð"ð%
ð %
ð %
ð %
ð0ð 0ð 0ð 0ð 0ð Ô/×5Ò5Ñ7Ô7ð0ñ 0ô 0ð%
ñ %
ô %
ˆ
ðN !ð 	ð '×,Ò,Ñ.Ô.ðð ñ Ø!ØåÔ$ð	6¨¬ð 	6ð 	6à—y’yÐ CÐ C°lÐ CÑ CÔ CÑCÔCð	6ð 	6ð )ð		6ð 	6ð 	6ð Øðñ ô ð ð ð ˆØˆØð 	#ð 	#ˆDÝ�4‰yŒy˜AŠ~ˆ~Ø‘��b�bÝ�T‘”˜a’�Ø!%‘��b˜$Ø!%�˜‘�à�uØ "ˆK˜ÑÐà—N’NÑ$Ô$ð 	$ð 	$‰DˆAˆqÝ�D”H˜a Ñ#Ô#Ð#Ð#à×,Ò,Ø% t¤x°ñ	
ô 	
ð 	
ð 	
ð 	
rW   Úklassú!Mapping[str, _AnnotationScanType]c                óþ   — t          j        |¦  «        }i }|                     ¦   «         D ]Q\  }}t          |||¦  «        r6t	          |||j        |t          d ¦  «        ddd¬¦  «        }|r
|\  }}|||<   ŒL|||<   ŒR|S )NF©Úrequiredr‚  Úexpect_mapped)r1   r_  rœ  r,   r+   rX   rÐ   )	rx   r¨  rU  Únew_annor¸   r�  Ú	extractedÚinnerÚ_s	            rT   Ú(_update_annotations_for_non_mapped_classz?_ClassScanMapperConfig._update_annotations_for_non_mapped_class—  s¯   € õ Ô.¨uÑ5Ô5ˆàˆØ /× 5Ò 5Ñ 7Ô 7ð 	,ð 	,ÑˆD�*Ý$ Z°¸Ñ>Ô>ð ,Ý3ØØØÔ$ØÝ˜‘J”JØ"Ø',Ø"'ð	ñ 	ô 	�	ð ð +Ø(‘H�E˜1Ø%*�H˜T‘Nøà!+�˜‘�ØˆrW   rn   Úuse_annotationsc                óà  — |                       |¦  «         |d         }|t          j        u rt          j        }|r*t          j        |¦  «        }t          d|¦  «        |_        nd }	  ||fi d„ | 	                    ¦   «         D ¦   «         ¤Ž n<# t          t          f$ r(}t          j        d|j        ›d|›d�d¬¦  «        |‚d }~ww xY w	 |r|€|`d S ||_        d S d S # |r|€|`n||_        w xY w)	Nrv   r  c                óB   — i | ]\  }}|t           j        u¯|d k    ¯||“ŒS )rv   )r3   r�  )r:  r¦  r§  s      rT   r=  zJ_ClassScanMapperConfig._apply_dataclasses_to_any_class.<locals>.<dictcomp>Í  s@   € ð ð ð á˜˜1Ø¥¤Ð-Ð-°!Ð7KÒ2KÐ2Kð �qà2KÐ2KÐ2KrW   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   r_  r   r[   rœ  Ú	TypeErrorÚ
ValueErrorr   rÆ   rJ   )rx   r  r¨  r³  rv   ÚrestoredÚexs          rT   rŸ  z6_ClassScanMapperConfig._apply_dataclasses_to_any_class±  sš  € ð 	× Ò Ð!:Ñ;Ô;Ð;à6Ð7KÔLÐØ¥¤Ð.Ð.Ý!,Ô!6Ðð ð 	õ
 Ô+¨EÑ2Ô2ˆHÝ$(Ð)9¸?Ñ$KÔ$KˆEÔ!Ð!àˆHð	5ØÐØðð ðð à 9× ?Ò ?Ñ AÔ Aðñ ô ðð ð ð øõ �:Ð&ð 	ð 	ð 	ÝÔ)ð<Ø!&¤ð<ð <àð<ð <ð <ð ðñ ô ð ðøøøøð	øøøðð* ð 5ØÐ#ØÐ-Ð-Ð-à,4�EÔ)Ð)Ð)ð	5ð 5øˆð 5ØÐ#ØÐ-Ð-à,4�EÔ)Ð4Ð4Ð4Ð4s*   Á'%B ÂC ÂCÂ#CÃCÃC ÃC-Ú	argumentsc                óÞ   — h d£}t          |¦  «                             |¦  «        }|rDd                     d„ t          |¦  «        D ¦   «         ¦  «        }t	          j        d|› d�¦  «        ‚d S )N>   rq   ro   rp   rr   ru   rt   rs   rv   r“  c              3  ó   K  — | ]}|›V — Œd S rQ   rR   )r:  Úargs     rT   rW  z>_ClassScanMapperConfig._assert_dc_arguments.<locals>.<genexpr>ô  s$   è è € ÐJÐJ¨3˜s˜JÐJÐJÐJÐJÐJÐJrW   zDataclass argument(s) z are not accepted)ÚsetÚ
differencerž  Úsortedr   rr  )rx   r½  ÚallowedÚdisallowed_argsÚmsgs        rT   r·  z+_ClassScanMapperConfig._assert_dc_argumentsæ  s‹   € ð	
ð 	
ð 	
ˆõ ˜i™.œ.×3Ò3°GÑ<Ô<ˆØð 	Ø—)’)ÐJÐJµ&¸Ñ2IÔ2IÐJÑJÔJÑJÔJˆCÝÔ#Ø?¨Ð?Ð?Ð?ñô ð ð	ð 	rW   r¸   rI   rþ   r7   r  r­  úOptional[bool]r  r   úOptional[_CollectedAnnotation]c           
     ó‚  — || j         v r| j         |         S |€d S | j        }| j        }|€9t          |t          j        ¦  «        }| o| o|d u pt          |t          ¦  «        }d}t          || j        |j	        |t          |¦  «        d||o| ¬¦  «        }	|	€d S |	\  }
}|€yt          |
¦  «        sjt          |
¦  «        D ]Z}t          |dd¬¦  «        rt          | j        ||j	        d¬¦  «        }t          |t          ¦  «        r|                     ¦   «         }Œ[t#          |||
|||j	        |¦  «        x| j         |<   }|S )NFr«  T)Úcheck_genericÚcheck_for_plain_string)Úinclude_generic)r  r  r  rµ   r  ÚFieldr%   r+   rx   rX   rÐ   r:   r8   r9   r.   r$   Úfound_in_pep593_annotatedrý   )rS   r¸   rþ   r  r­  r  r  Úallow_unmappedr‚  r¯  r   rÿ   ÚelemÚcas                 rT   ry  z*_ClassScanMapperConfig._collect_annotationù  sÇ  € ð �4Ô-Ð-Ð-ØÔ-¨dÔ3Ð3àÐ!Ø�4àÔ9ˆØÔ8ˆàÐ Ý!+¨J½Ô8IÑ!JÔ!JÐà&Ð&ð Ø&Ð&ðð  $Ð&ð @Ý! *Õ.>Ñ?Ô?ð ð #ÐÝ+ØØŒHØÔ(ØÝ�ÑÔØØ1Ø'Ð<°Ð,<ð	
ñ 	
ô 	
ˆ	ð Ðà�4à8AÑ5Ð#Ð%5àÐ¥jÐ1LÑ&MÔ&MÐÝ Ð!<Ñ=Ô=ð Bð B�ÝØ¨ÀTðñ ô ð õ 3ØœØØ)Ô4Ø(,ð	ñ ô �Dõ ˜dÕ$;Ñ<Ô<ð BØ!%×!?Ò!?Ñ!AÔ!A�Jøå0DØØØ'ØØØÔ(Øñ1
ô 1
ð 	
ˆÔ" 4Ñ(¨2ð ˆ	rW   r4  rø   c                ót   — t          |t          j        ¦  «        rt          j        d|› d|› d�¦  «         d S d S )Nrm  rn  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»   )rS   rx   r4  rø   s       rT   r{  z0_ClassScanMapperConfig._warn_for_decl_attributesA  sc   € õ �a�Ô1Ñ2Ô2ð 	ÝŒIð/˜cð /ð /¨cð /ð /ð /ñô ð ð ð ð	ð 	rW   Úattributes_for_classr6  r}  ú0Dict[str, Union[Column[Any], MappedColumn[Any]]]c                óî  — | j         }| j        }i }| j        } |¦   «         D �]Q\  }	}
}}|sk|
€it          |||¦  «        rX ||	|
¦  «        rŒ*|                      |	||d|
¦  «        }|�|j        n|
}
|
€t          ¦   «         }
|
||	<   t          ||	|
¦  «         Œut          |
t          t          f¦  «        rÀ ||	|
¦  «        rŒž|                      |	||d|
¦  «        }|�|j        n|
}
|	|vr‹d|v r t          |
dd ¦  «        p|	|d         j        v sg|
j        r1|
j        D ])}|j        � |j        j        €t          j        d¦  «        ‚Œ*|
                     ¦   «         x||
<   }|||	<   t          ||	|¦  «         �ŒS|S )NTrM   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:.)rx   r  r  r,   ry  r  r*   ru  rµ   r4   rš   rø   Úforeign_keysÚ_table_columnrª   r   rÆ   Ú_copy)rS   rÔ  r6  r}  r  rx   r¤   Úlocally_collected_attributesr  r¸   r°   r�  r  r„  ÚfkÚcopy_s                   rT   ro  z-_ClassScanMapperConfig._produce_column_copiesN  s/  € ð ŒhˆØÔ!ˆØ')Ð$ØÔ*ˆð 4HÐ3GÑ3IÔ3Ið G	.ñ G	.Ñ/ˆD�#�z <àðF.à�KÝ)¨*°cÐ;LÑMÔMð  ð
 +Ð*¨4°Ñ5Ô5ð ð à'+×'?Ò'?Ø˜*Ð&7¸¸sñ(ô (Ð$ð
 ,Ð7ð )Ô3Ð3àð ð
 �;Ý&™.œ.�Cà58Ð,¨TÑ2Ý˜˜T 3Ñ'Ô'Ð'Ð'å˜C¥&­,Ð!7Ñ8Ô8ð ).Ø*Ð*¨4°Ñ5Ô5ð ð
 à'+×'?Ò'?Ø˜*Ð&7¸¸sñ(ô (Ð$ð
 ,Ð7ð )Ô3Ð3àð ð ˜uÐ$Ð$Ø 5Ð(Ð(Ý   f¨dÑ3Ô3Ð;°tØ˜[Ô)Ô+ð,ð ,ð Ô'ð "Ø"%Ô"2ð "ð "˜Bà "Ô 0Ð <Ø$&Ô$4Ô$:Ð$Bå&)Ô&=ð%Fñ'"ô '"ð !"øð 25·²±´Ð<�M #Ñ&¨à9>Ð0°Ñ6Ý˜C  uÑ-Ô-Ð-ùà+Ð+rW   c                ó\  ‡— | j         }| j        }| j        }| j        }t	          |dd¬¦  «        }| j        }|p| j        }t          | j        ¦  «        }t          |¦  «        D �]G}	|	|v rŒ||	         Št          ‰¦  «        r4‰j        rt          j        d| j         z  ¦  «         t          ||	¦  «        ŠnNt          ‰t           ¦  «        r9‰j        |ur0‰j        |	k    r%t'          ‰j        ¦  «        Št)          ||	‰¦  «         t          ‰t*          ¦  «        rNt-          ‰¦  «        dk    r;t          ‰d         t.          t0          f¦  «        rt          j        d|	z  ¦  «         �Œ|rt          ‰t2          j        ¦  «        r�Œ"t          ‰t.          t6          f¦  «        sA|                     |	¦  «         |                      ||	‰¦  «         |st)          ||	‰¦  «         �Œ|	dv rt=          j        d	|	› d
�¦  «        ‚t          ‰t.          ¦  «        r+tA          |	| j!         "                    ‰‰¦  «        ¦  «         �ngt          ‰tF          ¦  «        r|| j$         "                    |	d¦  «        \  }
}}}}}}|€|
�|rO	 ‰ %                    | | j&        |||	||
||¦	  «	         n/# tN          $ r}tQ          j)        d|
› d�¦  «        |‚d }~ww xY w|sJ ‚t          ‰t6          ¦  «        rÁ‰j*        rv|stt          ‰tV          ¦  «        rg d¢}ng d¢}ˆfd„|D ¦   «         }t=          j,        d|	› d|› dd -                    t]          d„ |D ¦   «         ¦  «        ¦  «        › d�¦  «        ‚t          ‰tV          t^          f¦  «        s(|                     |	¦  «         t)          ||	‰¦  «         �ŒB‰||	<   �ŒId S )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?)r^   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.)ro   Údefault_factoryrp   ÚdefaultÚdataclass_metadata)ro   rÞ  rp   rà  c                ó\   •— h | ](}t          ‰j        d |› �¦  «        t          j        u¯&|’Œ)S )Údataclasses_)rš   Ú_attribute_optionsr3   r�  )r:  ÚarÖ   s     €rT   ú	<setcomp>zF_ClassScanMapperConfig._extract_mappable_attributes.<locals>.<setcomp>M  sX   ø€ ð  ð  ð  à !Ý&Ø %Ô 8Ð:LÈÐ:LÐ:Lñ ô  õ $*¤=ð 1ð  1ð ð 1ð  1ð  1rW   rm  rn  z# includes dataclasses argument(s): r“  c              3  ó4   K  — | ]}t          |¦  «        V — Œd S rQ   r•  )r:  rä  s     rT   rW  zF_ClassScanMapperConfig._extract_mappable_attributes.<locals>.<genexpr>Y  s(   è è € Ð/FÐ/F¸Aµ°Q±´Ð/FÐ/FÐ/FÐ/FÐ/FÐ/FrW   zF but class does not specify SQLAlchemy native dataclass configuration.)0rx   r  r¿   rN  r‡   r  r  r‚   r  rb  r·   rº   r1   r»   rš   rµ   r   r’   r4  r!   ru  rq  rö   r4   r%   r  rÍ  r#   Úpopr{  r   rÆ   Ú_undefer_column_namer  rŽ   r$   r  rÍ   r£   Ú	NameErrorÚorm_excÚMappedAnnotationErrorÚ_has_dataclass_argumentsr'   rr  rž  rÃ  r&   )rS   rx   r  Ú	our_stuffrN  Úlate_mappedr  Úexpect_annotations_wo_mappedÚlook_for_dataclass_thingsr¦  r�  rÿ   r   r  r  r  r  ÚneÚargnamesÚargsrÖ   s                       @rT   r#  z3_ClassScanMapperConfig._extract_mappable_attributes¨  s  ø€ ØŒhˆØ#Ô8Ðà”Oˆ	àÔ0Ðå-ØÐ-°dð
ñ 
ô 
ˆð &*Ô%DÐ"à&ÐL¨$Ô*Lð 	%õ %)¨Ô)GÑ$HÔ$HÐ!åÐ*Ñ+Ô+ð v	!ñ v	!ˆAØÐ$Ð$Ð$Øà(¨Ô+ˆEå$ UÑ+Ô+ð 'ð Ô#ð Ý”Iðð  $œxñ(ñô ð õ    Q™œ��õ ˜5Õ"4Ñ5Ô5ð'à”L¨Ð+Ð+Ø”I ’N�Nõ (¨¬	Ñ2Ô2�Ý˜˜Q Ñ&Ô&Ð&õ ˜5¥%Ñ(Ô(ðV!å˜‘J”J !’O�OÝ˜u Qœx­&Õ2BÐ)CÑDÔDð $õ ”	ðBàDEñFñô ð ñ
 Ø*ð K!­zØ•{Ô(ñ0ô 0ð K!ñ
 Ý ­Õ0CÐ'DÑEÔEð E!ð
 %×(Ò(¨Ñ+Ô+Ð+Ø×.Ò.¨s°A°uÑ=Ô=Ð=Ø"ð +Ý˜C  EÑ*Ô*Ð*Ùð �mÐ#Ð#ÝÔ-ð' qð 'ð 'ð 'ñô ð õ ˜E¥6Ñ*Ô*ð q!Ý$Ø�tÔ)×-Ò-¨e°UÑ;Ô;ñô ð ñ õ ˜eÕ%<Ñ=Ô=ð 3<ð Ô2×6Ò6ØÐFñô ñØ"Ø(Ø3Ø$Ø"Ø*Ø)ð )Ð4Ø%Ð-ð
 6ð .ð&Ø!×2Ò2Ø $Ø $¤Ø #Ø 2Ø !Ø 0Ø *Ø ;Ø ,ñ
ô 
ð 
ð 
øõ  )ð &ð &ð &Ý")Ô"?ð!FØ0:ð!Fð !Fð !Fñ#ô #ð
 $&ð&øøøøð&øøøð  <Ð;Ð;Ð;å˜eÕ%8Ñ9Ô9ð 7!àÔ6ð#à 9ð#õ & e­^Ñ<Ô<ð ð(ð (ð (˜H˜Hð(ð (ð (˜Hð ð  ð  ð  à%-ð ñ  ô  ˜õ "Ô/ðI¨!ð Ið I¸ð Ið Ià#Ÿyšy­Ð/FÐ/FÀÐ/FÑ/FÔ/FÑ)FÔ)FÑGÔGðIð Ið Iñô ð õ & e­n½lÐ-KÑLÔLð !ð -×0Ò0°Ñ3Ô3Ð3õ    Q¨Ñ.Ô.Ð.Ù à ˆI�a‰L‰Lðmv	!ð v	!s   É="J Ê 
KÊ*KËKc                ó~  — | j         }| j        }| j        }t          j        t
          ¦  «        }t          |                     ¦   «         ¦  «        D ]ü\  }}t          |t          ¦  «        r�|j
        }|r|||<   n||= |j        D ]f\  }}	t          |t          ¦  «        s ||j                                      |¦  «         |                     |¦  «         |	||<   |€||j        k    r|||<   ŒgŒ›t          |t           ¦  «        rL|j        €J ‚||j                                      |¦  «         |                     |¦  «         ||j        k    r||= Œý|                     ¦   «         D ][\  }
}t#          |¦  «        dk    rCt%          j        d| j        ›d|
›dd                     t-          |¦  «        ¦  «        ›d�¦  «         Œ\d S )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Á  rb  rœ  rµ   r&   Úmapper_property_to_assignÚcolumns_to_assignr    r¸   Úaddr4  r4   rö   r1   r»   r¾   rž  rÃ  )rS   rí  r
  r  Úname_to_prop_keyr4  rø   Úmp_to_assignÚcolÚ
sort_orderr¸   Úkeyss               rT   r$  z0_ClassScanMapperConfig._extract_declared_columnss  sõ  € Ø”Oˆ	ð  Ô0ÐØÔ.ˆÝ&Ô2µ3Ñ7Ô7Ðå˜9Ÿ?š?Ñ,Ô,Ñ-Ô-ð '	'ð '	'‰FˆC�Ý˜!�\Ñ*Ô*ð &'Ø Ô:�Øð 'Ø%1�I˜c‘N�Nð " #˜à'(Ô':ð -ð -‘O�C˜Ý% aÕ):Ñ;Ô;ð <Ø(¨¬Ô2×6Ò6°sÑ;Ô;Ð;Ø$×(Ò(¨Ñ-Ô-Ð-ð ,6�O CÑ(ð $Ð+°°s´w²°Ø),˜	 #™øð!-õ" ˜A�vÑ&Ô&ð 'ð ”vÐ)Ð)Ð)Ø  ¤Ô(×,Ò,¨SÑ1Ô1Ð1Ø ×$Ò$ QÑ'Ô'Ð'ð ˜!œ%’<�<Ø! #˜øà*×0Ò0Ñ2Ô2ð 	ð 	‰JˆD�$Ý�4‰yŒy˜1Š}ˆ}Ý”	�	ð
 ”~�~�~ t t t¨d¯iªi½¸t¹¼Ñ.EÔ.EÐ.EÐ.Eð	Hñô ð øð	ð 	rW   Nc           	     ó,  ‡— | j         }t          d|¦  «        }| j        }| j        }| j        }| j        }| j        Št          j        |¦  «        }| j	        �€?d|v�r:|�€7t          |d¦  «        r8t          t          t                   t          j        |j        ¦  «        ¦  «        }	nt          }	|�åd}
i }|r]t!          |t"          ¦  «        r|}nEt!          |t$          ¦  «        r0t!          |d         t"          ¦  «        r|dd…         |d         }}
n|}
|                     d¦  «        }|r||d<   |                     d	¦  «        }|rd
|d<   t)          |ˆfd„¬¦  «        }|                      d |	||                      |¦  «        g|¢|
¢R i |¤Ž¦  «        }nv|€7| j	        r)|                      d|  	                    ¦   «         ¦  «        }n|j        }|r;|D ]8}|j                             |¦  «        st5          j        d|j        z  ¦  «        ‚Œ9|| _        d S )NúMappedClassProtocol[Any]rM   Ú__table_cls__rR   éÿÿÿÿr   Ú__autoload_with__Úautoload_withÚ__autoload__TÚautoloadc                ó0   •— ‰                      | d¦  «        S )Nr   rT  )rø   r  s    €rT   ú<lambda>z5_ClassScanMapperConfig._setup_table.<locals>.<lambda>Þ  s   ø€  /×"5Ò"5°a¸Ñ";Ô";€ rW   ©r4  z8Can't add additional column %r when specifying __table__)rx   r   r  r  r  r
  r  r   rØ   r  rÇ   r   r5   r1   Úunbound_method_to_callablerÿ  rµ   rf  rq  rŽ   rÃ  rÚ   Ú_metadata_for_clsrM   rø   Úcontains_columnr   rr  r4  rç   )rS   rª   rx   rh  r  r  r  r
  r¢   Ú	table_clsró  Útable_kwr  r  Úsorted_columnsrø   r  s                   @rT   r%  z#_ClassScanMapperConfig._setup_table®  sž  ø€ ØŒhˆÝÐ5°sÑ;Ô;ˆà”Nˆ	Ø”_ˆ
ØÔ(ˆØÔ0ÐØÔ.ˆåÔ-¨cÑ2Ô2ˆð ŒMÑ!Ø <Ð/Ñ/Ø‘å�s˜OÑ,Ô,ð "Ý Ý�”KÝÔ3°CÔ4EÑFÔFñô �	�	õ
 "�	àÐ$Ø(*�Ø+-�àð .Ý! *­dÑ3Ô3ð .Ø#-˜˜Ý# JµÑ6Ô6ð .Ý% j°¤nµdÑ;Ô;ð .Ø-7¸¸"¸Ô-=¸zÈ"¼~ (˜D˜Dà#-˜Dà ,× 0Ò 0Ð1DÑ EÔ E�Ø ð >Ø0=�H˜_Ñ-à'×+Ò+¨NÑ;Ô;�Øð 0Ø+/�H˜ZÑ(å!'Ø$Ø;Ð;Ð;Ð;ð"ñ "ô "�ð ×.Ò.ØØ�IØ!Ø×.Ò.¨wÑ7Ô7ðð (ðð ð	ð ð ð
 #ðð ñ	ô 	�øð ˆ}Ø”=ð 2Ø ×2Ò2Ø# T§]¢]¡_¤_ñô �E�Eð (Ô1�EØð Ø)ð ð �AØ œ7×2Ò2°1Ñ5Ô5ð Ý!Ô/ð3Ø56´Uñ;ñô ð ðð !ˆÔÐÐrW   r¢   úClassManager[Any]rC   c                óN   — t          | j        dd ¦  «        }|�|S |j        j        S )Nr^   )rš   rx   r£   r^   )rS   r¢   Úmetas      rT   r	  z(_ClassScanMapperConfig._metadata_for_clsü  s,   € Ý#*¨4¬8°ZÀÑ#FÔ#FˆØÐØˆKàÔ#Ô,Ð,rW   c                óÀ  — | j         }|                     dd ¦  «        }|€~g }|j        D ]<}t          |¦  «        }|€Œt	          |¦  «        r||vr|                     |¦  «         Œ=|r5t          |¦  «        dk    rt          j        d|›d|›�¦  «        ‚|d         }nt          |t          ¦  «        r|j        }|| _        | j        }d|vr| j        €d| _        d S d S d S )Nrè   r   rÄ   rô   r   rM   T)rx   rŽ   r�   r�   rˆ   rõ   rö   r   rÆ   rµ   r(   r’   rè   r  r  r  )rS   r¬   rx   rè   r÷   r“   rø   r  s           rT   r"  z/_ClassScanMapperConfig._setup_inheriting_mapper  s!  € ØŒhˆà—=’= ¨TÑ2Ô2ˆàÐð !ˆOØœð .ð .�Ý6°uÑ=Ô=�Ø�9Øå,¨QÑ/Ô/ð .°A¸_Ð4LÐ4LØ#×*Ò*¨1Ñ-Ô-Ð-øàð .Ý�Ñ'Ô'¨!Ò+Ð+ÝÔ1Ð1à˜3˜3  ð1ñô ð ð +¨1Ô-�øÝ˜¥&Ñ)Ô)ð 	'Ø”ˆHà ˆŒàÔ(ˆØ˜lÐ*Ð*¨t¬~Ð/EØˆDŒKˆKˆKð +Ð*Ð/EÐ/ErW   c           
     ó<  — | j         }| j        }| j        }| j        }|€.| j        €'t          |d¦  «        st          j        d|z  ¦  «        ‚| j        �rCt          | j        ¦  «        }|€J ‚|j         }|j	        }|�€|rt          j
        d¦  «        ‚|r:t          |t          ¦  «        s%t          j
        d| j        › d| j        › d�¦  «        ‚|D ]É}	|€J ‚|	j        |j        v rH|j        |	j                 |	u rŒ)t          j
        d|	› d|j        › d	|j        |	j                 › d
�¦  «        ‚|	j        rt          j
        d¦  «        ‚t"          rt          |t          ¦  «        sJ ‚|                     |	¦  «         |�||ur|                     |	¦  «         ŒÆd S d S d S )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 'rn  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ç   rx   r  r
  rè   r‡   r   rÆ   r�   r	  rr  rµ   r5   r¸   rø   rJ   Úprimary_keyr   Úappend_columnÚ_refresh_for_new_column)
rS   r¬   rª   rx   r  r
  Úinherited_mapper_or_configÚinherited_tableÚinherited_persist_selectablerú  s
             rT   r&  z0_ClassScanMapperConfig._setup_inheriting_columns$  s]  € ØÔ ˆØŒhˆØ”_ˆ
ØÔ0Ðð ˆMØ”Ð%Ý+¨C°Ñ@Ô@ð &õ Ô)ð&à(+ñ,ñô ð ð
 Œ]ñ 6	Ý)?ÀÄÑ)NÔ)NÐ&Ø-Ð9Ð9Ð9Ø8ÔDˆOà*Ô=ð )ð ‰}ð ð ÝÔ+ð)ñô ð ð $ð ­J°ÍÑ,NÔ,Nð ÝÔ+ð3Ø$(¤Hð3ð 3Ø;?¼=ð3ð 3ð 3ñô ð ð ,ð ð �CØ*Ð6Ð6Ð6Ø”x ?Ô#4Ð4Ð4Ø*Ô,¨S¬XÔ6¸#Ð=Ð=Ø$Ý!Ô/ð4 sð 4ð 4°s´|ð 4ð 4à /Ô 1°#´(Ô ;ð4ð 4ð 4ñô ð ð ”ð Ý!Ô/ð3ñô ð õ
 %ð BÝ)¨/½5ÑAÔAÐAÐAÐAà#×1Ò1°#Ñ6Ô6Ð6à4Ð@Ø8ÀÐOÐOà4×LÒLØñô ð øði6	ð 6	ð ˆ}ð"ð rW   c                ó²  ‡ ‡— ‰ j         }‰ j        r‰                      ¦   «         }ni }|r|                     |¦  «         d|v r*t          |¦  «        }|                     |d         ¦  «         dD ],}||v r&||         }‰ j                             ||¦  «        ||<   Œ-d|v r)ˆ fd„t          j        |d         ¦  «        D ¦   «         |d<   d|v rJ|d         }t          |t          ¦  «        r|j
        }|‰ j        urt          j        d|d         z  ¦  «        ‚‰ j        r
‰ j        |d<   ‰ j        �r|                     dd¦  «        sñt          ‰ j        d¦  «        Š‰j        }d	|vrVˆfd
„|j        D ¦   «                              ‰j        pd¦  «        x|d	<   }|                     d„ ‰ j        D ¦   «         ¦  «         t+          |                     ¦   «         ¦  «        D ]Y\  }}	t          |	t.          j        ¦  «        sŒ |‰j        v r0‰j        |         }
t          |
t4          ¦  «        r|	g|
j        z   ||<   ŒZ|                     ¦   «         }||d<   |‰ _        d S )Nr¿   )Úversion_id_colÚpolymorphic_onr  c                óF   •— g | ]}‰j                              ||¦  «        ‘ŒS rR   )r  rŽ   )r:  r§  rS   s     €rT   rP  zD_ClassScanMapperConfig._prepare_mapper_arguments.<locals>.<listcomp>ƒ  s<   ø€ ð *ð *ð *àð Ô"×&Ò& q¨!Ñ,Ô,ð*ð *ð *rW   rè   z:mapper inherits argument given for non-inheriting class %sÚconcreteFÚexclude_propertiesc                ó0   •— h | ]}|‰j         v¯|j        ’ŒS rR   )Ú_columntopropertyr4  )r:  rø   Úinherited_mappers     €rT   rå  zC_ClassScanMapperConfig._prepare_mapper_arguments.<locals>.<setcomp>¡  s7   ø€ ð Jð Jð JàØÐ 0Ô BÐBÐBð ”EàBÐBÐBrW   rR   c                ó   — g | ]	}|j         ‘Œ
S rR   r  )r:  rø   s     rT   rP  zD_ClassScanMapperConfig._prepare_mapper_arguments.<locals>.<listcomp>§  s   € Ð:Ð:Ð:˜q�Q”UÐ:Ð:Ð:rW   )r¿   r  rp  rf  r  rŽ   r1   Úto_listrµ   r(   r’   rè   r   rÆ   r-   rç   rø   Úunionr  Údifference_updater
  rb  rœ  r2   rÓ  Ú_propsr)   ÚcolumnsÚcopyr  )rS   r¬   r¿   r  r¦  r§  Úinherits_argr  r  rú  ÚpÚresult_mapper_argsr"  s   `           @rT   Ú_prepare_mapper_argumentsz0_ClassScanMapperConfig._prepare_mapper_argumentsl  sÿ  øø€ Ø”_ˆ
àÔð 	Ø×-Ò-Ñ/Ô/ˆKˆKàˆKàð 	*Ø×Ò˜yÑ)Ô)Ð)à˜;Ð&Ð&Ý˜jÑ)Ô)ˆJØ×Ò˜k¨,Ô7Ñ8Ô8Ð8ð 6ð 	>ð 	>ˆAØ�KÐÐØ ”N�Ø!%Ô!3×!7Ò!7¸¸1Ñ!=Ô!=�˜A‘øà˜KÐ'Ð'ð*ð *ð *ð *åœ k°-Ô&@ÑAÔAð*ñ *ô *ˆK˜Ñ&ð
 ˜Ð$Ð$Ø& zÔ2ˆLÝ˜,­Ñ/Ô/ð 3Ø+Ô2�à 4¤=Ð0Ð0ÝÔ-ðØ"-¨jÔ"9ñ;ñô ð ð
 Œ=ð 	4Ø&*¤mˆK˜
Ñ#àŒ=ñ "	: §¢°¸UÑ!CÔ!Cð "	:õ  ,¨D¬M¸5ÑAÔAÐØ.Ô:ˆOð $¨;Ð6Ð6ðJð Jð Jð Jà,Ô.ðJñ Jô J÷ ’%Ð(Ô;ÐA¸rÑBÔBð	C�Ð0Ñ1Ð4Fð
 #×4Ò4Ø:Ð: DÔ$9Ð:Ñ:Ô:ñô ð õ ˜z×/Ò/Ñ1Ô1Ñ2Ô2ð :ð :‘��3Ý! #¥zÔ'?Ñ@Ô@ð ØØÐ(Ô/Ð/Ð/Ø(Ô/°Ô2�AÝ! !¥^Ñ4Ô4ð :ð *-¨°´	Ñ(9˜
 1™øØ(×-Ò-Ñ/Ô/ÐØ+5Ð˜<Ñ(Ø-ˆÔÐÐrW   rÛ   c                ó  — |                       |¦  «         t          | j        d¦  «        r-t          dt	          j        | j        j        ¦  «        ¦  «        }nt          }|                      d || j        | j	        fi | j
        ¤Ž¦  «        S )NÚ__mapper_cls__zType[Mapper[Any]]rL   )r-  rÇ   rx   r   r1   r  r/  r(   rÚ   rç   r  rñ   s      rT   rß   z_ClassScanMapperConfig.map½  s˜   € Ø×&Ò& yÑ1Ô1Ð1Ý�4”8Ð-Ñ.Ô.ð 	 ÝØ#ÝÔ/Ø”HÔ+ñô ñô ˆJˆJõ  ˆJà×%Ò%ØØˆJ�t”x Ô!1ÐFÐF°TÔ5EÐFÐFñ
ô 
ð 	
rW   )
r£   r>   rÂ   rž   r¤   r=   rª   r«   r¬   r`   rl   )rx   rž   rO   r2  )rx   ry   rO   rI  )r¨  rž   rO   r©  )r  rn   r¨  rž   r³  r©  rO   rf   )r½  rn   rO   rf   )r¸   rI   rþ   r7   r  ry   r­  rÇ  r  r   rO   rÈ  )rx   ry   r4  rI   rø   r   rO   rf   )
rÔ  rI  r6  r2  r}  r‚   r  ry   rO   rÕ  rQ   )rª   r«   rO   rf   )r¢   r  rO   rC   rã   râ   )"rJ   rX   rY   rä   Úis_deferredr[   rÕ   r  rH  rN  ÚreÚcompilerO  rc  r   r!  rå   r²  rŸ  r·  ry  r{  ro  r#  r$  r%  r	  r"  r&  r-  r1   rù   rß   rú   rû   s   @rT   rÈ   rÈ   º  sX  ø€ € € € € € ð€Ið. €KØÐÐÑØÐÐÑØ:Ð:Ð:Ñ:Ø(Ð(Ð(Ñ(Ø%Ð%Ð%Ñ%Ø,Ð,Ð,Ñ,Ø2Ð2Ð2Ñ2Ø+Ð+Ð+Ñ+ðð ð ñ ð ÐÐÑØ"Ð"Ð"Ñ"Ø(Ð(Ð(Ñ(Ø:Ð:Ð:Ñ:Ø!Ð!Ð!Ñ!Ø€L€L�Là'Ð'Ð'Ñ'Ø$Ð$Ð$Ñ$à<Ð<Ð<Ñ<ðð !Ð Ð Ñ ððK+ð K+ð K+ð K+ð K+ð K+ðZ&ð &ð &ð &ð"J'ð J'ð J'ð J'ðXð ð Ðð (˜RœZ¨Ñ8Ô8ÐðB*ð B*ð B*ð B*ðHl!ð l!ð l!ð l!ð\	v
ð v
ð v
ð v
ðp ðð ð ñ „[ðð2 ð25ð 25ð 25ñ „[ð25ðh ðð ð ñ „[ðð$Fð Fð Fð FðPð ð ð ðX,ð X,ð X,ð X,ðtI!ð I!ð I!ð I!ðV9ð 9ð 9ð 9ðvL!ð L!ð L!ð L!ð L!ð\-ð -ð -ð -ðð ð ð ðBFð Fð Fð FðPO.ð O.ð O.ð O.ðb .2¬_ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
rW   rÈ   Úfield_metadatar  r<  c                óª   — t           j        j        }| |         }t          |¦  «        r*t	          ||j        ¦  «        s|                     |¦  «        S |S rQ   )r1   r²   r³   Úcallablerµ   r@   )r3  r<  Údecl_apir°   s       rT   r]  r]  Ï  sT   € õ Œ~Ô*€HØ
Ð2Ô
3€CÝ��}„}ð �Z¨¨XÔ-CÑDÔDð Ø×%Ò% cÑ*Ô*Ð*àˆ
rW   c                  ó$  ‡ — e Zd ZU ded<   dZ ej        ¦   «         Zded<   dd
„Ze	dd„¦   «         Z
e
j        dd„¦   «         Z
edd„¦   «         Zed d„¦   «         Zed!d„¦   «         Zed"d„¦   «         Ze	 d#d$d„¦   «         Zej        fd%ˆ fd„Zˆ xZS )&r}   úweakref.ref[Type[Any]]Ú_clsTz?util.OrderedDict[weakref.ref[Type[Any]], _DeferredMapperConfig]Ú_configsr¬   r`   rO   rf   c                ó   — d S rQ   rR   rÞ   s     rT   rá   z$_DeferredMapperConfig._early_mappingç  s   € ØˆrW   ry   c                ó*   — |                       ¦   «         S rQ   )r9  rh   s    rT   rx   z_DeferredMapperConfig.clsê  s   € à�yŠy‰{Œ{ÐrW   r’   c                ób   — t          j        || j        ¦  «        | _        | | j        | j        <   d S rQ   )ÚweakrefÚrefÚ_remove_config_clsr9  r:  )rS   r’   s     rT   rx   z_DeferredMapperConfig.clsî  s,   € å”K ¨Ô(?Ñ@Ô@ˆŒ	Ø#'ˆŒ�d”iÑ Ð Ð rW   r?  c                ó<   — | j                              |d ¦  «         d S rQ   )r:  rç  )rx   r?  s     rT   r@  z(_DeferredMapperConfig._remove_config_clsó  s    € àŒ×Ò˜˜dÑ#Ô#Ð#Ð#Ð#rW   r‚   c                ób   — t          |t          ¦  «        ot          j        |¦  «        | j        v S rQ   )rµ   rÐ   r>  r?  r:  ©rx   r’   s     rT   r~   z_DeferredMapperConfig.has_cls÷  s*   € õ ˜&¥$Ñ'Ô'ÐO­G¬K¸Ñ,?Ô,?À3Ä<Ð,OÐOrW   r   c                ó¢   — t          |d¦  «        r|                     ¦   «          t          j        |dt          j        |¦  «        › d�¬¦  «        ‚)NÚ_sa_raise_deferred_configrÄ   zG has a deferred mapping on it.  It is not yet usable as a mapped class.)rÆ  )rÇ   rE  rê  ÚUnmappedClassErrorÚ_safe_cls_namerC  s     rT   Úraise_unmapped_for_clsz,_DeferredMapperConfig.raise_unmapped_for_clsü  si   € å�6Ð6Ñ7Ô7ð 	/Ø×,Ò,Ñ.Ô.Ð.åÔ(ØðJ�Ô/°Ñ7Ô7ð Jð Jð Jð
ñ 
ô 
ð 	
rW   c                ó@   — | j         t          j        |¦  «                 S rQ   )r:  r>  r?  rC  s     rT   r   z$_DeferredMapperConfig.config_for_cls	  s   € àŒ|�GœK¨Ñ/Ô/Ô0Ð0rW   Úbase_clsÚsortúList[_DeferredMapperConfig]c                ó&  ‡‡‡— ˆfd„d„ | j                              ¦   «         D ¦   «         D ¦   «         }|s|S d„ |D ¦   «         Šg }‰D ])Š|                     ˆˆfd„‰j        D ¦   «         ¦  «         Œ*t	          t          j        ||¦  «        ¦  «        S )Nc                ó>   •— g | ]\  }}|®t          |‰¦  «        ¯|‘ŒS rQ   )r™   )r:  ÚmrÂ   rJ  s      €rT   rP  z:_DeferredMapperConfig.classes_for_base.<locals>.<listcomp>  s<   ø€ ð 
ð 
ð 
á��4ØÐ¥J¨t°XÑ$>Ô$>Ðð àÐÐrW   c                ó    — g | ]}||j         f‘ŒS rR   r€   ©r:  rO  s     rT   rP  z:_DeferredMapperConfig.classes_for_base.<locals>.<listcomp>  s   € ÐFÐFÐF¨1˜Q ¤˜JÐFÐFÐFrW   c                ó   — i | ]
}|j         |“ŒS rR   r€   rQ  s     rT   r=  z:_DeferredMapperConfig.classes_for_base.<locals>.<dictcomp>  s   € Ð;Ð;Ð; Q˜œ˜qÐ;Ð;Ð;rW   c              3  ó@   •K  — | ]}|‰v ¯‰|         ‰‰         fV — Œd S rQ   rR   )r:  rJ  Úall_m_by_clsÚm_clss     €€rT   rW  z9_DeferredMapperConfig.classes_for_base.<locals>.<genexpr>  sI   øè è € ð ð àØ˜|Ð+Ð+ð ˜hÔ'¨°eÔ)<Ð=à+Ð+Ð+Ð+ðð rW   )r:  ÚvaluesÚextendr�   rb  r6   rK  )rx   rJ  rK  Úclasses_for_baseÚtuplesrT  rU  s    `   @@rT   rX  z&_DeferredMapperConfig.classes_for_base  sè   øøø€ ð
ð 
ð 
ð 
àFÐF°´×0CÒ0CÑ0EÔ0EÐFÑFÔFð
ñ 
ô 
Ðð ð 	$Ø#Ð#à;Ð;Ð*:Ð;Ñ;Ô;ˆàLNˆØ!ð 	ð 	ˆEØ�MŠMð ð ð ð ð à %¤ðñ ô ñ ô ð ð õ
 •KÔ$ VÐ-=Ñ>Ô>Ñ?Ô?Ð?rW   rÛ   c                ó†   •— | j                              | j        d ¦  «         t          ¦   «                              |¦  «        S rQ   )r:  rç  r9  rê   rß   )rS   r¬   rï   s     €rT   rß   z_DeferredMapperConfig.map%  s3   ø€ ØŒ×Ò˜$œ) TÑ*Ô*Ð*Ý‰wŒw�{Š{˜9Ñ%Ô%Ð%rW   rã   )rO   ry   )r’   ry   rO   rf   )r?  r8  rO   rf   )r’   ry   rO   r‚   )r’   ry   rO   r   )r’   ry   rO   r}   )T)rJ  ry   rK  r‚   rO   rL  râ   )rJ   rX   rY   r[   r0  r1   rÑ   r:  rá   Úpropertyrx   Úsetterrå   r@  r~   rH  r   rX  rù   rß   rú   rû   s   @rT   r}   r}   Þ  sŒ  ø€ € € € € € Ø Ð Ð Ñ à€Kð 	ˆÔÑÔð ð ð ð ñ ðð ð ð ð ðð ð ñ „Xðð 	„Zð(ð (ð (ñ „Zð(ð ð$ð $ð $ñ „[ð$ð ðPð Pð Pñ „[ðPð ð

ð 

ð 

ñ „[ð

ð ð1ð 1ð 1ñ „[ð1ð à/3ð@ð @ð @ð @ñ „[ð@ð. .2¬_ð &ð &ð &ð &ð &ð &ð &ð &ð &ð &ð &rW   r}   r4  rÖ   úMapperProperty[Any]rf   c                óà  — d| j         v �rÇt          d| ¦  «        }d
d„}t          |t          ¦  «        rMt	          ||¦  «          ||¦  «                             |d¬¦  «         |j                             ||¦  «         d	S t          |t          ¦  «        r‚|j	        }|j
        D ]R\  }}t	          ||¦  «          ||¦  «                             |d¬¦  «         |s|j                             ||¦  «         ŒS|r|j                             ||¦  «         d	S d	S t          |t          ¦  «        r|j                             ||¦  «         d	S t          |t          ¦  «        r<|j        |k    r1t          |j        ¦  «        }|j                             ||¦  «         d	S t                               | ||¦  «         |j                             ¦   «          d	S t                               | ||¦  «         d	S )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.

    rL   rþ  ÚmcrO   r5   c                ó~   — t          | j        t          ¦  «        r| j        S t          j        d| j        ›d�¦  «        ‚)Nz+Cannot add a new attribute to mapped class z) because it's not mapped against a table.)rµ   rM   r5   r   rÆ   rJ   )r_  s    rT   Ú_table_or_raisez'_add_attribute.<locals>._table_or_raise7  sK   € Ý˜"œ,­Ñ.Ô.ð $Ø”|Ð#ÝÔ)ð;¸b¼kð ;ð ;ð ;ñô ð rW   T)Úreplace_existingN)r_  rþ  rO   r5   )r�   r   rµ   r4   rè  r  rL   Úadd_propertyr&   rõ  rö  r'   r   r4  r!   rÐ   Ú__setattr__Ú_expire_memoizations)rx   r4  rÖ   Ú
mapped_clsra  Úmprú  r±  s           rT   Ú_add_attributerh  *  s;  € ð �s”|Ð#Ñ#ÝÐ4°cÑ:Ô:ˆ
ð	ð 	ð 	ð 	õ �e�VÑ$Ô$ð 	9Ý   eÑ,Ô,Ð,ØˆO˜JÑ'Ô'×5Ò5Ø¨ð 6ñ ô ð ð Ô!×.Ò.¨s°EÑ:Ô:Ð:Ð:Ð:Ý˜�|Ñ,Ô,ð 	9ØÔ0ˆBØÔ1ð Að A‘��QÝ$ S¨#Ñ.Ô.Ð.Ø� 
Ñ+Ô+×9Ò9Ø¨$ð :ñ ô ð ð ð AØÔ)×6Ò6°s¸CÑ@Ô@Ð@øØð <ØÔ%×2Ò2°3¸Ñ;Ô;Ð;Ð;Ð;ð<ð <å˜�~Ñ.Ô.ð 		9ØÔ!×.Ò.¨s°EÑ:Ô:Ð:Ð:Ð:Ý˜Õ1Ñ2Ô2ð 	9°u´yÀCÒ7GÐ7Gõ $ E¤IÑ.Ô.ˆEØÔ!×.Ò.¨s°EÑ:Ô:Ð:Ð:Ð:å×Ò˜S # uÑ-Ô-Ð-ØÔ!×6Ò6Ñ8Ô8Ð8Ð8Ð8å×Ò˜˜c 5Ñ)Ô)Ð)Ð)Ð)rW   c                ó¤  — d| j         v r«|| j         v r¢t          d| ¦  «        j        j        sˆ| j         |         }t	          |t
          t          t          t          f¦  «        rt          d¦  «        ‚t                               | |¦  «         t          d| ¦  «        j                             ¦   «          d S t                               | |¦  «         d S )NrL   rþ  z<Can't un-map individual mapped attributes on a mapped class.)r�   r   rL   Ú_dispose_calledrµ   r4   r&   r'   r   rÝ   rÐ   Ú__delattr__re  )rx   r4  rÖ   s      rT   Ú_del_attributerl  ^  sÜ   € à˜œÐ$Ð$Ø�3”<ÐÐÝØ&¨ñ
ô 
ä
”_ð  ð
 ”˜SÔ!ˆÝØ•F�L­.Õ:LÐMñ
ô 
ð 
	0õ &ØNñô ð õ ×Ò˜S #Ñ&Ô&Ð&ÝØ*¨Cñô ä×-Ò-Ñ/Ô/Ð/Ð/Ð/å×Ò˜˜cÑ"Ô"Ð"Ð"Ð"rW   rS   Úkwargsc                ó®   — t          | ¦  «        }|D ]B}t          ||¦  «        st          |›d|j        ›�¦  «        ‚t	          | |||         ¦  «         ŒCdS )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¹  rJ   ru  )rS   rm  rÂ   r¦  s       rT   Ú_declarative_constructorro  v  sw   € õ �‰:Œ:€DØð $ð $ˆÝ�t˜QÑÔð 	ÝØ>?¸a¸aÀÄÀÐOñô ð õ 	��a˜ œÑ#Ô#Ð#Ð#ð$ð $rW   rÕ   ÚcolumnúColumn[Any]c                óB   — |j         €| |_         |j        €	| |_        d S d S rQ   )r4  r¸   )r4  rp  s     rT   rè  rè  Œ  s,   € Ø„zÐØˆŒ
Ø„{ÐØˆŒˆˆð ÐrW   )rx   ry   rO   rz   )rx   ry   rO   r‚   )rx   ry   rO   r‰   )F)rx   ry   r–   rI   r†   r‚   rO   r—   )rx   rž   rO   rŸ   )r£   r>   rx   ry   r¤   r=   rO   r¥   )
r£   r>   rx   rž   rª   r«   r¬   r`   rO   rK   )r°   r   rO   r‚   )r°   r   r¸   rI   rx   rž   rO   r‚   )r3  r  r<  rI   rO   r   )rx   ry   r4  rI   rÖ   r]  rO   rf   )rx   ry   r4  rI   rO   rf   )rS   r   rm  r   rO   rf   )r4  rI   rp  rq  rO   rf   )rrZ   Ú
__future__r   rš  r  r1  Útypingr   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r>  Ú 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?   r6  r@   rA   Úsql.elementsrB   rC   Úsql.selectablerD   rE   rI   r`   Ú_TableArgsTyperH   r]   rn   r�   rˆ   r�   r‡   r‘   r©   r¯   Úpreload_moduler·   r¼   r§   r®   rý   rÈ   r]  r}   rh  rl  ro  rJ   rè  rR   rW   rT   ú<module>r‚     s  ðð /Ð .à "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø Ð Ð Ð Ø 	€	€	€	Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø €€€à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +Ø -Ð -Ð -Ð -Ð -Ð -Ø *Ð *Ð *Ð *Ð *Ð *Ø "Ð "Ð "Ð "Ð "Ð "Ø  Ð  Ð  Ð  Ð  Ð  Ø /Ð /Ð /Ð /Ð /Ð /Ø -Ð -Ð -Ð -Ð -Ð -Ø )Ð )Ð )Ð )Ð )Ð )Ø +Ð +Ð +Ð +Ð +Ð +Ø /Ð /Ð /Ð /Ð /Ð /Ø (Ð (Ð (Ð (Ð (Ð (Ø $Ð $Ð $Ð $Ð $Ð $Ø &Ð &Ð &Ð &Ð &Ð &Ø Ð Ð Ð Ð Ð Ø &Ð &Ð &Ð &Ð &Ð &Ø $Ð $Ð $Ð $Ð $Ð $Ø )Ð )Ð )Ð )Ð )Ð )Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø Ð Ð Ð Ð Ð Ø )Ð )Ð )Ð )Ð )Ð )Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø -Ð -Ð -Ð -Ð -Ð -Ø "Ð "Ð "Ð "Ð "Ð "Ø $Ð $Ð $Ð $Ð $Ð $Ø $Ð $Ð $Ð $Ð $Ð $Ø "Ð "Ð "Ð "Ð "Ð "Ø #Ð #Ð #Ð #Ð #Ð #àð ,Ø#Ð#Ð#Ð#Ð#Ð#Ø&Ð&Ð&Ð&Ð&Ð&ØÐÐÐÐÐØ'Ð'Ð'Ð'Ð'Ð'Ø-Ð-Ð-Ð-Ð-Ð-Ø*Ð*Ð*Ð*Ð*Ð*Ø%Ð%Ð%Ð%Ð%Ð%Ø+Ð+Ð+Ð+Ð+Ð+à€WˆT˜ÐÑÔ€à˜˜S˜Ô!€Ø�u˜S #˜X”¨¨S°#¨X¬Ð6Ô7€ð-ð -ð -ð -ð -˜( 2œ,ñ -ô -ð -ð,ð ,ð ,ð ,ð ,Ð2°2Ô6¸ñ ,ô ,ð ,ð@ð @ð @ð @ð @˜)ñ @ô @ð @ð
ð 
ð 
ð 
ðð ð ð ð,ð ð ð ð. 38ð$ð $ð $ð $ð $ðNð ð ð ðGð Gð Gð Gð;ð ;ð ;ð ;ð €ÔÐ.Ñ/Ô/ðHð Hð Hñ 0Ô/ðHðð ð ð ðWð Wð Wð Wð Wñ Wô Wð Wðt;!ð ;!ð ;!ð ;!ð ;!˜mñ ;!ô ;!ð ;!ð|!ð !ð !ð !ð !˜:ñ !ô !ð !ðR
ð R
ð R
ð R
ð R
˜]ñ R
ô R
ð R
ðj0 €ÔÐ.Ñ/Ô/ðð ð ñ 0Ô/ððI&ð I&ð I&ð I&ð I&Ð2ñ I&ô I&ð I&ðX1*ð 1*ð 1*ð 1*ðh#ð #ð #ð #ð0$ð $ð $ð $ð& %/Ð Ô !ðð ð ð ð ð rW   