
    KiN                       S SK J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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'  \R*                  (       a  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)KJ1r1  SS*K2J3r3  SS+K(J4r4  SS,K(J5r5  SS-K(J6r6  SS.K(J7r7  SS/K(J8r8  SS0K(J9r9  SS1K(J:r:  SS2K*J;r;  SS3K+J<r<  SS4K+J=r=  SS5K+J>r>  SS6K+J?r?  SS7K+J@r@  SS8K+JArA  SS9KJBrB  \" S:\R                  S;9rD\" S<\	S=\4   S;9rE\" S>\R                  S;9rG\" S?\S;9rHSS@ jrISA rJ        SSB jrK        SSC jrL\        SSD j5       rM\S=SE.         SSF jj5       rM\        SSG j5       rM\        SSH j5       rM\        SSI j5       rM\        SSJ j5       rM\        SSK j5       rM\        SSL j5       rM\        SSM j5       rM\        SSN j5       rM\        SSO j5       rM\        SSP j5       rM\        SSQ j5       rM\S=SR.         SSS jj5       rM\        SST j5       rM\        SSU j5       rM\        SSV j5       rMSSSWSWSX.               SSY jjrM        SSZ jrN      SS[ jrO " S\ S]5      rP " S^ S_5      rQ " S` Sa5      rR " Sb Sc\P5      rS " Sd Se\P5      rTS\#R                  SS4           SSf jjrV " Sg Sh\P5      rW " Si Sj\P5      rX " Sk Sl\P5      rY " Sm Sn\P5      rZ " So Sp\P5      r[ " Sq Sr\P5      r\ " Ss St\T\P5      r] " Su Sv\]\P5      r^ " Sw Sx\P5      r_ " Sy Sz\T\P5      r` " S{ S|\X\T\P5      ra " S} S~\X\P5      rb " S S\W\P5      rc " S S\S\P5      rd " S S\X\P5      re " S S\X\T\P\R                  5      rg " S S\g\P5      rh " S S\g\P5      ri " S S\S\P5      rj " S S\P5      rk " S S\R\P5      rl " S S\Q\X\P5      rm " S S\Q\S\P5      rn " S S\n5      ro " S S\P5      rp " S S\]5      rq " S S\Z\X\P5      rr " S S\P5      rs " S S\X\P5      rt " S S\W\P5      ru " S S\s5      rv " S S\P5      rw " S S\P5      rx " S S\Z\W\P5      ry " S S\y5      rz " S S\z5      r{ " S S\Z\W\P5      r| " S S\W\P5      r} " S S\W\P5      r~0 r\" \5       HZ  r\" \\5      r\GR	                  S5      (       d  M%  \GR                  SS5      r\\" 5       ;   d  ME  \" 5       \   " \5      r\\\'   M\     \(       d1  \\GR                     r\\\\4 H  r\\\GR                  \   '   M     gg)    )annotationsN)Any)Callable)cast)Dict)Iterable)Iterator)List)NoReturn)Optional)overload)Sequence)Tuple)Type)TYPE_CHECKING)TypeVar)Union   )roles)visitors)is_from_clause)ExecutableOption)Options)HasCacheKey)	Visitable   )exc)
inspection)util)Literal)elements)lambdas)schema)
selectable)_ColumnExpressionArgument)_ColumnsClauseArgument)_DDLColumnArgument)_DMLTableArgument)_FromClauseArgument)_OnlyColumnArgument)_DMLTableElement)BindParameter)ClauseElement)ColumnClause)ColumnElement)NamedColumn)SQLCoreOperations)
TextClause)Column)_ColumnsClauseElement)_JoinTargetProtocol)
FromClause)HasCTE)
SelectBase)Subquery)_TraverseCallableType_SR)bound_F._StringOnlyR_Tc                |    [        U [        [        R                  45      (       + =(       a    [	        U S5      (       + $ )z`Return whether or not the element is a "literal" in the context
of a SQL expression construct.

__clause_element__)
isinstancer   r#   SchemaEventTargethasattr)elements    Z/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/sqlalchemy/sql/coercions.py_is_literalrG   O   s<     	F,,-  5 g34
45    c                   [        U [        R                  5      (       a1  [        U [        5      (       d  U  H  n[	        U5      (       a  M    g   g[        U [
        [        R                  [        [        [        R                  R                  45      (       + =(       aI    [        U S5      (       + =(       a1    [        U [        5      (       + =(       d    [        U [        5      (       + $ )a  Return whether or not the element is a "literal" in the context
of a SQL expression construct.

does a deeper more esoteric check than _is_literal.   is used
for lambda elements that have to distinguish values that would
be bound vs. not without any context.

FTrA   )rB   collections_abcr   str_deep_is_literalr   r#   rC   r   r   r   langhelperssymbolrD   type
issubclass)rE   elems     rF   rL   rL   [   s     '?3344Z> > D#D))   ((  ''	
 		
 	
 !566	
 7D)) 4g{33rH   c                B    [         R                  " U SU< SU< S35      $ )Nz.. warning:: The z argument to z can be passed as a Python string argument, which will be treated as **trusted SQL text** and rendered as given.  **DO NOT PASS UNTRUSTED INPUT TO THIS PARAMETER**.)r   add_parameter_text)	paramnamemeth_rst	param_rsts      rF   _document_text_coercionrW      s&     "" h	 
 
rH   c                   U(       av  [        US   [        [        [        45      (       aS  [	        U5      S:X  aD  [        US   [        5      (       a  [
        R                  " SU  SU S35      e[        SUS   5      $ [        SU5      $ )Nr   r   zThe "z" argument to zt(), when referring to a sequence of items, is now passed as a series of positional elements, rather than as a list. Sequence[_T])rB   listsetdictlenr   ArgumentErrorr   )attrnamefnnameargss      rF   !_expression_collection_was_a_listrb      s    
 
47T3$5663t9>d1gt$$##zx 84 4  NDG,,%%rH   c                    g N rolerE   kws      rF   expectri          
 rH   as_keyc                   g rd   re   )rg   rE   rl   rh   s       rF   ri   ri      s     rH   c                    g rd   re   rf   s      rF   ri   ri      s    
 rH   c                    g rd   re   rf   s      rF   ri   ri          
 "rH   c                    g rd   re   rf   s      rF   ri   ri      rp   rH   c                    g rd   re   rf   s      rF   ri   ri      s    
 -0rH   c                    g rd   re   rf   s      rF   ri   ri      s    
 rH   c                    g rd   re   rf   s      rF   ri   ri      s     rH   c                    g rd   re   rf   s      rF   ri   ri      s     rH   c                    g rd   re   rf   s      rF   ri   ri      s    
 rH   c                    g rd   re   rf   s      rF   ri   ri      s    
 rH   c                    g rd   re   rf   s      rF   ri   ri         
 rH   c                    g rd   re   rf   s      rF   ri   ri     ry   rH   )explicit_subqueryc                   g rd   re   )rg   rE   r{   rh   s       rF   ri   ri     s     rH   c                    g rd   re   rf   s      rF   ri   ri   !  s    
  rH   c                    g rd   re   rf   s      rF   ri   ri   )  s    
 rH   c                    g rd   re   rf   s      rF   ri   ri   2  rj   rH   F)apply_propagate_attrsargnamepost_inspectdisable_inspectionc          	        U R                   (       aL  [        U5      (       a<  [        US5      (       a+  [        R                  " UU [        R
                  " S0 UD6US9$ [        U    nUn[        U[        R                  [        R                  [        R                  [        R                  45      (       Gd"  S n	UR                  (       a  UR                  " U40 UD6n	GO.UnSn
UR                   (       a$  [        X5      (       a  [        US5      (       a  Sn
OJ[        US5      (       a9  Sn
[#        USS5      (       d  UR%                  5       nOO[        US5      (       a  M9  U
(       dm  UR&                  (       aC  U(       d<  [(        R*                  " USS9nUb$  U(       a  UR,                     UR%                  5       n	U	c  UR                  " U4SU0UD6n	O7Un	O4[        U[        R                  5      (       a  UR2                  " S0 UD6n	OUn	Ubf  [4        R6                  (       a  [        U	[8        [:        45      (       d   eUR<                  (       d#  [#        U	S	S 5      (       a  U	R<                  Ul        UR>                  U	R@                  RB                  ;   a)  URD                  (       a  URD                  " U	4UUS
.UD6n	U	$ URF                  " X4SU0UD6$ ! [.         a    UR1                  X5         GN9f = f)N__code__)r   FrA   Tis_clause_element)raiseerrr   _propagate_attrs)r   original_elementre   )$allows_lambdacallablerD   r"   LambdaElementLambdaOptions_impl_lookuprB   r!   CompilerElementr#   
SchemaItemFetchedValue	PyWrapper_resolve_literal_only_literal_coercion$_skip_clauseelement_for_target_matchgetattrrA   _use_inspectionr   inspect_post_inspectAttributeError_raise_for_expected_sa__py_wrapper_literaltypingr   r1   r-   r   _role_class	__class____mro___post_coercion_implicit_coercions)rg   rE   r   r   r   r   rh   implr   resolvedr   insps               rF   ri   ri   :  s    	
 WGZ(($$!!'B'"7	
 	
 D$$		
  %%--g<<H& % 99w--G%9::$(!g';<<(,%"7,?GG")"<"<"> g';<< %''0B%--gFD'' ..P'+'>'>'@H ##55 )0 46 H #	GW..	/	/228R8(h):M(JKKKK$55'($;
 ;
 6>5N5N!28--555**!1 	H ''
07
;=
 	
C  . P 445EOPs   -K K76K7c                B    UR                  SS 5        [        X4SS0UD6$ )Nrl   T)popri   rf   s      rF   expect_as_keyr     s'     FF8T$3333rH   c              #    #    U H  nS nS n[        X5      n[        U[        5      (       a  [        U[        5      (       d   eU=p5O4/ nUR                  n[        R
                  " U0 SU05        U(       a  US   nUb  UOUnXTX84v   M     g 7f)Ncolumnr   )ri   rB   rK   appendr   traverse)	rg   expressionsexprstrnamer   r   cols
col_appendadd_elements	            rF    expect_col_expression_collectionr     s      ,24,>h$$dC((((!%%Gh&(D=A[[JhXz,BCa & 2f44! s   BBc                      \ rS rSr% SrS rSrS\S'   SrSr	S r
 S         SS	 jjr  SSSSS
.               SS jjjrSrg)RoleImpli  )r   namer   c                    [        5       erd   )NotImplementedErrorselfrE   rh   s      rF   r   RoleImpl._literal_coercion  s    !##rH   Nr   r   Fc                p    Xl         UR                  U l        [        U[        R
                  5      U l        g rd   )r   
_role_namer   rP   r   UsesInspectionr   )r   
role_classs     rF   __init__RoleImpl.__init__  s*    %))	)*e6J6JKrH   c                (    U R                  XU5        g rd   r   r   rE   r   r   rh   s        rF   r   RoleImpl._implicit_coercions  s     	  8<rH   advicecodeerrc                   Ub  X1La  U< SU< S3nO[        U5      nU(       a  U R                  < SU< SU< S3n	OU R                  < SU< S3n	U(       a  U	SU-   -  n	[        R                  " XS9Ue)	Nz object resolved from z objectz expected for argument z; got .z expected, got  )r   )reprr   r   r^   )
r   rE   r   r   r   r   r   rh   gotmsgs
             rF   r   RoleImpl._raise_for_expected  sm     H$;9A7KCw-C		C -1IIs;C3<C/S8rH   )r   r   r   rd   
rE   r   r   r   r   Optional[str]rh   r   returnr   NNrE   r   r   r   r   zOptional[Any]r   r   r   r   r   Optional[Exception]rh   r   r   r   )__name__
__module____qualname____firstlineno__	__slots__r   r   __annotations__r   r   r   r   r   __static_attributes__re   rH   rF   r   r     s    :I$ NC!+0(L "&	== = 	=
 = 
= "&"&	9 !%"#'99 9  	9 9 9 !9 9 
9 9rH   r   c                      \ rS rSrSrS rSrg)_Deannotatei
  re   c                    SSK Jn  U" U5      $ )Nr   )_deep_deannotate)r   r   )r   r   rh   r   s       rF   r   _Deannotate._post_coercion  s    *))rH   Nr   r   r   r   r   r   r   re   rH   rF   r   r   
  s    I*rH   r   c                      \ rS rSrSrSrSrg)_StringOnlyi  re   TN)r   r   r   r   r   r   r   re   rH   rF   r   r     s    I rH   r   c                  (    \ rS rSrSrSS jrS rSrg)_ReturnsStringKeyi  re   Nc                V    [        U[        5      (       a  U$ U R                  XU5        g rd   rB   rK   r   r   s        rF   r   %_ReturnsStringKey._implicit_coercions  s$    gs##N$$Wx@rH   c                    U$ rd   re   r   s      rF   r   #_ReturnsStringKey._literal_coercion"      rH   rd   r   r   r   r   r   r   r   r   re   rH   rF   r   r     s    IArH   r   c                  (    \ rS rSrSrS rSS jrSrg)_ColumnCoercionsi&  re   c                0    [         R                  " S5        g )Nz|implicitly coercing SELECT object to scalar subquery; please use the .scalar_subquery() method to produce a scalar subquery.)r   warn)r   s    rF   "_warn_for_scalar_subquery_coercion3_ColumnCoercions._warn_for_scalar_subquery_coercion)  s    			
rH   Nc                   Un[        USS5      (       d  U R                  XSU5        g UR                  (       a   U R                  5         UR	                  5       $ UR
                  (       aI  [        U[        R                  5      (       a*  U R                  5         UR                  R	                  5       $ U R                  R                  (       a  UR                  (       a  U$ U R                  XSU5        g )Nr   F)r   r   _is_select_baser   scalar_subquery_is_from_clauserB   r$   r9   rE   r   r   _is_lambda_element)r   rE   r   r   rh   r   s         rF   r   $_ColumnCoercions._implicit_coercions0  s    "x!4e<<$$%5I%%335++--%%*j))+
 +
 335##3355++0K0KO$$%5IrH   rd   )r   r   r   r   r   r   r   r   re   rH   rF   r   r   &  s    I
JrH   r   c                |    U" S[         R                  " U 5      U(       a  SU< 3OSU(       a  SU-  OSS.-  5      Ue)Nzc%(extra)sTextual SQL expression %(expr)r %(argname)sshould be explicitly declared as text(%(expr)r)for argument  z%s )r   r   extra)r   ellipses_string)rE   r   exc_clsr   r   s        rF   _no_text_coercionr  B  sJ     	0 ((19@G5b&+UU]
	
 rH   c                  &    \ rS rSrSrSS.S jrSrg)_NoTextCoercioniT  re   Nr   c                   [        U[        5      (       a5  [        [        R                  U R
                  5      (       a  [        X5        g U R                  X5        g rd   )rB   rK   rP   r!   r2   r   r  r   r   rE   r   rh   s       rF   r   !_NoTextCoercion._literal_coercionW  sD    gs##
!1!1)
 )
 g/$$W6rH   r   r   r   r   r   r   r   re   rH   rF   r  r  T  s    I48 7 7rH   r  c                  <    \ rS rSrSrSrSrSrSS jrSS.S jr	Sr
g)	_CoerceLiteralsi`  re   FNc                    [        X5      $ rd   r  r   rE   r   s      rF   _text_coercion_CoerceLiterals._text_coercionf       22rH   r  c               $   [        U[        5      (       a?  U R                  (       a  US:X  a  [        R                  " SSS9$ U R
                  " X40 UD6$ U R                  (       aL  Uc  [        R                  " 5       $ USL a  [        R                  " 5       $ USL a  [        R                  " 5       $ U R                  (       a=  [        U[        R                  5      (       a  [        R                  " [        U5      SS9$ U R                  X5        g )N*T)
is_literalF)rB   rK   _coerce_starr!   r.   r  _coerce_constsNullFalse_True__coerce_numericsnumbersNumberr   r  s       rF   r   !_CoerceLiterals._literal_coercioni  s    gs##  W^,,STBB**7BrBB}}&E!((D~~''  Z'..%J%J((W$GG  2rH   rd   )r   r   r   r   r   r  r  r  r  r   r   re   rH   rF   r
  r
  `  s+    INL3 59 3 3rH   r
  c                  4    \ rS rSrSr S	SSS.S jjrS rSrg)
LiteralValueImpli~  TNF)type_literal_executec               |    [        U5      (       d  U R                  " U4X#S.UD6  [        R                  " S UUSUS9$ )N)r   r   T)r  uniquer   )rG   r   r!   r,   )r   rE   r   r   r  r   rh   s          rF   r   $LiteralValueImpl._implicit_coercions  sT     8$$$$"*?A %%+
 	
rH   c                    U$ rd   re   r   s      rF   r   "LiteralValueImpl._literal_coercion  r   rH   re   rd   )r   r   r   r   r   r   r   r   re   rH   rF   r  r  ~  s$      	
 
.rH   r  c                  b   ^  \ rS rSrSr  SSSSS.               SU 4S jjjjrSrU =r$ )_SelectIsNotFromi  re   Nr   c          	        > U(       d  [        U[        R                  5      (       d  [        U[        R                  5      (       a  SUb  UR                  OU< S3nSnOS n[        TU ]  " U4UUUUUS.UD6   e)NzTo create a FROM clause from a z$ object, use the .subquery() method.89ve)r   r   r   r   r   )rB   r   SelectStatementRoler   superr   )	r   rE   r   r   r   r   r   rh   r   s	           rF   r   $_SelectIsNotFrom._raise_for_expected  s     7E$=$=>>(E$=$=>>
 *2)=8%%7JM 
 DD#	
	
 	
 	urH   r   r   r   r   r   r   r   r   r   __classcell__r   s   @rF   r'  r'    sx    I
 "&"&	# !%"#'## #  	# # # !# # 
# #rH   r'  c                  @    \ rS rSrSr S         SS jjrS rSrg)HasCacheKeyImpli  re   Nc                V    [        U[        5      (       a  U$ U R                  XU5        g rd   )rB   r   r   r   s        rF   r   #HasCacheKeyImpl._implicit_coercions  s&     g{++N$$Wx@rH   c                    U$ rd   re   r   s      rF   r   !HasCacheKeyImpl._literal_coercion  r   rH   rd   r   r   re   rH   rF   r1  r1    L    I "&	
A
A 
A 	
A
 
A 

ArH   r1  c                  @    \ rS rSrSr S         SS jjrS rSrg)ExecutableOptionImpli  re   Nc                V    [        U[        5      (       a  U$ U R                  XU5        g rd   )rB   r   r   r   s        rF   r   (ExecutableOptionImpl._implicit_coercions  s'     g/00N$$Wx@rH   c                    U$ rd   re   r   s      rF   r   &ExecutableOptionImpl._literal_coercion  r   rH   rd   r   r   re   rH   rF   r8  r8    r6  rH   r8  c                  B   ^  \ rS rSrSrSSSS.S jrSU 4S jjrSrU =r$ )	ExpressionElementImpli  re   NF)r   r  is_crudc                   Uc0  U(       d)  Ub  UR                   (       d  [        R                  " 5       $  [        R                  " X!USUS9$ ! [        R
                   a  nU R                  XS9   S nAg S nAff = f)NT)r"  _is_crudr   )should_evaluate_noner!   r  r,   r   r^   r   )r   rE   r   r  r?  rh   r   s          rF   r   'ExpressionElementImpl._literal_coercion  sq     Oe&@&@
 ==?";--5  $$ ;(((:;s   A A9 A44A9c                   > [        U[        R                  5      (       a  SnO$[        U[        R                  5      (       a  SnOS n[
        TU ]  " U4X#US.UD6$ )NzTTo create a column expression from a VALUES clause, use the .scalar_values() method.z`To create a column expression from a FROM clause row as a whole, use the .table_valued() method.r   r   r   )rB   r$   Valuesr   AnonymizedFromClauseRoler+  r   r   rE   r   r   rh   r   r   s         rF   r   )ExpressionElementImpl._raise_for_expected  sm    gz00113  !?!?@@> 
 Fw*
$
JL
 	
rH   r   )	r   r   r   r   r   r   r   r   r.  r/  s   @rF   r>  r>    s     I  $4;(
 
rH   r>  c                  6    \ rS rSrSrSSS.S jrSS.S jrSrg)BinaryElementImpli  re   N)bindparam_typer   c                    UR                  X1US9$ ! [        R                   a  nU R                  XS9   S nAg S nAff = f)N)r  rB  )_bind_paramr   r^   r   )r   rE   r   operatorrM  r   rh   r   s           rF   r   #BinaryElementImpl._literal_coercion  sD    	7##H^#LL   	7$$W$6	7s    ?:?)rM  c                   UR                   R                  (       a;  UR                   R                  (       d   UR                  Ub  UOUR                   5      nU$ rd   )rO   _isnull_with_binary_element_type)r   r   r   rM  rh   s        rF   r    BinaryElementImpl._post_coercion(  s@    ==  ):):99"0"<$))H rH   )r   r   r   r   r   r   r   r   re   rH   rF   rL  rL    s%    I 7 @D  rH   rL  c                  v    \ rS rSrSr S	         S
S jjrS r\R                  " S5      S 5       r	S r
Srg)InElementImpli0  re   Nc                ~   UR                   (       a  [        U[        R                  5      (       aI  UR                  R
                  (       a.  U R                  U5        U R                  " UR                  40 UD6$ U R                  U5        U R                  " UR                  5       40 UD6$ U R                  XU5        g rd   )
r   rB   r$   AliasrE   r   _warn_for_implicit_coercionr   selectr   r   s        rF   r   !InElementImpl._implicit_coercions3  s     ##8Z%5%566$$4400:**8+;+;BrBB00:**8??+<CCC$$Wx@rH   c                ^    [         R                  " SUR                  R                  -  5        g )Nz_Coercing %s object into a select() for use in IN(); please pass a select() construct explicitly)r   r   r   r   )r   rQ   s     rF   rZ  )InElementImpl._warn_for_implicit_coercionG  s%    		:~~&&(	
rH   zsqlalchemy.sql.elementsc          	        [         R                  " U5      (       a  0 n[        U5      nU Hr  n[        U5      (       a  M  [	        U[         R
                  R                  R                  5      (       d&  [        US5      (       d  U R                  " U40 UD6  Mn  XeU'   Mt     U(       a<  [        R                  " U Vs/ s H  nXe;   a  XV   OUR                  X65      PM     sn6 $ UR                  X1SS9$ U R                  " U40 UD6  g s  snf )NrA   T)	expanding)r   is_non_string_iterablerZ   rG   rB   	preloadedsql_elementsr/   rD   r   r!   
ClauseListrO  )r   rE   r   rP  rh   non_literal_expressionsos          rF   r   InElementImpl._literal_coercionN  s   &&w//  $ 7mG"1~~%4>>66DD %a)=>>00?B? 672  '** ") ")A  !; 46!%!1!1(!>? ")	 	 ''T'JJ $$W33s   <$Dc                  UR                   (       a  UR                  5       $ [        U[        R                  5      (       a*  [        UR                  5      S:X  a   eUR                  US9$ [        U[        R                  5      (       a  UR                  SS9nSUl
        X1l        U$ [        U[        R                  5      (       a  UR                  5       $ U$ )Nr   )againstT)maintain_key)r   r   rB   r!   rd  r]   clauses
self_groupr,   _cloner`  	expand_opr$   rG  scalar_values)r   rE   r   rP  rh   s        rF   r   InElementImpl._post_coercionq  s    "" **,,!4!4557??+q000%%h%77!7!788nn$n7G $G (N!2!233((**NrH   rd   r   )r   r   r   r   r   r   rZ  r   preload_moduler   r   r   re   rH   rF   rW  rW  0  sr    I "&	AA A 	A
 A 
A(
 
23 4 4 4DrH   rW  c                  0    \ rS rSrSrSrS rSS.S jrSrg)OnClauseImpli  re   Tc                &    U R                  U5        g rd   r   r   s      rF   r   OnClauseImpl._literal_coercion  s      )rH   N)r   c               H    [        U[        R                  5      (       a  U$ U$ rd   )rB   r   JoinTargetRole)r   r   r   rh   s       rF   r   OnClauseImpl._post_coercion  s#     &(<(<==##rH   )	r   r   r   r   r   r  r   r   r   re   rH   rF   rs  rs    s!    IN* <@  rH   rs  c                  &    \ rS rSrSrSrSS jrSrg)WhereHavingImpli  re   TNc                    [        X5      $ rd   r  r  s      rF   r  WhereHavingImpl._text_coercion  r  rH   rd   r   r   r   r   r   r  r  r   re   rH   rF   rz  rz    s    IN3rH   rz  c                  &    \ rS rSrSrSrSS jrSrg)StatementOptionImpli  re   TNc                .    [         R                  " U5      $ rd   r!   r2   r  s      rF   r  "StatementOptionImpl._text_coercion  s    ""7++rH   rd   r}  re   rH   rF   r  r    s    IN,rH   r  c                      \ rS rSrSrSrg)ColumnArgumentImpli  re   Nr   r   r   r   r   r   re   rH   rF   r  r        IrH   r  c                      \ rS rSrSrSrg)ColumnArgumentOrKeyImpli  re   Nr  re   rH   rF   r  r    r  rH   r  c                  "    \ rS rSrSrSS jrSrg)StrAsPlainColumnImpli  re   Nc                .    [         R                  " U5      $ rd   )r!   r.   r  s      rF   r  #StrAsPlainColumnImpl._text_coercion  s    $$W--rH   rd   )r   r   r   r   r   r  r   re   rH   rF   r  r    s    I.rH   r  c                  &    \ rS rSrSrSrSS jrSrg)ByOfImpli  re   TNc                .    [         R                  " U5      $ rd   )r!   _textual_label_referencer  s      rF   r  ByOfImpl._text_coercion  s    0099rH   rd   r}  re   rH   rF   r  r    s    IN:rH   r  c                      \ rS rSrSrS rSrg)OrderByImpli  re   c                    [        XR                  5      (       a#  UR                  b  [        R                  " U5      $ U$ rd   )rB   r   _order_by_label_elementr!   _label_reference)r   r   rh   s      rF   r   OrderByImpl._post_coercion  s5    x!1!12200<,,X66OrH   Nr   re   rH   rF   r  r    s    IrH   r  c                  :    \ rS rSrSr S         SS jjrSrg)GroupByImpli  re   Nc                `    [        U5      (       a  [        R                  " UR                  6 $ U$ rd   )r   r!   rd  cr   s        rF   r   GroupByImpl._implicit_coercions  s)     (##&&

33OrH   rd   r   r   r   r   r   r   r   r   re   rH   rF   r  r    sF    I "&	

 
 	

 
 

 
rH   r  c                  &    \ rS rSrSrSS.S jrSrg)DMLColumnImpli  re   Frk   c               ,    U(       a  UR                   $ U$ rd   )key)r   rE   rl   rh   s       rF   r   DMLColumnImpl._post_coercion  s    ;;NrH   Nr   re   rH   rF   r  r    s    I05  rH   r  c                  &    \ rS rSrSrSS.S jrSrg)ConstExprImpli  re   Nr  c                   Uc  [         R                  " 5       $ USL a  [         R                  " 5       $ USL a  [         R                  " 5       $ U R	                  X5        g )NFT)r!   r  r  r  r   r  s       rF   r   ConstExprImpl._literal_coercion  sJ    ?==?"??$$_>>##$$W6rH   r  re   rH   rF   r  r    s    I48 7 7rH   r  c                  @    \ rS rSrSr S         SS jjrS rSrg)TruncatedLabelImpli  re   Nc                V    [        U[        5      (       a  U$ U R                  XU5        g rd   r   r   s        rF   r   &TruncatedLabelImpl._implicit_coercions  s&     gs##O$$Wx@rH   c                p    [        U[        R                  5      (       a  U$ [        R                  " U5      $ )zcoerce the given value to :class:`._truncated_label`.

Existing :class:`._truncated_label` and
:class:`._anonymous_label` objects are passed
unchanged.
)rB   r!   _truncated_labelr   s      rF   r   $TruncatedLabelImpl._literal_coercion  s-     gx8899N,,W55rH   rd   r   r   re   rH   rF   r  r    sL    I "&	
A
A 
A 	
A
 
A 

A6rH   r  c                  &    \ rS rSrSrSrSS jrSrg)DDLExpressionImpli  re   TNc                .    [         R                  " U5      $ rd   r  r  s      rF   r   DDLExpressionImpl._text_coercion  s    
 ""7++rH   rd   r}  re   rH   rF   r  r    s    IN,rH   r  c                      \ rS rSrSrSrg)DDLConstraintColumnImpli"  re   Nr  re   rH   rF   r  r  "  r  rH   r  c                      \ rS rSrSrSrg)DDLReferredColumnImpli&  re   Nr  re   rH   rF   r  r  &  r  rH   r  c                  @    \ rS rSrSr S         SS jjrS rSrg)LimitOffsetImpli*  re   Nc                0    Uc  g U R                  XU5        g rd   r   r   s        rF   r   #LimitOffsetImpl._implicit_coercions-  s     $$Wx@rH   c               b    Uc  g [         R                  " U5      n[        R                  " X%USS9$ )NT)r  r"  )r   asintr$   _OffsetLimitParam)r   rE   r   r  rh   values         rF   r   !LimitOffsetImpl._literal_coercion9  s4     ?JJw'E//5 rH   rd   r   r   re   rH   rF   r  r  *  sL    I "&	
A
A 
A 	
A
 
A 

A	rH   r  c                  H   ^  \ rS rSrSr S         SU 4S jjjrSrU =r$ )LabeledColumnExprImpliE  re   c                  > [        U[        R                  5      (       a  UR                  S 5      $ [        TU ]  " X4SU0UD6n[        U[        R                  5      (       a  UR                  S 5      $ U R                  XU5        g Nr   )rB   r   ExpressionElementRolelabelr+  r   r   )r   rE   r   r   rh   newr   s         rF   r   )LabeledColumnExprImpl._implicit_coercionsH  s|     h ; ;<<>>$'''-+268C #u::;;yy&((8DrH   rd   r   )r   r   r   r   r   r   r   r.  r/  s   @rF   r  r  E  sN    I "&	EE E 	E
 E 
E ErH   r  c                     ^  \ rS rSrSrSrSrSr\R                  " S\R                  5      r S	SS.U 4S jjjrS
S jrSrU =r$ )ColumnsClauseImpli[  re   Tz^\w\S*$N)r   c                  > U(       d1  [        U[        5      (       a  SSR                  S U 5       5       S3n[        TU ]  " U4X#US.UD6$ )NzDid you mean to say select(z, c              3  8   #    U  H  n[        U5      v   M     g 7frd   )r   ).0es     rF   	<genexpr>8ColumnsClauseImpl._raise_for_expected.<locals>.<genexpr>j  s     6gT!WWgs   z)?rF  )rB   rZ   joinr+  r   )r   rE   r   r   r   rh   r   s         rF   r   %ColumnsClauseImpl._raise_for_expectedd  sa     *Wd33-996g667r; 
 w*
$
JL
 	
rH   c                    [        U5      nU R                  R                  U5      (       + n[        R                  " S[
        R                  " U5      U(       a  SU< 3OSU(       a  SOSS.-  5      e)NzTextual column expression %(column)r %(argname)sshould be explicitly declared with text(%(column)r), or use %(literal_column)s(%(column)r) for more specificityr   r   literal_columnr   )r   r   r  )rK   _guess_straight_columnmatchr   r^   r   r   )r   rE   r   guess_is_literals       rF   r   ColumnsClauseImpl._text_coercionq  si    g,#::@@II#
 ..w7=D9"(8$h		

 	
rH   r   rd   )r   r   r   r   r   r  r  r  recompileIr  r   r  r   r.  r/  s   @rF   r  r  [  sN    INLZZ
BDD9 /3
>B
 

 
rH   r  c                      \ rS rSrSrSrg)ReturnsRowsImpli  re   Nr  re   rH   rF   r  r    r  rH   r  c                  V   ^  \ rS rSrSrSS.S jr S         SU 4S jjjrSrU =r$ )	StatementImpli  re   Nr  c                   XLa$  [        U[        5      (       d   UR                    U$ U$ ! [         a    [        R
                  " SU-  S5         U$ f = f)Na  Object %r should not be used directly in a SQL statement context, such as passing to methods such as session.execute().  This usage will be disallowed in a future release.  Please use Core select() / update() / delete() etc. with Session.execute() and other statement execution methods.1.4)rB   rK   _execute_on_connectionr   r   warn_deprecated)r   r   r   r   rh   s        rF   r   StatementImpl._post_coercion  sn     +Jc5
 5

 77 x " 
$$ "22 	 
s   + $AAc                P   > UR                   (       a  U$ [        TU ]  " X4SU0UD6$ r  )r   r+  r   )r   rE   r   r   rh   r   s        rF   r   !StatementImpl._implicit_coercions  s8     &&O7.+268 rH   rd   r   )	r   r   r   r   r   r   r   r   r.  r/  s   @rF   r  r    sQ    I 6:8 "&	  	
  
 rH   r  c                  :    \ rS rSrSr S         SS jjrSrg)SelectStatementImpli  re   Nc                j    UR                   (       a  UR                  5       $ U R                  XU5        g rd   )_is_text_clausecolumnsr   r   s        rF   r   'SelectStatementImpl._implicit_coercions  s,     ####%%$$Wx@rH   rd   r   r  re   rH   rF   r  r    sM    I "&	
A
A 
A 	
A
 
A 

A 
ArH   r  c                      \ rS rSrSrSrg)
HasCTEImpli  re   Nr  re   rH   rF   r  r    r  rH   r  c                      \ rS rSrSrSrg)	IsCTEImpli  re   Nr  re   rH   rF   r  r    r  rH   r  c                  X    \ rS rSrSrSrSS.S jr S
SS.           SS	 jjjrSrg)JoinTargetImpli  re   TNr  c               &    U R                  X5        g rd   r   r  s       rF   r    JoinTargetImpl._literal_coercion  s      2rH   F)legacyc                   [        U[        R                  5      (       a  U$ U(       a(  UR                  (       a  [        R
                  " SSS9  U$ U R                  XU5        g NzImplicit coercion of SELECT and textual SELECT constructs into FROM clauses is deprecated; please call .subquery() on any Core select or ORM Query object in order to produce a subquery object.r  )version)rB   r   rw  r   r   r  r   )r   rE   r   r   r  rh   s         rF   r   "JoinTargetImpl._implicit_coercions  sX     gu3344 N00  6  O$$Wx@rH   rd   )rE   r   r   r   r   r   r  boolrh   r   r   r   )	r   r   r   r   r   r   r   r   r   re   rH   rF   r  r    sq    I+/(48 3 "&	A AA A 	A A A 
A ArH   r  c                  Z    \ rS rSrSr S
SSS.             SS jjjrSS.S	 jrSrg)FromClauseImpli  re   NFT)r{   allow_selectc                   UR                   (       a@  U(       a  UR                  5       $ U(       a!  [        R                  " SSS9  UR                  $ g UR
                  (       a  U$ U R                  XU5        g r  )r   subqueryr   r  _implicit_subqueryr  r   )r   rE   r   r   r{   r  rh   s          rF   r   "FromClauseImpl._implicit_coercions  sm     ## ((**$$: "  222  %%O$$Wx@rH   )
deannotatec               4    U(       a  UR                  5       $ U$ rd   )_deannotate)r   rE   r   rh   s       rF   r   FromClauseImpl._post_coercion  s    &&((NrH   rd   )rE   r   r   r   r   r   r{   r  r  r  rh   r   r   r   )r   r   r   r   r   r   r   r   re   rH   rF   r  r    sz    I "&	A #(!AA A 	A  A A A 
A6 5:  rH   r  c                  F    \ rS rSrSr SSS.           SS jjjrSrg)	StrictFromClauseImpli  re   NF)r  c                   UR                   (       a(  U(       a!  [        R                  " SSS9  UR                  $ U R	                  XU5        g r  )r   r   r  r  r   )r   rE   r   r   r  rh   s         rF   r   (StrictFromClauseImpl._implicit_coercions  sE     ##  #  ...$$Wx@rH   rd   )rE   r   r   r   r   r   r  r  rh   r   r   r   r  re   rH   rF   r  r    sc    I "&	A #AA A 	A A A 
A ArH   r  c                  (    \ rS rSrSrSSS.S jrSrg)AnonymizedFromClauseImpli/  re   FN)flatr   c               *    Ub   eUR                  US9$ )N)r
  )_anonymous_fromclause)r   rE   r
  r   rh   s        rF   r   'AnonymizedFromClauseImpl._post_coercion2  s     ||,,$,77rH   r   re   rH   rF   r	  r	  /  s    I.3$ 8 8rH   r	  c                      \ rS rSrSrS rSrg)DMLTableImpli8  re   c                D    SUR                   ;   a  UR                   S   $ U$ )N	dml_table)_annotationsr   s      rF   r   DMLTableImpl._post_coercion;  s&    '...''44NrH   Nr   re   rH   rF   r  r  8  s    IrH   r  c                  :    \ rS rSrSr S         SS jjrSrg)DMLSelectImpliB  re   Nc                    UR                   (       aV  [        U[        R                  5      (       a'  UR                  R
                  (       a  UR                  $ UR                  5       $ U R                  XU5        g rd   )r   rB   r$   rY  rE   r   r[  r   r   s        rF   r   !DMLSelectImpl._implicit_coercionsE  sX     ##8Z%5%566$$44'''(($$Wx@rH   rd   r   r  re   rH   rF   r  r  B  sM    I "&	AA A 	A
 A 
A ArH   r  c                  0   ^  \ rS rSrSrSU 4S jjrSrU =r$ )CompoundElementImpliX  re   c                   > [        U[        R                  5      (       a  UR                  (       a  SnOSnOS n[        TU ]  " U4X#US.UD6$ )NzFUse the plain select() object without calling .subquery() or .alias().z9To SELECT from any FROM clause, use the .select() method.rF  )rB   r   FromClauseRole_is_subqueryr+  r   rI  s         rF   r   'CompoundElementImpl._raise_for_expected[  sb    gu3344##7  P  Fw*
$
JL
 	
rH   r   r-  r/  s   @rF   r  r  X  s    I
 
rH   r  RoleImpl)rE   r   r   r  )rT   rK   rU   rK   rV   rK   r   zCallable[[_F], _F])r_   rK   r`   rK   ra   z+Union[Sequence[_T], Sequence[Sequence[_T]]]r   rY   )rg   zType[roles.TruncatedLabelRole]rE   r   rh   r   r   rK   )
rg   Type[roles.DMLColumnRole]rE   r   rl   Literal[True]rh   r   r   rK   )rg   zType[roles.LiteralValueRole]rE   r   rh   r   r   zBindParameter[Any])rg   z!Type[roles.DDLReferredColumnRole]rE   r   rh   r   r   Union[Column[Any], str])rg   #Type[roles.DDLConstraintColumnRole]rE   r   rh   r   r   r"  )rg   zType[roles.StatementOptionRole]rE   r   rh   r   r   z%Union[ColumnElement[Any], TextClause])rg   z&Type[roles.LabeledColumnExprRole[Any]]rE   z=Union[_ColumnExpressionArgument[_T], _OnlyColumnArgument[_T]]rh   r   r   zNamedColumn[_T])rg   zgUnion[Type[roles.ExpressionElementRole[Any]], Type[roles.LimitOffsetRole], Type[roles.WhereHavingRole]]rE   z_ColumnExpressionArgument[_T]rh   r   r   zColumnElement[_T])rg   zUnion[Type[roles.ExpressionElementRole[Any]], Type[roles.LimitOffsetRole], Type[roles.WhereHavingRole], Type[roles.OnClauseRole], Type[roles.ColumnArgumentRole]]rE   r   rh   r   r   zColumnElement[Any])rg   zType[roles.DMLTableRole]rE   r(   rh   r   r   r+   )rg   zType[roles.HasCTERole]rE   r7   rh   r   r   r7   )rg   zType[roles.SelectStatementRole]rE   r8   rh   r   r   r8   )rg   Type[roles.FromClauseRole]rE   r)   rh   r   r   r6   )
rg   r$  rE   r8   r{   r!  rh   r   r   r9   )rg   zType[roles.ColumnsClauseRole]rE   z_ColumnsClauseArgument[Any]rh   r   r   r4   )rg   zType[roles.JoinTargetRole]rE   r5   rh   r   r   r5   )rg   	Type[_SR]rE   r   rh   r   r   r   )rg   r%  rE   r   r   zOptional[ClauseElement]r   r   r   r  r   r  rh   r   r   r   )rg   r   rE   r   rh   r   r   rK   )rg   r#  r   zIterable[_DDLColumnArgument]r   zwIterator[Tuple[Union[str, Column[Any]], Optional[ColumnClause[Any]], Optional[str], Optional[Union[Column[Any], str]]]])rE   r   r   r   r   zType[exc.SQLAlchemyError]r   r   r   r   r   r   )
__future__r   collections.abcabcrJ   r  r  r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   _typingr   baser   r   	cache_keyr   r   r   r   r   util.typingr    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   dmlr+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   SQLRoler;   r=   
StringRoler>   r?   rG   rL   rW   rb   ri   r   r   r   r   r   r   r   r^   r  r  r
  r  r'  r1  r8  r>  rL  rW  rs  rz  r  r  r  r  ByOfRoler  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r  r   dirr   r   clsendswithreplaceglobalsr   r  ee_implintr  rK   floatpy_typere   rH   rF   <module>r:     sL	   # )  	                     # "  "     !	2/+*,,%''&'%+$1/&"&$/e5==)T#s(+,~U-=-=>T	5#L!.1 &&& 6& 	&$ 

(  		 
 

  	
# 	
  	 
 

&  	 
 
"
+"" " 	" 
" 
"
-"" " 	" 
" 
0
)00 0 +	0 
0 

0J  	 
 
 +   
 


 
 
 
 

 

"  	 
 

   	 
 

)  	 
 

$   	 
 

 (+	
$ %	
   
 
 
' (    	  
  

$   	 
 

  		 
 6:!$q

q
q
 3	q

 q
 q
 q
 q
 	q
h4
#4.149<445
-5-55<49 49n* *! !
 
Jx J< "),):):# ' 	
 
 $	7h 	73h 3<x <&x &Rh &8 &(
,h (
V-x 4SH Sl#X &3o'7 3,/8 ,( / .?H .: 0(ENN :
(H 
(H  %x 7H 76h 6:
,_h 
,k+<h 3 h 6E1 E,&
(/8 &
Rh 'OX 'TA/8 A   $AX $AN"% "JA> A283 8#_h AOX A,
/8 
*  JD
%
C}}V||FF+799T?3'D $L  5667GsE*=DU009: + rH   