Ë
    r™ãj±  ã                  óø  — 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r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de¬«      Z eded¬«      Z G d„ d«      Z G d„ de«      Z G d„ d«      Z G d„ d«      Z G d„ de«      Z G d„ d e«      Z G d!„ d"e«      Z G d#„ d$e«      Z G d%„ d&e«      Z G d'„ d(e«      Z G d)„ d*e«      Z G d+„ d,e«      Z  G d-„ d.e e«      Z! G d/„ d0ee«      Z" G d1„ d2e"eee«      Z# G d3„ d4ee   e«      Z$ G d5„ d6e«      Z% G d7„ d8e«      Z& G d9„ d:eee&«      Z' G d;„ d<ee&«      Z( G d=„ d>e«      Z) G d?„ d@e)«      Z* G dA„ dBee)«      Z+ G dC„ dDe+«      Z, G dE„ dFe$e   «      Z- G dG„ dHe-e   «      Z. G dI„ dJe-e   «      Z/ G dK„ dLe-e   «      Z0 G dM„ dNe«      Z1 G dO„ dPeee)«      Z2 G dQ„ dRe#e2«      Z3 G dS„ dTe3«      Z4 G dU„ dVe«      Z5 G dW„ dXe«      Z6 G dY„ dZe6e5«      Z7 G d[„ d\e5«      Z8 G d]„ d^e«      Z9 G d_„ d`ee«      Z: G da„ dbe6«      Z; G dc„ dde3«      Z< G de„ dfe«      Z= G dg„ dhe«      Z> G di„ dje6«      Z? G dk„ dle)«      Z@ G dm„ dne«      ZA G do„ dpeA«      ZByq)ré    )Úannotations)ÚAny)ÚGeneric)ÚLiteral)ÚOptional)ÚTYPE_CHECKING)ÚTypeVaré   )Úutilé   )Ú_PropagateAttrsType)ÚLabel)Ú_SelectIterable)Ú
FromClause)ÚSubqueryÚ_T)ÚboundÚ_T_coT)r   Ú	covariantc                  ó   — e Zd ZdZdZdZdZy)ÚSQLRolezþDefine a "role" within a SQL statement structure.

    Classes within SQL Core participate within SQLRole hierarchies in order
    to more accurately indicate where they may be used within SQL statements
    of all types.

    .. versionadded:: 1.4

    © FN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__Úallows_lambdaÚuses_inspectionr   ó    ú_/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/sqlalchemy/sql/roles.pyr   r      s   „ ñð €IØ€MØ�Or    r   c                  ó   — e Zd ZdZdZy)ÚSyntaxExtensionRoler   zSyntax extension constructN©r   r   r   r   Ú
_role_namer   r    r!   r#   r#   -   s   „ Ø€IØ-�Jr    r#   c                  ó$   — e Zd ZU dZdZded<   dZy)ÚUsesInspectionr   NzLiteral[None]Ú_post_inspectT)r   r   r   r   r(   Ú__annotations__r   r   r    r!   r'   r'   2   s   … Ø€IØ#'€M�=Ó'Ø�Or    r'   c                  ó   — e Zd ZdZdZy)ÚAllowsLambdaRoler   TN)r   r   r   r   r   r   r    r!   r+   r+   8   s   „ Ø€IØ�Mr    r+   c                  ó   — e Zd ZdZdZy)ÚHasCacheKeyRoler   zCacheable Core or ORM objectNr$   r   r    r!   r-   r-   =   s   „ Ø€IØ/�Jr    r-   c                  ó   — e Zd ZdZdZy)ÚExecutableOptionRoler   z"ExecutionOption Core or ORM objectNr$   r   r    r!   r/   r/   B   s   „ Ø€IØ5�Jr    r/   c                  ó   — e Zd ZdZdZy)ÚLiteralValueRoler   zLiteral Python valueNr$   r   r    r!   r1   r1   G   s   „ Ø€IØ'�Jr    r1   c                  ó   — e Zd ZdZdZy)ÚColumnArgumentRoler   zColumn expressionNr$   r   r    r!   r3   r3   L   s   „ Ø€IØ$�Jr    r3   c                  ó   — e Zd ZdZdZy)ÚColumnArgumentOrKeyRoler   úColumn expression or string keyNr$   r   r    r!   r5   r5   Q   ó   „ Ø€IØ2�Jr    r5   c                  ó   — e Zd ZdZdZy)ÚStrAsPlainColumnRoler   r6   Nr$   r   r    r!   r9   r9   V   r7   r    r9   c                  ó   — e Zd ZdZdZy)ÚColumnListRolezCElements suitable for forming comma separated lists of expressions.r   N©r   r   r   r   r   r   r    r!   r;   r;   [   s
   „ ÙMà�Ir    r;   c                  ó   — e Zd ZdZdZy)Ú
StringRolez/mixin indicating a role that results in stringsr   Nr<   r   r    r!   r>   r>   a   s
   „ Ù9à�Ir    r>   c                  ó   — e Zd ZdZdZy)ÚTruncatedLabelRoler   zString SQL identifierNr$   r   r    r!   r@   r@   g   s   „ Ø€IØ(�Jr    r@   c                  ó   — e Zd ZdZdZdZy)ÚTStringElementRolez:Role for elements that can be interpolated into a TString.r   zTString interpolatable elementN©r   r   r   r   r   r%   r   r    r!   rB   rB   l   s   „ ÙDà€IØ1�Jr    rB   c                  ó&   — e Zd ZdZdZedd„«       Zy)ÚColumnsClauseRoler   z?Column expression, FROM clause, or other columns clause elementc                ó   — t        «       ‚©N©ÚNotImplementedError©Úselfs    r!   Ú_select_iterablez"ColumnsClauseRole._select_iterable{   s   € ä!Ó#Ð#r    N)Úreturnr   )r   r   r   r   r%   ÚpropertyrL   r   r    r!   rE   rE   s   s%   „ ð €IàIð ð ò$ó ñ$r    rE   c                  ó   — e Zd ZdZdZy)ÚTypedColumnsClauseRolez'element-typed form of ColumnsClauseRoler   Nr<   r   r    r!   rP   rP   €   s
   „ Ù1à�Ir    rP   c                  ó   — e Zd ZdZdZy)ÚLimitOffsetRoler   zLIMIT / OFFSET expressionNr$   r   r    r!   rR   rR   †   s   „ Ø€IØ,�Jr    rR   c                  ó   — e Zd ZdZdZy)ÚByOfRoler   zGROUP BY / OF / etc. expressionNr$   r   r    r!   rT   rT   ‹   r7   r    rT   c                  ó   — e Zd ZdZdZy)ÚGroupByRoler   zGROUP BY expressionNr$   r   r    r!   rV   rV   �   s   „ Ø€Ið
 '�Jr    rV   c                  ó   — e Zd ZdZdZy)ÚOrderByRoler   zORDER BY expressionNr$   r   r    r!   rX   rX   ™   s   „ Ø€IØ&�Jr    rX   c                  ó   — e Zd ZdZy)ÚStructuralRoler   N©r   r   r   r   r   r    r!   rZ   rZ   ž   ó   „ Ø�Ir    rZ   c                  ó   — e Zd ZdZdZy)ÚStatementOptionRoler   z statement sub-expression elementNr$   r   r    r!   r^   r^   ¢   s   „ Ø€IØ3�Jr    r^   c                  ó   — e Zd ZdZdZy)ÚOnClauseRoler   zCON clause, typically a SQL expression or ORM relationship attributeNr$   r   r    r!   r`   r`   §   s   „ Ø€Ið	%ñ r    r`   c                  ó   — e Zd ZdZdZy)ÚWhereHavingRoler   z$SQL expression for WHERE/HAVING roleNr$   r   r    r!   rb   rb   ¯   s   „ Ø€IØ7�Jr    rb   c                  ó   — e Zd ZdZdZdd„Zy)ÚExpressionElementRoler   zSQL expression elementc                ó   — t        «       ‚rG   rH   )rK   Únames     r!   ÚlabelzExpressionElementRole.label¾   s   € Ü!Ó#Ð#r    N)rf   úOptional[str]rM   z	Label[_T])r   r   r   r   r%   rg   r   r    r!   rd   rd   ´   s   „ ð €IØ)€Jô$r    rd   c                  ó   — e Zd ZdZdZy)ÚConstExprRoler   z#Constant True/False/None expressionNr$   r   r    r!   rj   rj   Â   s   „ Ø€IØ6�Jr    rj   c                  ó   — e Zd ZdZy)ÚLabeledColumnExprRoler   Nr[   r   r    r!   rl   rl   Ç   r\   r    rl   c                  ó   — e Zd ZdZdZy)ÚBinaryElementRoler   z'SQL expression element or literal valueNr$   r   r    r!   rn   rn   Ë   s   „ Ø€IØ:�Jr    rn   c                  ó   — e Zd ZdZdZy)ÚInElementRoler   z?IN expression list, SELECT construct, or bound parameter objectNr$   r   r    r!   rp   rp   Ð   s   „ Ø€IàIñ r    rp   c                  ó   — e Zd ZdZdZy)ÚJoinTargetRoler   zGJoin target, typically a FROM expression, or ORM relationship attributeNr$   r   r    r!   rr   rr   ×   s   „ Ø€Ið	!ñ r    rr   c                  ó$   — e Zd ZU dZdZdZded<   y)ÚFromClauseRoler   z2FROM expression, such as a Table or alias() objectFÚboolÚnamed_with_columnN)r   r   r   r   r%   Ú_is_subqueryr)   r   r    r!   rt   rt   ß   s   … Ø€IØE€Jà€LàÔr    rt   c                  ó0   — e Zd ZdZerdddœ	 	 	 	 	 dd„Zyy)ÚAnonymizedFromClauseRoler   NF)rf   Úflatc                ó   — y rG   r   )rK   rf   rz   s      r!   Ú_anonymous_fromclausez.AnonymizedFromClauseRole._anonymous_fromclauseí   s   € àr    )rf   rh   rz   ru   rM   r   )r   r   r   r   r   r|   r   r    r!   ry   ry   è   s3   „ Ø€Iáð ,0¸eñ	Ø(ð	Ø7;ð	àô	ð r    ry   c                  ó   — e Zd ZdZdZy)ÚReturnsRowsRoler   zcRow returning expression such as a SELECT, a FROM clause, or an INSERT/UPDATE/DELETE with RETURNINGNr$   r   r    r!   r~   r~   ò   s   „ Ø€Ið	.ñ r    r~   c                  óX   — e Zd ZdZdZerej                  dd„«       Zyej                  Zy)ÚStatementRoler   z"Executable SQL or text() constructc                 ó   — y rG   r   rJ   s    r!   Ú_propagate_attrszStatementRole._propagate_attrs   s   € Ø;>r    N)rM   r   )
r   r   r   r   r%   r   r   Úmemoized_propertyr‚   Ú
EMPTY_DICTr   r    r!   r€   r€   ú   s/   „ Ø€IØ5€Jáà	×	Ñ	Ú>ó 
 Ù>ð  Ÿ?™?Ñr    r€   c                  ó   — e Zd ZdZdZdd„Zy)ÚSelectStatementRoler   z/SELECT construct or equivalent text() constructc                ó   — t        d«      ‚)NzFAll SelectStatementRole objects should implement a .subquery() method.rH   rJ   s    r!   ÚsubqueryzSelectStatementRole.subquery  s   € Ü!ð"ó
ð 	
r    N)rM   r   )r   r   r   r   r%   rˆ   r   r    r!   r†   r†     s   „ Ø€IØB€Jô
r    r†   c                  ó   — e Zd ZdZy)Ú
HasCTERoler   Nr[   r   r    r!   rŠ   rŠ     r\   r    rŠ   c                  ó   — e Zd ZdZdZy)Ú	IsCTERoler   z
CTE objectNr$   r   r    r!   rŒ   rŒ     s   „ Ø€IØ�Jr    rŒ   c                  ó   — e Zd ZdZdZdZy)ÚCompoundElementRolezDSELECT statements inside a CompoundSelect, e.g. UNION, EXTRACT, etc.r   z@SELECT construct for inclusion in a UNION or other set constructNrC   r   r    r!   rŽ   rŽ     s   „ ÙNà€IàJñ r    rŽ   c                  ó   — e Zd ZdZy)ÚDMLRoler   Nr[   r   r    r!   r�   r�   %  r\   r    r�   c                  ó   — e Zd ZdZdZy)ÚDMLTableRoler   z-subject table for an INSERT, UPDATE or DELETENr$   r   r    r!   r’   r’   )  s   „ Ø€IØ@�Jr    r’   c                  ó   — e Zd ZdZdZy)ÚDMLColumnRoler   z*SET/VALUES column expression or string keyNr$   r   r    r!   r”   r”   .  s   „ Ø€IØ=�Jr    r”   c                  ó   — e Zd ZdZdZdZy)ÚDMLSelectRolez@A SELECT statement embedded in DML, typically INSERT from SELECTr   z-SELECT statement or equivalent textual objectNrC   r   r    r!   r–   r–   3  s   „ ÙJà€IØ@�Jr    r–   c                  ó   — e Zd ZdZy)ÚDDLRoler   Nr[   r   r    r!   r˜   r˜   :  r\   r    r˜   c                  ó   — e Zd ZdZdZy)ÚDDLExpressionRoler   z)SQL expression element for DDL constraintNr$   r   r    r!   rš   rš   >  s   „ Ø€IØ<�Jr    rš   c                  ó   — e Zd ZdZdZy)ÚDDLConstraintColumnRoler   z:String column name or column expression for DDL constraintNr$   r   r    r!   rœ   rœ   C  s   „ Ø€IØM�Jr    rœ   c                  ó   — e Zd ZdZdZy)ÚDDLReferredColumnRoler   zBString column name or Column object for DDL foreign key constraintNr$   r   r    r!   rž   rž   H  s   „ Ø€IàLñ r    rž   N)CÚ
__future__r   Útypingr   r   r   r   r   r	   Ú r   Ú_typingr   Úelementsr   Ú
selectabler   r   r   r   r   r   r#   r'   r+   r-   r/   r1   r3   r5   r9   r;   r>   r@   rB   rE   rP   rR   rT   rV   rX   rZ   r^   r`   rb   rd   rj   rl   rn   rp   rr   rt   ry   r~   r€   r†   rŠ   rŒ   rŽ   r�   r’   r”   r–   r˜   rš   rœ   rž   r   r    r!   ú<module>r¥      s¸  ðõ #å Ý Ý Ý Ý  Ý å áÝ,ÝÝ+Ý&Ý$áˆT˜Ô€Ù�˜s¨dÔ3€÷ñ ô .˜'ô .÷
ñ ÷ñ ô
0�gô 0ô
6˜7ô 6ô
(�wô (ô
%˜ô %ô
3Ð0ô 3ô
3Ð-ô 3ô
�Wô ô�ô ô)˜ Wô )ô
2˜¨ô 2ô
$ØÐ(¨.¸.ô
$ô˜W U™^¨Wô ô-�gô -ô
3ˆ~ô 3ô
'Ð" N°Hô 'ô'Ð" Hô 'ô
�Wô ô4˜.ô 4ô
Ð# ^ô ô8�lô 8ô
$Ð2°5Ñ9ô $ô7Ð)¨"Ñ-ô 7ô
Ð1°"Ñ5ô ô;Ð-¨bÑ1ô ;ô
�Gô ôÐ% ~°~ô ôÐ&¨ô ô˜~ô ô�gô ô
+�Gô 
+ô
˜-¨ô 
ô�ô ô�ô ô
Ð*¨Gô ôˆmô ôA�>ô Aô
>�Gô >ô
A�Gô Aôˆmô ô=˜ô =ô
N˜gô Nô
Ð3õ r    