File: //usr/local/lib/python3.10/dist-packages/sqlalchemy/orm/__pycache__/base.cpython-310.pyc
o
���gmk � @ s� d Z ddlmZ ddlmZ ddlZddlZddlmZ ddlmZ ddlm Z ddlm
Z
dd lmZ dd
lmZ ddlm
Z
ddlmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddl m!Z! ddl"m#Z# ejr�ddlm$Z$ ddlm%Z% ddlm&Z& dd l'm(Z( dd!l)m*Z* dd"l+m,Z, dd#l-m.Z. dd$l/m0Z0 dd%l1m2Z2 dd&lm3Z3 dd'l4m5Z5 dd(l6m7Z7 dd)l6m8Z8 dd*lm9Z9 dd+l:m;Z; ed,ed-�Z<ed.ed/d0�Z=ed1e>d-�Z?G d2d3� d3e�Z@eAe@�\ZBZCZDZEZFeFZGG d4d5� d5e�ZHeHjI�J� \ZKZLZMZNZOZPZQZRZSZTZUZVZWZXZYZZZ[Z\d6Z]d7Z^G d8d9� d9e�Z_eAe_�\Z`ZaZbZcG d:d;� d;e�ZdeAed�\ZeZfZgG d<d=� d=e�ZhG d>d?� d?eh�ZiejeGg�ZkejdeGeBg�Zlejdg�Zme�nd@�Zoe�ndA�Zpe�ndB�ZqedCedDef d-�ZredE�Zsd�dJdK�Zte�r�d�dOdP�Zue
d�dSdT��Zve
d�dWdT��Zvd�dXdT�Zvd�d[d\�Zwd�d_d`�ZxndadP� ZudbdT� Zve�ye^�Zwe�ydc�Zxd�dedf�Zzd�didj�Z{d�dkdl�Z|d�dndo�Z}d�dpdq�Z~d�dsdt�Zd�dvdw�Z�e��e>�d�dydz��Z�d�d}d~�Z�d�d�d��Z�d�d�d��Z�d�d�d��Z�ed�d�d���Z�e�r1d�d�d��Z�ne��d��Z� �d�d�d�d��Z�d�d�d��Z�d�d�d�d��Z�G d�d�� d��Z�G d�d�� d�e��Z�G d�d�� d�ee= e!�Z�G d�d�� d�e
e= e!�Z�G d�d�� d�e
e= e!�Z�G d�d�� d�e�e= ee= e!�Z�G d�d�� d�e�e= e�e= e�e= ej��Z�G d�d�� d�e
e= e!�Z�G d�d�� d�e�e= e�e= �Z�G d�d�� d�e�e= �Z�G d�d�� d�e�e= �Z�dS )�z=Constants and rudimental functions used throughout the ORM.
� )�annotations)�EnumN)�Any)�Callable)�Dict)�Generic)�
no_type_check)�Optional)�overload)�Tuple)�Type)�
TYPE_CHECKING)�TypeVar)�Union� )�exc)�insp_is_mapper� )�
inspection)�util)�roles)�SQLColumnExpression)�SQLCoreOperations)�FastIntFlag)�
TypingOnly)�Literal)�_EntityType)�_ExternalEntityType)�_InternalEntityType)�InstrumentedAttribute)�
AppenderQuery)�ClassManager)�PropComparator)�Mapper)�
InstanceState)�AliasedClass)�WriteOnlyCollection)�_ColumnExpressionArgument)� _InfoType)�
ColumnElement)�OperatorType�_T)�bound�_T_coT)r, � covariant�_Oc @ s. e Zd ZdZ dZ dZ dZ dZ eZdS )�LoaderCallableStatusr r r � � N) �__name__�
__module__�__qualname__�PASSIVE_NO_RESULT�PASSIVE_CLASS_MISMATCH�ATTR_WAS_SET�
ATTR_EMPTY�NO_VALUE� NEVER_SET� r<