+
    i                    	   ^ RI Ht ^ RIHt ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIH	t	 ^ RIH
t
 ^ R	IHt ^ R
IHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^RIHt ^RIHt ^RIH t  ]'       d   ^ RIH!t! ^ RIH"t" ^ RIH#t# ^ RIH$t$ ^ RIH%t% ^ RI&H't' ^ RI&H(t( ^ RI&H)t) ^ RI&H*t* ^ R I&H+t+ ^ R!I&H,t, ^ R"I&H-t- ^ R#I&H.t. ^ R$I&H/t/ ^ R%I&H0t0 ^ R&I1H2t2 ^ R'I3H4t4 ^ R(I5H6t6 ^ R)I7H8t8 ^ R*I9H:t: ^ R+I9H;t; ^t<R, R- lt=R. R/ lt>R0 R1 lt?]P                  ! 4       ;tAtBR2 R3 ltCR4 R5 ltDR6 R7 ltE]BP                  ]Pv                  4      R8 R9 l4       tG]BP                  ]P                  4      R: R; l4       tI]BP                  ]P                  4      R< R= l4       tK]BP                  ]P                  4      R> R? l4       tM]BP                  ]P                  4      R@ RA l4       tORB RC ltP]BP                  ]P                  4      RD RE l4       tR]BP                  ]P                  4      RF RG l4       tT]BP                  ]P                  4      RH RI l4       tV]BP                  ]P                  4      RJ RK l4       tX]BP                  ]P                  4      RL 4       tZ]BP                  ]P                  4      RM 4       t\]BP                  ]P                  4      RN RO l4       t^]BP                  ]P                  4      RP RQ l4       t`]BP                  ]P                  4      RR RS l4       tb]BP                  ]P                  4      RT RU l4       td ! RV RW4      teRX RY ltfRZR[R\R]R^R]/R_ R` lltgRa Rb lthRc Rd ltiRe tjRf Rg ltkRh Ri ltlRj Rk ltmRl Rm ltnRn Ro ltoRRp Rq lltpRr Rs ltqRt Ru ltrRv Rw ltsRRx Ry llttRz R{ ltuR| R} ltvRR~ R lltw]P                  ! 4       txR R lty]xP                  ]P^                  4      R R l4       tzR R lt{R R lt|]xP                  ]PX                  4      R R l4       t}]xP                  ]P`                  4      R R l4       t~]xP                  ]PN                  4      R R l4       t]BP                  ]EP                   4      R R l4       t]AEP                  4       tBR# )    )annotations)StringION)Any)cast)Dict)List)Optional)Tuple)TYPE_CHECKING)Union)PythonPrinter)schema)sql)types)_DialectArgView)conv)Label)quoted_name)util)ops)sqla_compat)Literal)Computed)Identity)ColumnElement)
TextClause)CheckConstraint)Column)
Constraint)FetchedValue)
ForeignKey)ForeignKeyConstraint)Index)MetaData)PrimaryKeyConstraint)UniqueConstraint)ARRAY)
TypeEngine)AutogenContext)Config)MigrationScript)ModifyTableOpsc               $    V ^8  d   QhRRRRRR/# )   autogen_contextr)   namezsqla_compat._ConstraintNamereturnz*Optional[Union[quoted_name, str, _f_name]] )formats   "uC:\Users\petid\OneDrive\Desktop\Maestro\MAESTRO\maestro-backend\venv\Lib\site-packages\alembic/autogenerate/render.py__annotate__r5   ;   s&     9 9#9
%9 09    c                    \        V\        4      '       d   \        \        V 4      V4      # \        P
                  ! V4      # N)
isinstancer   _f_name_alembic_autogenerate_prefixr   constraint_name_or_none)r/   r0   s   &&r4   _render_gen_namer=   ;   s5     $3ODdKK22488r6   c                    V ^8  d   QhRRRR/# )r.   textstrr1   r2   )r3   s   "r4   r5   r5   E   s      # # r6   c                    \         P                  ! R \         P                  4      P                  RV 4      P	                  4       p \         P                  ! R\         P                  4      P                  RV 4      p V # )^    z +$ )recompileMsubstrip)r?   s   &r4   _indentrJ   E   sR    ::dBDD!%%fd399;D::fbdd#''D1DKr6   c               (    V ^8  d   QhRRRRRRRR/# )	r.   r/   r)   migration_scriptr+   template_argszDict[str, Union[str, Config]]r1   Noner2   )r3   s   "r4   r5   r5   K   s0     : :#:%: 1: 
	:r6   c                *   V P                   p\        VP                  VP                  4       FE  w  rE\	        \        W@4      4      W$P                  &   \	        \        WP4      4      W%P                  &   KG  	  R P                  \        V4      4      VR&   R# )
importsN)
rQ   zipupgrade_ops_listdowngrade_ops_listrJ   _render_cmd_bodyupgrade_tokendowngrade_tokenjoinsorted)r/   rL   rM   rQ   upgrade_opsdowngrade_opss   &&&   r4    _render_python_into_templatevarsr\   K   s    
 %%G&)))+;+N+N'" 4;[:4
//0 8?]<8
334'  $yy9M)r6   c               $    V ^8  d   QhRRRRRR/# )r.   op_containerzops.OpContainerr/   r)   r1   r@   r2   )r3   s   "r4   r5   r5   a   s&      !# 	r6   c                `   \        4       p\        V4      pVP                  R 4       RpV P                   F=  p\	        W4      pT;'       g    \        V4      pV F  pVP                  V4       K  	  K?  	  V'       g   VP                  R4       VP                  R4       VP                  4       # )z=# ### commands auto generated by Alembic - please adjust! ###Fpassz# ### end Alembic commands ###)r   r   	writeliner   	render_opboolgetvalue)r^   r/   bufprinter	has_linesoplineslines   &&      r4   rU   rU   a   s     *CC GG I/.,,e	Dd# 	  &!67<<>r6   c               $    V ^8  d   QhRRRRRR/# )r.   r/   r)   rh   ops.MigrateOperationr1   	List[str]r2   )r3   s   "r4   r5   r5   |   s$      #)=r6   c                h    \         P                  V4      p\        P                  ! V! W4      4      pV# r8   )	renderersdispatchr   to_list)r/   rh   rendererri   s   &&  r4   rb   rb   |   s,     !!"%HLL/67ELr6   c               $    V ^8  d   QhRRRRRR/# )r.   r/   r)   rh   rl   r1   r@   r2   )r3   s   "r4   r5   r5      s$     5 5#5)=55r6   c                6    R P                  \        W4      4      # )rP   )rX   rb   r/   rh   s   &&r4   render_op_textrv      s     99Y344r6   c               $    V ^8  d   QhRRRRRR/# )r.   r/   r)   rh   r,   r1   rm   r2   )r3   s   "r4   r5   r5      s$      #)7r6   c           	     &   V P                   pVP                  R R4      pVP                  '       d   . pV'       d   V P                  4       ;_uu_ 4        VP	                  RVP
                  : RVP                  : R24       VP                   F  p\        W4      pVP                  V4       K!  	  VP	                  R4       RRR4       V# VP                   F  p\        W4      pVP                  V4       K!  	  V# . #   + '       g   i     T# ; i)render_as_batchFzwith op.batch_alter_table(z	, schema=z) as batch_op:rD   N)	optsgetr   _within_batchappend
table_namer   rb   extend)r/   rh   rz   ry   ri   t_opt_liness   &&     r4   _render_modify_tabler      s     Dhh0%8O	vvv ..00}}bii1 FFD'>GLL) # R  1 	 #O:W%  	! 10 s   A/C??D	c               $    V ^8  d   QhRRRRRR/# )r.   r/   r)   rh   zops.CreateTableCommentOpr1   r@   r2   )r3   s   "r4   r5   r5      s$      #)Ar6   c           	     V   V P                   '       d   R pMRpTP                  \        V 4      VP                  VP                  e   RVP                  ,          MRVP
                  e   RVP
                  ,          MRVP                  e   RVP                  ,          RR7      # RRR7      # )zV{prefix}create_table_comment(
{indent}{comment},
{indent}existing_comment={existing}
)z{prefix}create_table_comment(
{indent}'{tname}',
{indent}{comment},
{indent}existing_comment={existing},
{indent}schema={schema}
)N%r'%s'rC   )prefixtnamecommentexistingr   indent)
_has_batchr3   r;   r~   r   existing_commentr   r/   rh   templs   && r4   _render_create_table_commentr      s     !!! 	 	 <<+O<mm%'ZZ%;rzz! "". 2&&&%'YY%:v		!    AE   r6   c               $    V ^8  d   QhRRRRRR/# )r.   r/   r)   rh   zops.DropTableCommentOpr1   r@   r2   )r3   s   "r4   r5   r5      s$      #)?r6   c                   V P                   '       d   R pMRpTP                  \        V 4      VP                  VP                  e   RVP                  ,          MRVP
                  e   RVP
                  ,          RR7      # RRR7      # )zA{prefix}drop_table_comment(
{indent}existing_comment={existing}
)zm{prefix}drop_table_comment(
{indent}'{tname}',
{indent}existing_comment={existing},
{indent}schema={schema}
)Nr   r   rC   )r   r   r   r   r   )r   r3   r;   r~   r   r   r   s   && r4   _render_drop_table_commentr      s     !!! 	 	 <<+O<mm "". 2&&&%'YY%:v		!  
 
 AE  
 
r6   c               $    V ^8  d   QhRRRRRR/# )r.   r/   r)   rh   zops.CreateTableOpr1   r@   r2   )r3   s   "r4   r5   r5      s"     6 6 64E 6# 6r6   c                   VP                  4       pVP                   Uu. uF  p\        W04      NK  	  up Uu. uF  pV'       g   K  VNK  	  up\        VP                   Uu. uF  p\        W@VP                  4      NK  	  up Uu. uF  pVf   K	  VNK  	  up4      ,           p\        V4      \        8  d!   RRP                  V4      ,           R,           pMRP                  V4      pRR\        VP                  4      R\        V 4      RV/,          pVP                  '       d$   VR\        VP                  4      ,          ,          pVP                  p	V	'       d   VR	\        V	4      ,          ,          pVP                  p
V
'       d   VR
V
: 2,          p\        VP                   4       F5  pVRVP#                  RR4      : RVP                   V,          : 2,          pK7  	  VP$                  '       d3   RP                  R VP$                   4       4      pVRV,          ,          pVP&                  e$   VR\)        VP&                  4      ,          ,          pVR,          pV# u upi u upi u upi u upi )Nz*[,
]z.%(prefix)screate_table(%(tablename)r,
%(args)s	tablenamer   argsz,
schema=%rz,
comment=%rz,
info= _=, c              3  4   "   T F  pR V,          x  K  	  R# 5i)r   Nr2   ).0ps   & r4   	<genexpr>_add_table.<locals>.<genexpr>  s     AAVaZZ   z,
prefixes=[%s]z,
if_not_exists=%rz
))to_tablecolumns_render_columnrY   constraints_render_constraint_namespace_metadatalenMAX_PYTHON_ARGSrX   _identr~   r;   r   r   infokwreplace	_prefixesif_not_existsrc   )r/   rh   tablecolconsrconsr   args_strr?   r   r   kprefixess   &&           r4   
_add_tabler      s0   KKME
 =BMM
<ISN30M

C 	 	
 	 "--	 .D #2+A+A .			
  E		
	D& 4y?"%**T**S0::d#<VBMM*.?@ D
 
yyy		!222mmG&/11::D(4(##BEE]aiiS12558<<  99AAA"X--	#%R-=-=(>>>EMDKc
		
s"   I%
I*I*"I/
I4
I4
c               $    V ^8  d   QhRRRRRR/# )r.   r/   r)   rh   zops.DropTableOpr1   r@   r2   )r3   s   "r4   r5   r5   #  s!       _  r6   c                6   R R\        V 4      R\        VP                  4      /,          pVP                  '       d$   VR\        VP                  4      ,          ,          pVP                  e$   VR\        VP                  4      ,          ,          pVR,          pV# )z%(prefix)sdrop_table(%(tname)rr   r   , schema=%rz, if_exists=%r))r;   r   r~   r   	if_existsrc   )r/   rh   r?   s   && r4   _drop_tabler   "  s~    +.?&/ D 
yyyryy 111	|| 4#555CKDKr6   c               $    V ^8  d   QhRRRRRR/# )r.   r/   r)   dialect_kwargsr   r1   z	list[str]r2   )r3   s   "r4   r5   r5   2  s$      #5Dr6   c           
     r    VP                  4        UUu. uF  w  r#V R \        W04       2NK  	  upp# u uppi )r   )items_render_potential_expr)r/   r   keyvals   &&  r4   _render_dialect_kwargs_itemsr   2  sF    
 ',,..HC %q'=>?.  s   3c               $    V ^8  d   QhRRRRRR/# )r.   r/   r)   rh   zops.CreateIndexOpr1   r@   r2   )r3   s   "r4   r5   r5   <  s"     $ $ $4E $# $r6   c                   VP                  4       pV P                  pV'       d   R pMRpVP                  f   Q h\        WP                  4      pVP
                  e,   VP                  R\        VP
                  4      ,          4       TR\        V 4      R\        WP                  4      R\        VP                  P                  4      RRP                  \        W 4      4      RVP                  ;'       g    R	R
VP                  P                  '       d'   R\        VP                  P                  4      ,          MRRV'       d   RRP                  V4      ,           MR/,          pV# )zL%(prefix)screate_index(%(name)r, [%(columns)s], unique=%(unique)r%(kwargs)s)za%(prefix)screate_index(%(name)r, %(table)r, [%(columns)s], unique=%(unique)r%(schema)s%(kwargs)s)zif_not_exists=%rr   r0   r   r   r   uniqueFr   r   rD   kwargs)to_indexr   r   r   r   r   r}   rc   r;   r=   r0   r   rX   _get_index_rendered_expressionsr   r   r/   rh   index	has_batchtmplrz   r?   s   &&     r4   
_add_indexr   ;  s,   KKME**I+ 	5 	
 ;;"""'9M9MND	#&b.>.>)??@.? **=(()499+EC
 	%,,''%{{!!! VEKK$6$677D$4(b D Kr6   c               $    V ^8  d   QhRRRRRR/# )r.   r/   r)   rh   zops.DropIndexOpr1   r@   r2   )r3   s   "r4   r5   r5   d  s!       _  r6   c                   VP                  4       pV P                  pV'       d   R pMRp\        WP                  4      pVP                  e,   VP                  R\        VP                  4      ,          4       TR\        V 4      R\        WP                  4      R\        VP                  4      RVP                  '       d   R\        VP                  4      ,          MRR	V'       d   R
R
P                  V4      ,           MR/,          pV# )z(%(prefix)sdrop_index(%(name)r%(kwargs)s)zM%(prefix)sdrop_index(%(name)r, table_name=%(table_name)r%(schema)s%(kwargs)s)zif_exists=%rr   r0   r~   r   r   rD   r   r   )r   r   r   r   r   r}   rc   r;   r=   
index_namer   r~   r   rX   r   s   &&     r4   _drop_indexr   c  s    KKME**I9= 	 (9M9MND	||NT",,%778.? --@fR]]+")))MF299$55D$4(b D Kr6   c               $    V ^8  d   QhRRRRRR/# )r.   r/   r)   rh   zops.CreateUniqueConstraintOpr1   rm   r2   )r3   s   "r4   r5   r5   ~  s)     G G#G)EGGr6   c                :    \        VP                  4       V R 4      .# T)_uq_constraintto_constraintru   s   &&r4   _add_unique_constraintr   }  s     2++-EFFr6   c               $    V ^8  d   QhRRRRRR/# )r.   r/   r)   rh   zops.CreateForeignKeyOpr1   r@   r2   )r3   s   "r4   r5   r5     s$     + +#+)?++r6   c                   VP                  4       p\        \        WP                  4      4      .pV P                  '       g.   VP                  \        \        VP                  4      4      4       TP                  \        \        VP                  4      4      \        VP                   Uu. uF  p\        V4      NK  	  up4      \        VP                   Uu. uF  p\        V4      NK  	  up4      .4       . R	OpV P                  '       g   VP                  ^ R4       V FF  pWaP                  9   g   K  VP                  V,          pVf   K.  VP                  V: RV: 24       KH  	  \        WP                  4      pRR\!        V 4      RRP#                  V4      RV'       d    RRP#                  V4      ,           /,          # R/,          # u upi u upi )
referent_schemasource_schemar   z8%(prefix)screate_foreign_key(%(args)s%(dialect_kwargs)s)r   r   r   r   rD   )r   onupdateondelete	initially
deferrable	use_altermatch)r   reprr=   constraint_namer   r}   r   source_tabler   referent_table
local_colsremote_colsinsertr   r   r   r;   rX   )	r/   rh   
constraintr   r   r   r   valuer   s	   &&       r4   _add_fk_constraintr     s    !!#J!/3E3EFGHD%%%D012KK))*+7#&+788#&+89	
F %%%a):EE!HE q%01	  222N F.?		$0>D499^,,	I   EG	I  5 88s   *GGc                    \        4       hr8   NotImplementedErrorr   r/   s   &&r4   _add_pk_constraintr         

r6   c                    \        4       hr8   r   r   s   &&r4   _add_check_constraintr     r   r6   c               $    V ^8  d   QhRRRRRR/# )r.   r/   r)   rh   zops.DropConstraintOpr1   r@   r2   )r3   s   "r4   r5   r5     s)     @ @#@)=@@r6   c                v   \        V 4      p\        WP                  4      pVP                  '       d   \	        VP                  4      MR pVP
                  '       d   \	        VP
                  4      MR pVP                  p. pVP                  \        V4      4       V P                  '       gG   VP                  \        \	        VP                  4      4      4       Ve   VP                  RV: 24       Ve   VP                  RV: 24       Ve   VP                  RV 24       V RRP                  V4       R2# )Nschema=type_=z
if_exists=zdrop_constraint(r   r   )r;   r=   r   r   r   constraint_typer   r}   r   r   r~   rX   )r/   rh   r   r0   r   type_r   params_strss   &&      r4   _drop_constraintr     s
    */:FO-?-?@D"$)))VBIIF*,*<*<*<F2%%&$EIKtDz"%%%4r}} 567
34VE9-.Z	{34X%dii&<%=Q??r6   c               $    V ^8  d   QhRRRRRR/# )r.   r/   r)   rh   zops.AddColumnOpr1   r@   r2   )r3   s   "r4   r5   r5     s!       _  r6   c                .   VP                   VP                  VP                  VP                  3w  r#rEV P                  '       d   R pM)RpV'       d
   VR,          pVe
   VR,          pVR,          pVR\        V 4      RVR\        W@4      RVR	V/,          pV# )
z %(prefix)sadd_column(%(column)s)z*%(prefix)sadd_column(%(tname)r, %(column)s, schema=%(schema)rz!, if_not_exists=%(if_not_exists)rr   r   r   columnr   r   )r   r~   r  r   r   r;   r   )r/   rh   r   r   r  r   templater?   s   &&      r4   _add_columnr    s     			

		
	,(F6 !!!5?--H$;;HC.?.9& D Kr6   c               $    V ^8  d   QhRRRRRR/# )r.   r/   r)   rh   zops.DropColumnOpr1   r@   r2   )r3   s   "r4   r5   r5     s"      . 6F 3 r6   c                R   VP                   VP                  VP                  VP                  3w  r#rEV P                  '       d   R pM)RpV'       d
   VR,          pVe
   VR,          pVR,          pVR\        V 4      R\        V4      R\        V4      R\        V4      R	V/,          pV# )
z %(prefix)sdrop_column(%(cname)r)z*%(prefix)sdrop_column(%(tname)r, %(cname)rr  z, if_exists=%(if_exists)rr   r   r   cnamer   r   )r   r~   column_namer   r   r;   r   )r/   rh   r   r   r
  r   r  r?   s   &&      r4   _drop_columnr    s     			


	-)F; !!!5?--H 33HC.?$&.Y D Kr6   c               $    V ^8  d   QhRRRRRR/# )r.   r/   r)   rh   zops.AlterColumnOpr1   r@   r2   )r3   s   "r4   r5   r5     s$     < <#<):<<r6   c                @   VP                   pVP                  pVP                  pVP                  pVP                  pVP
                  pVP                  pVP                  P                  R R4      p	VP                  p
VP                  pVP                  pVP                  pVP                  pRpV P                  '       d   RpMRpVR\        V 4      RVRV/,          pV
e   VRV: R\!        W4      : 2,          pVR	Jd   \#        W@4      pVRV: R
V: 2,          pVe   VRV: RV: 2,          pVe   VRV: R\!        WP4      : 2,          pVe   VRV: RV: 2,          pVR	Jd   VRV: RV: 2,          pVe   VRV: RV: 2,          pVf   Ve   VRV: RV: 2,          pV	e   VRV: RV	: 2,          pVR	J d%   V'       d   \#        W4      pVRV: RV: 2,          pV'       d$   V P                  '       g   VRV: RV: 2,          pVR,          pV# )autoincrementNz %(prefix)salter_column(%(cname)rz+%(prefix)salter_column(%(tname)r, %(cname)rr   r   r	  r   zexisting_type=Fzserver_default=znew_column_name=r   z	nullable=zcomment=zexisting_comment=zexisting_nullable=zautoincrement=zexisting_server_default=r   r   z           )r~   r
  modify_server_defaultmodify_typemodify_nullablemodify_commentmodify_namer   r{   existing_typeexisting_nullabler   existing_server_defaultr   r   r;   
_repr_type_render_server_default)r/   rh   r   r	  server_defaultr   nullabler   newnamer  r  r  r   r  r   r   r  r?   rendereds   &&                 r4   _alter_columnr    s    MMENNE--NNNE!!HGnnGEEIIot4M$$M,,** 88YYFF!!!5@.? D
  }6
 	
 U").JFH==VW==6:e+MNNfh77eVW55#f6FGG-9v7HII 6=AA#:)#
 	VXFFo000FF33CKDKr6   c                  .    ] tR tRtR R ltR R ltRtR# )r:   iL  c               $    V ^8  d   QhRRRRRR/# )r.   r   r@   r0   r   r1   rN   r2   )r3   s   "r4   r5   _f_name.__annotate__M  s!      s $ 4 r6   c                	    Wn         W n        R # r8   )r   r0   )selfr   r0   s   &&&r4   __init___f_name.__init__M  s    	r6   c                   V ^8  d   QhRR/# )r.   r1   r@   r2   )r3   s   "r4   r5   r   Q  s     < <# <r6   c                	P    V P                   : R \        V P                  4      : R2# )zf(r   )r   r   r0   )r"  s   &r4   __repr___f_name.__repr__Q  s     KK		):;;r6   )r0   r   N)__name__
__module____qualname____firstlineno__r#  r'  __static_attributes__r2   r6   r4   r:   r:   L  s    < <r6   r:   c                    V ^8  d   QhRRRR/# )r.   r0   z!Optional[Union[quoted_name, str]]r1   Optional[str]r2   )r3   s   "r4   r5   r5   U  s      2 } r6   c                    V f   V # \        V \        4      '       d   \        V 4      # \        V \        4      '       d   V # R# )zproduce a __repr__() object for a string identifier that may
use quoted_name() in SQLAlchemy 0.9 and greater.

The issue worked around here is that quoted_name() doesn't have
very good repr() behavior by itself when unicode is involved.

N)r9   r   r@   )r0   s   &r4   r   r   U  s<     |	D+	&	&4y	D#		 
r6   wrap_in_elementTis_server_defaultFis_indexc               0    V ^8  d   QhRRRRRRRRRRR	R
/# )r.   r   r   r/   r)   r1  rc   r2  r3  r1   r@   r2   )r3   s   "r4   r5   r5   e  sD      # 	
   	r6   c                  \        V \        P                  4      '       d   VP                  P                  P                  WVR 7      pV'       dx   \        V4      pV'       d   RMRpV V RV: R2pV'       dL   \        V \        4      '       d6   \        V P                  4      \        J d   VRV P                  : R2,           # V# \        V4      # \        V 4      # ))r2  r3  literal_columnr?   (r   z.label()r9   r   ClauseElementmigration_contextimplrender_ddl_sql_expr_sqlalchemy_autogenerate_prefixr   typer0   r@   r   )	r   r/   r1  r2  r3  sql_textr   element	value_strs	   &&$$$    r4   r   r   e  s     %**++"4499MM N 
 4_EF*2&G!(7)1XL:Iue,,$+ WUZZN!#<<<  >!E{r6   c               $    V ^8  d   QhRRRRRR/# )r.   idxr#   r/   r)   r1   rm   r2   )r3   s   "r4   r5   r5     s$     
 
	
!/

r6   c                    V P                    Uu. uFO  p\        V\        P                  4      '       d    \	        \        \        VR R4      4      4      M\        W!RR7      NKQ  	  up# u upi )r0   NT)r3  )expressionsr9   	sa_schemar   r   r   getattrr   )rB  r/   exps   && r4   r   r     si     ?? #C #y//00 VT234'tLM #  s   AA'c               (    V ^8  d   QhRRRRRRRR/# )	r.   r   r&   r/   r)   alterrc   r1   r@   r2   )r3   s   "r4   r5   r5     s0     )
 )
 )
#)
 )
 		)
r6   c           
        . pVP                   pV P                  '       d   VP                  R V P                  34       V P                  '       d   VP                  RV P                  34       V'       gU   V'       dM   V P                  P
                  '       d1   VP                  R\        V P                  P
                  4      34       V'       g9   V P                  '       d'   VP                  R\        WP                  4      34       \        WP                  4      pV'       Ed   \        \        WP                  4      4      .pV'       g1   V\        \        V P                  P                  4      4      .,          pTP                  \        V P                   Uu. uF  p\        VP                  4      NK  	  up4      4       TP                  V UU	u. uF  w  rV: RV	: 2NK  	  up	p4       VP                  V4       RR\        V4      RRP                  V4      /,          # V P                   Uu. uF!  p\        \        VP                  4      4      NK#  	  ppTP                  V UU	u. uF  w  rV: RV	: 2NK  	  up	p4       VP                  V4       R	R\!        V4      RRP                  V4      /,          # u upi u up	pi u upi u up	pi )
r   r   r   r0   r   z,%(prefix)screate_unique_constraint(%(args)s)r   r   r   z$%(prefix)sUniqueConstraint(%(args)s))r   r   r}   r   r   r   r   r0   r=   r   r   r   r   r   r;   rX   r<  )
r   r/   rI  rz   r   dialect_optionsr   r   r   vs
   &&&       r4   r   r     s4   
 #%D**I\:#8#89:[*"6"678:#3#3#:#:#:Xvj&6&6&=&=>?@Z___%oGH	
 322O u%oGHIT&!1!1!6!67899DDj6H6HI6Hs&*6HIJK$7$$!1%$78O$=2?CDIIdOA
 
 	

 3=2D2DE2D3VCHH%&2DE$7$$!1%$78O$55oFDIIdO9
 
 	
 J7 F7s   K K
5'K.K
c                Z    V P                   R ,          pVf   RVP                  ,          # V# )user_module_prefixz%s.)rz   r*  )r/   targetr   s   && r4   _user_autogenerate_prefixrP    s.    !!"67F~v((((r6   c                    V ^8  d   QhRRRR/# r.   r/   r)   r1   r@   r2   )r3   s   "r4   r5   r5     s     B B^ B Br6   c                <    V P                   R ,          ;'       g    R# )sqlalchemy_module_prefixrD   rz   r/   s   &r4   r<  r<    s     :;AArAr6   c                    V ^8  d   QhRRRR/# rR  r2   )r3   s   "r4   r5   r5     s     C C. CS Cr6   c                d    V P                   '       d   R # V P                  R,          ;'       g    R# )z	batch_op.alembic_module_prefixrD   )r   rz   rV  s   &r4   r;   r;     s+    !!!##$;<BBBr6   c               (    V ^8  d   QhRRRRRRRR/# )	r.   r   r@   object_r   r/   r)   r1   zUnion[str, Literal[False]]r2   )r3   s   "r4   r5   r5     s,     	 			/=		r6   c                    R VP                   9   d-   VP                   R ,          pV'       d   V! WV4      pVRJd   V# R# )render_itemFrU  )r   r[  r/   renderr  s   &&&  r4   _user_defined_renderr_    sA     ,,, %%m4eo>Hu$r6   c               $    V ^8  d   QhRRRRRR/# )r.   r  zColumn[Any]r/   r)   r1   r@   r2   )r3   s   "r4   r5   r5     s$     6 66*866r6   c                   \        R W4      pVRJd   V# . p. pV P                  '       d_   \        V P                  V4      pV'       dA   \        V P                  4      '       d   VP	                  V4       MVP	                  RV34       V P
                  e=   V P
                  \        P                  8w  d   VP	                  RV P
                  34       V P                  e   VP	                  RV P                  34       V P                  '       d   VP	                  RV P                  34       V P                  pV'       d   VP	                  RRV,          34       RR	\        V4      R
\        V P                  4      R\        V P                  V4      RV'       d2   RP!                  V Uu. uF  p\#        V4      NK  	  up4      R,           MRRRP!                  V UUu. uF  w  rxV: RV: 2NK  	  uppV P$                  P'                  4        U	Uu. uF  w  rV	: R\)        W4      : 2NK  	  upp	,           4      /,          # u upi u uppi u upp	i )r  Fr  r  r  systemr   r   z8%(prefix)sColumn(%(name)r, %(type)s, %(args)s%(kwargs)s)r   r0   r=  r   r   rD   r   r   )r_  r  r  *_should_render_server_default_positionallyr}   r  r   AUTOINCREMENT_DEFAULTr  rb  r   r<  r   r0   r  r=  rX   r@   r   r   r   )
r  r/   r  r   rz   r   argkwnamer   r   s
   &&        r4   r   r     s    $HfFHuD"$D)!!?
 9%%  H%-x89 	(  K$E$EE_f&:&:;<"Z12}}}Xv}}-.nnGYw/0 F1/Bv{{#
6;;8		t4t3s8t45<"II<@AD[VFC(DA %+MM$7$7$9 %: 23HJ$9I   5 Bs   *II	I c                    V ^8  d   QhRRRR/# )r.   r  r   r1   rc   r2   )r3   s   "r4   r5   r5     s     A As At Ar6   c                j    \         P                  ! V 4      ;'       g    \         P                  ! V 4      # r8   )r   _server_default_is_computed_server_default_is_identity)r  s   &r4   rc  rc    s3    22 A A		0	0	@Ar6   c               (    V ^8  d   QhRRRRRRRR/# )	r.   defaultzBOptional[Union[FetchedValue, str, TextClause, ColumnElement[Any]]]r/   r)   repr_rc   r1   r/  r2   )r3   s   "r4   r5   r5     s4       $	
  r6   c                   \        R W4      pVRJd   V# \        P                  ! V 4      '       d   \        \	        RV 4      V4      # \        P
                  ! V 4      '       d   \        \	        RV 4      V4      # \        V \        P                  4      '       dF   \        V P                  \        4      '       d   V P                  p MC\        V P                  VRR7      # \        V \        P                  4      '       d   \        V4      # \        V \        4      '       d*   V'       d"   \        \         P"                  ! RRV 4      4      p \	        \        V 4      # )r  Fr   r   T)r2  z^'|'$rD   )r_  r   ri  _render_computedr   rj  _render_identityr9   rE  DefaultClausere  r@   r   r    _render_fetched_valuer   rE   rH   )rl  r/   rm  r  s   &&& r4   r  r    s     $$4gOHu..w77Z 9?KK		0	0	9	9Z 9?KK	GY44	5	5gkk3''kkG)_  
GY33	4	4$_55'3ErvvhG45Wr6   c               $    V ^8  d   QhRRRRRR/# )r.   computedr   r/   r)   r1   r@   r2   )r3   s   "r4   r5   r5   9  s$      )7r6   c                    \        V P                  VR R7      p/ pV P                  e   V P                  VR&   RR\        V4      RVRRP	                  R VP                  4        4       4      /,          # )	Fr1  	persistedz(%(prefix)sComputed(%(text)s, %(kwargs)s)r   r?   r   r   c              3  4   "   T F  pR V,          x  K  	  R# 5iz%s=%sNr2   r   pairs   & r4   r   #_render_computed.<locals>.<genexpr>F       GWt^^r   )r   sqltextrw  r<  rX   r   )rt  r/   r?   r   s   &&  r4   ro  ro  9  sz     "/5D F%&00{51/B499GGG9  r6   c               $    V ^8  d   QhRRRRRR/# )r.   identityr   r/   r)   r1   r@   r2   )r3   s   "r4   r5   r5   J  s$     
 

)7

r6   c           	         \         P                  ! V R R7      pRR\        V4      RRP                  R VP	                  4        4       4      /,          # )T)r   z%(prefix)sIdentity(%(kwargs)s)r   r   r   c              3  4   "   T F  pR V,          x  K  	  R# 5iry  r2   rz  s   & r4   r   #_render_identity.<locals>.<genexpr>S  r}  r   )r   _get_identity_options_dictr<  rX   r   )r  r/   r   s   && r4   rp  rp  J  sR     33F ,1/B499GGG/  r6   c                    V ^8  d   QhRRRR/# rR  r2   )r3   s   "r4   r5   r5   W  s      > c r6   c                *    R R\        V 4      /,          # )z%(prefix)sFetchedValue()r   )r<  rV  s   &r4   rr  rr  W  s    %1/B)  r6   c               (    V ^8  d   QhRRRRRRRR/# )	r.   r   r(   r/   r)   _skip_variantsrc   r1   r@   r2   )r3   s   "r4   r5   r5   ]  s0     *( *(*(#*( *( 		*(r6   c                \   \        R W4      pVRJd   V# \        VP                  R4      '       d'   VP                  P                  P	                  W4      pMRp\        V 4      P                  pVP                  pV'       g(   \        P                  ! V 4      '       d   \        W4      # VP                  R4      '       d^   \        P                  ! RV4      pVf   Q hVP                  ^4      pVe   VP                  RV,          4       V'       d   V# V: RV : 2# V'       d   V# VP                  R4      '       d^   R	V P                   ,          \#        4       9   d+   \#        4       R	V P                   ,          ,          p	V	! W4      # \%        V4      p
V
: V : 2# \'        W4      p
V
: V : 2# )
r=  Fr:  Nsqlalchemy.dialectssqlalchemy\.dialects\.(\w+)z"from sqlalchemy.dialects import %s.zsqlalchemy.z_render_%s_type)r_  hasattrr9  r:  render_typer=  r*  rQ   r   _type_has_variants_render_Variant_type
startswithrE   r   groupadd__visit_name__globalsr<  rP  )r   r/   r  r  impl_rtmodrQ   r   dnamefnr   s   &&&        r4   r  r  ]  sl   
 $FECHu00&99!3388DD
 
u+
 
 C%%Gk<<UCC#E;;	-	.	.7=   AKK<uDEN#U++			&	&u333wy@,u/C/CCDBe--4_EF#U++*?B''r6   c               $    V ^8  d   QhRRRRRR/# )r.   r   r'   r/   r)   r1   r@   r2   )r3   s   "r4   r5   r5     s!      e n  r6   c           	     8    \        \        \        WR R4      4      # )	item_typez(.+?\())r   r@   _render_type_w_subtype)r   r/   s   &&r4   _render_ARRAY_typer    s!    K	
 r6   c               $    V ^8  d   QhRRRRRR/# )r.   r   r(   r/   r)   r1   r@   r2   )r3   s   "r4   r5   r5     s$      (6r6   c           	         \         P                  ! V 4      w  r#\        W!R R7      pVe   VRJg   Q h\        V4       F(  pW5,          pVR\        WaR R7      : RV: R2,          pK*  	  V# )T)r  Fz.with_variant(r   r   )r   _get_variant_mappingr  rY   )r   r/   	base_typevariant_mappingbasedialecttyps   &&     r4   r  r    sp     "-!A!A%!HIiFDE 111/*&sDA
 	
 + Kr6   c               0    V ^8  d   QhRRRRRRRRRR	R
R/# )r.   r   r(   r/   r)   attrnamer@   regexpr   r/  r1   z$Union[Optional[str], Literal[False]]r2   )r3   s   "r4   r5   r5     sD      #  	
  *r6   c                4   \        V 4      p\        WR 4      pVf   R# \        V4      p\        P                  ! RRV4      p\	        \        W4      V4      p\        P                  ! W7,           RV,          V4      p	V'       d	   V: V	: 2# \        V 4      P                  p
V
P                  R4      '       d8   \        P                  ! RV
4      pVf   Q hVP                  ^4      pV: RV	: 2# V
P                  R4      '       d   \        V4      pV: V	: 2# R # )	NFz([\(\)])z\\\1z\1%sr  r  r  
sqlalchemy)r   rF  rE   rH   r  r=  r*  r  r   r  r<  )r   r/   r  r  r   
outer_repr
inner_type
inner_reprsub_type
outer_typer  r   r  s   &&&&&        r4   r  r    s     eJ$/Jj!JWj9J'%2ODH+Wx-?LJ,,
u+
 
 C
~~+,,7=   A,,		%	%0A,,r6   c               (    V ^8  d   QhRRRRRRRR/# )	r.   r   r   r/   r)   namespace_metadataOptional[MetaData]r1   r/  r2   )r3   s   "r4   r5   r5     s6     I II#I +I 	Ir6   c                     \         P                  V 4      pV! WV4      #   \         d*    \        P                  ! R T ,          4       RT ,          u # i ; i)z(No renderer is established for object %rz[Unknown Python object %r])_constraint_renderersrp   
ValueErrorr   warn)r   r/   r  rr   s   &&& r4   r   r     sV    
I(11*=
 
5GHH	  9		<zIJ+j889s     1AAc               (    V ^8  d   QhRRRRRRRR/# )	r.   r   r%   r/   r)   r  r  r1   r/  r2   )r3   s   "r4   r5   r5     s0      $# + 	r6   c                   \        R W4      pVRJd   V# V P                  '       g   R# . pV P                  '       d0   VP                  R\	        \        WP                  4      4      34       RR\        V4      RRP                  V P                   Uu. uF  p\	        VP                  4      NK  	  upV UUu. uF  w  rgV: RV: 2NK  	  upp,           4      /,          # u upi u uppi )	primary_keyFNr0   z(%(prefix)sPrimaryKeyConstraint(%(args)s)r   r   r   r   )r_  r   r0   r}   r   r=   r<  rX   )r   r/   r  r  rz   crf  r   s   &&&     r4   _render_primary_keyr    s     $M:OHuDT*?OOLMN	
 61/B		#-#5#56#5aT!&&\#56:>?$;6&#&$?@
9   7?s   C 7C%c               (    V ^8  d   QhRRRRRRRR/# )	r.   fkr!   metadata_schemar/  r  r  r1   r@   r2   )r3   s   "r4   r5   r5     s0     % %%"% +% 		%r6   c                   V P                  4       pVP                  R4      pVRR w  rVVe   \        V4      ^8X  d   V: RV: 2pMRP                  V^ R 4      pV P                  '       g   V P
                  er   V P
                  P                  eZ   VeV   WrP                  9   dF   VP                  V,          P                  P                  V4      pVe   \        VP                  4      pV: RV: 2pV# )zpImplement a 'safe' version of ForeignKey._get_colspec() that
won't fail if the remote table can't be resolved.

r  N)_get_colspecsplitr   rX   link_to_nameparentr   tablesr  r{   r   r0   )	r  r  r  colspectokensr   colnametable_fullnamer   s	   &&&      r4   _fk_colspecr    s     ooG]]3FBC[NE"s6{a'7$3U;&2,/ OOOII!IIOO' *";";;$++N;==AA'JC *'1GNr6   c               $    V ^8  d   QhRRRRRR/# )r.   r   r"   rz   zList[Tuple[str, str]]r1   rN   r2   )r3   s   "r4   r5   r5     s$     7 7$7,A7	7r6   c                   V P                   '       d'   VP                  R \        V P                   4      34       V P                  '       d'   VP                  R\        V P                  4      34       V P                  '       d'   VP                  R\        V P                  4      34       V P
                  '       d'   VP                  R\        V P
                  4      34       V P                  '       d'   VP                  R\        V P                  4      34       V P                  '       d)   VP                  R\        V P                  4      34       R# R# )r   r   r   r   r   r   N)r   r}   r   r   r   r   r   r   )r   rz   s   &&r4   _populate_render_fk_optsr    s     Zj&9&9!:;<Zj&9&9!:;<[$z';';"<=>\4
(=(=#>?@[$z';';"<=>Wd:#3#3456 r6   c               (    V ^8  d   QhRRRRRRRR/# )	r.   r   r"   r/   r)   r  r  r1   r/  r2   )r3   s   "r4   r5   r5   *  s0     $ $$$#$ +$ 	$r6   c                
  aa \        R W4      pVRJd   V# . pV P                  '       d0   VP                  R\        \	        WP                  4      4      34       \        W4       Se   SP                  MRoRR\        V4      RRP                  R V P                   4       4      R	RP                  VV3R
 lV P                   4       4      RRP                  V UUu. uF  w  rVV: RV: 2NK  	  upp4      /,          # u uppi )foreign_keyFr0   NzC%(prefix)sForeignKeyConstraint([%(cols)s], [%(refcols)s], %(args)s)r   colsr   c              3  r   "   T F-  p\        \        VP                  P                  4      4      x  K/  	  R # 5ir8   )r   r   r  r0   )r   fs   & r4   r   &_render_foreign_key.<locals>.<genexpr>C  s)      5HVAHHMM*++5Hs   57refcolsc              3  P   <"   T F  p\        \        VSS4      4      x  K  	  R # 5ir8   )r   r  )r   r  apply_metadata_schemar  s   & r4   r   r  F  s+      !,A [$9;MNOO,s   #&r   r   )
r_  r0   r}   r   r=   r  r   r<  rX   elements)r   r/   r  r  rz   rf  r   r  s   &&f    @r4   _render_foreign_keyr  )  s    $M:OHuDT*?OOLMN	
 Z. &8%C!! 	# 5oFDII 5?5H5H  tyy !#,,!  DII<@AD[VFC(DA
	
 Bs   C?c               (    V ^8  d   QhRRRRRRRR/# )	r.   r   r&   r/   r)   r  r  r1   r@   r2   )r3   s   "r4   r5   r5   R  s0     	> 	> 	>#	> +	> 			>r6   c                B    \        R W4      pVRJd   V# \        WR4      # )r   F)r_  r   )r   r/   r  r  s   &&& r4   _render_unique_constraintr  Q  s*     $HjJHu*u==r6   c               (    V ^8  d   QhRRRRRRRR/# )	r.   r   r   r/   r)   r  r  r1   r/  r2   )r3   s   "r4   r5   r5   _  s0     % %%#% +% 	%r6   c                "   \        R W4      pVRJd   V# V P                  '       dS   \        V P                  R4      '       d7   \        V P                  P                  \
        P                  4      '       d   R# . pV P                  '       d0   VP                  R\        \        WP                  4      4      34       RR\        V4      RV'       d    RRP                  R	 V 4       4      ,           MR
R\        V P                  VRR7      /,          # )checkFrO  Nr0   z.%(prefix)sCheckConstraint(%(sqltext)s%(opts)s)r   rz   r   c              3  8   "   T F  w  rV: R V: 2x  K  	  R# 5i)r   Nr2   )r   r   rL  s   &  r4   r   +_render_check_constraint.<locals>.<genexpr>}  s     @441A.4s   rD   r~  rv  )r_  _create_ruler  r9   rO  sqltypesr(   r0   r}   r   r=   r<  rX   r   r~  )r   r/   r  r  rz   s   &&&  r4   _render_check_constraintr  ^  s     $GZIHu 	J++X66##**
 

 DT*?OOLMN	
 <1/B DII@4@@A)

? 
 
r6   c               $    V ^8  d   QhRRRRRR/# )r.   r/   r)   rh   zops.ExecuteSQLOpr1   r@   r2   )r3   s   "r4   r5   r5     s"     	 	. 	6F 	3 	r6   c                    \        VP                  \        4      '       g   \        R 4      hRP	                  \        V 4      VP                  R7      # )znAutogenerate rendering of SQL Expression language constructs not supported here; please use a plain SQL stringz{prefix}execute({sqltext!r}))r   r~  )r9   r~  r@   r   r3   r;   ru   s   &&r4   _execute_sqlr    sO    bjj#&&!@
 	
 *00+O<

 1  r6   r   )Fr8   )
__future__r   ior   rE   typingr   r   r   r   r	   r
   r   r   
mako.pygenr   r  r   rE  r   r   r  sqlalchemy.sql.baser   sqlalchemy.sql.elementsr   r   r   rD   r   
operationsr   r   r   r   r   r   r   sqlalchemy.sql.schemar   r   r   r    r!   r"   r#   r$   r%   r&   sqlalchemy.sql.sqltypesr'   sqlalchemy.sql.type_apir(   alembic.autogenerate.apir)   alembic.configr*   alembic.operations.opsr+   r,   r   r=   rJ   r\   
Dispatcherdefault_renderersro   rU   rb   rv   dispatch_forr   CreateTableCommentOpr   DropTableCommentOpr   CreateTableOpr   DropTableOpr   r   CreateIndexOpr   DropIndexOpr   CreateUniqueConstraintOpr   CreateForeignKeyOpr   CreatePrimaryKeyOpr   CreateCheckConstraintOpr   DropConstraintOpr   AddColumnOpr  DropColumnOpr  AlterColumnOpr  r:   r   r   r   r   rP  r<  r;   r_  r   rc  r  ro  rp  rr  r  r  r  r  r  r   r  r  r  r  r  r  ExecuteSQLOpr  branchr2   r6   r4   <module>r
     sn   #  	          $ *  ( / ( ) /   ##525,020:+.:6-27%65 9:& !% 1 1 I65 **+ ,8 001 2B ../ 0< ))*6 +6r ( ) ))*$ +$N ( )2 445G 6G ../+ 0+\ ../  0  334  5  ,,-@ .@, ( )4 (() *8 ))*< +<~< <  !	
 $ <
)
XBC	6rA>"
*(ZD ) I ##I$B$BC D4%P7" ##I$B$BC$ D$N ##I$>$>?	> @	> ##I$=$=>% ?%P (()	 *	 $$&	r6   