@quereus/quereus 4.4.0 → 4.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/dist/src/common/types.d.ts +9 -0
- package/dist/src/common/types.d.ts.map +1 -1
- package/dist/src/common/types.js.map +1 -1
- package/dist/src/core/database-events.d.ts +49 -0
- package/dist/src/core/database-events.d.ts.map +1 -1
- package/dist/src/core/database-events.js +148 -0
- package/dist/src/core/database-events.js.map +1 -1
- package/dist/src/core/database-materialized-views-plan-builders.d.ts +2 -1
- package/dist/src/core/database-materialized-views-plan-builders.d.ts.map +1 -1
- package/dist/src/core/database-materialized-views-plan-builders.js +26 -5
- package/dist/src/core/database-materialized-views-plan-builders.js.map +1 -1
- package/dist/src/core/database-materialized-views-plans.d.ts +6 -3
- package/dist/src/core/database-materialized-views-plans.d.ts.map +1 -1
- package/dist/src/core/database-materialized-views.d.ts +3 -2
- package/dist/src/core/database-materialized-views.d.ts.map +1 -1
- package/dist/src/core/database-materialized-views.js +26 -5
- package/dist/src/core/database-materialized-views.js.map +1 -1
- package/dist/src/core/database.d.ts +5 -0
- package/dist/src/core/database.d.ts.map +1 -1
- package/dist/src/core/database.js +21 -1
- package/dist/src/core/database.js.map +1 -1
- package/dist/src/core/internal-statement-cache.d.ts +18 -0
- package/dist/src/core/internal-statement-cache.d.ts.map +1 -0
- package/dist/src/core/internal-statement-cache.js +211 -0
- package/dist/src/core/internal-statement-cache.js.map +1 -0
- package/dist/src/func/builtins/aggregate.d.ts +13 -12
- package/dist/src/func/builtins/aggregate.d.ts.map +1 -1
- package/dist/src/func/builtins/aggregate.js +45 -67
- package/dist/src/func/builtins/aggregate.js.map +1 -1
- package/dist/src/func/builtins/builtin-window-functions.d.ts.map +1 -1
- package/dist/src/func/builtins/builtin-window-functions.js +63 -48
- package/dist/src/func/builtins/builtin-window-functions.js.map +1 -1
- package/dist/src/func/registration.d.ts +14 -1
- package/dist/src/func/registration.d.ts.map +1 -1
- package/dist/src/func/registration.js +25 -0
- package/dist/src/func/registration.js.map +1 -1
- package/dist/src/index.d.ts +8 -8
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +12 -11
- package/dist/src/index.js.map +1 -1
- package/dist/src/parser/parser.d.ts +6 -0
- package/dist/src/parser/parser.d.ts.map +1 -1
- package/dist/src/parser/parser.js +45 -34
- package/dist/src/parser/parser.js.map +1 -1
- package/dist/src/planner/analysis/comparison-collation.d.ts +2 -0
- package/dist/src/planner/analysis/comparison-collation.d.ts.map +1 -1
- package/dist/src/planner/analysis/comparison-collation.js +1 -1
- package/dist/src/planner/analysis/comparison-collation.js.map +1 -1
- package/dist/src/planner/analysis/expression-fingerprint.d.ts.map +1 -1
- package/dist/src/planner/analysis/expression-fingerprint.js +29 -0
- package/dist/src/planner/analysis/expression-fingerprint.js.map +1 -1
- package/dist/src/planner/analysis/query-rewrite-matcher.d.ts +6 -0
- package/dist/src/planner/analysis/query-rewrite-matcher.d.ts.map +1 -1
- package/dist/src/planner/analysis/query-rewrite-matcher.js +11 -2
- package/dist/src/planner/analysis/query-rewrite-matcher.js.map +1 -1
- package/dist/src/planner/analysis/sat-checker.d.ts.map +1 -1
- package/dist/src/planner/analysis/sat-checker.js +43 -4
- package/dist/src/planner/analysis/sat-checker.js.map +1 -1
- package/dist/src/planner/building/delete.d.ts.map +1 -1
- package/dist/src/planner/building/delete.js +10 -3
- package/dist/src/planner/building/delete.js.map +1 -1
- package/dist/src/planner/building/expression.d.ts.map +1 -1
- package/dist/src/planner/building/expression.js +87 -6
- package/dist/src/planner/building/expression.js.map +1 -1
- package/dist/src/planner/building/foreign-key-builder.d.ts +44 -1
- package/dist/src/planner/building/foreign-key-builder.d.ts.map +1 -1
- package/dist/src/planner/building/foreign-key-builder.js +54 -0
- package/dist/src/planner/building/foreign-key-builder.js.map +1 -1
- package/dist/src/planner/building/insert.d.ts.map +1 -1
- package/dist/src/planner/building/insert.js +9 -12
- package/dist/src/planner/building/insert.js.map +1 -1
- package/dist/src/planner/building/update.d.ts.map +1 -1
- package/dist/src/planner/building/update.js +13 -4
- package/dist/src/planner/building/update.js.map +1 -1
- package/dist/src/planner/framework/pass.js +3 -3
- package/dist/src/planner/nodes/dml-executor-node.d.ts +0 -9
- package/dist/src/planner/nodes/dml-executor-node.d.ts.map +1 -1
- package/dist/src/planner/nodes/dml-executor-node.js.map +1 -1
- package/dist/src/planner/nodes/scalar.d.ts.map +1 -1
- package/dist/src/planner/nodes/scalar.js +26 -3
- package/dist/src/planner/nodes/scalar.js.map +1 -1
- package/dist/src/planner/optimizer.d.ts.map +1 -1
- package/dist/src/planner/optimizer.js +5 -12
- package/dist/src/planner/optimizer.js.map +1 -1
- package/dist/src/planner/rules/access/rule-select-access-path.d.ts.map +1 -1
- package/dist/src/planner/rules/access/rule-select-access-path.js +43 -18
- package/dist/src/planner/rules/access/rule-select-access-path.js.map +1 -1
- package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.d.ts.map +1 -1
- package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.js +23 -4
- package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.js.map +1 -1
- package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.d.ts +10 -8
- package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.d.ts.map +1 -1
- package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.js +10 -8
- package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.js.map +1 -1
- package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.js +8 -1
- package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.js.map +1 -1
- package/dist/src/planner/rules/subquery/rule-scalar-agg-decorrelation.js +4 -0
- package/dist/src/planner/rules/subquery/rule-scalar-agg-decorrelation.js.map +1 -1
- package/dist/src/runtime/deferred-constraint-queue.d.ts.map +1 -1
- package/dist/src/runtime/deferred-constraint-queue.js +10 -0
- package/dist/src/runtime/deferred-constraint-queue.js.map +1 -1
- package/dist/src/runtime/emit/aggregate-setup.d.ts +49 -0
- package/dist/src/runtime/emit/aggregate-setup.d.ts.map +1 -0
- package/dist/src/runtime/emit/aggregate-setup.js +99 -0
- package/dist/src/runtime/emit/aggregate-setup.js.map +1 -0
- package/dist/src/runtime/emit/aggregate.d.ts.map +1 -1
- package/dist/src/runtime/emit/aggregate.js +4 -69
- package/dist/src/runtime/emit/aggregate.js.map +1 -1
- package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
- package/dist/src/runtime/emit/alter-table.js +348 -165
- package/dist/src/runtime/emit/alter-table.js.map +1 -1
- package/dist/src/runtime/emit/asof-scan.d.ts.map +1 -1
- package/dist/src/runtime/emit/asof-scan.js +6 -0
- package/dist/src/runtime/emit/asof-scan.js.map +1 -1
- package/dist/src/runtime/emit/between.d.ts.map +1 -1
- package/dist/src/runtime/emit/between.js +32 -3
- package/dist/src/runtime/emit/between.js.map +1 -1
- package/dist/src/runtime/emit/binary.d.ts.map +1 -1
- package/dist/src/runtime/emit/binary.js +22 -2
- package/dist/src/runtime/emit/binary.js.map +1 -1
- package/dist/src/runtime/emit/bloom-join.d.ts.map +1 -1
- package/dist/src/runtime/emit/bloom-join.js +24 -3
- package/dist/src/runtime/emit/bloom-join.js.map +1 -1
- package/dist/src/runtime/emit/cast.d.ts.map +1 -1
- package/dist/src/runtime/emit/cast.js +10 -23
- package/dist/src/runtime/emit/cast.js.map +1 -1
- package/dist/src/runtime/emit/constraint-check.d.ts.map +1 -1
- package/dist/src/runtime/emit/constraint-check.js +41 -44
- package/dist/src/runtime/emit/constraint-check.js.map +1 -1
- package/dist/src/runtime/emit/create-view.d.ts.map +1 -1
- package/dist/src/runtime/emit/create-view.js +6 -0
- package/dist/src/runtime/emit/create-view.js.map +1 -1
- package/dist/src/runtime/emit/distinct.d.ts.map +1 -1
- package/dist/src/runtime/emit/distinct.js +6 -3
- package/dist/src/runtime/emit/distinct.js.map +1 -1
- package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
- package/dist/src/runtime/emit/dml-executor.js +182 -81
- package/dist/src/runtime/emit/dml-executor.js.map +1 -1
- package/dist/src/runtime/emit/hash-aggregate.d.ts.map +1 -1
- package/dist/src/runtime/emit/hash-aggregate.js +16 -65
- package/dist/src/runtime/emit/hash-aggregate.js.map +1 -1
- package/dist/src/runtime/emit/insert.d.ts.map +1 -1
- package/dist/src/runtime/emit/insert.js +18 -7
- package/dist/src/runtime/emit/insert.js.map +1 -1
- package/dist/src/runtime/emit/join.js +5 -0
- package/dist/src/runtime/emit/join.js.map +1 -1
- package/dist/src/runtime/emit/materialized-view-helpers.d.ts +14 -1
- package/dist/src/runtime/emit/materialized-view-helpers.d.ts.map +1 -1
- package/dist/src/runtime/emit/materialized-view-helpers.js +33 -3
- package/dist/src/runtime/emit/materialized-view-helpers.js.map +1 -1
- package/dist/src/runtime/emit/materialized-view.d.ts.map +1 -1
- package/dist/src/runtime/emit/materialized-view.js +47 -6
- package/dist/src/runtime/emit/materialized-view.js.map +1 -1
- package/dist/src/runtime/emit/merge-join.d.ts.map +1 -1
- package/dist/src/runtime/emit/merge-join.js +18 -8
- package/dist/src/runtime/emit/merge-join.js.map +1 -1
- package/dist/src/runtime/emit/set-object-tags.d.ts +8 -0
- package/dist/src/runtime/emit/set-object-tags.d.ts.map +1 -1
- package/dist/src/runtime/emit/set-object-tags.js +8 -0
- package/dist/src/runtime/emit/set-object-tags.js.map +1 -1
- package/dist/src/runtime/emit/set-operation.d.ts.map +1 -1
- package/dist/src/runtime/emit/set-operation.js +7 -4
- package/dist/src/runtime/emit/set-operation.js.map +1 -1
- package/dist/src/runtime/emit/sort.d.ts.map +1 -1
- package/dist/src/runtime/emit/sort.js +5 -2
- package/dist/src/runtime/emit/sort.js.map +1 -1
- package/dist/src/runtime/emit/subquery.d.ts.map +1 -1
- package/dist/src/runtime/emit/subquery.js +113 -13
- package/dist/src/runtime/emit/subquery.js.map +1 -1
- package/dist/src/runtime/emit/temporal-arithmetic.d.ts +7 -0
- package/dist/src/runtime/emit/temporal-arithmetic.d.ts.map +1 -1
- package/dist/src/runtime/emit/temporal-arithmetic.js +15 -7
- package/dist/src/runtime/emit/temporal-arithmetic.js.map +1 -1
- package/dist/src/runtime/emit/update.d.ts.map +1 -1
- package/dist/src/runtime/emit/update.js +44 -3
- package/dist/src/runtime/emit/update.js.map +1 -1
- package/dist/src/runtime/emit/window.d.ts.map +1 -1
- package/dist/src/runtime/emit/window.js +72 -55
- package/dist/src/runtime/emit/window.js.map +1 -1
- package/dist/src/runtime/foreign-key-actions.d.ts +36 -1
- package/dist/src/runtime/foreign-key-actions.d.ts.map +1 -1
- package/dist/src/runtime/foreign-key-actions.js +238 -116
- package/dist/src/runtime/foreign-key-actions.js.map +1 -1
- package/dist/src/runtime/parallel-driver.d.ts +6 -1
- package/dist/src/runtime/parallel-driver.d.ts.map +1 -1
- package/dist/src/runtime/parallel-driver.js +7 -1
- package/dist/src/runtime/parallel-driver.js.map +1 -1
- package/dist/src/runtime/types.d.ts +18 -0
- package/dist/src/runtime/types.d.ts.map +1 -1
- package/dist/src/runtime/types.js.map +1 -1
- package/dist/src/schema/catalog-persistability.d.ts +58 -0
- package/dist/src/schema/catalog-persistability.d.ts.map +1 -0
- package/dist/src/schema/catalog-persistability.js +87 -0
- package/dist/src/schema/catalog-persistability.js.map +1 -0
- package/dist/src/schema/catalog.d.ts +17 -1
- package/dist/src/schema/catalog.d.ts.map +1 -1
- package/dist/src/schema/catalog.js +25 -3
- package/dist/src/schema/catalog.js.map +1 -1
- package/dist/src/schema/constraint-builder.d.ts +20 -22
- package/dist/src/schema/constraint-builder.d.ts.map +1 -1
- package/dist/src/schema/constraint-builder.js +43 -36
- package/dist/src/schema/constraint-builder.js.map +1 -1
- package/dist/src/schema/ddl-generator.d.ts +23 -0
- package/dist/src/schema/ddl-generator.d.ts.map +1 -1
- package/dist/src/schema/ddl-generator.js +27 -0
- package/dist/src/schema/ddl-generator.js.map +1 -1
- package/dist/src/schema/function.d.ts +30 -1
- package/dist/src/schema/function.d.ts.map +1 -1
- package/dist/src/schema/function.js.map +1 -1
- package/dist/src/schema/manager.d.ts +28 -0
- package/dist/src/schema/manager.d.ts.map +1 -1
- package/dist/src/schema/manager.js +82 -14
- package/dist/src/schema/manager.js.map +1 -1
- package/dist/src/schema/schema-differ.d.ts.map +1 -1
- package/dist/src/schema/schema-differ.js +51 -12
- package/dist/src/schema/schema-differ.js.map +1 -1
- package/dist/src/schema/unique-enforcement.d.ts +31 -0
- package/dist/src/schema/unique-enforcement.d.ts.map +1 -1
- package/dist/src/schema/unique-enforcement.js +37 -1
- package/dist/src/schema/unique-enforcement.js.map +1 -1
- package/dist/src/schema/window-function.d.ts +30 -10
- package/dist/src/schema/window-function.d.ts.map +1 -1
- package/dist/src/schema/window-function.js +20 -16
- package/dist/src/schema/window-function.js.map +1 -1
- package/dist/src/types/cast-semantics.d.ts +43 -0
- package/dist/src/types/cast-semantics.d.ts.map +1 -0
- package/dist/src/types/cast-semantics.js +59 -0
- package/dist/src/types/cast-semantics.js.map +1 -0
- package/dist/src/types/index.d.ts +1 -1
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/index.js +1 -1
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/types/json-type.d.ts.map +1 -1
- package/dist/src/types/json-type.js +31 -10
- package/dist/src/types/json-type.js.map +1 -1
- package/dist/src/types/logical-type.d.ts +22 -0
- package/dist/src/types/logical-type.d.ts.map +1 -1
- package/dist/src/types/logical-type.js.map +1 -1
- package/dist/src/types/temporal-types.d.ts.map +1 -1
- package/dist/src/types/temporal-types.js +33 -11
- package/dist/src/types/temporal-types.js.map +1 -1
- package/dist/src/types/validation.d.ts +39 -1
- package/dist/src/types/validation.d.ts.map +1 -1
- package/dist/src/types/validation.js +60 -0
- package/dist/src/types/validation.js.map +1 -1
- package/dist/src/util/ast-spine-clone.d.ts +23 -0
- package/dist/src/util/ast-spine-clone.d.ts.map +1 -0
- package/dist/src/util/ast-spine-clone.js +41 -0
- package/dist/src/util/ast-spine-clone.js.map +1 -0
- package/dist/src/util/coercion.d.ts +13 -0
- package/dist/src/util/coercion.d.ts.map +1 -1
- package/dist/src/util/coercion.js +10 -1
- package/dist/src/util/coercion.js.map +1 -1
- package/dist/src/util/comparison.d.ts +89 -0
- package/dist/src/util/comparison.d.ts.map +1 -1
- package/dist/src/util/comparison.js +156 -27
- package/dist/src/util/comparison.js.map +1 -1
- package/dist/src/vtab/manifest.d.ts +7 -0
- package/dist/src/vtab/manifest.d.ts.map +1 -1
- package/dist/src/vtab/memory/connection.d.ts +14 -1
- package/dist/src/vtab/memory/connection.d.ts.map +1 -1
- package/dist/src/vtab/memory/connection.js +20 -2
- package/dist/src/vtab/memory/connection.js.map +1 -1
- package/dist/src/vtab/memory/layer/base.d.ts +6 -1
- package/dist/src/vtab/memory/layer/base.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/base.js +14 -5
- package/dist/src/vtab/memory/layer/base.js.map +1 -1
- package/dist/src/vtab/memory/layer/connection.d.ts +17 -0
- package/dist/src/vtab/memory/layer/connection.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/connection.js +26 -0
- package/dist/src/vtab/memory/layer/connection.js.map +1 -1
- package/dist/src/vtab/memory/layer/manager.d.ts +96 -13
- package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/manager.js +595 -119
- package/dist/src/vtab/memory/layer/manager.js.map +1 -1
- package/dist/src/vtab/memory/layer/plan-filter.d.ts +41 -20
- package/dist/src/vtab/memory/layer/plan-filter.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/plan-filter.js +57 -27
- package/dist/src/vtab/memory/layer/plan-filter.js.map +1 -1
- package/dist/src/vtab/memory/layer/row-convert.d.ts +21 -0
- package/dist/src/vtab/memory/layer/row-convert.d.ts.map +1 -0
- package/dist/src/vtab/memory/layer/row-convert.js +30 -0
- package/dist/src/vtab/memory/layer/row-convert.js.map +1 -0
- package/dist/src/vtab/memory/layer/scan-layer.d.ts +6 -3
- package/dist/src/vtab/memory/layer/scan-layer.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/scan-layer.js +48 -34
- package/dist/src/vtab/memory/layer/scan-layer.js.map +1 -1
- package/dist/src/vtab/memory/layer/transaction.d.ts +127 -13
- package/dist/src/vtab/memory/layer/transaction.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/transaction.js +214 -65
- package/dist/src/vtab/memory/layer/transaction.js.map +1 -1
- package/dist/src/vtab/memory/module.d.ts.map +1 -1
- package/dist/src/vtab/memory/module.js +9 -2
- package/dist/src/vtab/memory/module.js.map +1 -1
- package/dist/src/vtab/memory/table.d.ts.map +1 -1
- package/dist/src/vtab/memory/table.js +3 -2
- package/dist/src/vtab/memory/table.js.map +1 -1
- package/dist/src/vtab/memory/types.d.ts +27 -1
- package/dist/src/vtab/memory/types.d.ts.map +1 -1
- package/dist/src/vtab/memory/types.js +16 -1
- package/dist/src/vtab/memory/types.js.map +1 -1
- package/dist/src/vtab/memory/utils/primary-key.d.ts +9 -0
- package/dist/src/vtab/memory/utils/primary-key.d.ts.map +1 -1
- package/dist/src/vtab/memory/utils/primary-key.js +11 -0
- package/dist/src/vtab/memory/utils/primary-key.js.map +1 -1
- package/dist/src/vtab/module.d.ts +63 -0
- package/dist/src/vtab/module.d.ts.map +1 -1
- package/dist/src/vtab/table.d.ts +24 -6
- package/dist/src/vtab/table.d.ts.map +1 -1
- package/dist/src/vtab/table.js.map +1 -1
- package/package.json +3 -3
- package/dist/src/planner/rules/cache/rule-in-subquery-cache.d.ts +0 -26
- package/dist/src/planner/rules/cache/rule-in-subquery-cache.d.ts.map +0 -1
- package/dist/src/planner/rules/cache/rule-in-subquery-cache.js +0 -66
- package/dist/src/planner/rules/cache/rule-in-subquery-cache.js.map +0 -1
|
@@ -77,6 +77,13 @@ defaultCollation = 'BINARY') {
|
|
|
77
77
|
// these physical sites; an MV's hint validates (over-permissive: the differ
|
|
78
78
|
// supports no MV rename and simply ignores it — harmless, see Decision 1).
|
|
79
79
|
const tagDiagnostics = [];
|
|
80
|
+
// First duplicate declared index name, if any — index names are unique per
|
|
81
|
+
// schema (enforced imperatively by `SchemaManager.createIndex`), and
|
|
82
|
+
// `declaredIndexes` is keyed schema-wide by lowercased name, so a duplicate
|
|
83
|
+
// used to silently last-writer-wins and half-apply the declaration. Recorded
|
|
84
|
+
// here and raised below, AFTER the tag diagnostics, so a reserved-tag typo
|
|
85
|
+
// still surfaces first (same deterministic order the tag/rename split has).
|
|
86
|
+
let duplicateDeclaredIndex;
|
|
80
87
|
for (const item of declaredSchema.items) {
|
|
81
88
|
switch (item.type) {
|
|
82
89
|
case 'declaredTable':
|
|
@@ -122,10 +129,20 @@ defaultCollation = 'BINARY') {
|
|
|
122
129
|
declaredMaterializedViews.set(item.viewStmt.view.name.toLowerCase(), item);
|
|
123
130
|
tagDiagnostics.push(...validateReservedTags(item.viewStmt.tags, 'view-ddl'));
|
|
124
131
|
break;
|
|
125
|
-
case 'declaredIndex':
|
|
126
|
-
|
|
132
|
+
case 'declaredIndex': {
|
|
133
|
+
const indexKey = item.indexStmt.index.name.toLowerCase();
|
|
134
|
+
const priorIndex = declaredIndexes.get(indexKey);
|
|
135
|
+
if (priorIndex && !duplicateDeclaredIndex) {
|
|
136
|
+
duplicateDeclaredIndex = {
|
|
137
|
+
name: item.indexStmt.index.name,
|
|
138
|
+
firstTable: priorIndex.indexStmt.table.name,
|
|
139
|
+
secondTable: item.indexStmt.table.name,
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
declaredIndexes.set(indexKey, item);
|
|
127
143
|
tagDiagnostics.push(...validateReservedTags(item.indexStmt.tags, 'physical-index'));
|
|
128
144
|
break;
|
|
145
|
+
}
|
|
129
146
|
case 'declaredAssertion':
|
|
130
147
|
declaredAssertions.set(item.assertionStmt.name.toLowerCase(), item);
|
|
131
148
|
break;
|
|
@@ -134,6 +151,11 @@ defaultCollation = 'BINARY') {
|
|
|
134
151
|
raiseReservedTagDiagnostics(tagDiagnostics, {
|
|
135
152
|
log: (d) => warnLog('reserved tag advisory (%s) on %s: %s', d.reason, d.site, d.message),
|
|
136
153
|
});
|
|
154
|
+
if (duplicateDeclaredIndex) {
|
|
155
|
+
const { name, firstTable, secondTable } = duplicateDeclaredIndex;
|
|
156
|
+
throw new QuereusError(`Index '${name}' is declared more than once in schema '${targetSchemaName}'`
|
|
157
|
+
+ ` (on '${firstTable}' and '${secondTable}') — index names are unique per schema`, StatusCode.ERROR);
|
|
158
|
+
}
|
|
137
159
|
// Normalize every declared `materialized view` into the TABLE category: a
|
|
138
160
|
// declared table whose `maintained` clause carries the body (no declared
|
|
139
161
|
// columns — the body owns the shape). This is what dissolves the standalone MV
|
|
@@ -1915,6 +1937,27 @@ function orderDropsByFKDependency(dropSet, actualTables) {
|
|
|
1915
1937
|
visit(name);
|
|
1916
1938
|
return result.reverse();
|
|
1917
1939
|
}
|
|
1940
|
+
/**
|
|
1941
|
+
* One column's `SET DATA TYPE` / `SET COLLATE` statements, ordered so the engine
|
|
1942
|
+
* accepts them. `SET DATA TYPE` carries the column's CURRENT collation into the new
|
|
1943
|
+
* type and is rejected when the new type does not accept it, so a retype into a
|
|
1944
|
+
* BINARY-only type (`DATE`/`TIME`/`DATETIME`/`TIMESPAN`/`JSON`) must follow its
|
|
1945
|
+
* `SET COLLATE BINARY` rather than precede it.
|
|
1946
|
+
*
|
|
1947
|
+
* Collate-first is the right order exactly when the target collation is BINARY: every
|
|
1948
|
+
* type accepts BINARY, so that statement never fails on the OLD type, and the retype
|
|
1949
|
+
* then arrives with a collation the new type accepts. A non-BINARY target must land
|
|
1950
|
+
* AFTER the retype instead — the new type is the one declaring support for it, and
|
|
1951
|
+
* setting it on the old type could be rejected (`DATE` → `TEXT COLLATE NOCASE`).
|
|
1952
|
+
*/
|
|
1953
|
+
function comparisonDomainAlters(quotedTable, quotedCol, change) {
|
|
1954
|
+
const prefix = `ALTER TABLE ${quotedTable} ALTER COLUMN ${quotedCol}`;
|
|
1955
|
+
const retype = change.dataType !== undefined ? [`${prefix} SET DATA TYPE ${change.dataType}`] : [];
|
|
1956
|
+
const recollate = change.collation !== undefined ? [`${prefix} SET COLLATE ${change.collation}`] : [];
|
|
1957
|
+
return normalizeCollationName(change.collation ?? 'BINARY') === 'BINARY'
|
|
1958
|
+
? [...recollate, ...retype]
|
|
1959
|
+
: [...retype, ...recollate];
|
|
1960
|
+
}
|
|
1918
1961
|
/**
|
|
1919
1962
|
* Generates migration DDL statements from a schema diff
|
|
1920
1963
|
*/
|
|
@@ -1970,8 +2013,9 @@ export function generateMigrationDDL(diff, schemaName) {
|
|
|
1970
2013
|
// Phase order within one table:
|
|
1971
2014
|
// RENAME COLUMN (so subsequent phases see post-rename column names)
|
|
1972
2015
|
// → ADD COLUMN
|
|
1973
|
-
// → ALTER COLUMN (
|
|
1974
|
-
// can rely on an already-populated DEFAULT for backfill
|
|
2016
|
+
// → ALTER COLUMN (comparison domain, then default, then nullability — so SET
|
|
2017
|
+
// NOT NULL can rely on an already-populated DEFAULT for backfill; the
|
|
2018
|
+
// type/collation pair orders internally, see comparisonDomainAlters)
|
|
1975
2019
|
// → RENAME CONSTRAINT, then DROP CONSTRAINT (free / remove a name before any
|
|
1976
2020
|
// re-add; a UNIQUE drop precedes the PK change so it can't strand a PK dep)
|
|
1977
2021
|
// → ALTER PRIMARY KEY
|
|
@@ -1987,14 +2031,9 @@ export function generateMigrationDDL(diff, schemaName) {
|
|
|
1987
2031
|
}
|
|
1988
2032
|
for (const colAlter of alter.columnsToAlter) {
|
|
1989
2033
|
const quotedCol = quoteIdentifier(colAlter.columnName);
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
// SET COLLATE right after SET DATA TYPE (both are comparison-domain
|
|
1994
|
-
// changes), before DEFAULT / NOT NULL.
|
|
1995
|
-
if (colAlter.collation !== undefined) {
|
|
1996
|
-
statements.push(`ALTER TABLE ${quotedTable} ALTER COLUMN ${quotedCol} SET COLLATE ${colAlter.collation}`);
|
|
1997
|
-
}
|
|
2034
|
+
// SET DATA TYPE / SET COLLATE lead the per-column phase (both are
|
|
2035
|
+
// comparison-domain changes), before DEFAULT / NOT NULL.
|
|
2036
|
+
statements.push(...comparisonDomainAlters(quotedTable, quotedCol, colAlter));
|
|
1998
2037
|
if (colAlter.defaultValue !== undefined) {
|
|
1999
2038
|
if (colAlter.defaultValue === null) {
|
|
2000
2039
|
statements.push(`ALTER TABLE ${quotedTable} ALTER COLUMN ${quotedCol} DROP DEFAULT`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-differ.js","sourceRoot":"","sources":["../../../src/schema/schema-differ.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema-differ.js","sourceRoot":"","sources":["../../../src/schema/schema-differ.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,8BAA8B,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,eAAe,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,+BAA+B,EAAE,gCAAgC,EAAE,qBAAqB,EAAE,+BAA+B,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC7Y,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAsB,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE1G,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,GAAG,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;AAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAEnC,sEAAsE;AACtE,MAAM,kBAAkB,GAAG,UAAU,CAAC;AAgMtC;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAChC,cAAqC,EACrC,aAA4B,EAC5B,SAAuB,OAAO;AAC9B;;;;;;GAMG;AACH,mBAA2B,QAAQ;IAEnC,MAAM,IAAI,GAAe;QACxB,cAAc,EAAE,EAAE;QAClB,YAAY,EAAE,EAAE;QAChB,aAAa,EAAE,EAAE;QACjB,0BAA0B,EAAE,EAAE;QAC9B,aAAa,EAAE,EAAE;QACjB,WAAW,EAAE,EAAE;QACf,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,EAAE;QACjB,kBAAkB,EAAE,EAAE;QACtB,gBAAgB,EAAE,EAAE;QACpB,eAAe,EAAE,EAAE;QACnB,gBAAgB,EAAE,EAAE;QACpB,OAAO,EAAE,EAAE;QACX,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,EAAE;KAChB,CAAC;IAEF,kEAAkE;IAClE,0EAA0E;IAC1E,2EAA2E;IAC3E,mEAAmE;IACnE,IAAI,cAAc,CAAC,SAAS,EAAE,CAAC;QAC9B,OAAO,wBAAwB,CAAC,cAAc,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,gBAAgB,GAAG,aAAa,CAAC,UAAU,CAAC;IAElD,+CAA+C;IAC/C,MAAM,iBAAiB,GAAG,cAAc,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAClE,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,EAAE,eAAe,CAAC;IAE9D,+BAA+B;IAC/B,MAAM,cAAc,GAAG,IAAI,GAAG,EAA6B,CAAC;IAC5D,MAAM,aAAa,GAAG,IAAI,GAAG,EAA4B,CAAC;IAC1D,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAwC,CAAC;IAClF,MAAM,eAAe,GAAG,IAAI,GAAG,EAA6B,CAAC;IAC7D,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAiC,CAAC;IAEpE,2EAA2E;IAC3E,0EAA0E;IAC1E,2EAA2E;IAC3E,8EAA8E;IAC9E,6EAA6E;IAC7E,wEAAwE;IACxE,6EAA6E;IAC7E,4EAA4E;IAC5E,uEAAuE;IACvE,wEAAwE;IACxE,iEAAiE;IACjE,iFAAiF;IACjF,+DAA+D;IAC/D,8EAA8E;IAC9E,4EAA4E;IAC5E,2EAA2E;IAC3E,MAAM,cAAc,GAAoB,EAAE,CAAC;IAC3C,2EAA2E;IAC3E,qEAAqE;IACrE,4EAA4E;IAC5E,6EAA6E;IAC7E,2EAA2E;IAC3E,4EAA4E;IAC5E,IAAI,sBAA6F,CAAC;IAClG,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;QACzC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,eAAe;gBACnB,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;gBAClE,cAAc,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;gBACpF,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;oBAC1C,cAAc,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,GAAG,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC;gBAC3E,CAAC;gBACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;oBAClD,sEAAsE;oBACtE,kEAAkE;oBAClE,kEAAkE;oBAClE,oEAAoE;oBACpE,oEAAoE;oBACpE,gEAAgE;oBAChE,qEAAqE;oBACrE,8DAA8D;oBAC9D,cAAc,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC;gBAC7E,CAAC;gBACD,yEAAyE;gBACzE,qEAAqE;gBACrE,uEAAuE;gBACvE,wEAAwE;gBACxE,2EAA2E;gBAC3E,4EAA4E;gBAC5E,0EAA0E;gBAC1E,yEAAyE;gBACzE,wEAAwE;gBACxE,yEAAyE;gBACzE,uEAAuE;gBACvE,4DAA4D;gBAC5D,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;oBAC1C,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;wBACxC,cAAc,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC;oBAC9E,CAAC;gBACF,CAAC;gBACD,MAAM;YACP,KAAK,cAAc;gBAClB,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC/D,cAAc,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;gBAC7E,MAAM;YACP,KAAK,0BAA0B;gBAC9B,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC3E,cAAc,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;gBAC7E,MAAM;YACP,KAAK,eAAe,CAAC,CAAC,CAAC;gBACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACzD,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACjD,IAAI,UAAU,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBAC3C,sBAAsB,GAAG;wBACxB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI;wBAC/B,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI;wBAC3C,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI;qBACtC,CAAC;gBACH,CAAC;gBACD,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBACpC,cAAc,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;gBACpF,MAAM;YACP,CAAC;YACD,KAAK,mBAAmB;gBACvB,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;gBACpE,MAAM;QACR,CAAC;IACF,CAAC;IACD,2BAA2B,CAAC,cAAc,EAAE;QAC3C,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,sCAAsC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;KACxF,CAAC,CAAC;IAEH,IAAI,sBAAsB,EAAE,CAAC;QAC5B,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,sBAAsB,CAAC;QACjE,MAAM,IAAI,YAAY,CACrB,UAAU,IAAI,2CAA2C,gBAAgB,GAAG;cACzE,SAAS,UAAU,UAAU,WAAW,wCAAwC,EACnF,UAAU,CAAC,KAAK,CAChB,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,yEAAyE;IACzE,+EAA+E;IAC/E,6EAA6E;IAC7E,+EAA+E;IAC/E,0EAA0E;IAC1E,6EAA6E;IAC7E,gFAAgF;IAChF,sEAAsE;IACtE,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,yBAAyB,EAAE,CAAC;QAC5D,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,YAAY,CACrB,IAAI,IAAI,uDAAuD,EAC/D,UAAU,CAAC,KAAK,CAChB,CAAC;QACH,CAAC;QACD,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,+BAA+B,CAAC,UAAU,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,6BAA6B;IAC7B,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACvF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACrF,6EAA6E;IAC7E,qDAAqD;IACrD,gFAAgF;IAChF,gFAAgF;IAChF,kFAAkF;IAClF,+EAA+E;IAC/E,mFAAmF;IACnF,0EAA0E;IAC1E,qEAAqE;IACrE,MAAM,aAAa,GAAG,IAAI,GAAG,CAC5B,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAClF,CAAC;IAEF,+CAA+C;IAC/C,sCAAsC;IACtC,2EAA2E;IAC3E,4EAA4E;IAC5E,qBAAqB;IACrB,MAAM,YAAY,GAAG,cAAc,CAAkC;QACpE,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,cAAc;QACxB,MAAM,EAAE,YAAY;QACpB,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI;QAC5C,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;QAC1B,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI;QACtC,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;QAC1B,MAAM;KACN,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAE3C,MAAM,WAAW,GAAG,cAAc,CAAgC;QACjE,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,aAAa;QACvB,MAAM,EAAE,WAAW;QACnB,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI;QAC1C,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;QAC1B,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI;QACrC,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;QAC1B,MAAM;KACN,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAE1C,MAAM,YAAY,GAAG,cAAc,CAAkC;QACpE,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,aAAa;QACrB,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI;QAC5C,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;QAC1B,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI;QACtC,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;QAC1B,MAAM;KACN,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAE3C,iFAAiF;IACjF,8EAA8E;IAC9E,gFAAgF;IAChF,kFAAkF;IAClF,gFAAgF;IAChF,gFAAgF;IAChF,iFAAiF;IACjF,6EAA6E;IAC7E,oEAAoE;IACpE,gFAAgF;IAChF,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAA4B,CAAC;IACjE,KAAK,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,cAAc,EAAE,CAAC;QACpD,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,aAAa;YAAE,SAAS;QAC7B,MAAM,OAAO,GAAG,oBAAoB,CAAC,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC;QACnF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,oBAAoB,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAChG,CAAC;IACF,CAAC;IAED,4EAA4E;IAC5E,2EAA2E;IAC3E,4EAA4E;IAC5E,kEAAkE;IAClE,0EAA0E;IAC1E,0EAA0E;IAC1E,wEAAwE;IACxE,wEAAwE;IACxE,wEAAwE;IACxE,uEAAuE;IACvE,oEAAoE;IACpE,+EAA+E;IAC/E,sEAAsE;IACtE,0EAA0E;IAC1E,qEAAqE;IACrE,yEAAyE;IACzE,+BAA+B;IAC/B,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC;IACzD,MAAM,qBAAqB,GAA0B,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC9E,IAAI,MAAM,KAAK,iBAAiB;YAAE,OAAO,KAAK,CAAC;QAC/C,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC;QACvH,MAAM,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC5C,OAAO,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC;IAClF,CAAC,CAAC;IAEF,kEAAkE;IAClE,2EAA2E;IAC3E,8EAA8E;IAC9E,gFAAgF;IAChF,0EAA0E;IAC1E,uEAAuE;IACvE,mBAAmB;IACnB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,IAAI,yBAAyB,GAAG,CAAC,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,cAAc,EAAE,CAAC;QACpD,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;QAC1C,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,aAAa,EAAE,CAAC;YACnB,+FAA+F;YAC/F,yEAAyE;YACzE,4EAA4E;YAC5E,sEAAsE;YACtE,4EAA4E;YAC5E,MAAM,SAAS,GAAG,qBAAqB,CAAC,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,gBAAgB,CAAC,CAAC;YACrL,IAAI,SAAS,CAAC,yBAAyB,EAAE,CAAC;gBACzC,sEAAsE;gBACtE,oEAAoE;gBACpE,2EAA2E;gBAC3E,uEAAuE;gBACvE,qEAAqE;gBACrE,oCAAoC;gBACpC,EAAE;gBACF,gEAAgE;gBAChE,2EAA2E;gBAC3E,yEAAyE;gBACzE,4EAA4E;gBAC5E,0EAA0E;gBAC1E,yEAAyE;gBACzE,2EAA2E;gBAC3E,yEAAyE;gBACzE,4EAA4E;gBAC5E,2BAA2B;gBAC3B,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACtB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,SAAS,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC,CAAC;gBACnJ,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC;oBACpC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI;oBAC1B,UAAU,EAAE,SAAS,CAAC,yBAAyB,CAAC,UAAU;oBAC1D,QAAQ,EAAE,SAAS,CAAC,yBAAyB,CAAC,QAAQ;iBACtD,CAAC,CAAC;gBACH,yBAAyB,EAAE,CAAC;gBAC5B,SAAS;YACV,CAAC;YACD,2EAA2E;YAC3E,IAAI,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC;gBAC/C,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;YAC5C,CAAC;YACD,IACC,SAAS,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;mBAC9B,SAAS,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;mBAClC,SAAS,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;mBACnC,SAAS,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;mBACpC,CAAC,SAAS,CAAC,mBAAmB,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;mBAChD,CAAC,SAAS,CAAC,iBAAiB,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;mBAC9C,CAAC,SAAS,CAAC,gBAAgB,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;mBAC7C,SAAS,CAAC,gBAAgB;mBAC1B,SAAS,CAAC,eAAe,KAAK,SAAS;mBACvC,CAAC,SAAS,CAAC,qBAAqB,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;mBAClD,SAAS,CAAC,aAAa,KAAK,SAAS;mBACrC,SAAS,CAAC,cAAc,KAAK,IAAI,EACnC,CAAC;gBACF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACpC,CAAC;QACF,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,SAAS,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC,CAAC;QACpJ,CAAC;IACF,CAAC;IAED,+EAA+E;IAC/E,4DAA4D;IAC5D,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,EAAE,CAAC;QACnC,IAAI,YAAY,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QACrD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,CAAC,YAAY,GAAG,wBAAwB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAEpE,uEAAuE;IACvE,oCAAoC;IACpC,8EAA8E;IAC9E,qEAAqE;IACrE,sEAAsE;IACtE,8EAA8E;IAC9E,sEAAsE;IACtE,6EAA6E;IAC7E,4EAA4E;IAC5E,2EAA2E;IAC3E,2EAA2E;IAC3E,6DAA6D;IAC7D,0EAA0E;IAC1E,6EAA6E;IAC7E,2EAA2E;IAC3E,oEAAoE;IACpE,0EAA0E;IAC1E,wEAAwE;IACxE,uEAAuE;IACvE,qEAAqE;IACrE,2EAA2E;IAC3E,2EAA2E;IAC3E,6DAA6D;IAC7D,4EAA4E;IAC5E,2EAA2E;IAC3E,2EAA2E;IAC3E,0EAA0E;IAC1E,2BAA2B;IAC3B,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC,sEAAsE;IAC7F,KAAK,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,aAAa,EAAE,CAAC;QAClD,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,aAAa,EAAE,CAAC;YACpB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnE,SAAS;QACV,CAAC;QACD,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC;QACnC,0EAA0E;QAC1E,+EAA+E;QAC/E,IAAI,iBAAiB,GAAG,+BAA+B,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,aAAa,CAAC,UAAU,CAAC;QAChH,IAAI,iBAAiB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,oBAAoB,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;YAC7F,iBAAiB,GAAG,gCAAgC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,qBAAqB,CAAC,KAAK,aAAa,CAAC,UAAU,CAAC;QACnM,CAAC;QACD,IAAI,iBAAiB,EAAE,CAAC;YACvB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;YAClD,aAAa,EAAE,CAAC;YAChB,SAAS;QACV,CAAC;QACD,IAAI,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC;YAC/C,wEAAwE;YACxE,kEAAkE;YAClE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,IAAI,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC3I,aAAa,EAAE,CAAC;YAChB,SAAS;QACV,CAAC;QACD,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC;IACF,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC;QAClC,IAAI,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QACpD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,+EAA+E;IAC/E,gFAAgF;IAChF,uEAAuE;IACvE,6EAA6E;IAC7E,8EAA8E;IAC9E,kFAAkF;IAClF,sEAAsE;IACtE,kEAAkE;IAElE,+EAA+E;IAC/E,wBAAwB;IACxB,yEAAyE;IACzE,+EAA+E;IAC/E,0EAA0E;IAC1E,+EAA+E;IAC/E,2EAA2E;IAC3E,6EAA6E;IAC7E,8EAA8E;IAC9E,yEAAyE;IACzE,uEAAuE;IACvE,6EAA6E;IAC7E,qEAAqE;IACrE,0DAA0D;IAC1D,+EAA+E;IAC/E,6EAA6E;IAC7E,8EAA8E;IAC9E,yCAAyC;IACzC,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC,sEAAsE;IAC9F,KAAK,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,eAAe,EAAE,CAAC;QACrD,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,aAAa,EAAE,CAAC;YACpB,MAAM,aAAa,GAAG,kBAAkB,CAAC,aAAa,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YACpF,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC;YAC9D,SAAS;QACV,CAAC;QACD,yEAAyE;QACzE,gFAAgF;QAChF,gFAAgF;QAChF,8EAA8E;QAC9E,4EAA4E;QAC5E,8EAA8E;QAC9E,+EAA+E;QAC/E,sEAAsE;QACtE,8EAA8E;QAC9E,+EAA+E;QAC/E,kFAAkF;QAClF,8EAA8E;QAC9E,2EAA2E;QAC3E,gFAAgF;QAChF,8EAA8E;QAC9E,kEAAkE;QAClE,iFAAiF;QACjF,wEAAwE;QACxE,qDAAqD;QACrD,MAAM,qBAAqB,GAAG,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACnG,MAAM,eAAe,GAAG,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QACzG,MAAM,YAAY,GAAG,0BAA0B,CAAC,aAAa,CAAC,SAAS,EAAE,qBAAqB,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;QAC3K,IAAI,YAAY,KAAK,aAAa,CAAC,UAAU,EAAE,CAAC;YAC/C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,aAAa,GAAG,kBAAkB,CAAC,aAAa,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YACpF,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC;YAC9D,cAAc,EAAE,CAAC;YACjB,SAAS;QACV,CAAC;QACD,IAAI,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC;YAC/C,kEAAkE;YAClE,kEAAkE;YAClE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,cAAc,GAAG,yBAAyB,CAAC,aAAa,CAAC,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,gBAAgB,CAAC,CAAC;YACnI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACrG,cAAc,EAAE,CAAC;YACjB,SAAS;QACV,CAAC;QACD,0FAA0F;QAC1F,IAAI,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7H,CAAC;IACF,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,aAAa,EAAE,CAAC;QACpC,IAAI,YAAY,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QACrD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,2EAA2E;IAC3E,+EAA+E;IAC/E,+EAA+E;IAC/E,8EAA8E;IAC9E,yEAAyE;IACzE,iFAAiF;IACjF,2EAA2E;IAC3E,sDAAsD;IACtD,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;QAC/B,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,yBAAyB,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,yBAAyB,CAAC,CAAC;QAC1I,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC;QAC/G,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC;IACvH,CAAC;IAED,8EAA8E;IAC9E,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/F,KAAK,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,kBAAkB,EAAE,CAAC;QAC5D,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC;QACxF,CAAC;IACF,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,gBAAgB,EAAE,CAAC;QACvC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;IACF,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,wBAAwB,CAChC,cAAqC,EACrC,aAA4B,EAC5B,IAAgB;IAEhB,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;QACzC,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACnC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9D,CAAC;IACF,CAAC;IACD,qEAAqE;IACrE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAE/E,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACpC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC/B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,cAAc,CAAO,IAS7B;IAKA,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAEhH,MAAM,OAAO,GAAe,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAa,CAAC;IACnC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAE1C,2EAA2E;IAC3E,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjC,IAAI,SAAS;gBAAE,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;IAC5C,CAAC;IAED,wDAAwD;IACxD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAa,CAAC;IACxC,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC;QAC5B,MAAM,EAAE,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACnD,IAAI,EAAE,EAAE,CAAC;YACR,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,YAAY,CACrB,yBAAyB,EAAE,QAAQ,IAAI,qBAAqB,EAC5D,UAAU,CAAC,KAAK,CAChB,CAAC;YACH,CAAC;YACD,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACvB,CAAC;IACF,CAAC;IAED,0DAA0D;IAC1D,4EAA4E;IAC5E,oDAAoD;IACpD,6EAA6E;IAC7E,0CAA0C;IAC1C,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/C,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAE5D,IAAI,SAAwB,CAAC;QAC7B,IAAI,YAAgC,CAAC;QACrC,IAAI,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACxC,IAAI,IAAI,EAAE,CAAC;gBACV,SAAS,GAAG,IAAI,CAAC;gBACjB,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAClD,CAAC;QACF,CAAC;QACD,IAAI,CAAC,SAAS,IAAI,YAAY,EAAE,CAAC;YAChC,MAAM,UAAU,GAAG,YAAY;iBAC7B,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;iBAChC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC5B,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC/B,IAAI,IAAI,KAAK,EAAE;oBAAE,SAAS,CAAC,0CAA0C;gBACrE,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAChC,IAAI,MAAM,EAAE,CAAC;oBACZ,SAAS,GAAG,MAAM,CAAC;oBACnB,YAAY,GAAG,IAAI,CAAC;oBACpB,MAAM;gBACP,CAAC;YACF,CAAC;QACF,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,SAAS,IAAI,YAAY,KAAK,EAAE,CAAC;QAEpD,gFAAgF;QAChF,IAAI,SAAS,IAAI,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;YAC3C,MAAM,IAAI,YAAY,CACrB,uBAAuB,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,yFAAyF,EAAE,SAAS,YAAY,IAAI,EACtK,UAAU,CAAC,KAAK,CAChB,CAAC;QACH,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACf,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YACzB,SAAS;QACV,CAAC;QACD,IAAI,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;YAC9B,IAAI,eAAe,CAAC,GAAG,CAAC,YAAa,CAAC,EAAE,CAAC;gBACxC,MAAM,IAAI,YAAY,CACrB,uBAAuB,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,kBAAkB,YAAY,sCAAsC,EACtH,UAAU,CAAC,KAAK,CAChB,CAAC;YACH,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACvF,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YACzB,eAAe,CAAC,GAAG,CAAC,YAAa,CAAC,CAAC;QACpC,CAAC;QACD,0CAA0C;IAC3C,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CACvB,IAAoD,EACpD,GAA2B;IAE3B,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,MAAM,OAAO,GAAG,kBAAkB,GAAG,GAAG,CAAC;IACzC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC5C,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACzB,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACjD,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY,EAAE,OAAe,EAAE,KAAa;IACvE,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,YAAY,CACrB,mCAAmC,IAAI,oCAAoC,KAAK,WAAW,OAAO,iGAAiG,EACnM,UAAU,CAAC,KAAK,CAChB,CAAC;IACH,CAAC;AACF,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,sBAAsB,CAC9B,IAAY,EACZ,SAA8B,EAC9B,yBAA4E,EAC5E,gBAAwB,EACxB,iBAAqC,EACrC,eAAmC;IAEnC,MAAM,UAAU,GAAG,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,8BAA8B,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,aAAa,GAAG,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC;IAC1G,OAAO,mBAAmB,CAAC,aAAa,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAC1B,SAA8B,EAC9B,gBAAwB,EACxB,iBAA0B,EAC1B,eAAwB;IAExB,IAAI,MAAM,GAAG,SAAS,CAAC;IAEvB,0DAA0D;IAC1D,IAAI,gBAAgB,IAAI,gBAAgB,KAAK,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAChF,MAAM,GAAG;YACR,GAAG,MAAM;YACT,KAAK,EAAE;gBACN,GAAG,MAAM,CAAC,KAAK;gBACf,MAAM,EAAE,gBAAgB;aACxB;SACD,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,iBAAiB,EAAE,CAAC;QAChD,IAAI,UAAU,GAA6B,EAAE,CAAC;QAC9C,IAAI,eAAe,EAAE,CAAC;YACrB,IAAI,CAAC;gBACJ,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAA6B,CAAC;YACtE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,MAAM,IAAI,YAAY,CACrB,uDAAuD,SAAS,CAAC,KAAK,CAAC,IAAI,MAAO,CAAW,CAAC,OAAO,EAAE,EACvG,UAAU,CAAC,KAAK,EAChB,CAAU,CACV,CAAC;YACH,CAAC;QACF,CAAC;QACD,MAAM,GAAG;YACR,GAAG,MAAM;YACT,UAAU,EAAE,iBAAiB;YAC7B,UAAU,EAAE,UAAU;SACtB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAC1B,SAA8B,EAC9B,gBAAwB;IAExB,IAAI,MAAM,GAAG,SAAS,CAAC;IAEvB,uEAAuE;IACvE,IAAI,gBAAgB,IAAI,gBAAgB,KAAK,MAAM,EAAE,CAAC;QACrD,iCAAiC;QACjC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,GAAG;gBACR,GAAG,MAAM;gBACT,KAAK,EAAE;oBACN,GAAG,MAAM,CAAC,KAAK;oBACf,MAAM,EAAE,gBAAgB;iBACxB;aACD,CAAC;QACH,CAAC;QACD,sCAAsC;QACtC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,GAAG;gBACR,GAAG,MAAM;gBACT,KAAK,EAAE;oBACN,GAAG,MAAM,CAAC,KAAK;oBACf,MAAM,EAAE,gBAAgB;iBACxB;aACD,CAAC;QACH,CAAC;IACF,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,SAAS,4BAA4B,CAAC,GAAsB;IAC3D,IAAI,GAAG,CAAC,SAAS;QAAE,OAAO,GAAG,CAAC,SAAS,CAAC;IACxC,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;IAC5D,OAAO,SAAS,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,uBAAuB,CAAC,aAA4C,EAAE,UAAkB,EAAE,gBAAwB;IAC1H,IAAI,CAAC,aAAa;QAAE,OAAO,QAAQ,CAAC;IACpC,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IACvC,MAAM,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC;IACtF,OAAO,GAAG,CAAC,CAAC,CAAC,wBAAwB,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACzE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,SAAS,0BAA0B,CAClC,SAA8B,EAC9B,aAA4C,EAC5C,UAAyC,EACzC,YAAqC,EACrC,UAAkB,EAClB,gBAAwB;IAExB,MAAM,OAAO,GAAwB,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QAChE,MAAM,QAAQ,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ;YAAE,OAAO,GAAG,CAAC;QAC1B,+EAA+E;QAC/E,8EAA8E;QAC9E,+EAA+E;QAC/E,gFAAgF;QAChF,MAAM,SAAS,GAAG,sBAAsB,CACvC,4BAA4B,CAAC,GAAG,CAAC,IAAI,uBAAuB,CAAC,aAAa,EAAE,QAAQ,EAAE,gBAAgB,CAAC,IAAI,QAAQ,CACnH,CAAC;QACF,yEAAyE;QACzE,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,OAAO,IAAI,QAAQ,CAAC;QAC9G,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;IAC1E,CAAC,CAAC,CAAC;IACH,6EAA6E;IAC7E,uEAAuE;IACvE,2EAA2E;IAC3E,4EAA4E;IAC5E,4EAA4E;IAC5E,qEAAqE;IACrE,2EAA2E;IAC3E,4DAA4D;IAC5D,IAAI,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;IAC5B,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QACjE,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;YAC9B,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC3D,CAAC;QACD,qEAAqE;QACrE,uEAAuE;QACvE,gEAAgE;QAChE,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAClC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CACnE,CAAC;QACF,MAAM,aAAa,GAAG,SAAS,EAAE,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;QACjE,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC5B,6BAA6B,CAAC,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACvF,CAAC;QACD,KAAK,GAAG,KAAK,CAAC;IACf,CAAC;IACD,OAAO,gCAAgC,CAAC,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,gCAAgC,CACxC,OAA0C,EAC1C,MAAqB,EACrB,YAAqC;AACrC,4EAA4E;AAC5E,oBAA2D,EAC3D,UAAkB;AAClB,+GAA+G;AAC/G,qBAA4C;IAE5C,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,MAAM,EAAE,YAAY,EAAE,oBAAoB,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAAC;IAChI,OAAO,+BAA+B,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;AACnE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,SAAS,uBAAuB,CAC/B,MAAqB,EACrB,YAAqC;AACrC,4EAA4E;AAC5E,oBAA2D,EAC3D,UAAkB;AAClB,uGAAuG;AACvG,qBAA4C;IAE5C,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QAC9B,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACjE,CAAC;IACD,KAAK,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAAC,IAAI,oBAAoB,EAAE,CAAC;QACpE,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,iBAAiB,CAAC,CAAC;QACxF,MAAM,aAAa,GAAG,SAAS,EAAE,OAAO,IAAI,iBAAiB,CAAC;QAC9D,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC5B,iBAAiB,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAAC;QACxG,CAAC;IACF,CAAC;IACD,OAAO,WAAW,CAAC;AACpB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,wBAAwB,CAChC,IAAwB;AACxB,4EAA4E;AAC5E,oBAA2D,EAC3D,UAAkB;AAClB,+GAA+G;AAC/G,qBAA4C;IAE5C,IAAI,oBAAoB,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACjD,8EAA8E;IAC9E,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,oBAAoB,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAAC;IAC3H,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;AAC9C,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,yBAAyB,CACjC,IAAyB;AACzB,sDAAsD;AACtD,UAAyC;AACzC,4EAA4E;AAC5E,oBAA2D,EAC3D,UAAkB;IAElB,IAAI,oBAAoB,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEjD,MAAM,OAAO,GAAwB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QAC3D,MAAM,QAAQ,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ;YAAE,OAAO,GAAG,CAAC;QAC1B,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QACxF,IAAI,CAAC,MAAM;YAAE,OAAO,GAAG,CAAC;QACxB,IAAI,GAAG,CAAC,IAAI;YAAE,OAAO,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;QACtD,kEAAkE;QAClE,MAAM,OAAO,GAAG,GAAG,CAAC,IAAuB,CAAC;QAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,IAAsB,CAAC;QAC7C,OAAO,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC;IACnF,CAAC,CAAC,CAAC;IAEH,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACvB,IAAI,KAAK,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC5B,6BAA6B,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACpD,KAAK,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAC,IAAI,oBAAoB,EAAE,CAAC;YACjE,IAAI,iBAAiB,KAAK,aAAa;gBAAE,SAAS;YAClD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACzB,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAC/E,CAAC;QACF,CAAC;QACD,KAAK,GAAG,KAAK,CAAC;IACf,CAAC;IAED,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACpC,CAAC;AAwBD;;;;;;GAMG;AACH,SAAS,iCAAiC,CAAC,UAAkB,EAAE,EAAwB;IACtF,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,OAAO;YACX,IAAI,CAAC,EAAE,CAAC,IAAI;gBAAE,OAAO,SAAS,CAAC;YAC/B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QAC7H,KAAK,QAAQ;YACZ,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QACrH,KAAK,YAAY;YAChB,IAAI,CAAC,EAAE,CAAC,UAAU;gBAAE,OAAO,SAAS,CAAC;YACrC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QACzH;YACC,OAAO,SAAS,CAAC;IACnB,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,+BAA+B,CAAC,aAAgC,EAAE,UAAkB;IAC5F,MAAM,GAAG,GAAG,IAAI,GAAG,EAAmC,CAAC;IACvD,MAAM,GAAG,GAAG,CAAC,IAAwB,EAAE,IAAoD,EAAE,EAAuB,EAAQ,EAAE;QAC7H,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO;QAClC,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAO;QAC3B,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,+BAA+B,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/I,CAAC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,aAAa,CAAC,SAAS,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;QAC3D,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY;YAAE,SAAS;QACtC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACxB,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACnD,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;YACxC,IAAI,CAAC,EAAE,CAAC,IAAI;gBAAE,SAAS;YACvB,MAAM,EAAE,GAAG,iCAAiC,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3D,IAAI,EAAE;gBAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACnC,CAAC;IACF,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,8BAA8B,CACtC,OAAwE,EACxE,UAAyC;IAEzC,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC;QACpE,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC;IAC7B,CAAC;AACF,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,0BAA0B,CAClC,OAA6B,EAC7B,UAAyC;IAEzC,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC;QACpE,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;IAC/B,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,SAAS,sBAAsB,CAC9B,CAA0B,EAC1B,UAAyC,EACzC,YAAqC,EACrC,SAAiB,EACjB,UAAkB;AAClB,gHAAgH;AAChH,oBAA2D;AAC3D,uGAAuG;AACvG,qBAA4C;IAE5C,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC;IACrB,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,OAAO,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,EAAE,CAAC,IAAI;gBAAE,OAAO,CAAC,CAAC,UAAU,CAAC;YAClC,0EAA0E;YAC1E,MAAM,KAAK,GAAwB,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACvE,0EAA0E;YAC1E,2EAA2E;YAC3E,sEAAsE;YACtE,2EAA2E;YAC3E,sEAAsE;YACtE,yEAAyE;YACzE,4EAA4E;YAC5E,wEAAwE;YACxE,uEAAuE;YACvE,0DAA0D;YAC1D,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;gBAC9B,gBAAgB,CAAC,KAAK,CAAC,IAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YACjE,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;gBAC5B,sEAAsE;gBACtE,oEAAoE;gBACpE,sEAAsE;gBACtE,kEAAkE;gBAClE,sEAAsE;gBACtE,+DAA+D;gBAC/D,6BAA6B,CAAC,KAAK,CAAC,IAAK,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAAC;YAChH,CAAC;YACD,qEAAqE;YACrE,wEAAwE;YACxE,0EAA0E;YAC1E,2EAA2E;YAC3E,wEAAwE;YACxE,2EAA2E;YAC3E,yEAAyE;YACzE,2EAA2E;YAC3E,yEAAyE;YACzE,wEAAwE;YACxE,sEAAsE;YACtE,uEAAuE;YACvE,uEAAuE;YACvE,wEAAwE;YACxE,sEAAsE;YACtE,yEAAyE;YACzE,uCAAuC;YACvC,KAAK,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAC,IAAI,oBAAoB,EAAE,CAAC;gBACjE,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,iBAAiB,CAAC,CAAC;gBACxF,MAAM,aAAa,GAAG,SAAS,EAAE,OAAO,IAAI,iBAAiB,CAAC;gBAC9D,IAAI,aAAa,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE;oBAAE,SAAS;gBACtE,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACzB,iBAAiB,CAAC,KAAK,CAAC,IAAK,EAAE,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBACjF,CAAC;YACF,CAAC;YACD,OAAO,+BAA+B,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACf,MAAM,KAAK,GAAwB,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACxF,8BAA8B,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAC1D,OAAO,+BAA+B,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;QACD,KAAK,YAAY,CAAC,CAAC,CAAC;YACnB,MAAM,KAAK,GAAwB;gBAClC,GAAG,EAAE;gBACL,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBACzC,UAAU,EAAE,EAAE,CAAC,UAAU;oBACxB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;oBAC/F,CAAC,CAAC,EAAE,CAAC,UAAU;aAChB,CAAC;YACF,oEAAoE;YACpE,8BAA8B,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAC1D,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBACtB,mEAAmE;gBACnE,iEAAiE;gBACjE,sEAAsE;gBACtE,qEAAqE;gBACrE,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;gBACzD,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAC/D,IAAI,gBAAgB;oBAAE,0BAA0B,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAC7F,uEAAuE;gBACvE,yEAAyE;gBACzE,yEAAyE;gBACzE,6EAA6E;gBAC7E,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,CAAC;gBAC3E,IAAI,EAAE;oBAAE,KAAK,CAAC,UAAU,GAAG,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC;YACvE,CAAC;YACD,OAAO,+BAA+B,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC3D,CAAC;QACD;YACC,OAAO,CAAC,CAAC,UAAU,CAAC;IACtB,CAAC;AACF,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,oBAAoB,CAC5B,aAAgC,EAChC,WAAyB,EACzB,MAAoB;IAEpB,MAAM,eAAe,GAAG,IAAI,GAAG,EAAyB,CAAC;IACzD,KAAK,MAAM,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACnD,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,aAAa,GAAG,IAAI,GAAG,EAA2C,CAAC;IACzE,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;QACvC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,cAAc,CAAiD;QACrE,IAAI,EAAE,YAAY,EAAE,6EAA6E;QACjG,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,aAAa;QACrB,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;QAC5B,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;QAC1B,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;QAC5B,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;QAC1B,MAAM;KACN,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC7B,aAAgC,EAChC,WAAyB,EACzB,MAAoB;AACpB,yFAAyF;AACzF,YAAqC;AACrC,6EAA6E;AAC7E,UAAkB;AAClB;;;GAGG;AACH,oBAA2D;AAC3D,6GAA6G;AAC7G,qBAA4C;AAC5C,yFAAyF;AACzF,gBAAwB;IAExB,MAAM,IAAI,GAAmB;QAC5B,+FAA+F;QAC/F,SAAS,EAAE,WAAW,CAAC,IAAI;QAC3B,YAAY,EAAE,EAAE;QAChB,aAAa,EAAE,EAAE;QACjB,cAAc,EAAE,EAAE;QAClB,eAAe,EAAE,EAAE;KACnB,CAAC;IAEF,MAAM,kBAAkB,GAAG,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC;IAC9D,MAAM,cAAc,GAAG,WAAW,CAAC,UAAU,CAAC;IAE9C,wEAAwE;IACxE,6EAA6E;IAC7E,yEAAyE;IACzE,yEAAyE;IACzE,sEAAsE;IACtE,8DAA8D;IAC9D,qEAAqE;IACrE,2EAA2E;IAC3E,+EAA+E;IAC/E,gFAAgF;IAChF,kCAAkC;IAClC,MAAM,eAAe,GAAG,oBAAoB,CAAC,kBAAkB,EAAE,cAAc,EAAE,aAAa,CAAC,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACzJ,IAAI,eAAe;QAAE,IAAI,CAAC,yBAAyB,GAAG,eAAe,CAAC;IAEtE,8EAA8E;IAC9E,wEAAwE;IACxE,8EAA8E;IAC9E,4EAA4E;IAC5E,+EAA+E;IAC/E,mDAAmD;IACnD,IAAI,kBAAkB,IAAI,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxE,IAAI,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACjE,IAAI,CAAC,eAAe,GAAG,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACpE,CAAC;QACD,yBAAyB,CAAC,IAAI,EAAE,kBAAkB,EAAE,cAAc,EAAE,YAAY,EAAE,oBAAoB,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAAC;QAC3I,sBAAsB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IACb,CAAC;IAED,0EAA0E;IAC1E,0BAA0B;IAC1B,MAAM,UAAU,GAAG,oBAAoB,CAAC,aAAa,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAC5E,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,yEAAyE;IACzE,+EAA+E;IAC/E,8EAA8E;IAC9E,0EAA0E;IAC1E,gFAAgF;IAChF,mFAAmF;IACnF,KAAK,MAAM,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACnD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,8BAA8B,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAClG,CAAC;IACF,CAAC;IAED,yDAAyD;IACzD,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACpG,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;QACvC,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAClC,IAAI,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,SAAS;QACjD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;IACF,CAAC;IAED,gFAAgF;IAChF,KAAK,MAAM,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACnD,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,MAAM,MAAM,GAAG,4BAA4B,CAAC,GAAG,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAC5E,IAAI,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;IACF,CAAC;IAED,kDAAkD;IAClD,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;QAC/B,kBAAkB,CAAC,WAAW,WAAW,CAAC,IAAI,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACzG,CAAC;IAED,+EAA+E;IAC/E,6EAA6E;IAC7E,4EAA4E;IAC5E,6EAA6E;IAC7E,+EAA+E;IAC/E,8EAA8E;IAC9E,6EAA6E;IAC7E,iFAAiF;IACjF,MAAM,wBAAwB,GAAG,+BAA+B,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAC5F,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAoD,CAAC;IAC3F,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,gBAAgB,IAAI,EAAE,EAAE,CAAC;QACpD,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,iBAAiB,GAAG,cAAc,CAAoE;QAC3G,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,wBAAwB;QAClC,MAAM,EAAE,sBAAsB;QAC9B,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;QAC5B,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;QAC1B,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;QAC5B,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;QAC1B,MAAM;KACN,CAAC,CAAC;IACH,6EAA6E;IAC7E,+EAA+E;IAC/E,0DAA0D;IAC1D,mFAAmF;IACnF,+EAA+E;IAC/E,8EAA8E;IAC9E,kFAAkF;IAClF,kDAAkD;IAClD,gFAAgF;IAChF,gFAAgF;IAChF,6DAA6D;IAC7D,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,MAAM,6BAA6B,GAAG,IAAI,GAAG,EAAU,CAAC,CAAC,uBAAuB;IAChF,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC,CAAc,iCAAiC;IAC1F,4EAA4E;IAC5E,+EAA+E;IAC/E,6EAA6E;IAC7E,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,wBAAwB,EAAE,CAAC;QACnD,MAAM,aAAa,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,CAAC,aAAa,EAAE,CAAC;YACpB,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,qCAAqC;YACnE,eAAe,EAAE,CAAC;YAClB,SAAS;QACV,CAAC;QACD,4EAA4E;QAC5E,8EAA8E;QAC9E,8EAA8E;QAC9E,4EAA4E;QAC5E,4EAA4E;QAC5E,6EAA6E;QAC7E,2EAA2E;QAC3E,6EAA6E;QAC7E,IACC,CAAC,CAAC,UAAU,KAAK,aAAa,CAAC,UAAU;YACzC,sBAAsB,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,YAAY,EAAE,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,oBAAoB,EAAE,qBAAqB,CAAC,KAAK,aAAa,CAAC,UAAU,EACpK,CAAC;YACF,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW;YACvD,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAe,iCAAiC;YAC7E,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC5B,IAAI,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK;gBAAE,6BAA6B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1F,CAAC;IACF,CAAC;IAED,gEAAgE;IAChE,MAAM,0BAA0B,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAClE,CAAC,CAAC,EAAE,CAAC,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAChE,CAAC;IACF,IAAI,0BAA0B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,IAAI,CAAC,mBAAmB,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC9G,CAAC;IAED,6EAA6E;IAC7E,+EAA+E;IAC/E,0EAA0E;IAC1E,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,sBAAsB,EAAE,CAAC;QACjD,IAAI,iBAAiB,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,SAAS;QAC3D,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC/B,aAAa,EAAE,CAAC;QACjB,CAAC;IACF,CAAC;IAED,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC;QAAE,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC1E,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC;QAAE,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAE7E,gFAAgF;IAChF,4EAA4E;IAC5E,2CAA2C;IAC3C,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;QAC/B,kBAAkB,CAAC,eAAe,WAAW,CAAC,IAAI,GAAG,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;IACxF,CAAC;IAED,uEAAuE;IACvE,6EAA6E;IAC7E,6EAA6E;IAC7E,0EAA0E;IAC1E,8EAA8E;IAC9E,iFAAiF;IACjF,MAAM,qBAAqB,GAAsE,EAAE,CAAC;IACpG,KAAK,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC,IAAI,wBAAwB,EAAE,CAAC;QACnE,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QACzC,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,gBAAgB;YAAE,SAAS,CAAC,+CAA+C;QAChF,IAAI,WAAW,CAAC,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YACjE,qBAAqB,CAAC,IAAI,CAAC;gBAC1B,cAAc,EAAE,kBAAkB,CAAC,IAAI;gBACvC,IAAI,EAAE,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC;aAC5C,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IACD,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;IACpD,CAAC;IAED,+EAA+E;IAC/E,IAAI,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACjE,IAAI,CAAC,eAAe,GAAG,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACpE,CAAC;IAED,oBAAoB;IACpB,MAAM,UAAU,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC;IAExC,iFAAiF;IACjF,iFAAiF;IACjF,4EAA4E;IAC5E,iFAAiF;IACjF,mFAAmF;IACnF,+EAA+E;IAC/E,iDAAiD;IACjD,MAAM,oBAAoB,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7D,8BAA8B,CAAC,oBAAoB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IAE3E,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,gBAAgB,GAAG;YACvB,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC;YAC/C,YAAY,EAAE,UAAU,EAAE,uDAAuD;SACjF,CAAC;IACH,CAAC;IAED,gFAAgF;IAChF,qFAAqF;IACrF,yBAAyB,CAAC,IAAI,EAAE,kBAAkB,EAAE,cAAc,EAAE,YAAY,EAAE,oBAAoB,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAAC;IAC3I,sBAAsB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAE7C,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAAC,IAAoB,EAAE,cAA0C;IAC/F,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI,cAAc,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QAClF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC5B,CAAC;AACF,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,oBAAoB,CAC5B,kBAAoD,EACpD,cAA0C,EAC1C,kBAAsC,EACtC,kBAAkE;IAElE,IAAI,CAAC,kBAAkB,IAAI,CAAC,cAAc;QAAE,OAAO,SAAS,CAAC;IAC7D,MAAM,QAAQ,GAAG,0BAA0B,CAAC,kBAAkB,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,0BAA0B,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;IAC9E,MAAM,QAAQ,GAAG,0BAA0B,CAAC,kBAAkB,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,0BAA0B,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;IAC9E,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACrE,OAAO;QACN,UAAU,EAAE,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAClD,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC;KAChD,CAAC;AACH,CAAC;AAED,8FAA8F;AAC9F,SAAS,kBAAkB,CAAC,IAAY,EAAE,aAAqB;IAC9D,OAAO,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAS,yBAAyB,CACjC,IAAoB,EACpB,kBAAoD,EACpD,cAA0C,EAC1C,YAAqC,EACrC,oBAA2D,EAC3D,UAAkB;AAClB,+GAA+G;AAC/G,qBAA4C;IAE5C,IAAI,CAAC,kBAAkB,IAAI,CAAC,cAAc;QAAE,OAAO;IACnD,IAAI,kBAAkB,IAAI,CAAC,cAAc,EAAE,CAAC;QAC3C,wEAAwE;QACxE,8EAA8E;QAC9E,4EAA4E;QAC5E,IAAI,CAAC,aAAa,GAAG,EAAE,OAAO,EAAE,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,MAAM,EAAE,CAAC;QAChG,OAAO;IACR,CAAC;IACD,IAAI,CAAC,kBAAkB,IAAI,cAAc,EAAE,CAAC;QAC3C,oEAAoE;QACpE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,OAAO;IACR,CAAC;IACD,iFAAiF;IACjF,kFAAkF;IAClF,IAAI,qBAAqB,CAAC,kBAAmB,EAAE,cAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,oBAAoB,EAAE,UAAU,EAAE,qBAAqB,CAAC,EAAE,CAAC;QACjJ,OAAO,CAAC,kCAAkC;IAC3C,CAAC;IACD,8EAA8E;IAC9E,gFAAgF;IAChF,gFAAgF;IAChF,4EAA4E;IAC5E,+EAA+E;IAC/E,qEAAqE;IACrE,IAAI,oBAAoB,CAAC,IAAI,CAAC;QAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC3D,IAAI,CAAC,aAAa,GAAG,EAAE,OAAO,EAAE,kBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,kBAAmB,CAAC,MAAM,EAAE,CAAC;AACnG,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,qBAAqB,CAC7B,QAA8B,EAC9B,YAAoB,EACpB,YAAqC,EACrC,oBAA2D,EAC3D,UAAkB;AAClB,+GAA+G;AAC/G,qBAA4C;IAE5C,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,oBAAoB,CAAC,IAAI,GAAG,CAAC,CAAC;IAC5E,kFAAkF;IAClF,mFAAmF;IACnF,iFAAiF;IACjF,wEAAwE;IACxE,2EAA2E;IAC3E,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACpC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,eAAe,CAAC,+BAA+B,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,YAAY;YAAE,OAAO,IAAI,CAAC;QAC7G,IAAI,UAAU;eACV,eAAe,CAAC,gCAAgC,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,oBAAoB,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC;YACzK,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,yFAAyF;AACzF,SAAS,oBAAoB,CAAC,IAAoB;IACjD,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;WAC/B,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;WAC7B,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;WAC9B,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;WAC/B,CAAC,CAAC,IAAI,CAAC,gBAAgB;WACvB,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;WACxC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;WACzC,CAAC,IAAI,CAAC,mBAAmB,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,+BAA+B,CAAC,UAAwC;IAChF,MAAM,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC;IAC/B,OAAO;QACN,IAAI,EAAE,eAAe;QACrB,SAAS,EAAE;YACV,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,EAAE,CAAC,IAAI;YACd,WAAW,EAAE,KAAK;YAClB,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,EAAE,CAAC,UAAU;YACzB,UAAU,EAAE,EAAE,CAAC,UAAU;YACzB,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,kDAAkD;YAClD,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE;SACtD;KACD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,sBAAsB,CAAC,GAAkB;IACjD,IAAI,CAAC,GAAG,CAAC,WAAW;QAAE,OAAO,SAAS,CAAC;IACvC,8BAA8B;IAC9B,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IACpE,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACtC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC;IACrC,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAkB;IACjD,IAAI,CAAC,GAAG,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAC1D,OAAO,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC;AACxB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,wBAAwB,CAAC,GAAkB,EAAE,gBAAwB;IAC7E,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAC3D,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC3E,OAAO,uBAAuB,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,CAAC;AAC3E,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,8BAA8B,CAAC,GAAkB,EAAE,gBAAwB;IACnF,IAAI,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;QAAE,OAAO,GAAG,CAAC;IACjE,MAAM,QAAQ,GAAG,uBAAuB,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACpF,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IACtC,OAAO,EAAE,GAAG,GAAG,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AACxG,CAAC;AAED;;;;GAIG;AACH,SAAS,uBAAuB,CAAC,CAAwB,EAAE,CAAwB;IAClF,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC3C,OAAO,eAAe,CAAC,CAAC,CAAC,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,eAAe,CAAC,CAAU;IAClC,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAClE,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IACrE,MAAM,GAAG,GAAG,CAA4B,CAAC;IACzC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9D,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AAC1F,CAAC;AAED;;;;;;GAMG;AACH,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,kBAAkB,GAAG,IAAI,EAAE,kBAAkB,GAAG,eAAe,CAAC,CAAC,CAAC;AAEpG,6EAA6E;AAC7E,SAAS,mBAAmB,CAAC,IAAoD;IAChF,MAAM,GAAG,GAA6B,EAAE,CAAC;IACzC,IAAI,IAAI,EAAE,CAAC;QACV,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACxD,CAAC;IACF,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CACnB,QAAwD,EACxD,MAAsD;IAEtD,OAAO,eAAe,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,KAAK,eAAe,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;AACxG,CAAC;AAED,0FAA0F;AAC1F,SAAS,aAAa,CAAC,QAAwD;IAC9E,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,4BAA4B,CACpC,QAAuB,EACvB,MAAuC,EACvC,gBAAwB;IAExB,MAAM,MAAM,GAA0B,EAAE,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;IACpE,IAAI,GAAG,GAAG,KAAK,CAAC;IAEhB,4FAA4F;IAC5F,MAAM,eAAe,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACzD,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;QACzE,MAAM,CAAC,OAAO,GAAG,eAAe,CAAC;QACjC,GAAG,GAAG,IAAI,CAAC;IACZ,CAAC;IAED,qEAAqE;IACrE,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACxF,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QACpC,GAAG,GAAG,IAAI,CAAC;IACZ,CAAC;IAED,uEAAuE;IACvE,MAAM,eAAe,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,4BAA4B,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAC7F,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC;IAClD,IAAI,4BAA4B,EAAE,CAAC;QAClC,IAAI,CAAC,uBAAuB,CAAC,eAAe,EAAE,aAAa,CAAC,EAAE,CAAC;YAC9D,MAAM,CAAC,YAAY,GAAG,eAAe,CAAC;YACtC,GAAG,GAAG,IAAI,CAAC;QACZ,CAAC;IACF,CAAC;SAAM,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;QACnC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,GAAG,GAAG,IAAI,CAAC;IACZ,CAAC;IAED,6EAA6E;IAC7E,6EAA6E;IAC7E,iDAAiD;IACjD,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAC/E,IAAI,iBAAiB,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,QAAQ,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACxE,MAAM,CAAC,SAAS,GAAG,iBAAiB,CAAC;QACrC,GAAG,GAAG,IAAI,CAAC;IACZ,CAAC;IAED,8EAA8E;IAC9E,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,MAAM,CAAC,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3C,GAAG,GAAG,IAAI,CAAC;IACZ,CAAC;IAED,OAAO,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACjC,CAAC;AAED,SAAS,iBAAiB,CAAC,aAAgC;IAC1D,MAAM,IAAI,GAAG,aAAa,CAAC,SAAS,CAAC;IAErC,+CAA+C;IAC/C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACtB,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC3C,IAAI,UAAU,CAAC,IAAI,KAAK,YAAY,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBAC5D,OAAO,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACnC,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,SAAS,EAAE,CAAC,CAAC,SAAS;iBACtB,CAAC,CAAC,CAAC;YACL,CAAC;QACF,CAAC;IACF,CAAC;IAED,qCAAqC;IACrC,MAAM,MAAM,GAAwD,EAAE,CAAC;IACvE,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAChC,IAAI,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,EAAE,CAAC;YACzD,MAAM,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;YACxE,MAAM,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,SAAS,EAAE,YAAY,EAAE,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;aACnF,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IAErC,mDAAmD;IACnD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,gBAAgB,CACxB,QAA6D,EAC7D,MAAoD;IAEpD,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE;YAAE,OAAO,KAAK,CAAC;QACxF,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC;QACtD,IAAI,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;IACnD,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAgB;IACnD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,SAAS,wBAAwB,CAChC,OAAoB,EACpB,YAAuC;IAEvC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,SAAS,KAAK,CAAC,IAAY;QAC1B,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO;QAC9B,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,6BAA6B;QAC7D,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,KAAK,EAAE,CAAC;YACX,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;gBAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,IAAI;oBAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAC9D,CAAC;QACF,CAAC;QACD,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAED,yEAAyE;IACzE,gCAAgC;IAChC,KAAK,MAAM,IAAI,IAAI,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC;AACzB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,sBAAsB,CAAC,WAAmB,EAAE,SAAiB,EAAE,MAA6B;IACpG,MAAM,MAAM,GAAG,eAAe,WAAW,iBAAiB,SAAS,EAAE,CAAC;IACtE,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,kBAAkB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnG,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,gBAAgB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtG,OAAO,sBAAsB,CAAC,MAAM,CAAC,SAAS,IAAI,QAAQ,CAAC,KAAK,QAAQ;QACvE,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,GAAG,MAAM,CAAC;QAC3B,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAgB,EAAE,UAAmB;IACzE,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,YAAY,GAAG,CAAC,UAAU,IAAI,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAEpG,2EAA2E;IAC3E,6EAA6E;IAC7E,6EAA6E;IAC7E,mEAAmE;IACnE,yEAAyE;IACzE,6EAA6E;IAC7E,8EAA8E;IAC9E,qDAAqD;IACrD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAC9B,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACxB,UAAU,CAAC,IAAI,CAAC,eAAe,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrH,CAAC;QACD,8DAA8D;IAC/D,CAAC;IAED,oDAAoD;IACpD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1C,UAAU,CAAC,IAAI,CAAC,4BAA4B,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,0EAA0E;IAC1E,gFAAgF;IAChF,8EAA8E;IAC9E,8EAA8E;IAC9E,4EAA4E;IAC5E,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YAC1B,UAAU,CAAC,IAAI,CAAC,eAAe,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QACnG,CAAC;IACF,CAAC;IAED,6BAA6B;IAC7B,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QAC3C,UAAU,CAAC,IAAI,CAAC,wBAAwB,YAAY,GAAG,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACzC,UAAU,CAAC,IAAI,CAAC,uBAAuB,YAAY,GAAG,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QAC5C,UAAU,CAAC,IAAI,CAAC,wBAAwB,YAAY,GAAG,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,8EAA8E;IAC9E,8EAA8E;IAC9E,UAAU;IACV,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;IACxC,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;IACvC,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;IACzC,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAE5C,yBAAyB;IACzB,gCAAgC;IAChC,sEAAsE;IACtE,iBAAiB;IACjB,+EAA+E;IAC/E,0EAA0E;IAC1E,yEAAyE;IACzE,+EAA+E;IAC/E,gFAAgF;IAChF,wBAAwB;IACxB,gFAAgF;IAChF,+EAA+E;IAC/E,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,GAAG,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACzE,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;YACvC,UAAU,CAAC,IAAI,CAAC,eAAe,WAAW,kBAAkB,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5H,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACzC,UAAU,CAAC,IAAI,CAAC,eAAe,WAAW,eAAe,MAAM,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YAC7C,MAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACvD,kEAAkE;YAClE,yDAAyD;YACzD,UAAU,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC7E,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBACzC,IAAI,QAAQ,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;oBACpC,UAAU,CAAC,IAAI,CAAC,eAAe,WAAW,iBAAiB,SAAS,eAAe,CAAC,CAAC;gBACtF,CAAC;qBAAM,CAAC;oBACP,UAAU,CAAC,IAAI,CAAC,eAAe,WAAW,iBAAiB,SAAS,gBAAgB,kBAAkB,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;gBAClI,CAAC;YACF,CAAC;YACD,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBACpC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO;oBAC/B,CAAC,CAAC,eAAe,WAAW,iBAAiB,SAAS,eAAe;oBACrE,CAAC,CAAC,eAAe,WAAW,iBAAiB,SAAS,gBAAgB,CAAC,CAAC;YAC1E,CAAC;QACF,CAAC;QACD,yEAAyE;QACzE,6EAA6E;QAC7E,+CAA+C;QAC/C,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,IAAI,EAAE,EAAE,CAAC;YACjD,UAAU,CAAC,IAAI,CAAC,eAAe,WAAW,sBAAsB,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChI,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,EAAE,CAAC;YAClD,UAAU,CAAC,IAAI,CAAC,eAAe,WAAW,oBAAoB,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,gBAAgB,CAAC,YAAY;iBAChD,GAAG,CAAC,CAAC,CAAC,EAAE;gBACR,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAChC,IAAI,CAAC,CAAC,SAAS,KAAK,MAAM;oBAAE,CAAC,IAAI,OAAO,CAAC;gBACzC,OAAO,CAAC,CAAC;YACV,CAAC,CAAC;iBACD,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,UAAU,CAAC,IAAI,CAAC,eAAe,WAAW,uBAAuB,MAAM,GAAG,CAAC,CAAC;QAC7E,CAAC;QACD,+EAA+E;QAC/E,8EAA8E;QAC9E,mFAAmF;QACnF,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,gBAAgB,IAAI,EAAE,EAAE,CAAC;YACjD,UAAU,CAAC,IAAI,CAAC,eAAe,WAAW,QAAQ,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YAC3C,UAAU,CAAC,IAAI,CAAC,eAAe,WAAW,gBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACvF,CAAC;QACD,yEAAyE;QACzE,0EAA0E;QAC1E,iEAAiE;QACjE,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACzC,wEAAwE;YACxE,uEAAuE;YACvE,iEAAiE;YACjE,mCAAmC;YACnC,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,aAAa,CAAC;YACjF,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,IAAI,WAAW,aAAa,gBAAgB,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAClG,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YAC7C,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS;gBAAE,SAAS;YAC1C,UAAU,CAAC,IAAI,CAAC,eAAe,WAAW,iBAAiB,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChJ,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,qBAAqB,IAAI,EAAE,EAAE,CAAC;YACrD,UAAU,CAAC,IAAI,CAAC,eAAe,WAAW,qBAAqB,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,aAAa,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9I,CAAC;IACF,CAAC;IAED,6EAA6E;IAC7E,gFAAgF;IAChF,8EAA8E;IAC9E,8EAA8E;IAC9E,wEAAwE;IACxE,wEAAwE;IACxE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,aAAa;YAAE,SAAS;QACnC,MAAM,IAAI,GAAuB;YAChC,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,UAAU,IAAI,UAAU,KAAK,MAAM;gBACzC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE;gBACnE,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE;YAChD,MAAM,EAAE;gBACP,qEAAqE;gBACrE,0EAA0E;gBAC1E,yEAAyE;gBACzE,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO;gBACpC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM;aAClC;SACD,CAAC;QACF,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,8EAA8E;IAC9E,mEAAmE;IACnE,6EAA6E;IAC7E,gFAAgF;IAChF,gFAAgF;IAChF,mBAAmB;IACnB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,eAAe,IAAI,EAAE,EAAE,CAAC;QAC9C,UAAU,CAAC,IAAI,CAAC,cAAc,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClH,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,gBAAgB,IAAI,EAAE,EAAE,CAAC;QAC/C,UAAU,CAAC,IAAI,CAAC,eAAe,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnH,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC"}
|
|
@@ -50,6 +50,8 @@
|
|
|
50
50
|
* test fires is declined (perf-only loss in an already-exotic shape).
|
|
51
51
|
*/
|
|
52
52
|
import type { CollationFunction, CollationResolver } from '../types/logical-type.js';
|
|
53
|
+
import type { SqlValue } from '../common/types.js';
|
|
54
|
+
import type { ColumnSchema } from './column.js';
|
|
53
55
|
import type { IndexSchema, TableSchema, UniqueConstraintSchema } from './table.js';
|
|
54
56
|
/**
|
|
55
57
|
* True when populating `indexSchema` must reject duplicate keys: either the index
|
|
@@ -84,6 +86,35 @@ export declare function uniqueEnforcementCollations(schema: TableSchema, uc: Uni
|
|
|
84
86
|
* two calls itself.
|
|
85
87
|
*/
|
|
86
88
|
export declare function resolveUniqueEnforcementCollations(schema: TableSchema, uc: UniqueConstraintSchema, resolver: CollationResolver): CollationFunction[];
|
|
89
|
+
/**
|
|
90
|
+
* Per-column comparison functions for one row-identity check, one entry per
|
|
91
|
+
* `ucColumns` position: the declared type's `compare` for a semantic-ordering
|
|
92
|
+
* column (so TIMESPAN 'PT1H' conflicts with 'PT60M', matching the memory backend's
|
|
93
|
+
* typed BTree and `=` / DISTINCT / GROUP BY), else the enforcement collation through
|
|
94
|
+
* {@link compareSqlValuesFast} — the exact comparison every re-validator used before.
|
|
95
|
+
*
|
|
96
|
+
* `ucColumns` is usually a UNIQUE constraint's `uc.columns`, but any list of source
|
|
97
|
+
* column indices works: the covering-MV candidate generator
|
|
98
|
+
* (`lookupCoveringConflicts`) also builds a PRIMARY KEY set this way, so a re-spelled
|
|
99
|
+
* PK member still names the same row.
|
|
100
|
+
*
|
|
101
|
+
* Only semantic-ordering types are routed through `compare` ({@link hasSemanticOrdering}
|
|
102
|
+
* is the gate): a TEXT/ANY column's declared `compare` is not collation-aware, so
|
|
103
|
+
* consulting it would break NOCASE/RTRIM enforcement.
|
|
104
|
+
*
|
|
105
|
+
* Takes PRE-RESOLVED collations rather than `(schema, uc, resolver)` because the call
|
|
106
|
+
* sites do not share one collation resolution. Memory's `checkUniqueViaIndex`
|
|
107
|
+
* deliberately reads them from the LIVE `MemoryIndex` handle rather than from
|
|
108
|
+
* {@link uniqueEnforcementCollations} (see the divergence note in this file's docstring;
|
|
109
|
+
* it is conformance-locked by `test/unique-enforcement-collation.spec.ts`), while the
|
|
110
|
+
* store, the isolation overlay, and memory's MV/scan paths resolve by name. A
|
|
111
|
+
* pre-resolved-collation signature lets all of them share the comparator construction
|
|
112
|
+
* while each keeps its own collation resolution.
|
|
113
|
+
*
|
|
114
|
+
* Call ONCE per constraint check, above the candidate loop — same discipline as
|
|
115
|
+
* {@link resolveUniqueEnforcementCollations}.
|
|
116
|
+
*/
|
|
117
|
+
export declare function uniqueEnforcementComparators(columns: readonly ColumnSchema[], ucColumns: readonly number[], collations: readonly CollationFunction[]): Array<(a: SqlValue, b: SqlValue) => number>;
|
|
87
118
|
/**
|
|
88
119
|
* True iff a row-time covering MV may soundly answer `uc` — i.e. for every
|
|
89
120
|
* constrained column the index per-column collation `I` is coarser-or-equal to
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unique-enforcement.d.ts","sourceRoot":"","sources":["../../../src/schema/unique-enforcement.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACrF,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEnF;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAQ1F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CAC1C,MAAM,EAAE,WAAW,EACnB,EAAE,EAAE,sBAAsB,GACxB,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAKxB;AAED;;;;;;;;;GASG;AACH,wBAAgB,kCAAkC,CACjD,MAAM,EAAE,WAAW,EACnB,EAAE,EAAE,sBAAsB,EAC1B,QAAQ,EAAE,iBAAiB,GACzB,iBAAiB,EAAE,CAErB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,8BAA8B,CAC7C,MAAM,EAAE,WAAW,EACnB,EAAE,EAAE,sBAAsB,GACxB,OAAO,CAUT"}
|
|
1
|
+
{"version":3,"file":"unique-enforcement.d.ts","sourceRoot":"","sources":["../../../src/schema/unique-enforcement.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACrF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEnF;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAQ1F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CAC1C,MAAM,EAAE,WAAW,EACnB,EAAE,EAAE,sBAAsB,GACxB,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAKxB;AAED;;;;;;;;;GASG;AACH,wBAAgB,kCAAkC,CACjD,MAAM,EAAE,WAAW,EACnB,EAAE,EAAE,sBAAsB,EAC1B,QAAQ,EAAE,iBAAiB,GACzB,iBAAiB,EAAE,CAErB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,4BAA4B,CAC3C,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,UAAU,EAAE,SAAS,iBAAiB,EAAE,GACtC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,KAAK,MAAM,CAAC,CAM7C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,8BAA8B,CAC7C,MAAM,EAAE,WAAW,EACnB,EAAE,EAAE,sBAAsB,GACxB,OAAO,CAUT"}
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
* safely: an exotic custom pair where `D ⊒ I` holds semantically but neither
|
|
50
50
|
* test fires is declined (perf-only loss in an already-exotic shape).
|
|
51
51
|
*/
|
|
52
|
-
import { normalizeCollationName, resolveCollationFunctions } from '../util/comparison.js';
|
|
52
|
+
import { compareSqlValuesFast, createTypedComparator, hasSemanticOrdering, normalizeCollationName, resolveCollationFunctions } from '../util/comparison.js';
|
|
53
53
|
/**
|
|
54
54
|
* True when populating `indexSchema` must reject duplicate keys: either the index
|
|
55
55
|
* is itself declared UNIQUE, or it is the auto-built covering structure for a
|
|
@@ -98,6 +98,42 @@ export function uniqueEnforcementCollations(schema, uc) {
|
|
|
98
98
|
export function resolveUniqueEnforcementCollations(schema, uc, resolver) {
|
|
99
99
|
return resolveCollationFunctions(resolver, uniqueEnforcementCollations(schema, uc));
|
|
100
100
|
}
|
|
101
|
+
/**
|
|
102
|
+
* Per-column comparison functions for one row-identity check, one entry per
|
|
103
|
+
* `ucColumns` position: the declared type's `compare` for a semantic-ordering
|
|
104
|
+
* column (so TIMESPAN 'PT1H' conflicts with 'PT60M', matching the memory backend's
|
|
105
|
+
* typed BTree and `=` / DISTINCT / GROUP BY), else the enforcement collation through
|
|
106
|
+
* {@link compareSqlValuesFast} — the exact comparison every re-validator used before.
|
|
107
|
+
*
|
|
108
|
+
* `ucColumns` is usually a UNIQUE constraint's `uc.columns`, but any list of source
|
|
109
|
+
* column indices works: the covering-MV candidate generator
|
|
110
|
+
* (`lookupCoveringConflicts`) also builds a PRIMARY KEY set this way, so a re-spelled
|
|
111
|
+
* PK member still names the same row.
|
|
112
|
+
*
|
|
113
|
+
* Only semantic-ordering types are routed through `compare` ({@link hasSemanticOrdering}
|
|
114
|
+
* is the gate): a TEXT/ANY column's declared `compare` is not collation-aware, so
|
|
115
|
+
* consulting it would break NOCASE/RTRIM enforcement.
|
|
116
|
+
*
|
|
117
|
+
* Takes PRE-RESOLVED collations rather than `(schema, uc, resolver)` because the call
|
|
118
|
+
* sites do not share one collation resolution. Memory's `checkUniqueViaIndex`
|
|
119
|
+
* deliberately reads them from the LIVE `MemoryIndex` handle rather than from
|
|
120
|
+
* {@link uniqueEnforcementCollations} (see the divergence note in this file's docstring;
|
|
121
|
+
* it is conformance-locked by `test/unique-enforcement-collation.spec.ts`), while the
|
|
122
|
+
* store, the isolation overlay, and memory's MV/scan paths resolve by name. A
|
|
123
|
+
* pre-resolved-collation signature lets all of them share the comparator construction
|
|
124
|
+
* while each keeps its own collation resolution.
|
|
125
|
+
*
|
|
126
|
+
* Call ONCE per constraint check, above the candidate loop — same discipline as
|
|
127
|
+
* {@link resolveUniqueEnforcementCollations}.
|
|
128
|
+
*/
|
|
129
|
+
export function uniqueEnforcementComparators(columns, ucColumns, collations) {
|
|
130
|
+
return ucColumns.map((colIdx, i) => {
|
|
131
|
+
const logicalType = columns[colIdx]?.logicalType;
|
|
132
|
+
if (hasSemanticOrdering(logicalType))
|
|
133
|
+
return createTypedComparator(logicalType, collations[i]);
|
|
134
|
+
return (a, b) => compareSqlValuesFast(a, b, collations[i]);
|
|
135
|
+
});
|
|
136
|
+
}
|
|
101
137
|
/**
|
|
102
138
|
* True iff a row-time covering MV may soundly answer `uc` — i.e. for every
|
|
103
139
|
* constrained column the index per-column collation `I` is coarser-or-equal to
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unique-enforcement.js","sourceRoot":"","sources":["../../../src/schema/unique-enforcement.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAEH,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"unique-enforcement.js","sourceRoot":"","sources":["../../../src/schema/unique-enforcement.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import type { ScalarType } from '../common/datatype.js';
|
|
2
2
|
import type { DeepReadonly, SqlValue } from '../common/types.js';
|
|
3
3
|
import type { LogicalType } from '../types/logical-type.js';
|
|
4
|
+
import type { AggregateArgBinding } from './function.js';
|
|
5
|
+
/** The pieces a window bind may replace. Any field omitted keeps the declared default. */
|
|
6
|
+
export interface WindowFunctionBinding {
|
|
7
|
+
readonly step?: WindowFunctionSchema['step'];
|
|
8
|
+
readonly final?: WindowFunctionSchema['final'];
|
|
9
|
+
}
|
|
4
10
|
export interface WindowFunctionSchema {
|
|
5
11
|
name: string;
|
|
6
12
|
argCount: number | 'variadic';
|
|
@@ -16,19 +22,33 @@ export interface WindowFunctionSchema {
|
|
|
16
22
|
inferReturnType?: (argTypes: ReadonlyArray<DeepReadonly<LogicalType>>) => ScalarType;
|
|
17
23
|
step?: (state: any, value: SqlValue) => any;
|
|
18
24
|
final?: (state: any, rowCount: number) => SqlValue;
|
|
25
|
+
/**
|
|
26
|
+
* Specialize step/final to this call site's argument comparison context —
|
|
27
|
+
* the arguments' declared logical types and resolved collations. Called ONCE
|
|
28
|
+
* at emit time, never per row; apply via {@link bindWindowSchema}. Returning
|
|
29
|
+
* undefined (or omitting a field) keeps the declared default.
|
|
30
|
+
*
|
|
31
|
+
* Mirrors `AggregateFunctionSchema.bindArgs`, and shares its argument type
|
|
32
|
+
* ({@link AggregateArgBinding}) so the comparison-routing rule
|
|
33
|
+
* (`createSemanticValueComparator`) has exactly one home: window MIN/MAX must
|
|
34
|
+
* rank exactly as the MIN/MAX aggregate does.
|
|
35
|
+
*/
|
|
36
|
+
readonly bindArgs?: (args: readonly AggregateArgBinding[]) => WindowFunctionBinding | undefined;
|
|
19
37
|
}
|
|
20
38
|
export declare function registerWindowFunction(schema: WindowFunctionSchema): void;
|
|
21
39
|
export declare function resolveWindowFunction(name: string): WindowFunctionSchema | undefined;
|
|
22
40
|
export declare function isWindowFunction(name: string): boolean;
|
|
23
41
|
export declare function getAllWindowFunctions(): WindowFunctionSchema[];
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
42
|
+
/**
|
|
43
|
+
* Specialize a window schema to one call site's argument comparison context. A
|
|
44
|
+
* schema with no `bindArgs` hook — or a hook that declines — is returned
|
|
45
|
+
* unchanged. Idempotent: the bound schema keeps `bindArgs`, so no call site has
|
|
46
|
+
* to track whether it already bound.
|
|
47
|
+
*
|
|
48
|
+
* Call once per call site at emit time, never per row. All three window execution
|
|
49
|
+
* shapes (the buffered frame walk, the streaming running accumulator and the
|
|
50
|
+
* streaming sliding-frame scan) must run the SAME bound schema, or they rank
|
|
51
|
+
* differently for the same query.
|
|
52
|
+
*/
|
|
53
|
+
export declare function bindWindowSchema(schema: WindowFunctionSchema, args: readonly AggregateArgBinding[]): WindowFunctionSchema;
|
|
34
54
|
//# sourceMappingURL=window-function.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"window-function.d.ts","sourceRoot":"","sources":["../../../src/schema/window-function.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"window-function.d.ts","sourceRoot":"","sources":["../../../src/schema/window-function.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEzD,0FAA0F;AAC1F,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,oBAAoB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAC;IAC9B,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,YAAY,CAAC;IAEvD;;;;;OAKG;IACH,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,KAAK,UAAU,CAAC;IAIrF,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,KAAK,GAAG,CAAC;IAE5C,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,KAAK,QAAQ,CAAC;IAEnD;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,mBAAmB,EAAE,KAAK,qBAAqB,GAAG,SAAS,CAAC;CAChG;AAKD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAEzE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAEpF;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,qBAAqB,IAAI,oBAAoB,EAAE,CAE9D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC/B,MAAM,EAAE,oBAAoB,EAC5B,IAAI,EAAE,SAAS,mBAAmB,EAAE,GAClC,oBAAoB,CAUtB"}
|
|
@@ -12,23 +12,27 @@ export function isWindowFunction(name) {
|
|
|
12
12
|
export function getAllWindowFunctions() {
|
|
13
13
|
return Array.from(windowRegistry.values());
|
|
14
14
|
}
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
/**
|
|
16
|
+
* Specialize a window schema to one call site's argument comparison context. A
|
|
17
|
+
* schema with no `bindArgs` hook — or a hook that declines — is returned
|
|
18
|
+
* unchanged. Idempotent: the bound schema keeps `bindArgs`, so no call site has
|
|
19
|
+
* to track whether it already bound.
|
|
20
|
+
*
|
|
21
|
+
* Call once per call site at emit time, never per row. All three window execution
|
|
22
|
+
* shapes (the buffered frame walk, the streaming running accumulator and the
|
|
23
|
+
* streaming sliding-frame scan) must run the SAME bound schema, or they rank
|
|
24
|
+
* differently for the same query.
|
|
25
|
+
*/
|
|
26
|
+
export function bindWindowSchema(schema, args) {
|
|
27
|
+
const bound = schema.bindArgs?.(args);
|
|
28
|
+
if (!bound)
|
|
29
|
+
return schema;
|
|
30
|
+
// Merge field-by-field rather than spreading `bound`: an explicitly-`undefined`
|
|
31
|
+
// field must read as "keep the declared default", matching the documented contract.
|
|
17
32
|
return {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
lastValues: null
|
|
33
|
+
...schema,
|
|
34
|
+
step: bound.step ?? schema.step,
|
|
35
|
+
final: bound.final ?? schema.final,
|
|
22
36
|
};
|
|
23
37
|
}
|
|
24
|
-
// Helper for aggregate window function state
|
|
25
|
-
export function createAggregateState(schema) {
|
|
26
|
-
if (schema.step && schema.final) {
|
|
27
|
-
return {
|
|
28
|
-
accumulator: null,
|
|
29
|
-
rowCount: 0
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
return null;
|
|
33
|
-
}
|
|
34
38
|
//# sourceMappingURL=window-function.js.map
|