
    h                        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 e
rfd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#l0m1Z1 dd$l0m2Z2 dd%lm3Z3 dd&l4m5Z5  ed'e(      Z6 ed)ed*+      Z7 ed,e8(      Z9	 e
re$Z:ed-   Z;ee	e6   d.f   Z<ee	e6   d.d/d0f   Z=ee>ef   Z?ee>ef   Z@ee	e6   eed1f   ee   f   ZAeee6   ee6   ej                  e6   f   ZC ed2ee   (      ZD G d3 d4ed56      ZEeeEee>ef   f   ZF G d7 d8e      ZG G d9 d:e      ZH	 	 	 	 dNd;ZI	 	 	 	 dOd<ZJdPd=ZKe
r9	 	 	 	 dQd>ZLdRd?ZMdSd@ZN	 	 	 	 dTdAZO	 	 	 	 dTdBZP	 	 	 	 dUdCZQ	 	 	 	 dVdDZR	 	 	 	 dWdEZSy ej                  dF      ZL ej                  dG      ZM ej                  dH      ZN ej                  dI      ZO ej                  dJ      ZP ej                  dK      ZR ej                  dL      ZQ ej                  dM      ZSy)X    )annotationsN)Any)Dict)Mapping)Optional)Tuple)Type)TYPE_CHECKING)TypeVar)Union   )_CoreKnownExecutionOptions)roles)DMLStrategyArgument)SynchronizeSessionArgument)_HasClauseElement)ColumnElement)Protocol)	TypeGuard   )AttributeImpl)CollectionAttributeImpl)HasCollectionAdapter)QueryableAttribute)PassiveFlag)registry)InspectionAttr)MapperProperty)	ORMOption)UserDefinedOption)Mapper)RelationshipProperty)InstanceState)AliasedClass)AliasedInsp)_CE)ExecutableOption_T)bound_T_coT)r)   	covariant_O)
Mapper[_T]AliasedInsp[_T]zAliasedClass[_T]r-   r.   ._ORMCOLEXPRc                  T    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
<   y)_OrmKnownExecutionOptionsboolpopulate_existing	autoflushr   synchronize_sessionr   dml_strategyis_delete_usingis_update_fromrender_nullsN)__name__
__module____qualname____annotations__     ?D:\EasyAligner\venv\Lib\site-packages\sqlalchemy/orm/_typing.pyr1   r1   Y   s+    O33%%r?   r1   F)totalc                      e Zd ZdZdddZy)_ORMAdapterProtozprotocol for the :class:`.AliasedInsp._orm_adapt_element` method
    which is a synonym for :class:`.AliasedInsp._adapt_element`.


    Nc                     y Nr>   )selfobjkeys      r@   __call__z_ORMAdapterProto.__call__o   s    Cr?   rE   )rG   r&   rH   zOptional[str]returnr&   )r:   r;   r<   __doc__rI   r>   r?   r@   rC   rC   h   s     Hr?   rC   c                       e Zd Z	 	 	 	 	 	 ddZy)_LoaderCallablec                     y rE   r>   )rF   statepassives      r@   rI   z_LoaderCallable.__call__s   s    r?   N)rO   zInstanceState[Any]rP   r   rJ   r   )r:   r;   r<   rI   r>   r?   r@   rM   rM   r   s    '2=	r?   rM   c                    | j                    S rE   )_is_coreopts    r@   is_orm_optionrU   x   s     ||r?   c                8    | j                    xr | j                  S rE   )rR   _is_user_definedrS   s    r@   is_user_defined_optionrX   ~   s     ||4 4 44r?   c                6    t        | d      xs t        | d      S )N__composite_values____dataclass_fields__)hasattrrG   s    r@   is_composite_classr^      s$    3./ 7#4 r?   c                     y rE   r>   r]   s    r@   insp_is_mapper_propertyr`      s    ),r?   c                     y rE   r>   r]   s    r@   insp_is_mapperrb      s    Cr?   c                     y rE   r>   r]   s    r@   insp_is_aliased_classrd      s    r?   c                     y rE   r>   r]   s    r@   insp_is_attributerf          -0r?   c                     y rE   r>   r]   s    r@   attr_is_internal_proxyri      rg   r?   c                     y rE   r>   )props    r@   prop_is_relationshiprl      s    /2r?   c                     y rE   r>   impls    r@   is_collection_implrp      rg   r?   c                     y rE   r>   rn   s    r@   is_has_collection_adapterrr      s    *-r?   is_property	is_mapperis_aliased_classis_attribute_is_internal_proxy
collection_is_relationship_is_has_collection_adapter)rT   r'   rJ   zTypeGuard[ORMOption])rT   r'   rJ   zTypeGuard[UserDefinedOption])rG   r   rJ   r2   )rG   r   rJ   zTypeGuard[MapperProperty[Any]])rG   r   rJ   zTypeGuard[Mapper[Any]])rG   r   rJ   zTypeGuard[AliasedInsp[Any]])rG   r   rJ   z"TypeGuard[QueryableAttribute[Any]])rk   zMapperProperty[Any]rJ   z$TypeGuard[RelationshipProperty[Any]])ro   r   rJ   z"TypeGuard[CollectionAttributeImpl])ro   r   rJ   zTypeGuard[HasCollectionAdapter])U
__future__r   operatortypingr   r   r   r   r   r	   r
   r   r   engine.interfacesr   sqlr   sql._orm_typesr   r   sql._typingr   sql.elementsr   util.typingr   r   
attributesr   r   r   r   baser   decl_apir   _registry_type
interfacesr   r   r   r    mapperr!   relationshipsr"   rO   r#   utilr$   r%   r&   sql.baser'   r(   r*   objectr,   _RegistryType_InternalEntityType_ExternalEntityType_EntityTypestr
_ClassDict_InstanceDict_IdentityKeyTypeExpressionElementRole_ORMColumnExprArgumentr/   r1   OrmExecuteOptionsParameterrC   rM   rU   rX   r^   r`   rb   rd   rf   ri   rl   rp   rr   
attrgetterr>   r?   r@   <module>r      s   #            :  G , ( " #)30.!4**%-3$"!!+T 	sd3T 
 "M;< DH&889 H ,0AA
 S#X
S#Xb5c?HSMAB "b	#%  m=+=> :%  #wsCx00 
Hx Hh 	5	5!5 --	'- @K11	+111	+13!3	-311	+1..	(.
 2h11-@(X((5N/H//0BC+++N;0X001EF,,,\:.8../AB 3 3 3$!r?   