§ }<ˆj‡¶ã ó¼—UddlmZddlZddlZddlZddlmZddlmZddlmZddlm Z ddlm Z ddlm Z dd lm Z dd lm Z dd lmZdd lmZdd lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlm Z ddl!m"Z"ddl m#Z#erZddlm$Z$ddl%m&Z&ddl'm(Z(ddl'm)Z)ddl*m+Z+ddl*m,Z,dd l*m-Z-dd!l*m.Z.dd"l*m/Z/dd#l0m1Z1dd$l2m3Z3dd%l4m5Z5dd&l4m6Z6dd'l4m7Z7dd(l4m8Z8ej9e:¦«Z;d{d/„Z<e j=d0¬1¦«Z>d|d4„Z?e> @d5¦«d}d8„¦«ZAd~d>„ZBe jCejDejEejFejGejFejGd?œ¦«ZHd@eIdA<ddG„ZJd€dI„ZKd�dK„ZLejMd‚dS„¦«ZNGdT„dU¦«ZOGdV„dWeO¦«ZPGdX„dYeO¦«ZQGdZ„d[eO¦«ZRe> @d\¦«dƒd_„¦«ZSd`„ZTe> @da¦«d„dh„¦«ZUe> @da¦«d…dj„¦«ZVe> @da¦«d„dk„¦«ZWd†dn„ZXd‡dq„ZYdˆdr„ZZd‰ds„Z[dt„Z\e> @da¦«dŠdv„¦«Z]e> @da¦«d‹dx„¦«Z^e> @d\¦«dŒdy„¦«Z_e> @d\¦«dŒdz„¦«Z`dS)�é)Ú annotationsN)ÚAny)Úcast)ÚDict)ÚIterator)ÚList)ÚMapping)ÚOptional)ÚSet)ÚTuple)Ú TYPE_CHECKING)ÚUnion)Úevent)Úinspect©Úschema)Útext)Útypes)Ú expression)Ú OrderedSet)Ú_fk_specé)Úutil)Úops)Ú sqla_compat)ÚLiteral)Ú Inspector)Ú quoted_name)Ú TextClause)ÚColumn)ÚForeignKeyConstraint)ÚIndex)ÚTable)ÚUniqueConstraint)ÚAutogenContext)Ú DefaultImpl)Ú AlterColumnOp)ÚMigrationScript)ÚModifyTableOps)Ú UpgradeOpsÚautogen_contextr%Úmigration_scriptr(ÚreturnÚNonecó„—|jd}|jd}t||¦«| |¦«dS)Néÿÿÿÿ)Úupgrade_ops_listÚdowngrade_ops_listÚ_produce_net_changesÚ reverse_into)r+r,Ú upgrade_opsÚ downgrade_opss ún/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib/python3.11/site-packages/alembic/autogenerate/compare.pyÚ_populate_migration_scriptr85sH€ð#Ô3°BÔ7€KØ$Ô7¸Ô;€M嘨+Ñ6Ô6Ð6Ø×Ò˜]Ñ+Ô+Ð+Ð+Ð+óT)Úuselistr5r*có⇗‰j}|€J‚‰j dd¦«}t|¦«}|jj}|rat | ¦«¦«}| d¦«| |¦«|  d¦«ndh}ˆfd„|D¦«}‰j€J‚t  d‰jj ¦«‰||¦«dS)NÚinclude_schemasFÚinformation_schemacóB•—h|]}‰ |di¦«¯|’ŒSr©Úrun_name_filters)Ú.0Úsr+s €r7ú z'_produce_net_changes..Xs@ø€ðððؘo×>Ò>¸qÀ(ÈBÑOÔOðØ ðððr9r) Ú connectionÚoptsÚgetrÚdialectÚdefault_schema_nameÚsetÚget_schema_namesÚdiscardÚaddÚ comparatorsÚdispatchÚname)r+r5rDr<Ú inspectorÚdefault_schemaÚschemass` r7r3r3Bsø€ð!Ô+€JØ Ð !Ð !Ð !Ø%Ô*×.Ò.Ð/@À%ÑHÔH€Oå" :Ñ.Ô.€IàÔ'Ô;€NàðÝ�i×0Ò0Ñ2Ô2Ñ3Ô3ˆà�ŠÐ,Ñ-Ô-Ð-à�Š˜Ñ'Ô'Ð'Ø� Š �DÑÔÐÐà�&ˆððððØðñô€Gð Ô "Ð .Ð .Ð .Ý×Ò˜ ?Ô#:Ô#?Ñ@Ô@ؘ gñôðððr9rrRú$Union[Set[None], Set[Optional[str]]]cóÒ‡‡ —‰j}t¦«}‰jj}‰jj}|D]mŠ t| ‰ ¬¦«¦«}‰ |kr | ‰jjg¦«}| ˆˆ fd„|D¦«¦«Œntd„‰j D¦«¦« ||fg¦«}t||||‰¦«dS)Nrc3óR•K—|]!}‰ |dd‰i¦«¯‰|fV—Œ"dS)ÚtableÚ schema_nameNr?)rAÚtnamer+rWs €€r7ú z&_autogen_for_tables..xs^øèè€ð ð àØ×/Ò/Ø�w ° Ð <ñôð Ø ˜%Ð ð ð ð ð ð ð r9có*—g|]}|j|jf‘ŒS©)rrO)rArVs r7ú z'_autogen_for_tables..�s!€ÐOÐOÐO¨ˆ%Œ,˜œ Ð #ÐOÐOÐOr9) rPrIÚmigration_contextÚversion_table_schemaÚ version_tableÚget_table_namesÚ differenceÚupdaterÚ sorted_tablesÚ_compare_tables) r+r5rRrPÚconn_table_namesr^r_ÚtablesÚmetadata_table_namesrWs ` @r7Ú_autogen_for_tablesrhbsDøø€ð  Ô)€Iå7:±u´uÐð Ô)Ô>ðð$Ô5ÔC€Màð  ð  ˆ Ý�Y×.Ò.°kÐ.ÑBÔBÑCÔCˆØ Ð.Ò .Ð .Ø×&Ò&Ø Ô2Ô@ÐAñôˆFð ×Òð ð ð ð ð àð ñ ô ñ ô ð ð õ&ØOÐO°Ô1NÐOÑOÔOñôç‚jÐ'¨Ð7Ð8Ñ9Ô9ðõØØØØØñ ôðððr9rerIrgrPrc ó ‡‡—|jjjŠtˆfd„|D¦«¦«}ˆfd„t ||¦«D¦«}|}| |¦«D]ñ\}}|r|›d|›�n|} |||f} ‰ | |ddd¦«r¾|j tj   | ¦«¦«t  d| ¦«tj |g|¬¦«} t d¦«‰| ||d| ¦«|  ¦«s|j | ¦«Œòt#j¦«} | |¦«D�]\\}}t#j||¦«} | | jv} t#j|| |¬¦«}| sHt-j|d‰jj |¦«¦«t7j||¦«‰ ||dd d¦«r¾tj |g|¬¦«} t d¦«‰| |||d¦«|  ¦«s|j | ¦«|j tj  |¦«¦«t  d | ¦«�Œ^| |¦«}t#j¦«}i}|D]‹\}}t#j||¦«} | |jv} t#j|||¬¦«}| sHt-j|d‰jj |¦«¦«t7j||¦«||||f<ŒŒt?|d „¬ ¦«D]Ý\}}|pd}|r|›d|›�n|} |||f} |j| }‰ | |dd|¦«r™tj |g|¬¦«} tA|||| | ‰|¦«5t d¦«‰| |||| ¦«ddd¦«n #1swxYwY|  ¦«s|j | ¦«ŒÞdS) Ncó.•—g|]\}}|‰kr|nd|f‘ŒS©Nr[)rArrXrQs €r7r\z#_compare_tables..�s@ø€ð ð ð á�˜ð Ò/Ð/ˆVˆV°T¸5Ð Að ð ð r9có^•—i|])\}\}}|‰jtj||¦«“Œ*Sr[)Útable_key_to_tableÚ sa_schemaÚ_get_table_key)rAÚno_dflt_schemarrXr+s €r7ú z#_compare_tables..¦sMø€ðððñ ,ˆN™O˜V Uð ˜Ô:Ý Ô $ U¨FÑ 3Ô 3ô ðððr9ú.rVFzDetected added table %rrÚcolumn_reflectTzDetected removed table %rcó&—|dpd|dfS)NrÚér[)Úxs r7úz!_compare_tables..ùs€¸1¸Q¼4¸:À2ÀqÈÄtÐ:L€r9)Úkey)!ÚbindrGrHrÚzipraÚrun_object_filtersrÚappendÚ CreateTableOpÚ from_tableÚlogÚinfor)rMrNÚis_emptyrnÚMetaDatarorfr#rÚlistenr]ÚimplÚ_compat_autogen_column_reflectrÚ_reflect_tableÚ DropTableOpÚ intersectionÚsortedÚ_compare_columns)rergrPr5r+Ú#metadata_table_names_no_dflt_schemaÚtname_to_tablerBrXrOÚmetadata_tableÚmodify_table_opsÚremoval_metadataÚexistsÚtÚexisting_tablesÚexisting_metadataÚconn_column_infoÚ conn_tablerQs ` @r7rdrd�s™øø€ð”^Ô+Ô?€Nõ+5ð ð ð ð à!5ð ñ ô ñ+ô+Ð'ððððõ03Ø /Ð1Eñ0 ô0 ð ñô€Nð?Ðà(×3Ò3Ð4DÑEÔEð9ð9‰ˆˆ5Ø'(Ð3˜!˜!˜!˜U˜UÐ#Ð#¨eˆØ'¨¨E¨ Ô3ˆØ × -Ò -Ø ˜E 7¨E°4ñ ô ð 9ð ŒO× "Ò "ÝÔ!×,Ò,¨^Ñ<Ô<ñ ô ð õ �HŠHÐ.°Ñ 5Ô 5Ð 5Ý"Ô1°%¸ÀAÐFÑFÔFÐ å × Ò  Ñ )Ô )ØØ ØØØØñ  ô ð ð$×,Ò,Ñ.Ô.ð 9Ø”×&Ò&Ð'7Ñ8Ô8Ð8øå Ô)Ñ+Ô+ÐØ$×/Ò/Ð0DÑEÔEð8ñ8‰ˆˆ5ÝÔ'¨¨qÑ1Ô1ˆØÐ)Ô0Ð0ˆÝ ŒO˜EÐ#3¸AÐ >Ñ >Ô >ˆàð 5Ý ŒLØØ àÔ1Ô6ß.Ò.Øñôñ  ô ð õ Ô & y°!Ñ 4Ô 4Ð 4Ø × -Ò -¨a°¸ÀÀtÑ LÔ Lð 8å"Ô1°%¸ÀAÐFÑFÔFÐ å × Ò  Ñ )Ô )ØÐ!1°1°e¸QÀñ ô ð ð$×,Ò,Ñ.Ô.ð 9Ø”×&Ò&Ð'7Ñ8Ô8Ð8à ŒO× "Ò "¥3¤?×#=Ò#=¸aÑ#@Ô#@Ñ AÔ AÐ AÝ �HŠHÐ0°$Ñ 7Ô 7Ð 7ùà&×3Ò3Ð4HÑIÔI€Oå!Ô*Ñ,Ô,ÐØÐØ#ð)ð)‰ˆˆ5ÝÔ'¨¨qÑ1Ô1ˆØÐ*Ô1Ð1ˆÝ ŒO˜EÐ#4¸QÐ ?Ñ ?Ô ?ˆØð 5Ý ŒLØØ àÔ1Ô6ß.Ò.¨yÑ9Ô9ñ  ô ð õ Ô & y°!Ñ 4Ô 4Ð 4Ø'(И!˜U˜Ñ$Ð$å˜?Ð0LÐ0LÐMÑMÔMð9ð9‰ˆˆ5Ø ˆI�ˆØ'(Ð3˜!˜!˜!˜U˜UÐ#Ð#¨eˆØ'¨¨E¨ Ô3ˆØ&Ô-¨dÔ3ˆ à × -Ò -Ø ˜E 7¨E°:ñ ô ð 9õ #Ô1°%¸ÀAÐFÑFÔFÐ Ý!ØØØØØ ØØñôð ð õ×$Ò$ WÑ-Ô-Ø#Ø$ØØØØ"ñ ôðð ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð&$×,Ò,Ñ.Ô.ð 9Ø”×&Ò&Ð'7Ñ8Ô8Ð8øð?9ð9sÐ(QÑQ ÑQ )ÚascÚdescÚ nulls_firstÚ nulls_lastÚ nullsfirstÚ nullslastzMapping[str, Any]Ú_IndexColumnSortingOpsÚparamsúDict[str, Any]r–r#úOptional[Index]cóÈ—g}| d¦«}t|d¦«D]~\}}|€$d|vsJ‚|d|}t|¦«}n|}|j|}|r-||vr)||D] }|tvrt ||¦«}Œ!| |¦«Œt j|dg|¢R|d|dœŽ} d|vr|d| jd<| S)NÚcolumn_sortingÚ column_namesÚ expressionsrOÚunique)r¥Ú_tableÚduplicates_constraint) rFÚ enumeraterÚcr�r}rnr"r�) ržr–ÚexprsÚsortingÚnumÚcol_namerOÚitemÚoperatorÚixs r7Ú _make_indexr±'s5€Ø24€EØ�jŠjÐ)Ñ*Ô*€Gå" 6¨.Ô#9Ñ:Ô:ð ð ‰ ˆˆXà Ð Ø  FÐ*Ð*Ð*Ð*ؘ-Ô(¨Ô-ˆDݘ‘:”:ˆDˆDàˆDØ”< Ô)ˆDØ ð B�t˜w��Ø# DœMð Bð B�ØÕ5Ð5Ð5Ý1°(Ô;¸DÑAÔA�DøØ � Š �TÑÔÐÐÝ ŒØˆvŒð Øð ð Ø'-¨hÔ'7À ð ð ð €Bð &Ð(Ð(Ø+1Ð2IÔ+JˆŒÐ'Ñ(Ø €Ir9r$c󂇗tjˆfd„|dD¦«d|diŽ}d|vr|d|jd<|S)Ncó*•—g|]}‰j|‘ŒSr[©r©©rAÚcnamer–s €r7r\z+_make_unique_constraint..Es ø€Ð BÐ BÐ B %ˆ*Œ,�uÔ Ð BÐ BÐ Br9r£rOÚduplicates_index)rnr$r�)ržr–Úuqs ` r7Ú_make_unique_constraintr¹Asdø€õ Ô #Ø BÐ BÐ BÐ B¨6°.Ô+AÐ BÑ BÔ Bð à �FŒ^ð ð €Bð˜VÐ#Ð#Ø&,Ð-?Ô&@ˆŒÐ"Ñ#à €Ir9r!c 󼇇—|dŠ|dr |d›d‰›�Š| di¦«}tjˆfd„|dD¦«ˆfd„|dD¦«| d ¦«| d ¦«| d ¦«| d ¦«|d ¬¦«}‰ |¦«|S)NÚreferred_tableÚreferred_schemarrÚoptionscó*•—g|]}‰j|‘ŒSr[r´rµs €r7r\z%_make_foreign_key..Xs ø€ÐHÐHÐH ˆŒ�eÔ ÐHÐHÐHr9Úconstrained_columnscó•—g|] }‰›d|›�‘Œ S)rrr[)rAÚnrXs €r7r\z%_make_foreign_key..Ys$ø€ÐBÐBÐB !�E�E�E˜1˜1Ð ÐBÐBÐBr9Úreferred_columnsÚonupdateÚondeleteÚ deferrableÚ initiallyrO)rÃrÄrÅrÆrO)rFrnr!Úappend_constraint)ržr–r½ÚconstrXs ` @r7Ú_make_foreign_keyrÉNsùøø€ð Ð#Ô $€EØ ÐÔ ð=Ø!Ð"3Ô4Ð4Ð4°e°eÐ<ˆà�jŠj˜ BÑ'Ô'€Gå Ô *ØHÐHÐHÐH¨&Ð1FÔ*GÐHÑHÔHØBÐBÐBÐB vÐ.@Ô'AÐBÑBÔBØ—’˜ZÑ(Ô(Ø—’˜ZÑ(Ô(Ø—;’;˜|Ñ,Ô,Ø—+’+˜kÑ*Ô*Ø �FŒ^ð ñ ô €Eð× Ò  Ñ'Ô'Ð'Ø €Lr9ú Optional[str]rXúUnion[quoted_name, str]rŽr�r)úIterator[None]c #󔇇‡K—‰r‰›d‰›�n‰}td„|jD¦«¦«}d„|jD¦«} ˆˆˆfd„|jD¦«} | | ¦«D]|} ‰ | | | ddd¦«r[|j tj ‰‰| | ¦«¦«t  d|| ¦«Œ}|  | ¦«D]ž} | | } |j| }‰ | | dd|¦«sŒ1t j ‰| ‰¬¦«}t  d¦«‰|‰‰| || ¦«| ¦«r|j |¦«ŒŸdV—t| ¦« |¦«D]†} ‰ |j| | dd d¦«r`|j tj ‰‰|j| ¦«¦«t  d || ¦«Œ‡dS) Nrrc3ó2K—|]}|j° |jV—ŒdSrk©ÚsystemrO©rAr©s r7rYz#_compare_columns..ps?èè€ð$ð$ذ´ð$Ø Œð$ð$ð$ð$ð$ð$r9có,—i|]}|j° |j|“ŒSr[rÏrÑs r7rqz$_compare_columns..ss3€ðððذ1´8ðØ Œ�ðððr9c ó^•—i|])}‰ |jd‰‰dœ¦«¯!|j|“Œ*S)Úcolumn©Ú table_namerW)r@rO)rAr©r+rrXs €€€r7rqz$_compare_columns..wsTø€ðððà Ø × +Ò +Ø ŒF�H¨UÀ6ÐJÐJñ ô ðØ Œ�ðððr9rÔFzDetected added column '%s.%s'rTzDetected removed column '%s.%s')rr©rar|rr}Ú AddColumnOpÚfrom_column_and_tablenamer€r�r‰r'rMrNÚ has_changesrIÚ DropColumnOp)rrXr–rŽr�r+rPrOÚmetadata_col_namesÚmetadata_cols_by_nameÚconn_col_namesr¶ÚcolnameÚ metadata_colÚconn_colÚalter_column_ops`` ` r7r‹r‹esåøøøèè€ð)/Ð 9�f�f�f˜e˜eÐ $Ð $°E€DÝ#ð$ð$Ø&Ô(ð$ñ$ô$ñôÐððØ)Ô+ðñôÐððððððà”ðñô€Nð$×.Ò.¨~Ñ>Ô>ð Cð CˆØ × -Ò -Ø ! %Ô (¨%°¸5À$ñ ô ð Cð Ô × 'Ò 'Ý”×9Ò9ؘEÐ#8¸Ô#?ñôñ ô ð õ �HŠHÐ4°d¸EÑ BÔ BÐ Bøà%×2Ò2°>ÑBÔBð9ð9ˆØ,¨WÔ5ˆ Ø”< Ô(ˆØ×1Ò1Ø ˜' 8¨U°Hñ ô ð ð ÝÔ+¨E°7À6ÐJÑJÔJˆå×Ò˜XÑ&Ô&Ø Ø Ø Ø Ø Ø Ø ñ ô ð ð × &Ò &Ñ (Ô (ð 9Ø Ô × 'Ò '¨Ñ 8Ô 8Ð 8øà €E€E€Eå�^Ñ$Ô$×/Ò/Ð0BÑCÔCð Eð EˆØ × -Ò -Ø ŒL˜Ô  ¨°$¸ñ ô ð Eð Ô × 'Ò 'ÝÔ ×:Ò:ؘE :¤<°Ô#6ñôñ ô ð õ �HŠHÐ6¸¸eÑ DÔ DÐ Døð Eð Er9có6—eZdZUded<d d„Zd„Zd „Zdd „Zd S)Ú_constraint_sigz4Union[UniqueConstraint, ForeignKeyConstraint, Index]rÈÚcontextr%r-rÊcó@—tj|j|j¦«Srk©rÚ_get_constraint_final_namerÈrG©Úselfräs r7Úmd_name_to_sql_namez#_constraint_sig.md_name_to_sql_name±ó €ÝÔ5Ø ŒJ˜œñ ô ð r9có"—|j|jkSrk©rÈ©réÚothers r7Ú__eq__z_constraint_sig.__eq__¶ó€ØŒz˜Uœ[Ò(Ð(r9có"—|j|jkSrkrírîs r7Ú__ne__z_constraint_sig.__ne__¹rñr9Úintcó*—t|j¦«Srk)ÚhashrÈ©rés r7Ú__hash__z_constraint_sig.__hash__¼s€Ý�D”JÑÔÐr9N©rär%r-rÊ)r-rô)Ú__name__Ú __module__Ú __qualname__Ú__annotations__rêrðrórør[r9r7rãrã®sh€€€€€€Ø?Ð?Ð?Ñ?ð ð ð ð ð )ð)ð)ð)ð)ð)ð ð ð ð ð ð r9rãcó6—eZdZdZdZd d„Zed d „¦«Zd S) Ú_uq_constraint_sigFTrÈr$r-r.có’—||_|j|_dttd„|jD¦«¦«¦«z|_dS)N)ÚUNIQUE_CONSTRAINTcó—g|] }|j‘Œ Sr[©rO©rAÚcols r7r\z/_uq_constraint_sig.__init__..Ès€Ð6Ð6Ð6 �C”HÐ6Ð6Ð6r9)rÈrOÚtuplerŠÚcolumnsÚsig)rérÈs r7Ú__init__z_uq_constraint_sig.__init__ÄsJ€ØˆŒ Ø”JˆŒ Ø)­EÝ Ð6Ð6¨¬ Ð6Ñ6Ô6Ñ 7Ô 7ñ- ô- ñ ˆŒˆˆr9ú List[str]có.—d„|jjD¦«S)Ncó—g|] }|j‘Œ Sr[rrs r7r\z3_uq_constraint_sig.column_names..Ís€Ð7Ð7Ð7˜S�”Ð7Ð7Ð7r9)rÈrr÷s r7r£z_uq_constraint_sig.column_namesËs€à7Ð7 D¤JÔ$6Ð7Ñ7Ô7Ð7r9N)rÈr$r-r.)r-r )rúrûrüÚis_indexÚ is_uniquer Úpropertyr£r[r9r7rÿrÿÀsR€€€€€Ø€HØ€Ið ð ð ð ðð8ð8ð8ñ„Xð8ð8ð8r9rÿcó:—eZdZdZdd„Zdd „Zedd„¦«ZdS)Ú_ix_constraint_sigTrÈr"r…r&r-r.có˜—||_|j|_d| |¦«z|_t |j¦«|_dS)N)ÚINDEX)rÈrOÚcreate_index_sigrÚboolr¥r)rérÈr…s r7r z_ix_constraint_sig.__init__ÓsA€ØˆŒ Ø”JˆŒ Ø × 5Ò 5°eÑ <Ô <Ñ<ˆŒÝ˜eœlÑ+Ô+ˆŒˆˆr9rär%rÊcó@—tj|j|j¦«Srkrærès r7rêz&_ix_constraint_sig.md_name_to_sql_nameÙrër9ú$Union[List[quoted_name], List[None]]có4—tj|j¦«Srk)rÚ_get_index_column_namesrÈr÷s r7r£z_ix_constraint_sig.column_namesÞs€åÔ2°4´:Ñ>Ô>Ð>r9N)rÈr"r…r&r-r.rù)r-r)rúrûrür r rêrr£r[r9r7rrÐsa€€€€€Ø€Hð,ð,ð,ð,ð  ð ð ð ð ð?ð?ð?ñ„Xð?ð?ð?r9rcó—eZdZ d d d„Zd S) Ú_fk_constraint_sigFrÈr!Úinclude_optionsrr-r.c óT—||_|j|_t|¦«\ |_|_|_|_|_|_}}}}|j|jt|j¦«|j|jt|j¦«f|_ |r•|xj |r.|  ¦«dkrdn|  ¦«nd|r.|  ¦«dkrdn|  ¦«nd|r|  ¦«dkrdn|rdndfz c_ dSdS)Nz no actionÚdeferredÚinitially_deferrablerÅznot deferrable) rÈrOrÚ source_schemaÚ source_tableÚsource_columnsÚ target_schemaÚ target_tableÚtarget_columnsrrÚlower)rérÈrrÃrÄrÅrÆs r7r z_fk_constraint_sig.__init__äs\€ðˆŒ Ø”JˆŒ õ �U‰OŒOñ Ø Ô Ø Ô Ø Ô Ø Ô Ø Ô Ø Ô Ø Ø Ø Ø ð Ô Ø Ô Ý �$Ô%Ñ &Ô &Ø Ô Ø Ô Ý �$Ô%Ñ &Ô &ð % ˆŒð ð Ø ˆHŒHà𘟚Ñ)Ô)¨[Ò8Ð8��¸h¿nºnÑ>NÔ>NÐ>Nàà𘟚Ñ)Ô)¨[Ò8Ð8��¸h¿nºnÑ>NÔ>NÐ>Nàðð&Ø!*§¢Ñ!2Ô!2°jÒ!@Ð!@ð'Ð&ðð&�\�\à%ð ñ ˆHŒHˆHˆHð ð r9N)F)rÈr!rrr-r.)rúrûrür r[r9r7rrãs0€€€€€àCHð)ð)ð)ð)ð)ð)ð)r9rrVÚ modify_opsúOptional[Table]có* ‡‡‡‡‡‡%‡&‡'‡(‡)‡*—‰j}‰duŠ(|duŠ)|�&d„|jD¦«}t|j¦«}nt¦«}t¦«}t ¦«x} } dŠ*d} ‰�ât |d¦«rb | ‰‰¬¦«} dŠ*ˆˆˆfd„| D¦«} | D]} |  d¦«rd} Œn#t$rYnt$rYnwxYw |  ‰‰¬¦«} ˆˆˆfd„| D¦«} n#t$rYnwxYw‰)rt¦«} nˆfd „| D¦«} d „ˆfd „| D¦«D¦«} | rt| | ||‰j ¦«‰j j | | ||¦«d „|D¦«} ‰j jŠ'ˆ'fd „|D¦«}d„| D¦«}ˆ'fd„| D¦«}ˆfd„|  |¦«D¦«}d„|D¦«Š&d„|D¦«Š%d„| |¦«D¦«}ˆ%ˆ&fd„t‰&¦« ‰%¦«D¦«}d„|D¦«}d„| D¦«}d„|D¦«}ˆfd„| D¦«}ˆˆ(ˆ)ˆˆ*fd„}ˆˆ(ˆ)ˆˆ*ˆfd„}ˆˆˆfd„}t%t|¦« |¦«¦«D]^}||}|js |j|vrŒ||vr4||\}}|j|vr|j|vr||¦«||¦«ŒS||¦«Œ_t%t|¦« |¦«¦«D]Ð}||} ||vr||\}}| jr|}n |}n||}|j| jkr||¦«|| ¦«ŒUg}!|j| jkr%|! d|j›d| j›�¦«|j| jkr%|! d|j›d| j›�¦«|!r ||| |!¦«ŒÑt%t|¦« |¦«¦«D]}"||"}#||#¦«Œ|D]}$|$|vr|||$¦«ŒdS) NcóF—h|]}t|tj¦«¯|’ŒSr[)Ú isinstancernr$©rAr¸s r7rCz/_compare_indexes_and_uniques.. s;€ð' ð' ð' àݘ"�iÔ8Ñ9Ô9ð' Ø ð' ð' ð' r9FÚget_unique_constraintsrTc óT•—g|]$}‰ |dd‰‰dœ¦«¯"|‘Œ%S)rOÚunique_constraintrÕr?)rAr¸r+rrXs €€€r7r\z0_compare_indexes_and_uniques..@sTø€ð ð ð àØ&×7Ò7ؘ6œ Ø+Ø',¸VÐDÐDñôð Øð ð ð r9r·c óT•—g|]$}‰ |dd‰‰dœ¦«¯"|‘Œ%S)rOÚindexrÕr?)rAr°r+rrXs €€€r7r\z0_compare_indexes_and_uniques..SsTø€ðððàØ"×3Ò3Ø�v”JØØ#(¸Ð@Ð@ñôðØðððr9có0•—h|]}t|‰¦«’ŒSr[)r¹)rAÚuq_defr–s €r7rCz/_compare_indexes_and_uniques..cs3ø€ðððàõ(¨° Ñ;Ô;ðððr9có—h|]}|®|’ŒSrkr[)rAr1s r7rCz/_compare_indexes_and_uniques..hs(€ð ð ð àØÐ ð à Ð Ð r9c3ó8•K—|]}t|‰¦«V—ŒdSrk)r±)rAr°r–s €r7rYz/_compare_indexes_and_uniques..js-øèè€ÐMÐM¸"�+ b¨*Ñ5Ô5ÐMÐMÐMÐMÐMÐMr9có,—h|]}t|¦«’ŒSr[©rÿr,s r7rCz/_compare_indexes_and_uniques..ˆs.€ð'ð'ð'Ø#%Õ˜2ÑÔð'ð'ð'r9có0•—h|]}t|‰¦«’ŒSr[©r©rAr°r…s €r7rCz/_compare_indexes_and_uniques..�s1ø€ðððØ)+Õ˜2˜tÑ$Ô$ðððr9có,—h|]}t|¦«’ŒSr[r7r,s r7rCz/_compare_indexes_and_uniques..‘s!€ÐMÐMÐM¸"Õ1°"Ñ5Ô5ÐMÐMÐMr9có0•—h|]}t|‰¦«’ŒSr[r9r:s €r7rCz/_compare_indexes_and_uniques..“s$ø€ÐLÐLÐL¸Õ*¨2¨tÑ4Ô4ÐLÐLÐLr9cóÊ•—i|]_}t|t¦«stj|j‰j¦«¯6t t| ‰¦«¦«|“Œ`Sr[) r+rrÚ_constraint_is_namedrÈrGrÚstrrê)rAr©r+s €r7rqz0_compare_indexes_and_uniques..–srø€ðððà õ �aÕ+Ñ ,Ô ,ð õ Ô +¨A¬G°_Ô5LÑ MÔ Mð Ý �S�!×'Ò'¨Ñ8Ô8Ñ9Ô9¸1ðððr9có—i|] }|j|“Œ Sr[rrÑs r7rqz0_compare_indexes_and_uniques..¢s€ÐGÐGÐG¨!˜AœF AÐGÐGÐGr9có—i|] }|j|“Œ Sr[rrÑs r7rqz0_compare_indexes_and_uniques..£s€Ð@Ð@Ð@¨!˜AœF AÐ@Ð@Ð@r9cóP—i|]#}tj|j¦«¯|j|“Œ$Sr[)rÚconstraint_name_stringrOrÑs r7rqz0_compare_indexes_and_uniques..¤s?€ðððà Ý Ô -¨a¬fÑ 5Ô 5ðØ Œ�ðððr9có2•—i|]}|‰|‰|f“ŒSr[r[)rArOÚconn_indexes_by_nameÚconn_uniques_by_names €€r7rqz0_compare_indexes_and_uniques..ªs<ø€ðððà ð Ð# DÔ)Ð+?ÀÔ+EÐFðððr9có—i|] }|j|“Œ Sr[©rr,s r7rqz0_compare_indexes_and_uniques..³s€ÐHÐHÐH¨"˜2œ6 2ÐHÐHÐHr9có—i|] }|j|“Œ Sr[rHr,s r7rqz0_compare_indexes_and_uniques..´s)€ðððØˆŒ�ðððr9có—i|] }|j|“Œ Sr[rH)rAr°s r7rqz0_compare_indexes_and_uniques..·s€ÐIÐIÐI¨b˜rœv rÐIÐIÐIr9có^•—i|])}tj|j‰j¦«°!|j|“Œ*Sr[)rr>rÈrGr)rAr¸r+s €r7rqz0_compare_indexes_and_uniques..¸sJø€ð ð ð à ÝÔ/Ø ŒH�oÔ-ñ ô ð Ø Œ�ð ð ð r9c󦕗|jr ‰ |j|jddd¦«r{‰j tj |j¦«¦«t  d|jd  d|j zg¦«¦«dSdS‰sdS‰s‰rdS‰ |j|jddd¦«r{‰j tj   |j¦«¦«t  d|jd  d|j zg¦«¦«dSdS)Nr1FzDetected added index '%s' on %sú, z'%s'r/z+Detected added unique constraint '%s' on %s)r r|rÈrOrr}Ú CreateIndexOpÚ from_indexr€r�Újoinr£ÚAddConstraintOpÚfrom_constraint)Úobjr+Úis_create_tableÚ is_drop_tabler'Úsupports_unique_constraintss €€€€€r7Ú obj_addedz/_compare_indexes_and_uniques..obj_addedÈsxø€Ø Œ<ð Ø×1Ò1Ø” ˜3œ8 W¨e°Tñôð ð”×%Ò%¥cÔ&7×&BÒ&BÀ3Ä9Ñ&MÔ&MÑNÔNÐNÝ—’Ø5Ø”HØ—I’I˜v¨Ô(8Ñ8Ð9Ñ:Ô:ñôðððð  ð ð/ð ð�Øð  -ð à�Ø×1Ò1Ø” ˜3œ8Ð%8¸%Àñôð ð”×%Ò%ÝÔ'×7Ò7¸¼ ÑBÔBñôðõ—’ØAØ”HØ—I’I˜v¨Ô(8Ñ8Ð9Ñ:Ô:ñôðððð ð r9cóD•—|jr�|jr‰sdS‰ |j|jddd¦«r_‰j t j |j¦«¦«t  d|j‰¦«dSdS‰s‰rdS‰ |j|jddd¦«r_‰j t j   |j¦«¦«t  d|j‰¦«dSdS)Nr1Tz#Detected removed index '%s' on '%s'r/z/Detected removed unique constraint '%s' on '%s') r rr|rÈrOrr}Ú DropIndexOprOr€r�ÚDropConstraintOprR)rSr+rTrUr'rVrXs €€€€€€r7Ú obj_removedz1_compare_indexes_and_uniques..obj_removedçsSø€Ø Œ<ð ØŒ}ð Ð%@ð ð�à×1Ò1Ø” ˜3œ8 W¨d°Dñôð ð”×%Ò%¥c¤o×&@Ò&@ÀÄÑ&KÔ&KÑLÔLÐLÝ—’Ø9¸3¼8ÀUñôðððð  ð ðð  -ð ð�Ø×1Ò1Ø” ˜3œ8Ð%8¸$Àñôð ð”×%Ò%ÝÔ(×8Ò8¸¼ÑCÔCñôðõ—’ØEØ”HØñôðððð ð r9cóv•—|jrÙ‰ |j|jdd|j¦«r¯t d|j‰d |¦«¦«‰j tj   |j¦«¦«‰j tj   |j¦«¦«dSdS‰ |j|jdd|j¦«r¯t d|j‰d |¦«¦«‰j tj   |j¦«¦«‰j tj  |j¦«¦«dSdS)Nr1Fz&Detected changed index '%s' on '%s':%srMr/z2Detected changed unique constraint '%s' on '%s':%s)r r|rÈrOr€r�rPrr}rYrOrNrZrRrQ)ÚoldÚnewÚmsgr+r'rXs €€€r7Ú obj_changedz1_compare_indexes_and_uniques..obj_changeds ø€Ø Œ<ð Ø×1Ò1Ø” ˜3œ8 W¨e°S´Yñôð Oõ—’Ø<Ø”HØØ—I’I˜c‘N”Nñ ôðð ”×%Ò%¥c¤o×&@Ò&@ÀÄÑ&KÔ&KÑLÔLÐLØ”×%Ò%¥cÔ&7×&BÒ&BÀ3Ä9Ñ&MÔ&MÑNÔNÐNÐNÐNð Oð Oð×1Ò1Ø” ˜3œ8Ð%8¸%ÀÄñôð õ—’ØHØ”HØØ—I’I˜c‘N”Nñ ôðð ”×%Ò%ÝÔ(×8Ò8¸¼ÑCÔCñôðð”×%Ò%ÝÔ'×7Ò7¸¼ ÑBÔBñôðððð ð r9z unique=z to unique=z expression z to )rPÚ constraintsrIÚindexesÚ frozensetÚhasattrr-rFÚNotImplementedErrorÚ TypeErrorÚ get_indexesÚ_correct_for_uq_duplicates_uixrGr]r…Úcorrect_for_autogen_constraintsÚunionr‰rŠrar rrr})+r+r'rrXr–rŽrPÚmetadata_unique_constraintsÚmetadata_indexesÚ conn_uniquesÚ conn_indexesÚ+unique_constraints_duplicate_unique_indexesr¸Úmetadata_unique_constraints_sigÚmetadata_indexes_sigÚconn_unique_constraintsÚconn_indexes_sigÚmetadata_namesÚ conn_namesÚdoubled_constraintsÚconn_uniques_by_sigÚmetadata_uniques_by_sigÚmetadata_indexes_by_sigÚunnamed_metadata_uniquesrWr[r`Ú removed_nameÚconn_objÚconn_uqÚconn_idxÚ existing_nameÚ metadata_objr_Ú added_namerSÚuq_sigrErFr…rTrUrVs+````` @@@@@@r7Ú_compare_indexes_and_uniquesrƒsºøøøøøøøøøøø€ð Ô)€IØ  DÐ(€OØ" dÐ*€MðÐ!ð' ð' à$Ô0ð' ñ' ô' Ð#õ ˜~Ô5Ñ6Ô6ÐÐå&)¡e¤eÐ#Ý™5œ5Ðå"+¡+¤+Ð-€L�<à"'Ðà27Ð/àÐå �9Ð6Ñ 7Ô 7ð Kð KØ(×?Ò?Ø &ð @ñ ô � ð/3Ð+ð ð ð ð ð ð à*ð ñ ô � ð'ðKðK�BØ—v’vÐ0Ñ1Ô1ðKØFJÐCøðKøõ#'ð ð ð Ø�Ýð ð ð ð�ð  øøøð$ Ø$×0Ò0ؘfð1ñôˆLð ðððððà&ðñôˆLˆLøõ#ð ð ð Ø ˆDð øøøð ð å™5œ5ˆLˆLððððà*ðñôˆLð  ð àMÐMÐMÐMÀ ÐMÑMÔMð ñ ô ˆ ð3ð Ý&Ø Ø Ø 'Ø Ø Ô #ñ  ô ð ðÔ%Ô*×JÒJØØØ#Øñ ôðð'ð'Ø)Dð'ñ'ô'Ð#ð Ô ,Ô 1€DððððØ/?ðñôÐðNÐMÀ ÐMÑMÔMÐàLÐLÐLÐL¸|ÐLÑLÔLÐððððà0×6Ò6Ø ñ ô ðñô€NðHÐGÐ/FÐGÑGÔGÐØ@Ð@Ð/?Ð@Ñ@Ô@Ðððà(×.Ò.Ð/?Ñ@Ô@ðñô€Jð ððððåÐ,Ñ-Ô-×:Ò:Ø ñ ô ðñôÐðIÐHÐ0GÐHÑHÔHÐððØ<ðñôÐðJÐIÐ4HÐIÑIÔIÐð ð ð ð à1ð ñ ô Ðð ððððððððð>ðððððððððð@ððððððõ<�s :™œ×9Ò9¸.ÑIÔIÑJÔJð"ð"ˆ ØBLØ ôC ˆðÔ ð " X¤\Ð5MÐ%MÐ%MØ Ø Ð0Ð 0Ð 0Ø 3°LÔ AÑ ˆG�Xà” Ð$;Ð;Ð;Ø”KÐ'>Ð>Ð>à� ˜GÑ$Ô$Ð$Ø� ˜HÑ%Ô%Ð%øà ˆK˜Ñ !Ô !Ð !Ð !奠NÑ 3Ô 3× @Ò @ÀÑ LÔ LÑMÔMð9ð9ˆ Ø% mÔ4ˆ à Ð/Ð /Ð /Ø 3°MÔ BÑ ˆG�XØÔ$ð #Ø#��à"��à! -Ô0ˆHà Ô   Ô 5Ò 5Ð 5Ø ˆK˜Ñ !Ô !Ð !Ø ˆI�lÑ #Ô #Ð #Ð #àˆCØÔ! \Ô%;Ò;Ð;Ø— ’ � àÔ)Ð)Ð)¨<Ô+AÐ+AðCñôððŒ|˜|Ô/Ò/Ð/Ø— ’ � Ø.6¬l¨l¨l¸LÔ| |vr| | | ¦«Œ^dS)Ncó>•—g|]}tj|‰¦«|f‘ŒSr[)rrç©rAÚconsrGs €r7r\z2_correct_for_uq_duplicates_uix..os;ø€ðððà õ Ô /°°gÑ >Ô >ÀÐEðððr9có—h|] \}}|®|’Œ Srkr[©rArOr‡s r7rCz1_correct_for_uq_duplicates_uix..ts(€ðððÙ��t°dÐ6FˆÐ6FÐ6FÐ6Fr9có@—h|]\}}|­t|¦«j’ŒSrk)rÿrr‰s r7rCz1_correct_for_uq_duplicates_uix..xs4€ðððá ˆD�$Ø ˆ<õ ˜4Ñ Ô Ô$à ˆ<ˆ.~s>ø€ðððà Ø Œ;ðÝÔ.¨t°WÑ=Ô=ðððr9có,—i|]}|j¯ |j|“ŒSr[)r¥rO©rAr‡s r7rqz2_correct_for_uq_duplicates_uix..†s#€ÐMÐMÐM¨ÀÄÐM�T”Y ÐMÐMÐMr9có8—i|]}|jd¯|j|“ŒS)r·)r�rOr�s r7rqz2_correct_for_uq_duplicates_uix..ˆs:€ðððà Ø Œ9Ð'Ô (ðØ Œ �4ðððr9)rÿrrK) rrrnrkrlrGÚmetadata_cons_namesÚmetadata_uq_namesÚunnamed_metadata_uqsÚmetadata_ix_namesÚ conn_ix_namesÚuqs_dupe_indexesÚoverlaps ` r7rhrh]sSø€ð$ðððà/ðñôÐð ðØ2ðñôÐððà-ðñôÐð ðððà$ðñôÐðNÐM°ÐMÑMÔM€Mððà+ðñôÐð $ð 9ð 9ˆØ Ð+Ð +Ð +å"Ð#3°GÔ#<Ñ=Ô=ÔAØ+ð,ð,ð(×/Ò/Ð0@ÀÔ0IÑJÔJÐJøØ Ð-Ð -Ð -Ø × Ò  ¨wÔ!7Ñ 8Ô 8Ð 8øð 9ð 9r9rÔrár'r¶ràú Column[Any]rßcól—|j}|j}||_||urštj|j|j¦«rtj|¦«stj|j|j¦«rt d||¦«dS||_ t d|rdnd||¦«dSdS)Nz3Ignoring nullable change on identity column '%s.%s'zDetected %s on column '%s.%s'ÚNULLzNOT NULL) ÚnullableÚexisting_nullablerÚ_server_default_is_computedÚserver_defaultÚ_nullability_might_be_unsetÚ_server_default_is_identityr€r�Úmodify_nullable) r+rárrXr¶ràrßÚmetadata_col_nullableÚconn_col_nullables r7Ú_compare_nullabler¢šsô€ð)Ô1ÐØ Ô)ÐØ(9€OÔ%àÐ 5Ð5Ð5å Ô 3ØÔ+¨XÔ-Dñ ô ð õÔ7¸ ÑEÔEð  õ Ô7Ø Ô/°Ô1Hñôð  õ �HŠHØEØØñ ô ð ð ð ð /DˆOÔ +Ý �HŠHØ/Ø/Ð?��°ZØØñ  ô ð ð ð ð'6Ð5r9rcóŽ—|jj|ur d|jd<dS|jdur d|jd<dS|jdur d|jd<dSdS)NTÚ autoincrementF)rVÚ_autoincrement_columnÚkwr¤)r+rárrXr¶ràrßs r7Ú_setup_autoincrementr§Äsr€ðÔÔ/°<Ð?Ð?Ø.2ˆÔ˜?Ñ+Ð+Ð+Ø Ô # tÐ +Ð +Ø.2ˆÔ˜?Ñ+Ð+Ð+Ø Ô # uÐ ,Ð ,Ø.3ˆÔ˜?Ñ+Ð+Ð+ð -Ð ,r9có|—|j}||_|j}|jtjurt  d||¦«dS|jtjurt  d||¦«dS|j ||¦«} | r'||_ t  d||||¦«dSdS)Nz3Couldn't determine database type for column '%s.%s'z:Column '%s.%s' has no type within the model; can't comparez-Detected type change from %r to %r on '%s.%s') ÚtypeÚ existing_typeÚ_type_affinityÚsqltypesÚNullTyper€r�r]Ú _compare_typeÚ modify_type) r+rárrXr¶ràrßÚ conn_typeÚ metadata_typeÚisdiffs r7r®r®×sñ€ð” €IØ$-€OÔ!Ø Ô%€MØÔ¥8Ô#4Ð4Ð4Ý �ŠØ DØ Ø ñ ô ð ð ˆØÔ#¥xÔ'8Ð8Ð8Ý �ŠØ KØ Ø ñ ô ð ð ˆà Ô .× <Ò <Ø�,ñô€Fðð Ø&3ˆÔ#Ý �ŠØ ;Ø Ø Ø Ø ñ  ô ð ð ð ð ð r9Úmetadata_defaultú Optional[Any]có —t|tj¦«rRt|jt¦«r|j}n0t |j |jddi¬¦«¦«}t|t¦«r|SdS)NÚ literal_bindsT©rGÚcompile_kwargs)r+rnÚ DefaultClauseÚargr?ÚcompilerG)r³r+s r7Ú"_render_server_default_for_comparer¼s•€õÐ"¥IÔ$;Ñ<Ô<ð Ý Ð&Ô*­CÑ 0Ô 0ð Ø/Ô3Ð Ð å"Ø Ô$×,Ò,Ø+Ô3Ø$3°TÐ#:ð-ñôñ ô Ð õ Ð"¥CÑ(Ô(ðØÐàˆtr9Úsqltextr?cóR—tjdd|¦« ¦«S)zÏwe want to warn if a computed sql expression has changed. however we don't want false positives and the warning is not that critical. so filter out most forms of variability from the SQL text. z[ \(\)'\"`\[\]]ru)ÚreÚsubr&)r½s r7Ú_normalize_computed_defaultrÁs%€õ Œ6Ð$ b¨'Ñ 2Ô 2× 8Ò 8Ñ :Ô :Ð:r9cóÄ—tttj|j¦«j |jddi¬¦«¦«}t|¦«}t|jtj¦«rJt|jj |jddi¬¦«¦«}|€d}nt|¦«}nd}||krt||¦«dSdS)Nr¶Tr·ru) r?rrnÚComputedrœr½r»rGrÁr+Ú_warn_computed_not_supported) r+rárrXr¶ràrßÚrendered_metadata_defaultÚrendered_conn_defaults r7Ú_compare_computed_defaultrÇ!s€õ!$Ý �YÔ  Ô!<Ñ=Ô=ÔE×MÒMØ#Ô+Ø+¨TÐ2ð Nñ ô ñ!ô!Ðõ!<Ø!ñ!ô!Ðõ�(Ô)­9Ô+=Ñ>Ô>ð#Ý #Ø Ô #Ô +× 3Ò 3Ø'Ô/Ø /°Ð6ð 4ñ ô ñ! ô! Ðð !Ð (Ø$&Ð !Ð !å$?Ø%ñ%ô%Ð !Ð !ð!#Ðà Ð$9Ò9Ð9Ý$ U¨EÑ2Ô2Ð2Ð2Ð2ð:Ð9r9có<—tjd|›d|›d�¦«dS)NzComputed default on rrz cannot be modified)rÚwarn)rXr¶s r7rÄrÄMs'€Ý„I€IÀÀÀÀuÀuÀuÐMÑNÔNÐNÐNÐNr9cój—|jj}| |j|j¦«\}} } || fSrk)r]r…Ú_compare_identity_defaultrœ) r+rárrXr¶ràrßr…ÚdiffÚ ignored_attrÚis_alters r7rËrËQsB€ð Ô ,Ô 1€DØ#'×#AÒ#AØÔ# XÔ%<ñ$ô$Ñ €Dˆ,˜ð �ˆ>Ðr9úOptional[bool]c ó´—|j}|j}|€|€dStj|¦«r#tjsdSt |||||||¦«Stj|¦«rt ||¦«dStj||¦«rU||_t|||||||¦«\} } | r3||_ | r*t  d||t| ¦«¦«n|t||¦«} |rtt|¦«jjnd} ||_|j ||| | ¦«} | r#||_ t  d||¦«dS)NFzIDetected server default on column '%s.%s': identity options attributes %sz)Detected server default on column '%s.%s')rœrr›Úhas_computed_reflectionrÇrÄržÚexisting_server_defaultrËÚmodify_server_defaultr€r�rŠr¼rrrºrr]Ú_compare_server_default)r+rárrXr¶ràrßr³Úconn_col_defaultrÌrÎrÅrÆÚis_diffs r7rÔrÔbsÑ€ð$Ô2ÐØÔ.ÐØÐÐ$4Ð$<؈uåÔ.Ð/?Ñ@Ô@ðõÔ2ð Ø�5õ*Ø#Ø#ØØØØØ ñôð õÔ.Ð/?Ñ@Ô@ðÝ$ U¨EÑ2Ô2Ð2؈uåÔ.ØÐ*ñôð*Pð3CˆÔ/Ý2Ø Ø Ø Ø Ø Ø Ø ñ ô ‰ˆˆhð ð Ø4DˆOÔ 1Øð Ý—’ð5àØÝ˜4‘L”Lñ ôðøõ%GØ ˜oñ% ô% Ð!ð 5EÐ N�D•Ð&Ñ 'Ô 'Ô +Ô 0Ð 0È$ð ð3CˆÔ/à!Ô3×KÒKØ Ø Ø %Ø !ñ  ô ˆð ð PØ4DˆOÔ 1Ý �HŠHÐ@À%ÈÑ OÔ OÐ Oà ˆ4r9úOptional[Literal[False]]có¼—|j€J‚|jjsdS|j}|j}|€|€dS||_||kr#||_t  d||¦«dS)NFzDetected column comment '%s.%s')rGÚsupports_commentsÚcommentÚexisting_commentÚmodify_commentr€r�) r+rárrXr¶ràrßÚmetadata_commentÚconn_col_comments r7Ú_compare_column_commentrß»s�€ð Ô "Ð .Ð .Ð .Ø Ô "Ô 4ð؈tà#Ô+ÐØÔ'ÐØÐÐ$4Ð$<؈uà'7€OÔ$àÐ+Ò+Ð+Ø)9ˆÔ&Ý �ŠÐ2°E¸5ÑAÔAÐAà ˆ4r9cóB‡‡‡‡‡‡‡—‰�|€dS‰j}d„|jD¦«}ˆˆˆfd„| ‰‰¬¦«D¦«}t|o d|dv¦«Šˆfd„|D¦«} ‰jj | |¦«ˆfd„|D¦«} ˆfd„| D¦«} d „| D¦«} d „| D¦«} d „| D¦«}d „| D¦«}ˆˆˆfd „}ˆˆfd„}t| ¦« | ¦«D]7}| |Š|| vr)‰j |vr|‰j j nd}|‰|¦«Œ8t| ¦« | ¦«D]7}| |Š|| vr)‰j |vr|‰j j nd}|‰|¦«Œ8dS)NcóF—h|]}t|tj¦«¯|’ŒSr[)r+rnr!)rAÚfks r7rCz(_compare_foreign_keys..ès;€ðððà Ý �b�)Ô8Ñ 9Ô 9ðØ ðððr9c óT•—g|]$}‰ |dd‰‰dœ¦«¯"|‘Œ%S)rOÚforeign_key_constraintrÕr?)rArâr+rrXs €€€r7r\z)_compare_foreign_keys..îsTø€ðððà Ø × +Ò +Ø ˆvŒJØ $Ø °Ð 8Ð 8ñ ô ðØ ðððr9rr½rcó0•—h|]}t|‰¦«’ŒSr[)rÉ)rArÈr–s €r7rCz(_compare_foreign_keys..üs3ø€ðððà õ ˜% Ñ,Ô,ðððr9có2•—h|]}t|‰¬¦«’ŒS©)r©r©rArâÚbackend_reflects_fk_optionss €r7rCz(_compare_foreign_keys..s7ø€ðððà õ ˜2Ð/JÐKÑKÔKðððr9có2•—h|]}t|‰¬¦«’ŒSrçrèrés €r7rCz(_compare_foreign_keys.. s7ø€ðððà õ ˜2Ð/JÐKÑKÔKðððr9có—i|] }|j|“Œ Sr[rHrÑs r7rqz)_compare_foreign_keys..s€Ð6Ð6Ð6 A�q”u˜aÐ6Ð6Ð6r9có—i|] }|j|“Œ Sr[rHrÑs r7rqz)_compare_foreign_keys..s€Ð>Ð>Ð>¨˜1œ5 !Ð>Ð>Ð>r9có,—i|]}|j® |j|“ŒSrkrrÑs r7rqz)_compare_foreign_keys..s*€ðððبq¬vÐ/AˆŒ�Ð/AÐ/AÐ/Ar9có,—i|]}|j® |j|“ŒSrkrrÑs r7rqz)_compare_foreign_keys..s#€ÐNÐNÐN a¸1¼6Ð;M˜œ Ð;MÐ;MÐ;Mr9có’•—‰ |j|jdd|¦«r¢‰j tj ‰j¦«¦«t dd  |j ¦«d  |j ¦«|j r d|j znd|j ¦«dSdS)NräFz1Detected added foreign key (%s)(%s) on table %s%srMú%s.ru)r|rÈrOrr}ÚCreateForeignKeyOprRr€r�rPr"r%r r!)rSÚ compare_tor+rÈr�s €€€r7Ú_add_fkz&_compare_foreign_keys.._add_fksÏø€Ø × -Ò -Ø ŒI�s”xÐ!9¸5À*ñ ô ð ð Ô × 'Ò 'ÝÔ&×6Ò6°u´{ÑCÔCñ ô ð õ �HŠHØCØ— ’ ˜#Ô,Ñ-Ô-Ø— ’ ˜#Ô,Ñ-Ô-Ø-0Ô->ÐF�˜Ô)Ñ)Ð)ÀBØÔ ñ  ô ð ð ð ð ð r9có’•—‰ |j|jdd|¦«r¢‰j tj |j¦«¦«t dd  |j ¦«d  |j ¦«|j r d|j znd|j ¦«dSdS)NräTz3Detected removed foreign key (%s)(%s) on table %s%srMrñru)r|rÈrOrr}rZrRr€r�rPr"r%r r!)rSrór+r�s €€r7Ú _remove_fkz)_compare_foreign_keys.._remove_fk)sÏø€Ø × -Ò -Ø ŒI�s”xÐ!9¸4Àñ ô ð ð Ô × 'Ò 'ÝÔ$×4Ò4°S´YÑ?Ô?ñ ô ð õ �HŠHØEØ— ’ ˜#Ô,Ñ-Ô-Ø— ’ ˜#Ô,Ñ-Ô-Ø-0Ô->ÐF�˜Ô)Ñ)Ð)ÀBØÔ ñ  ô ð ð ð ð ð r9) rPraÚget_foreign_keysrr]r…Úcorrect_for_autogen_foreignkeysrIrarOrÈ)r+r�rrXr–rŽrPÚ metadata_fksÚ conn_fks_listÚconn_fksÚmetadata_fks_sigÚ conn_fks_sigÚconn_fks_by_sigÚmetadata_fks_by_sigÚmetadata_fks_by_nameÚconn_fks_by_namerôröÚ removed_sigróÚ added_sigrêrÈs````` @@r7Ú_compare_foreign_keysrØsíøøøøøøø€ðИ^Ð3؈àÔ)€Iððà Ô,ðñô€Lð ðððððà×,Ò,¨U¸6Ð,ÑBÔBðñô€Mõ#'ØÐ7˜) }°QÔ'7Ð7ñ#ô#Ðððððà"ðñô€HðÔ%Ô*×JÒJØ�,ñôðððððàðñôÐð ðððàðñô€Lð 7Ð6¨Ð6Ñ6Ô6€OØ>Ð>Ð-=Ð>Ñ>Ô>ÐððØ+ðñôÐðOÐN¨<ÐNÑNÔNÐðððððððð ð ð ð ð ð õ$˜?Ñ+Ô+×6Ò6Ð7JÑKÔKð*ð*ˆ Ø  Ô,ˆØ Ð1Ð 1Ð 1ð”:Ð!5Ð5Ð5ð% U¤ZÔ0Ô6Ð6àð ð ˆJ�u˜jÑ )Ô )Ð )øåÐ,Ñ-Ô-×8Ò8¸ÑIÔIð'ð'ˆ Ø# IÔ.ˆØ ˜OÐ +Ð +ð”:Ð!1Ð1Ð1ð! ¤Ô,Ô2Ð2àð ð ˆG�E˜:Ñ &Ô &Ð &øð'ð'r9có€—|j€J‚|jjsdS|�|€dS|j€ |j€dS|j€=|j�6|j tj||j|¬¦«¦«dS|j|jkr<|j tj||j|j|¬¦«¦«dSdS)N)rÛr)rGrÙrÚrr}ÚDropTableCommentOpÚCreateTableCommentOp)r+r�rrXr–rŽs r7Ú_compare_table_commentrPs €ð Ô "Ð .Ð .Ð .Ø Ô "Ô 4ð؈ðИ^Ð3؈àÔÐ! nÔ&<Ð&D؈àÔÐ%¨*Ô*<Ð*HØÔ×#Ò#Ý Ô "ب Ô(:À6ð ñ ô ñ ô ð ð ð ð Ô  :Ô#5Ò 5Ð 5ØÔ×#Ò#Ý Ô $ØØÔ&Ø!+Ô!3Øð  ñ ô ñ ô ð ð ð ð 6Ð 5r9)r+r%r,r(r-r.)r+r%r5r*r-r.)r+r%r5r*rRrSr-r.) rerIrgrIrPrr5r*r+r%r-r.)ržrŸr–r#r-r )ržrŸr–r#r-r$)ržrŸr–r#r-r!)rrÊrXrËr–r#rŽr#r�r)r+r%rPrr-rÌ)r+r%r'r)rrÊrXrËr–r(rŽr(r-r.)r+r%rár'rrÊrXrËr¶rËràr–rßr–r-r.)r+r%rár'rrÊrXrËr¶rràr–rßr–r-r.)r³r´r+r%r-rÊ)r½r?r-r?)r+r%rár'rrÊrXr?r¶r?ràr–rßr–r-r.)rXr?r¶r?r-r.)r+r%rár'rrÊrXrËr¶rËràr–rßr–r-rÏ)r+r%rár'rrÊrXrËr¶rràr–rßr–r-r×)r+r%r�r)rrÊrXrËr–r(rŽr(r-r.)aÚ __future__rÚ contextlibÚloggingr¿Útypingrrrrrr r r r r rÚ sqlalchemyrrrrnrrr¬Úsqlalchemy.sqlrÚsqlalchemy.utilrÚalembic.ddl.baserrurÚ operationsrrrÚsqlalchemy.engine.reflectionrÚsqlalchemy.sql.elementsrrÚsqlalchemy.sql.schemar r!r"r#r$Úalembic.autogenerate.apir%Úalembic.ddl.implr&Úalembic.operations.opsr'r(r)r*Ú getLoggerrúr€r8Ú DispatcherrMr3Ú dispatch_forrhrdÚ immutabledictr—r˜r›rœr�rýr±r¹rÉÚcontextmanagerr‹rãrÿrrrƒrhr¢r§r®r¼rÁrÇrÄrËrÔrßrrr[r9r7úrsâðØ"Ð"Ð"Ð"Ð"Ð"Ð"àÐÐÐØ€€€Ø € € € ØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØ Ð Ð Ð Ð Ð ØÐÐÐÐÐàÐÐÐÐÐØÐÐÐÐÐØ*Ð*Ð*Ð*Ð*Ð*ØÐÐÐÐÐØ(Ð(Ð(Ð(Ð(Ð(Ø%Ð%Ð%Ð%Ð%Ð%Ø&Ð&Ð&Ð&Ð&Ð&à%Ð%Ð%Ð%Ð%Ð%ØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐàð2ØÐÐÐÐÐà6Ð6Ð6Ð6Ð6Ð6Ø3Ð3Ð3Ð3Ð3Ð3Ø2Ð2Ð2Ð2Ð2Ð2Ø,Ð,Ð,Ð,Ð,Ð,Ø:Ð:Ð:Ð:Ð:Ð:Ø+Ð+Ð+Ð+Ð+Ð+Ø+Ð+Ð+Ð+Ð+Ð+Ø6Ð6Ð6Ð6Ð6Ð6à7Ð7Ð7Ð7Ð7Ð7Ø,Ð,Ð,Ð,Ð,Ð,Ø4Ð4Ð4Ð4Ð4Ð4Ø6Ð6Ð6Ð6Ð6Ð6Ø5Ð5Ð5Ð5Ð5Ð5Ø1Ð1Ð1Ð1Ð1Ð1à€gÔ˜Ñ!Ô!€ð,ð,ð,ð,ðˆdŒo dÐ+Ñ+Ô+€ ððððð@ ×Ò˜(Ñ#Ô#ð'ð'ð'ñ$Ô#ð'ðTK9ðK9ðK9ðK9ð\-?¨DÔ,>àŒ~Ø”Ø!Ô,Ø Ô*Ø Ô+ØÔ)ð ðñ -ô -Ðð ð ð ñ ððððð4 ð ð ð ððððð. ÔðEEðEEðEEñÔðEEðP ð ð ð ð ñ ô ð ð$ 8ð 8ð 8ð 8ð 8˜ñ 8ô 8ð 8ð ?ð?ð?ð?ð?˜ñ?ô?ð?ð&*ð*ð*ð*ð*˜ñ*ô*ð*ðZ ×Ò˜'Ñ"Ô"ðI8ðI8ðI8ñ#Ô"ðI8ðX :9ð:9ð:9ðz ×Ò˜(Ñ#Ô#ð&ð&ð&ñ$Ô#ð&ðR ×Ò˜(Ñ#Ô#ð4ð4ð4ñ$Ô#ð4ð$ ×Ò˜(Ñ#Ô#ð( ð( ð( ñ$Ô#ð( ðVðððð(;ð;ð;ð;ð)3ð)3ð)3ð)3ðXOðOðOðOðððð" ×Ò˜(Ñ#Ô#ðUðUðUñ$Ô#ðUðp ×Ò˜(Ñ#Ô#ðððñ$Ô#ðð8 ×Ò˜'Ñ"Ô"ðt'ðt'ðt'ñ#Ô"ðt'ðn ×Ò˜'Ñ"Ô"ð# ð# ð# ñ#Ô"ð# ð# ð# r9