@quereus/quereus 4.13.1 → 4.15.2
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/dist/src/core/statement.d.ts +30 -0
- package/dist/src/core/statement.d.ts.map +1 -1
- package/dist/src/core/statement.js +49 -0
- package/dist/src/core/statement.js.map +1 -1
- package/dist/src/emit/ast-stringify.d.ts.map +1 -1
- package/dist/src/emit/ast-stringify.js +0 -4
- package/dist/src/emit/ast-stringify.js.map +1 -1
- package/dist/src/func/builtins/explain.d.ts.map +1 -1
- package/dist/src/func/builtins/explain.js +89 -62
- package/dist/src/func/builtins/explain.js.map +1 -1
- package/dist/src/func/registration.d.ts +7 -0
- package/dist/src/func/registration.d.ts.map +1 -1
- package/dist/src/func/registration.js +7 -0
- package/dist/src/func/registration.js.map +1 -1
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/parser/ast.d.ts +0 -2
- package/dist/src/parser/ast.d.ts.map +1 -1
- package/dist/src/parser/parser.d.ts +1 -0
- package/dist/src/parser/parser.d.ts.map +1 -1
- package/dist/src/parser/parser.js +29 -28
- package/dist/src/parser/parser.js.map +1 -1
- package/dist/src/planner/mutation/capture-correlation.d.ts +57 -0
- package/dist/src/planner/mutation/capture-correlation.d.ts.map +1 -0
- package/dist/src/planner/mutation/capture-correlation.js +57 -0
- package/dist/src/planner/mutation/capture-correlation.js.map +1 -0
- package/dist/src/planner/mutation/decomposition.d.ts.map +1 -1
- package/dist/src/planner/mutation/decomposition.js +86 -23
- package/dist/src/planner/mutation/decomposition.js.map +1 -1
- package/dist/src/planner/mutation/lens-enforcement.d.ts.map +1 -1
- package/dist/src/planner/mutation/lens-enforcement.js +15 -20
- package/dist/src/planner/mutation/lens-enforcement.js.map +1 -1
- package/dist/src/planner/mutation/multi-source.d.ts +52 -11
- package/dist/src/planner/mutation/multi-source.d.ts.map +1 -1
- package/dist/src/planner/mutation/multi-source.js +273 -86
- package/dist/src/planner/mutation/multi-source.js.map +1 -1
- package/dist/src/planner/mutation/set-op.d.ts.map +1 -1
- package/dist/src/planner/mutation/set-op.js +4 -12
- package/dist/src/planner/mutation/set-op.js.map +1 -1
- package/dist/src/planner/mutation/single-source.js +1 -1
- package/dist/src/planner/mutation/single-source.js.map +1 -1
- package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
- package/dist/src/runtime/emit/alter-table.js +8 -10
- package/dist/src/runtime/emit/alter-table.js.map +1 -1
- package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
- package/dist/src/runtime/emit/dml-executor.js +23 -0
- package/dist/src/runtime/emit/dml-executor.js.map +1 -1
- package/dist/src/runtime/emit/materialized-view-helpers.d.ts +16 -4
- package/dist/src/runtime/emit/materialized-view-helpers.d.ts.map +1 -1
- package/dist/src/runtime/emit/materialized-view-helpers.js +182 -25
- 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 +1 -1
- package/dist/src/runtime/emit/materialized-view.js.map +1 -1
- package/dist/src/runtime/emit/scan.d.ts.map +1 -1
- package/dist/src/runtime/emit/scan.js +52 -9
- package/dist/src/runtime/emit/scan.js.map +1 -1
- package/dist/src/runtime/emit/set-object-tags.js +4 -4
- package/dist/src/runtime/emit/set-object-tags.js.map +1 -1
- package/dist/src/runtime/emitters.d.ts.map +1 -1
- package/dist/src/runtime/emitters.js +6 -0
- package/dist/src/runtime/emitters.js.map +1 -1
- package/dist/src/runtime/parallel-driver.d.ts +5 -0
- package/dist/src/runtime/parallel-driver.d.ts.map +1 -1
- package/dist/src/runtime/parallel-driver.js +6 -0
- package/dist/src/runtime/parallel-driver.js.map +1 -1
- package/dist/src/runtime/scheduler.d.ts +9 -0
- package/dist/src/runtime/scheduler.d.ts.map +1 -1
- package/dist/src/runtime/scheduler.js +27 -11
- package/dist/src/runtime/scheduler.js.map +1 -1
- package/dist/src/runtime/types.d.ts +19 -0
- package/dist/src/runtime/types.d.ts.map +1 -1
- package/dist/src/runtime/types.js.map +1 -1
- package/dist/src/runtime/work-counters.d.ts +180 -0
- package/dist/src/runtime/work-counters.d.ts.map +1 -0
- package/dist/src/runtime/work-counters.js +210 -0
- package/dist/src/runtime/work-counters.js.map +1 -0
- package/dist/src/schema/ddl-generator.d.ts.map +1 -1
- package/dist/src/schema/ddl-generator.js +65 -24
- package/dist/src/schema/ddl-generator.js.map +1 -1
- package/dist/src/schema/lens-ack.d.ts +1 -1
- package/dist/src/schema/lens-ack.js +2 -2
- package/dist/src/schema/lens-compiler.d.ts.map +1 -1
- package/dist/src/schema/lens-compiler.js +63 -34
- package/dist/src/schema/lens-compiler.js.map +1 -1
- package/dist/src/schema/lens-prover.d.ts +4 -4
- package/dist/src/schema/lens-prover.d.ts.map +1 -1
- package/dist/src/schema/lens-prover.js +13 -5
- package/dist/src/schema/lens-prover.js.map +1 -1
- package/dist/src/schema/lens.d.ts +1 -1
- package/dist/src/schema/manager.d.ts.map +1 -1
- package/dist/src/schema/manager.js +25 -13
- package/dist/src/schema/manager.js.map +1 -1
- package/dist/src/schema/reserved-tags.js +1 -1
- package/dist/src/schema/reserved-tags.js.map +1 -1
- package/dist/src/schema/schema-differ.d.ts.map +1 -1
- package/dist/src/schema/schema-differ.js +4 -3
- package/dist/src/schema/schema-differ.js.map +1 -1
- package/dist/src/schema/table.d.ts +41 -34
- package/dist/src/schema/table.d.ts.map +1 -1
- package/dist/src/schema/table.js +24 -43
- package/dist/src/schema/table.js.map +1 -1
- package/dist/src/vtab/alter-event-shape.d.ts +35 -0
- package/dist/src/vtab/alter-event-shape.d.ts.map +1 -0
- package/dist/src/vtab/alter-event-shape.js +47 -0
- package/dist/src/vtab/alter-event-shape.js.map +1 -0
- package/dist/src/vtab/memory/layer/alter-column.d.ts +8 -1
- package/dist/src/vtab/memory/layer/alter-column.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/alter-column.js +20 -10
- package/dist/src/vtab/memory/layer/alter-column.js.map +1 -1
- package/dist/src/vtab/memory/layer/base.d.ts +9 -1
- package/dist/src/vtab/memory/layer/base.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/base.js +12 -1
- package/dist/src/vtab/memory/layer/base.js.map +1 -1
- package/dist/src/vtab/memory/layer/manager.d.ts +23 -18
- package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/manager.js +44 -33
- package/dist/src/vtab/memory/layer/manager.js.map +1 -1
- package/dist/src/vtab/memory/layer/row-convert.d.ts +13 -0
- package/dist/src/vtab/memory/layer/row-convert.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/row-convert.js +24 -0
- package/dist/src/vtab/memory/layer/row-convert.js.map +1 -1
- package/dist/src/vtab/memory/layer/transaction.d.ts +21 -7
- package/dist/src/vtab/memory/layer/transaction.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/transaction.js +30 -14
- package/dist/src/vtab/memory/layer/transaction.js.map +1 -1
- package/dist/src/vtab/memory/module.d.ts +0 -8
- package/dist/src/vtab/memory/module.d.ts.map +1 -1
- package/dist/src/vtab/memory/module.js +2 -25
- package/dist/src/vtab/memory/module.js.map +1 -1
- package/dist/src/vtab/module.d.ts +20 -2
- package/dist/src/vtab/module.d.ts.map +1 -1
- package/package.json +6 -3
|
@@ -10,6 +10,7 @@ import { proveLens, collectColumnRefNames } from './lens-prover.js';
|
|
|
10
10
|
import { applyAckGovernance, resolveEscalationPolicy } from './lens-ack.js';
|
|
11
11
|
import { createLogger } from '../common/logger.js';
|
|
12
12
|
import { addInd, MAX_INDS_PER_NODE } from '../planner/util/fd-utils.js';
|
|
13
|
+
import { captureKeyEquality, keyColumnInfo } from '../planner/mutation/capture-correlation.js';
|
|
13
14
|
import { spineCloneAst } from '../util/ast-spine-clone.js';
|
|
14
15
|
const log = createLogger('schema:lens-compiler');
|
|
15
16
|
/**
|
|
@@ -69,7 +70,7 @@ export function deployLogicalSchema(db, declaredSchema, logicalSchemaName) {
|
|
|
69
70
|
// basis is resolved) and filtered per logical table by the resolver.
|
|
70
71
|
let allAdvertisements;
|
|
71
72
|
const compiled = [];
|
|
72
|
-
// Prover accumulators (docs/lens.md § Coverage checklist). Errors aggregate
|
|
73
|
+
// Prover accumulators (docs/lens-prover.md § Coverage checklist). Errors aggregate
|
|
73
74
|
// across every table and throw atomically below — before any catalog mutation,
|
|
74
75
|
// preserving the existing atomic-deploy property. Warnings flow to the report.
|
|
75
76
|
const proveErrors = [];
|
|
@@ -161,7 +162,7 @@ export function deployLogicalSchema(db, declaredSchema, logicalSchemaName) {
|
|
|
161
162
|
// invalid tag fails the deploy atomically (before any catalog mutation).
|
|
162
163
|
// Only shape/site is checked here — no reserved tag's semantics are read.
|
|
163
164
|
validateLensTags(slot);
|
|
164
|
-
// Prove the slot and classify its constraints (docs/lens.md § Coverage
|
|
165
|
+
// Prove the slot and classify its constraints (docs/lens-prover.md § Coverage
|
|
165
166
|
// checklist). The verdict is recorded on the slot (obligations + readOnly)
|
|
166
167
|
// and its diagnostics are aggregated into the deploy report. Errors are
|
|
167
168
|
// thrown atomically after every table is proved (below), preserving the
|
|
@@ -169,7 +170,7 @@ export function deployLogicalSchema(db, declaredSchema, logicalSchemaName) {
|
|
|
169
170
|
const prove = proveLens(slot, db);
|
|
170
171
|
slot.obligations = prove.obligations;
|
|
171
172
|
slot.readOnly = prove.readOnly;
|
|
172
|
-
// Acknowledgment + escalation governance (docs/lens.md § Acknowledging
|
|
173
|
+
// Acknowledgment + escalation governance (docs/lens-prover.md § Acknowledging
|
|
173
174
|
// advisories). Coded+sited advisories the prover emitted become
|
|
174
175
|
// acknowledgeable in source (the `quereus.lens.ack.<code>` tag, with a
|
|
175
176
|
// recorded fingerprint that re-surfaces them on material change), and the
|
|
@@ -228,7 +229,7 @@ export function deployLogicalSchema(db, declaredSchema, logicalSchemaName) {
|
|
|
228
229
|
db.declaredSchemaManager.rotateDeployedLensSnapshot(logicalSchemaName, snapshot);
|
|
229
230
|
// Errors are already thrown above; a returned report carries only advisories.
|
|
230
231
|
// Persist it on the manager — the stable hook the sibling acknowledgment ticket
|
|
231
|
-
// reads to fingerprint / tally / expand advisories (docs/lens.md § Acknowledging
|
|
232
|
+
// reads to fingerprint / tally / expand advisories (docs/lens-prover.md § Acknowledging
|
|
232
233
|
// advisories). `apply schema` returning these as result rows is deferred to that
|
|
233
234
|
// ticket (converting the universally-used void statement to relational is a
|
|
234
235
|
// separate, high-blast-radius change); the report is fully produced here.
|
|
@@ -697,17 +698,15 @@ function compileDecompositionBody(logicalTable, logicalSchemaName, basis, advert
|
|
|
697
698
|
joinType: member.presence === 'mandatory' ? 'inner' : 'left',
|
|
698
699
|
left: from,
|
|
699
700
|
right: memberTableSource(memberTable, basis.schemaName, member.relationId),
|
|
700
|
-
condition: buildKeyEquiJoin(anchor.relationId, anchorKeys, member.relationId, memberKeys),
|
|
701
|
+
condition: buildKeyEquiJoin(anchor.relationId, anchorKeys, anchorTable, member.relationId, memberKeys, memberTable),
|
|
701
702
|
};
|
|
702
703
|
}
|
|
703
704
|
// Projection: each logical column → its advertised backing expression.
|
|
704
705
|
const aliasOf = (relationId) => joinedMembers.has(relationId) ? relationId : undefined;
|
|
705
|
-
const
|
|
706
|
-
? { alias: anchor.relationId, keyColumn: anchorKeys[0] }
|
|
707
|
-
: undefined;
|
|
706
|
+
const eav = eavContext(storage, memberTables, anchor.relationId, anchorKeys, anchorTable);
|
|
708
707
|
const columns = [];
|
|
709
708
|
for (const col of logicalTable.columns) {
|
|
710
|
-
const res = resolveAdvertisedColumn(col.name, storage, basis.schemaName, aliasOf,
|
|
709
|
+
const res = resolveAdvertisedColumn(col.name, storage, basis.schemaName, aliasOf, eav);
|
|
711
710
|
let expr;
|
|
712
711
|
if (res.kind === 'expr') {
|
|
713
712
|
expr = res.expr;
|
|
@@ -847,21 +846,33 @@ function memberTableSource(table, basisSchemaName, alias) {
|
|
|
847
846
|
}
|
|
848
847
|
/**
|
|
849
848
|
* Builds the per-member key-equi-join ON condition: a positional conjunction of
|
|
850
|
-
* `member.kᵢ = anchor.kᵢ` over the two relations'
|
|
851
|
-
* by index, since a surrogate may be spelled
|
|
852
|
-
*
|
|
853
|
-
*
|
|
849
|
+
* per-column stitch equalities `member.kᵢ = anchor.kᵢ` over the two relations'
|
|
850
|
+
* shared-key column lists (paired by index, since a surrogate may be spelled
|
|
851
|
+
* differently per relation). Each pair routes through {@link captureKeyEquality}:
|
|
852
|
+
* plain `=` unless **both** sides declare the column nullable, in which case the
|
|
853
|
+
* NULL-safe disjunction is emitted — NULL is a self-equal key value
|
|
854
|
+
* (docs/schema.md § Primary-key nullability), so a NULL-keyed logical row must
|
|
855
|
+
* still find its member components. The both-sides gate keeps the emitted
|
|
856
|
+
* condition byte-identical for any schema whose stitch key is NOT NULL on either
|
|
857
|
+
* side (a member row keyed NULL is then a genuine orphan and `=` correctly
|
|
858
|
+
* matches nothing). An empty key column list (the `primary key ()` singleton)
|
|
859
|
+
* yields the vacuously-true `1 = 1` — no singleton-specific branch
|
|
860
|
+
* (docs/lens.md § The Default Mapper).
|
|
861
|
+
*
|
|
862
|
+
* NOTE: accepted tradeoff — the gate reads **declared** nullability, so under
|
|
863
|
+
* `pragma default_column_nullability = nullable` every stitch key is declared
|
|
864
|
+
* nullable and every decomposition get body takes the disjunctive ON, which
|
|
865
|
+
* yields no equi-pairs (`rules/join/equi-pair-extractor.ts`) — the join falls
|
|
866
|
+
* back to nested-loop and loses its coverage proofs — on the read path of every
|
|
867
|
+
* select. Correct but potentially slow; revisit (narrow to *reachable*
|
|
868
|
+
* nullability) if lens reads under that pragma ever show up in profiles.
|
|
854
869
|
*/
|
|
855
|
-
function buildKeyEquiJoin(anchorAlias, anchorKeys, memberAlias, memberKeys) {
|
|
870
|
+
function buildKeyEquiJoin(anchorAlias, anchorKeys, anchorTable, memberAlias, memberKeys, memberTable) {
|
|
856
871
|
const n = Math.min(anchorKeys.length, memberKeys.length);
|
|
857
872
|
const eqs = [];
|
|
858
873
|
for (let i = 0; i < n; i++) {
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
operator: '=',
|
|
862
|
-
left: { type: 'column', name: memberKeys[i], table: memberAlias },
|
|
863
|
-
right: { type: 'column', name: anchorKeys[i], table: anchorAlias },
|
|
864
|
-
});
|
|
874
|
+
const bothNullable = keyColumnInfo(memberTable, memberKeys[i]).nullable && keyColumnInfo(anchorTable, anchorKeys[i]).nullable;
|
|
875
|
+
eqs.push(captureKeyEquality({ type: 'column', name: memberKeys[i], table: memberAlias }, { type: 'column', name: anchorKeys[i], table: anchorAlias }, bothNullable));
|
|
865
876
|
}
|
|
866
877
|
if (eqs.length === 0) {
|
|
867
878
|
// Singleton / empty key: vacuously true (`on 1 = 1`).
|
|
@@ -891,7 +902,7 @@ function buildKeyEquiJoin(anchorAlias, anchorKeys, memberAlias, memberKeys) {
|
|
|
891
902
|
* mapping, then the sole EAV member), so the synthesized projection and the
|
|
892
903
|
* `quereus_effective_lens` provenance stay consistent.
|
|
893
904
|
*/
|
|
894
|
-
function resolveAdvertisedColumn(logicalColumn, storage, basisSchemaName, aliasOf,
|
|
905
|
+
function resolveAdvertisedColumn(logicalColumn, storage, basisSchemaName, aliasOf, eav) {
|
|
895
906
|
const lc = logicalColumn.toLowerCase();
|
|
896
907
|
// 1. Explicit per-member mapping.
|
|
897
908
|
for (const member of storage.members) {
|
|
@@ -903,26 +914,49 @@ function resolveAdvertisedColumn(logicalColumn, storage, basisSchemaName, aliasO
|
|
|
903
914
|
return { kind: 'unreachable', member: member.relationId };
|
|
904
915
|
return { kind: 'expr', expr: requalifyColumnRefs(mapping.basisExpr, alias) };
|
|
905
916
|
}
|
|
906
|
-
// 2. EAV attribute pivot — a correlated scalar subquery keyed by the attribute
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
if (eavMembers.length === 1 && eavAnchor) {
|
|
910
|
-
return { kind: 'expr', expr: buildEavSubquery(eavMembers[0], logicalColumn, basisSchemaName, eavAnchor) };
|
|
911
|
-
}
|
|
917
|
+
// 2. EAV attribute pivot — a correlated scalar subquery keyed by the attribute literal.
|
|
918
|
+
if (eav)
|
|
919
|
+
return { kind: 'expr', expr: buildEavSubquery(eav, logicalColumn, basisSchemaName) };
|
|
912
920
|
// 3. Not advertised → caller falls back to name-match.
|
|
913
921
|
return { kind: 'none' };
|
|
914
922
|
}
|
|
923
|
+
/**
|
|
924
|
+
* The body's EAV context, or undefined when the shape admits no EAV column: an
|
|
925
|
+
* attribute pivot backs logical columns only with **exactly one** pivot member
|
|
926
|
+
* (two would make the attribute literal ambiguous) and a shared-key column to
|
|
927
|
+
* correlate the entity against.
|
|
928
|
+
*/
|
|
929
|
+
function eavContext(storage, memberTables, anchorAlias, anchorKeys, anchorTable) {
|
|
930
|
+
const pivots = storage.members.filter(m => m.attributePivot);
|
|
931
|
+
if (pivots.length !== 1 || anchorKeys.length === 0)
|
|
932
|
+
return undefined;
|
|
933
|
+
return {
|
|
934
|
+
pivot: pivots[0],
|
|
935
|
+
pivotTable: memberTables.get(pivots[0].relationId),
|
|
936
|
+
anchorAlias,
|
|
937
|
+
anchorKeyColumn: anchorKeys[0],
|
|
938
|
+
anchorKeyNullable: keyColumnInfo(anchorTable, anchorKeys[0]).nullable,
|
|
939
|
+
};
|
|
940
|
+
}
|
|
915
941
|
/**
|
|
916
942
|
* Builds the correlated scalar subquery for one EAV-backed logical column:
|
|
917
943
|
* `(select p.<value> from <pivot> p where p.<entity> = anchor.<key> and
|
|
918
944
|
* p.<attribute> = '<logicalColumn>')`. Keeps every EAV column independently
|
|
919
945
|
* nullable (a logical row may have a triple for some attributes and not others)
|
|
920
946
|
* and rides the existing scalar-subquery read path with no new runtime.
|
|
947
|
+
*
|
|
948
|
+
* The entity correlation is a stitch-key equality, so it routes through
|
|
949
|
+
* {@link captureKeyEquality} under the same both-sides-nullable gate as
|
|
950
|
+
* {@link buildKeyEquiJoin}: a NULL-keyed entity's triples are otherwise
|
|
951
|
+
* unreachable through the plain `=`. The attribute conjunct compares against a
|
|
952
|
+
* non-null literal and stays plain `=`.
|
|
921
953
|
*/
|
|
922
|
-
function buildEavSubquery(
|
|
954
|
+
function buildEavSubquery(eav, logicalColumn, basisSchemaName) {
|
|
955
|
+
const { pivot } = eav;
|
|
923
956
|
const piv = pivot.attributePivot;
|
|
924
957
|
const pivotAlias = pivot.relationId;
|
|
925
958
|
const pivotSchema = pivot.relation.schema || basisSchemaName;
|
|
959
|
+
const entityNullable = keyColumnInfo(eav.pivotTable, piv.entityColumn).nullable;
|
|
926
960
|
const query = {
|
|
927
961
|
type: 'select',
|
|
928
962
|
columns: [{ type: 'column', expr: { type: 'column', name: piv.valueColumn, table: pivotAlias } }],
|
|
@@ -934,12 +968,7 @@ function buildEavSubquery(pivot, logicalColumn, basisSchemaName, eavAnchor) {
|
|
|
934
968
|
where: {
|
|
935
969
|
type: 'binary',
|
|
936
970
|
operator: 'AND',
|
|
937
|
-
left: {
|
|
938
|
-
type: 'binary',
|
|
939
|
-
operator: '=',
|
|
940
|
-
left: { type: 'column', name: piv.entityColumn, table: pivotAlias },
|
|
941
|
-
right: { type: 'column', name: eavAnchor.keyColumn, table: eavAnchor.alias },
|
|
942
|
-
},
|
|
971
|
+
left: captureKeyEquality({ type: 'column', name: piv.entityColumn, table: pivotAlias }, { type: 'column', name: eav.anchorKeyColumn, table: eav.anchorAlias }, entityNullable && eav.anchorKeyNullable),
|
|
943
972
|
right: {
|
|
944
973
|
type: 'binary',
|
|
945
974
|
operator: '=',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lens-compiler.js","sourceRoot":"","sources":["../../../src/schema/lens-compiler.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAoB,MAAM,YAAY,CAAC;AAGtE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,uBAAuB,EACgD,MAAM,WAAW,CAAC;AAClG,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAsB,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAyE,MAAM,kBAAkB,CAAC;AAC3I,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAA6B,MAAM,eAAe,CAAC;AACvG,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAInD,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,MAAM,GAAG,GAAG,YAAY,CAAC,sBAAsB,CAAC,CAAC;AAEjD;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAClC,EAAY,EACZ,cAAqC,EACrC,iBAAyB;IAEzB,0BAA0B,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;IAE9D,MAAM,aAAa,GAAG,EAAE,CAAC,aAAa,CAAC;IACvC,MAAM,aAAa,GAAG,aAAa,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;IAEvE,4EAA4E;IAC5E,yEAAyE;IACzE,8EAA8E;IAC9E,MAAM,QAAQ,GAAG,EAAE,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;IAChF,MAAM,gBAAgB,GAAG,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC;IAErF,2EAA2E;IAC3E,yEAAyE;IACzE,4EAA4E;IAC5E,wEAAwE;IACxE,IAAI,KAAyD,CAAC;IAC9D,MAAM,YAAY,GAAG,GAA2C,EAAE;QACjE,IAAI,QAAQ,EAAE,CAAC;YACd,oEAAoE;YACpE,uEAAuE;YACvE,MAAM,WAAW,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAClE,IAAI,CAAC,WAAW,EAAE,CAAC;gBAClB,MAAM,IAAI,YAAY,CACrB,uBAAuB,QAAQ,CAAC,WAAW,yBAAyB,iBAAiB,oDAAoD,iBAAiB,SAAS,QAAQ,CAAC,WAAW,IAAI,EAC3L,UAAU,CAAC,KAAK,CAChB,CAAC;YACH,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;QAC9D,CAAC;QACD,OAAO,iBAAiB,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;IAC5D,CAAC,CAAC;IAEF,8EAA8E;IAC9E,4EAA4E;IAC5E,4EAA4E;IAC5E,gFAAgF;IAChF,qEAAqE;IACrE,IAAI,iBAAqD,CAAC;IAE1D,MAAM,QAAQ,GAAgD,EAAE,CAAC;IACjE,4EAA4E;IAC5E,+EAA+E;IAC/E,+EAA+E;IAC/E,MAAM,WAAW,GAAqB,EAAE,CAAC;IACzC,MAAM,aAAa,GAAqB,EAAE,CAAC;IAC3C,MAAM,YAAY,GAA2B,EAAE,CAAC;IAChD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA+C,CAAC;IAClF,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;QACzC,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe;YAAE,SAAS;QAE5C,KAAK,KAAK,YAAY,EAAE,CAAC;QACzB,iBAAiB,KAAK,qBAAqB,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9D,MAAM,YAAY,GAAG,aAAa,CAAC,uBAAuB,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QAC/F,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAEvE,8EAA8E;QAC9E,8EAA8E;QAC9E,8EAA8E;QAC9E,4EAA4E;QAC5E,4EAA4E;QAC5E,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,oBAAoB,CAC9D,iBAAiB,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,QAAQ,KAAK,SAAS,CACrF,CAAC;QAEF,IAAI,YAA4B,CAAC;QACjC,IAAI,UAAkC,CAAC;QACvC,IAAI,gBAA0B,CAAC;QAC/B,yEAAyE;QACzE,uEAAuE;QACvE,2EAA2E;QAC3E,6DAA6D;QAC7D,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAC9B,IAAI,QAAQ,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,mBAAmB,CAAC,YAAY,EAAE,iBAAiB,EAAE,KAAK,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;YAC9H,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;YAC3B,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;YAC/B,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;YAC3C,mFAAmF;YACnF,0EAA0E;YAC1E,qEAAqE;YACrE,yEAAyE;YACzE,0EAA0E;YAC1E,4EAA4E;YAC5E,IAAI,aAAa,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,EAAE,CAAC;gBACnE,qCAAqC,CACpC,aAAa,EAAE,QAAQ,EAAE,KAAK,CAAC,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,CAAC,IAAI,CAC9F,CAAC;YACH,CAAC;QACF,CAAC;aAAM,IAAI,aAAa,EAAE,CAAC;YAC1B,wEAAwE;YACxE,wEAAwE;YACxE,YAAY,GAAG,wBAAwB,CAAC,YAAY,EAAE,iBAAiB,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;YACnG,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,SAAkB,EAAE,CAAC,CAAC,CAAC;YACpG,gBAAgB,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzD,iBAAiB,GAAG,IAAI,CAAC;QAC1B,CAAC;aAAM,CAAC;YACP,YAAY,GAAG,kBAAkB,CAAC,YAAY,EAAE,iBAAiB,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;YACnG,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,SAAkB,EAAE,CAAC,CAAC,CAAC;YACpG,gBAAgB,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC;QAED,6EAA6E;QAC7E,IAAI,aAAa;YAAE,mCAAmC,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QAElF,iEAAiE;QACjE,wEAAwE;QACxE,0EAA0E;QAC1E,0EAA0E;QAC1E,wEAAwE;QACxE,kFAAkF;QAClF,EAAE;QACF,yDAAyD;QACzD,8EAA8E;QAC9E,6EAA6E;QAC7E,+EAA+E;QAC/E,+EAA+E;QAC/E,gFAAgF;QAChF,+BAA+B;QAC/B,MAAM,YAAY,GAAG,iBAAiB;YACrC,CAAC,CAAC,0BAA0B,CAAC,aAAc,EAAE,KAAK,EAAE,EAAE,CAAC;YACvD,CAAC,CAAC,EAAE,CAAC;QAEN,MAAM,IAAI,GAAa;YACtB,YAAY;YACZ,YAAY,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE;YAC9C,QAAQ,EAAE,QAAQ,EAAE,MAAM;YAC1B,YAAY;YACZ,gBAAgB,EAAE,UAAU;YAC5B,mBAAmB,EAAE,uBAAuB,CAAC,YAAY,CAAC;YAC1D,aAAa;YACb,eAAe;YACf,YAAY,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;SAChE,CAAC;QAEF,2EAA2E;QAC3E,yEAAyE;QACzE,yEAAyE;QACzE,0EAA0E;QAC1E,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAEvB,uEAAuE;QACvE,2EAA2E;QAC3E,wEAAwE;QACxE,wEAAwE;QACxE,gDAAgD;QAChD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAE/B,uEAAuE;QACvE,gEAAgE;QAChE,uEAAuE;QACvE,0EAA0E;QAC1E,0EAA0E;QAC1E,4EAA4E;QAC5E,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,uBAAuB,CAAC,YAAY,CAAC,CAAC,CAAC;QACnG,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QACxD,aAAa,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC3C,YAAY,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;QAC9C,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QAE3E,MAAM,IAAI,GAAe;YACxB,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,UAAU,EAAE,aAAa,CAAC,IAAI;YAC9B,GAAG,EAAE,WAAW,CAAC,YAAY,CAAC;YAC9B,SAAS,EAAE,YAAY;YACvB,oEAAoE;YACpE,2CAA2C;YAC3C,iEAAiE;YACjE,oEAAoE;YACpE,6DAA6D;YAC7D,uCAAuC;YACvC,OAAO,EAAE,gBAAgB;YACzB,IAAI,EAAE,YAAY,CAAC,IAAI;SACvB,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,+EAA+E;IAC/E,2EAA2E;IAC3E,sDAAsD;IACtD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,YAAY,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,WAAW,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAC7F,CAAC;IAED,4EAA4E;IAC5E,8EAA8E;IAC9E,0EAA0E;IAC1E,qEAAqE;IACrE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QAC5D,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,aAAa,CAAC,cAAc,EAAE,CAAC;IAE/B,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,QAAQ,EAAE,CAAC;QACvC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAChC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,GAAG,CAAC,iCAAiC,EAAE,iBAAiB,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACjH,CAAC;IAED,4EAA4E;IAC5E,gFAAgF;IAChF,kFAAkF;IAClF,iDAAiD;IACjD,aAAa,CAAC,oBAAoB,EAAE,CAAC;IAErC,0EAA0E;IAC1E,4EAA4E;IAC5E,4EAA4E;IAC5E,sDAAsD;IACtD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;IACjF,EAAE,CAAC,qBAAqB,CAAC,0BAA0B,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;IAEjF,8EAA8E;IAC9E,gFAAgF;IAChF,iFAAiF;IACjF,iFAAiF;IACjF,4EAA4E;IAC5E,0EAA0E;IAC1E,MAAM,MAAM,GAAqB,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC;IAC3G,EAAE,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IAC1E,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,iBAAyB,EAAE,MAAqC;IAC1F,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7D,OAAO,mCAAmC,iBAAiB,gBAAgB,MAAM,CAAC,MAAM,eAAe,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC3H,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,uBAAuB,CAC/B,EAAY,EACZ,QAA6D,EAC7D,KAAyD,EACzD,iBAAyB;IAEzB,MAAM,cAAc,GAAG,EAAE,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC;IACtH,MAAM,eAAe,GAAG,KAAK,EAAE,UAAU,IAAI,cAAc,IAAI,EAAE,CAAC;IAClE,MAAM,aAAa,GAAG,eAAe;QACpC,CAAC,CAAC,EAAE,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,eAAe,CAAC;QAC7D,CAAC,CAAC,SAAS,CAAC;IACb,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAExE,MAAM,MAAM,GAAG,IAAI,GAAG,EAA6B,CAAC;IACpD,IAAI,KAAK,EAAE,CAAC;QACX,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,QAAQ,EAAE,CAAC;YACjC,MAAM,eAAe,GAAG,qBAAqB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;YACjH,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YACvE,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACnE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;gBAChD,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI;gBACpC,OAAO,EAAE,IAAI,CAAC,YAAY;gBAC1B,cAAc;gBACd,eAAe;gBACf,mBAAmB;aACnB,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IACD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AAC/C,CAAC;AAED,kFAAkF;AAClF,SAAS,YAAY,CAAC,GAAmB;IACxC,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;AAChF,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,sBAAsB,CAAC,KAAkB;IACjD,OAAO,KAAK,CAAC,OAAO;SAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,YAAY,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;SACjE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACpB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,qBAAqB,CAC7B,IAAoB,EACpB,UAA+C,EAC/C,KAA6C,EAC7C,aAA4B;IAE5B,8EAA8E;IAC9E,0EAA0E;IAC1E,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,EAAE,OAAO,EAAE,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;IACjG,MAAM,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAC;IAChD,KAAK,MAAM,CAAC,IAAI,OAAO;QAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE7D,MAAM,MAAM,GAAG,IAAI,GAAG,EAA+B,CAAC;IACtD,MAAM,GAAG,GAAG,CAAC,GAAmB,EAAE,WAAmB,EAAE,aAAqB,EAAQ,EAAE;QACrF,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,EAAE,EAAE,CAAC;YACT,EAAE,GAAG;gBACJ,UAAU,EAAE,GAAG;gBACf,aAAa,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE;gBACtE,OAAO,EAAE,EAAE;gBACX,oBAAoB,EAAE,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC;aACvD,CAAC;YACF,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACrB,CAAC;QACD,MAAM,IAAI,GAAG,EAAE,CAAC,OAAgE,CAAC;QACjF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC;QAC3C,CAAC;IACF,CAAC,CAAC;IAEF,iBAAiB;IACjB,MAAM,SAAS,GAAyE,EAAE,CAAC;IAC3F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ;YAAE,SAAS;QACnC,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;QACrB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,SAAS,CAAC,wCAAwC;QAC9E,MAAM,OAAO,GAAG,IAAsB,CAAC;QACvC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC5E,IAAI,CAAC,GAAG;YAAE,SAAS,CAAC,gEAAgE;QACpF,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACzF,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IACrD,CAAC;IAED,sFAAsF;IACtF,KAAK,MAAM,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC;QACpG,IAAI,OAA2B,CAAC;QAChC,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC;mBACxE,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YAC5D,IAAI,IAAI,EAAE,CAAC;gBAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBAAC,MAAM;YAAC,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,OAAO;YAAE,SAAS,CAAC,+DAA+D;QACvF,KAAK,MAAM,CAAC,IAAI,GAAG;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AASD;;;;;GAKG;AACH,SAAS,0BAA0B,CAClC,IAA+C,EAC/C,eAAuB,EACvB,aAA4B,EAC5B,QAA6B;IAE7B,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,IAAI,CAAC,IAAI;QAAE,OAAO,OAAO,CAAC;IAE1B,MAAM,mBAAmB,GAAG,CAAC,IAAoB,EAAoB,EAAE;QACtE,MAAM,GAAG,GAAqB,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,CAAC,CAAiB,EAAQ,EAAE;YACxC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACxB,MAAM,GAAG,GAAG,uBAAuB,CAAC,CAAC,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;gBACjF,IAAI,GAAG;oBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YACjE,CAAC;iBAAM,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC9B,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACb,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACf,CAAC;QACF,CAAC,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,CAAC;QACX,OAAO,GAAG,CAAC;IACZ,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,GAAmB,EAAE,OAAe,EAAyB,EAAE;QACjF,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QAChE,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACxC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACrD,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,IAAoB,EAAQ,EAAE;QAC/C,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO;QACjC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,MAAM,OAAO,GAAG,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACxF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,kFAAkF;YAClF,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAChC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAkB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;gBACnG,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;oBAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/C,CAAC;QACF,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC3B,oEAAoE;YACpE,MAAM,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAC;YAChD,KAAK,MAAM,CAAC,IAAI,OAAO;gBAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;YAC/D,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK;oBAAE,SAAS;gBAC1C,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC/C,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;gBAChD,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE;oBAAE,SAAS;gBACzB,MAAM,EAAE,GAAG,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpC,MAAM,EAAE,GAAG,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACrC,IAAI,EAAE,IAAI,EAAE;oBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACtC,CAAC;QACF,CAAC;IACF,CAAC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,IAAI;QAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClC,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,mFAAmF;AACnF,SAAS,oBAAoB,CAAC,IAAoB;IACjD,MAAM,KAAK,GAA4C,EAAE,CAAC;IAC1D,MAAM,IAAI,GAAG,CAAC,CAAiB,EAAQ,EAAE;QACxC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO;QAChC,MAAM,GAAG,GAAG,CAAmB,CAAC;QAChC,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;YAC1C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9F,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAsB,EAAE,GAAG,CAAC,KAAuB,CAAC,CAAC,CAAC;QACvE,CAAC;IACF,CAAC,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,CAAC;IACX,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,SAAS,yBAAyB,CACjC,IAAc,EACd,KAA6C;IAE7C,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC;IAC5C,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,SAAS,CAAC;IACzE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QACzE,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,gBAAgB,CAAC,IAAc;IACvC,MAAM,WAAW,GAAoB;QACpC,GAAG,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,eAAe,CAAC;KAChE,CAAC;IACF,uEAAuE;IACvE,4EAA4E;IAC5E,gFAAgF;IAChF,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC7C,IAAI,GAAG,CAAC,IAAI;YAAE,WAAW,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,GAAG,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACrF,CAAC;IACD,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACnD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,KAAK,YAAY,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS;YAC7E,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC;QAC9B,IAAI,IAAI;YAAE,WAAW,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,2BAA2B,CAAC,WAAW,EAAE;QACxC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,iCAAiC,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;KACtI,CAAC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CACzC,cAAqC,EACrC,iBAAyB;IAEzB,MAAM,GAAG,GAAG,mBAAmB,iBAAiB,GAAG,CAAC;IACpD,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;QACzC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,eAAe,CAAC,CAAC,CAAC;gBACtB,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;oBAC/B,MAAM,IAAI,YAAY,CACrB,mCAAmC,IAAI,CAAC,SAAS,CAAC,UAAU,oBAAoB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,uBAAuB,GAAG,uDAAuD,EAC1L,UAAU,CAAC,KAAK,CAChB,CAAC;gBACH,CAAC;gBACD,MAAM;YACP,CAAC;YACD,KAAK,eAAe,CAAC,CAAC,CAAC;gBACtB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC;gBAChE,MAAM,IAAI,YAAY,CACrB,SAAS,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,uBAAuB,GAAG,4EAA4E,EACjJ,UAAU,CAAC,KAAK,CAChB,CAAC;YACH,CAAC;YACD,KAAK,0BAA0B,CAAC,CAAC,CAAC;gBACjC,MAAM,IAAI,YAAY,CACrB,4BAA4B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,uBAAuB,GAAG,kDAAkD,EAC/H,UAAU,CAAC,KAAK,CAChB,CAAC;YACH,CAAC;YACD,oEAAoE;YACpE,qEAAqE;YACrE,sEAAsE;QACvE,CAAC;IACF,CAAC;AACF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAChC,aAA4B,EAC5B,iBAAyB;IAEzB,MAAM,YAAY,GAAG,iBAAiB,CAAC,WAAW,EAAE,CAAC;IACrD,MAAM,UAAU,GAAkD,EAAE,CAAC;IAErE,KAAK,MAAM,MAAM,IAAI,aAAa,CAAC,cAAc,EAAE,EAAE,CAAC;QACrD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC5C,IAAI,SAAS,KAAK,YAAY;YAAE,SAAS;QACzC,IAAI,SAAS,KAAK,MAAM;YAAE,SAAS;QACnC,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU;YAAE,SAAS;QAEzC,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC;YAAC,QAAQ,GAAG,IAAI,CAAC;YAAC,MAAM;QAAC,CAAC;QACnE,IAAI,CAAC,QAAQ;YAAE,SAAS;QAExB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IAED,MAAM,IAAI,YAAY,CACrB,0DAA0D,iBAAiB,YAAY,UAAU,CAAC,MAAM,0CAA0C,iBAAiB,gBAAgB,EACnL,UAAU,CAAC,KAAK,CAChB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kBAAkB,CACjC,YAAyB,EACzB,iBAAyB,EACzB,WAAmB,EACnB,eAAuB;IAEvB,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC;IACtC,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACrD,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,MAAM,IAAI,YAAY,CACrB,wBAAwB,iBAAiB,IAAI,WAAW,wBAAwB,EAChF,UAAU,CAAC,KAAK,CAChB,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC1E,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,YAAY,CACrB,yBAAyB,iBAAiB,IAAI,WAAW,IAAI,GAAG,CAAC,IAAI,wBAAwB,EAC7F,UAAU,CAAC,KAAK,CAChB,CAAC;QACH,CAAC;QACD,4EAA4E;QAC5E,0EAA0E;QAC1E,wEAAwE;QACxE,wEAAwE;QACxE,0DAA0D;QAC1D,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAoB;SAC9D,CAAC,CAAC;IACJ,CAAC;IAED,OAAO;QACN,IAAI,EAAE,QAAQ;QACd,OAAO;QACP,IAAI,EAAE,CAAC;gBACN,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE;aAC7E,CAAC;KACF,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,oEAAoE;AACpE,8EAA8E;AAC9E,EAAE;AACF,8EAA8E;AAC9E,4EAA4E;AAC5E,gFAAgF;AAChF,4EAA4E;AAC5E,6EAA6E;AAC7E,2EAA2E;AAC3E,4EAA4E;AAC5E,kEAAkE;AAElE;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAS,wBAAwB,CAChC,YAAyB,EACzB,iBAAyB,EACzB,KAA6C,EAC7C,aAAmC,EACnC,EAAY;IAEZ,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;IACtC,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,uEAAuE;QACvE,mEAAmE;QACnE,MAAM,IAAI,YAAY,CACrB,0CAA0C,iBAAiB,IAAI,YAAY,CAAC,IAAI,qDAAqD,EACrI,UAAU,CAAC,KAAK,CAChB,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC;IAEtC,2EAA2E;IAC3E,6EAA6E;IAC7E,MAAM,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;IACpD,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,IAAI,YAAY,CACrB,0CAA0C,iBAAiB,IAAI,WAAW,gCAAgC,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,cAAc,MAAM,CAAC,UAAU,0BAA0B,EAClN,UAAU,CAAC,KAAK,CAChB,CAAC;QACH,CAAC;QACD,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACpF,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,MAAM,IAAI,YAAY,CACrB,0CAA0C,iBAAiB,IAAI,WAAW,mBAAmB,OAAO,CAAC,gBAAgB,mCAAmC,EACxJ,UAAU,CAAC,KAAK,CAChB,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAE,CAAC;IACzD,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAEvF,4EAA4E;IAC5E,wDAAwD;IACxD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3D,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACtC,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU;YAAE,SAAS;QACtD,IAAI,MAAM,CAAC,cAAc;YAAE,SAAS,CAAC,6BAA6B;QAClE,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED,+CAA+C;IAC/C,IAAI,IAAI,GAAmB,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAC/F,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACtC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU;YAAE,SAAS;QAC/F,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAE,CAAC;QACzD,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACvF,IAAI,GAAG;YACN,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,MAAM,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;YAC5D,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;YAC1E,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC;SACzF,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,MAAM,OAAO,GAAG,CAAC,UAAkB,EAAsB,EAAE,CAC1D,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC;QACtC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE;QACxD,CAAC,CAAC,SAAS,CAAC;IAEb,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAC7F,IAAI,IAAoB,CAAC;QACzB,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACjB,CAAC;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACvC,MAAM,IAAI,YAAY,CACrB,0CAA0C,iBAAiB,IAAI,WAAW,kBAAkB,GAAG,CAAC,IAAI,gBAAgB,GAAG,CAAC,MAAM,2IAA2I,EACzQ,UAAU,CAAC,KAAK,CAChB,CAAC;QACH,CAAC;aAAM,CAAC;YACP,oEAAoE;YACpE,yEAAyE;YACzE,MAAM,EAAE,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YACtG,IAAI,CAAC,EAAE,EAAE,CAAC;gBACT,MAAM,IAAI,YAAY,CACrB,0CAA0C,iBAAiB,IAAI,WAAW,4BAA4B,GAAG,CAAC,IAAI,mHAAmH,EACjO,UAAU,CAAC,KAAK,CAChB,CAAC;YACH,CAAC;YACD,IAAI,GAAG,EAAE,CAAC;QACX,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;AAClD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,SAAS,0BAA0B,CAClC,aAAmC,EACnC,KAA6C,EAC7C,EAAY;IAEZ,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;IACtC,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IAExB,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACpF,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC,CAAC,qCAAqC;IAC7D,MAAM,WAAW,GAAG,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5D,IAAI,CAAC,WAAW;QAAE,OAAO,EAAE,CAAC,CAAC,qCAAqC;IAClE,MAAM,YAAY,GAAG,sBAAsB,CAC1C,OAAO,CAAC,SAAS,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,EACnE,WAAW,CACX,CAAC;IACF,kFAAkF;IAClF,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAE1D,IAAI,IAAI,GAA0B,EAAE,CAAC;IACrC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACtC,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU;YAAE,SAAS;QACtD,IAAI,MAAM,CAAC,QAAQ,KAAK,WAAW;YAAE,SAAS,CAAC,sDAAsD;QACrG,IAAI,MAAM,CAAC,cAAc;YAAE,SAAS,CAAC,wDAAwD;QAC7F,MAAM,WAAW,GAAG,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5D,IAAI,CAAC,WAAW;YAAE,SAAS,CAAC,qCAAqC;QACjE,MAAM,YAAY,GAAG,sBAAsB,CAC1C,OAAO,CAAC,SAAS,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,EACnE,WAAW,CACX,CAAC;QACF,IAAI,CAAC,YAAY;YAAE,SAAS;QAC5B,mFAAmF;QACnF,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,CAAC,KAAK,CAAC;YAAE,SAAS,CAAC,+CAA+C;QACtE,+EAA+E;QAC/E,6EAA6E;QAC7E,8EAA8E;QAC9E,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE;YACnB,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9B,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;YACjG,aAAa,EAAE,KAAK;SACpB,EAAE,EAAE,GAAG,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,SAAS,sBAAsB,CAAC,IAAuB,EAAE,KAAkB;IAC1E,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACtC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACb,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,qFAAqF;AACrF,SAAS,iBAAiB,CAAC,KAAkB,EAAE,eAAuB,EAAE,KAAa;IACpF,OAAO;QACN,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,IAAI,eAAe,EAAE;QAC5F,KAAK;KACL,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CACxB,WAAmB,EACnB,UAA6B,EAC7B,WAAmB,EACnB,UAA6B;IAE7B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACzD,MAAM,GAAG,GAAqB,EAAE,CAAC;IACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,GAAG,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,GAAG;YACb,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAoB;YACnF,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAoB;SAClE,CAAC,CAAC;IACtB,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,sDAAsD;QACtD,OAAO;YACN,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,GAAG;YACb,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAqB;YACtD,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAqB;SACrC,CAAC;IACrB,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAmB,CAAC,CAAC;AAC7G,CAAC;AAWD;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,uBAAuB,CAC/B,aAAqB,EACrB,OAAqB,EACrB,eAAuB,EACvB,OAAmD,EACnD,SAA2D;IAE3D,MAAM,EAAE,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;IAEvC,kCAAkC;IAClC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/E,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;QACtE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC9E,CAAC;IAED,+EAA+E;IAC/E,+EAA+E;IAC/E,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IACjE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,CAAC,EAAE,CAAC;IAC3G,CAAC;IAED,uDAAuD;IACvD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AACzB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CACxB,KAA0B,EAC1B,aAAqB,EACrB,eAAuB,EACvB,SAA+C;IAE/C,MAAM,GAAG,GAAG,KAAK,CAAC,cAAe,CAAC;IAClC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACpC,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,IAAI,eAAe,CAAC;IAC7D,MAAM,KAAK,GAAmB;QAC7B,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,EAAoB,EAAE,CAAC;QACnH,IAAI,EAAE,CAAC;gBACN,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE;gBAC9E,KAAK,EAAE,UAAU;aACjB,CAAC;QACF,KAAK,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,GAAG;gBACb,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,UAAU,EAAoB;gBACrF,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAoB;aAC5E;YACnB,KAAK,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,GAAG;gBACb,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,eAAe,EAAE,KAAK,EAAE,UAAU,EAAoB;gBACxF,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAqB;aACjD;SACD;KACnB,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAsB,CAAC;AACxD,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,mBAAmB,CAAC,IAAoB,EAAE,KAAa;IAC/D,MAAM,OAAO,GAAG,CAAC,IAAa,EAAW,EAAE;QAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,IAAK,IAAe,EAAE,CAAC;YACpE,MAAM,GAAG,GAAG,IAA+B,CAAC;YAC5C,MAAM,GAAG,GAA4B,EAAE,CAAC;YACxC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACjE,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;gBAClB,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,CAAC;YACD,OAAO,GAAG,CAAC;QACZ,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC,CAAC;IACF,OAAO,OAAO,CAAC,IAAI,CAAmB,CAAC;AACxC,CAAC;AAED;;;;;GAKG;AACH,SAAS,uBAAuB,CAC/B,aAAqB,EACrB,OAAqB,EACrB,YAA8C,EAC9C,aAAkC,EAClC,gBAAwB;IAExB,MAAM,EAAE,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,CAAC,gBAAgB,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,gBAAgB,CAAC,CAAC,CAAC;IAClH,KAAK,MAAM,UAAU,IAAI,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,SAAS;QAC7C,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;QAC9E,CAAC;IACF,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CACtB,QAAyC,EACzC,cAAqC,EACrC,iBAAyB;IAEzB,MAAM,OAAO,GAAG,IAAI,GAAG,EAA4B,CAAC;IACpD,IAAI,CAAC,QAAQ;QAAE,OAAO,OAAO,CAAC;IAE9B,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;QACzC,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe;YAAE,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACpG,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QACnC,IAAI,kBAAkB,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,YAAY,CACrB,wBAAwB,EAAE,CAAC,KAAK,sCAAsC,iBAAiB,IAAI,EAAE,CAAC,KAAK,+CAA+C,iBAAiB,GAAG,EACtK,UAAU,CAAC,KAAK,CAChB,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAUD;;;;;;;;;;;;GAYG;AACH,SAAS,mBAAmB,CAC3B,YAAyB,EACzB,iBAAyB,EACzB,eAAuB,EACvB,aAA4B,EAC5B,QAA0B,EAC1B,aAAoC;IAEpC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC/B,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC;IAEtC,+EAA+E;IAC/E,8EAA8E;IAC9E,8EAA8E;IAC9E,qCAAqC;IACrC,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAEzC,4EAA4E;IAC5E,6EAA6E;IAC7E,gFAAgF;IAChF,4BAA4B,CAAC,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;IAE/G,0EAA0E;IAC1E,8EAA8E;IAC9E,iFAAiF;IACjF,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,sBAAsB,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;IACnH,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAEnC,gFAAgF;IAChF,+EAA+E;IAC/E,8EAA8E;IAC9E,4CAA4C;IAC5C,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACzB,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IACzG,CAAC;IACD,MAAM,eAAe,GAAG,CAAC,UAAkB,EAAsB,EAAE;QAClE,MAAM,MAAM,GAAG,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;QACtF,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAC9B,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,eAAe,CAAC,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;QAClH,OAAO,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,8EAA8E;IAC9E,+EAA+E;IAC/E,4EAA4E;IAC5E,sEAAsE;IACtE,YAAY;IACZ,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAsF,CAAC;IAC/G,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,SAA6B,CAAC;IAClC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QAClC,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACxB,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,GAAG,CAAC,KAAK;gBAAE,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACnD,SAAS;QACV,CAAC;QACD,MAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,sEAAsE;YACtE,qEAAqE;YACrE,uEAAuE;YACvE,MAAM,IAAI,YAAY,CACrB,qCAAqC,iBAAiB,IAAI,WAAW,qCAAqC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,oFAAoF,EACnN,UAAU,CAAC,KAAK,CAChB,CAAC;QACH,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,sEAAsE;IACtE,IAAI,OAAO,EAAE,CAAC;QACb,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC3B,IAAI,SAAS,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,SAAS;gBAAE,SAAS;YACnE,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnC,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAC3G,CAAC;QACF,CAAC;IACF,CAAC;IAED,MAAM,QAAQ,GAAuB,EAAE,CAAC;IACxC,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YACjG,UAAU,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAClE,CAAC;aAAM,CAAC;YACP,sEAAsE;YACtE,0EAA0E;YAC1E,yEAAyE;YACzE,oEAAoE;YACpE,qEAAqE;YACrE,kFAAkF;YAClF,IAAI,QAAoC,CAAC;YACzC,IAAI,iBAAqC,CAAC;YAC1C,IAAI,aAAa,EAAE,OAAO,EAAE,CAAC;gBAC5B,MAAM,GAAG,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;gBAClH,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACzB,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC;gBACrB,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oBACvC,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAAC;gBAChC,CAAC;YACF,CAAC;YACD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;gBACnD,IAAI,GAAG,EAAE,CAAC;oBACT,QAAQ,GAAG,GAAG,CAAC;gBAChB,CAAC;qBAAM,IAAI,iBAAiB,EAAE,CAAC;oBAC9B,MAAM,IAAI,YAAY,CACrB,qCAAqC,iBAAiB,IAAI,WAAW,oBAAoB,GAAG,CAAC,IAAI,wDAAwD,iBAAiB,sGAAsG,EAChR,UAAU,CAAC,KAAK,CAChB,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACP,MAAM,IAAI,YAAY,CACrB,YAAY,CAAC,iBAAiB,EAAE,WAAW,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,EAChF,UAAU,CAAC,KAAK,CAChB,CAAC;gBACH,CAAC;YACF,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YACnE,UAAU,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,4EAA4E;IAC5E,wEAAwE;IACxE,6EAA6E;IAC7E,0EAA0E;IAC1E,wEAAwE;IACxE,MAAM,IAAI,GAAG,mBAAmB,CAC/B,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,CAC1E,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,cAAc,CAAC,IAAa,EAAE,KAA8C;IACpF,MAAM,KAAK,GAAc,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,SAAS;QAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,KAAK,KAAK,MAAM,CAAC,SAAS,IAAI,KAAK,KAAK,IAAI;gBAAE,SAAS;YAC3D,KAAK,CAAC,IAA+B,CAAC,CAAC;QACxC,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAA+B,CAAC,EAAE,CAAC;YACpE,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3D,CAAC;IACF,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,eAAe,CAAC,MAAsB;IAC9C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;QAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB;YAAE,KAAK,CAAC,GAAG,CAAE,IAAuC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7G,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAS,mBAAmB,CAC3B,MAAsB,EACtB,eAAuB,EACvB,aAA4B,EAC5B,QAA6B;IAE7B,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IACvD,IAAI,CAAC,KAAK;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,cAAc,GAAG,CAAC,IAA6B,EAAW,EAAE;QACjE,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC;QACxC,MAAM,GAAG,GAAG,IAAkC,CAAC;QAC/C,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACjD,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7D,OAAO,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC,CAAC;IAEF,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC;QAAE,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,+EAA+E;IAC/E,+EAA+E;IAC/E,4EAA4E;IAC5E,6EAA6E;IAC7E,8EAA8E;IAC9E,gEAAgE;IAChE,IAAI,CAAC,KAAK;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACpC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE;QAC5B,IAAI,cAAc,CAAC,IAAI,CAAC;YAAG,IAAmC,CAAC,KAAK,CAAC,MAAM,GAAG,eAAe,CAAC;IAC/F,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,uBAAuB,CAC/B,IAAqB,EACrB,eAAuB,EACvB,aAA4B,EAC5B,QAA6B;IAE7B,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAAE,OAAO,SAAS,CAAC;IACrG,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,eAAe,CAAC;IACxD,OAAO,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACvE,CAAC;AAED,oFAAoF;AACpF,SAAS,sBAAsB,CAC9B,IAA+C,EAC/C,eAAuB,EACvB,aAA4B,EAC5B,QAA6B;IAE7B,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,IAAI,eAAe,GAAG,KAAK,CAAC;IAE5B,MAAM,IAAI,GAAG,CAAC,IAAoB,EAAQ,EAAE;QAC3C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,OAAO,CAAC,CAAC,CAAC;gBACd,MAAM,GAAG,GAAG,uBAAuB,CAAC,IAAI,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;gBACpF,IAAI,CAAC,GAAG,EAAE,CAAC;oBAAC,eAAe,GAAG,IAAI,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBAC7C,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC9D,MAAM;YACP,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjB,MAAM;YACP,CAAC;YACD;gBACC,8DAA8D;gBAC9D,eAAe,GAAG,IAAI,CAAC;gBACvB,MAAM;QACR,CAAC;IACF,CAAC,CAAC;IAEF,IAAI,IAAI;QAAE,KAAK,MAAM,CAAC,IAAI,IAAI;YAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACxC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,SAAS,4BAA4B,CACpC,MAAsB,EACtB,eAAuB,EACvB,aAA4B,EAC5B,QAA6B,EAC7B,iBAAyB,EACzB,WAAmB;IAEnB,MAAM,UAAU,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;IACjD,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,CAAC,OAAe,EAAS,EAAE;QACvC,MAAM,IAAI,YAAY,CACrB,qCAAqC,iBAAiB,IAAI,WAAW,KAAK,OAAO,gCAAgC,eAAe,8DAA8D,EAC9L,UAAU,CAAC,KAAK,CAChB,CAAC;IACH,CAAC,CAAC;IAEF,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;QAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO;QAClC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAkC,CAAC;QACrD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,UAAU,EAAE,CAAC;gBAC/C,IAAI,CAAC,8BAA8B,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,iCAAiC,eAAe,GAAG,CAAC,CAAC;YACnH,CAAC;YACD,OAAO;QACR,CAAC;QACD,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAAE,OAAO;QACnD,IAAI,KAAK,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC,wBAAwB,KAAK,CAAC,IAAI,gCAAgC,eAAe,qGAAqG,CAAC,CAAC;QAC9L,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,KAAa,EAAE,IAAY;IACpD,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;AAChF,CAAC;AAED,mFAAmF;AACnF,SAAS,sBAAsB,CAAC,GAAyB;IACxD,IAAI,GAAG,CAAC,KAAK;QAAE,OAAO,GAAG,CAAC,KAAK,CAAC;IAChC,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/D,CAAC;AAED,4EAA4E;AAC5E,SAAS,SAAS,CAAC,IAAY,EAAE,OAA2B;IAC3D,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACtF,CAAC;AAED,0EAA0E;AAC1E,SAAS,UAAU,CAAC,OAAe,EAAE,OAAsC,EAAE,OAAgB;IAC5F,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACpC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACvB,sEAAsE;YACtE,kCAAkC;YAClC,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAClF,CAAC;IACF,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,0EAA0E;AAC1E,SAAS,YAAY,CACpB,iBAAyB,EACzB,WAAmB,EACnB,OAAe,EACf,OAAsC,EACtC,eAAwB;IAExB,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC;QACtC,CAAC,CAAC,yDAAyD;QAC3D,CAAC,CAAC,mBAAmB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,OAAO,GAAG,CAAC;IAC9F,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,EAAE,CAAC;QAC3C,wEAAwE;QACxE,OAAO,qCAAqC,iBAAiB,IAAI,WAAW,iDAAiD,OAAO,gDAAgD,UAAU,gGAAgG,CAAC;IAChS,CAAC;IACD,sFAAsF;IACtF,OAAO,qCAAqC,iBAAiB,IAAI,WAAW,oBAAoB,OAAO,mBAAmB,UAAU,iHAAiH,CAAC;AACvP,CAAC;AAED,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAC9E,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,gFAAgF;AAChF,4EAA4E;AAC5E,+EAA+E;AAC/E,8EAA8E;AAC9E,+EAA+E;AAC/E,mDAAmD;AAEnD;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,EAAY,EAAE,KAAa;IACzD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAC;IACjD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC;QAC1C,IAAI,KAAK,CAAC,UAAU;YAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAgC,CAAC;IACrD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,wBAAwB,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QAC/D,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3C,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,oBAAoB,CAC5B,GAAwC,EACxC,YAAyB,EACzB,KAA6C,EAC7C,EAAY,EACZ,iBAAyB,EACzB,WAAoB;IAEpB,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAC9C,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC;IACzE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC;IACrE,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC;IAExE,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CACV,OAAO,SAAS,CAAC,MAAM,oCAAoC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAChI,CAAC;IACH,CAAC;IACD,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,aAAa,EAAE,CAAC;QACnB,4BAA4B,CAAC,aAAa,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAC3F,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC/B,8BAA8B,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,YAAY,CACrB,0CAA0C,iBAAiB,IAAI,YAAY,CAAC,IAAI,iBAAiB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACpH,UAAU,CAAC,KAAK,CAChB,CAAC;IACH,CAAC;IAED,OAAO;QACN,aAAa;QACb,eAAe,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;KACjE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,4BAA4B,CACpC,EAAwB,EACxB,YAAyB,EACzB,KAA6C,EAC7C,EAAY,EACZ,WAAoB,EACpB,MAAgB;IAEhB,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;IAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QAC/D,OAAO;IACR,CAAC;IACD,6EAA6E;IAC7E,+EAA+E;IAC/E,uCAAuC;IACvC,IAAI,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,EAAE,0CAA0C,OAAO,CAAC,gBAAgB,GAAG,CAAC,CAAC;IAC9G,CAAC;IAED,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA+B,CAAC;IAClE,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO;QAAE,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAExF,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACvD,MAAM,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,gBAAgB,+BAA+B,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC;IACtJ,CAAC;IAED,wEAAwE;IACxE,MAAM,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;IACpD,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,UAAU,gCAAgC,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,yBAAyB,CAAC,CAAC;YAClJ,SAAS;QACV,CAAC;QACD,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAE3C,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACtC,KAAK,MAAM,OAAO,IAAI,qBAAqB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBACtD,MAAM,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,UAAU,0BAA0B,OAAO,CAAC,aAAa,6CAA6C,OAAO,+BAA+B,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;gBAC1L,CAAC;YACF,CAAC;QACF,CAAC;QACD,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC3B,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI;gBACzB,CAAC,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC;gBAC9C,CAAC,WAAW,EAAE,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC;gBACpD,CAAC,OAAO,EAAE,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC;aACnC,EAAE,CAAC;gBACZ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBAClD,MAAM,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,UAAU,oBAAoB,IAAI,YAAY,GAAG,wBAAwB,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;gBACvH,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAED,iFAAiF;IACjF,gFAAgF;IAChF,kFAAkF;IAClF,6CAA6C;IAC7C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACpC,wEAAwE;QACxE,4EAA4E;QAC5E,6EAA6E;QAC7E,4EAA4E;QAC5E,uEAAuE;QACvE,MAAM,UAAU,GAAG,SAAS,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;QACtF,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC/D,IAAI,WAAW,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YACnG,IAAI,MAAM,IAAI,MAAM,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;gBAC5C,MAAM,CAAC,IAAI,CAAC,yCAAyC,OAAO,CAAC,gBAAgB,iBAAiB,UAAU,CAAC,CAAC,CAAC,qHAAqH,UAAU,CAAC,CAAC,CAAC,UAAU,WAAW,CAAC,IAAI,0EAA0E,CAAC,CAAC;YACpV,CAAC;QACF,CAAC;QACD,2EAA2E;QAC3E,6EAA6E;QAC7E,2EAA2E;QAC3E,2EAA2E;QAC3E,qDAAqD;QACrD,MAAM,WAAW,GAAG,SAAS,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;QACzF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC/B,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACtC,MAAM,OAAO,GAAG,SAAS,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACtE,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;oBAC/C,MAAM,CAAC,IAAI,CAAC,yCAAyC,MAAM,CAAC,UAAU,SAAS,OAAO,CAAC,MAAM,mCAAmC,OAAO,CAAC,gBAAgB,sBAAsB,WAAW,GAAG,CAAC,CAAC;gBAC/L,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IACD,IAAI,SAAS,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,YAAY,CAAC,oBAAoB,CAAC,MAAM,CAAC;QACzD,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,SAAS,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACtE,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAC3C,MAAM,CAAC,IAAI,CAAC,6CAA6C,MAAM,CAAC,UAAU,SAAS,OAAO,CAAC,MAAM,wDAAwD,OAAO,GAAG,CAAC,CAAC;YACtK,CAAC;QACF,CAAC;IACF,CAAC;IAED,yEAAyE;IACzE,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,SAAS,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACtE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,6CAA6C,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;YAC/E,SAAS;QACV,CAAC;QACD,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK;YAAE,SAAS,CAAC,yCAAyC;QAC/D,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBAClD,MAAM,CAAC,IAAI,CAAC,sBAAsB,GAAG,iBAAiB,MAAM,CAAC,UAAU,wBAAwB,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;YAC/G,CAAC;QACF,CAAC;IACF,CAAC;IAED,wEAAwE;IACxE,kEAAkE;IAClE,oFAAoF;IACpF,mFAAmF;IACnF,+EAA+E;IAC/E,mFAAmF;IACnF,qFAAqF;IACrF,qFAAqF;IACrF,+EAA+E;IAC/E,mFAAmF;IACnF,kFAAkF;IAClF,sBAAsB;IACtB,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK;YAAE,SAAS,CAAC,0CAA0C;QAChE,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC3B,wEAAwE;YACxE,yEAAyE;YACzE,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;YAC3F,MAAM,GAAG,GAAG,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAChD,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;gBAChD,MAAM,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,UAAU,sBAAsB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,4DAA4D,KAAK,CAAC,IAAI,oKAAoK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;YACzZ,CAAC;YACD,SAAS;QACV,CAAC;QACD,MAAM,OAAO,GAAG,SAAS,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC5E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS,CAAC,gEAAgE;QACpG,MAAM,GAAG,GAAG,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,UAAU,iBAAiB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,2EAA2E,KAAK,CAAC,IAAI,oHAAoH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,oHAAoH,CAAC,CAAC;QAC7Z,CAAC;IACF,CAAC;IAED,+EAA+E;IAC/E,8EAA8E;IAC9E,+EAA+E;IAC/E,6EAA6E;IAC7E,2EAA2E;IAC3E,IAAI,CAAC,WAAW,EAAE,CAAC;QAClB,MAAM,QAAQ,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QACjE,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAChE,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YACxC,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAClC,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,WAAW,EAAE,CAAC;gBACtC,MAAM,CAAC,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAAI,mEAAmE,CAAC,CAAC;gBAC5G,SAAS;YACV,CAAC;YACD,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,SAAS,CAAC,6BAA6B;YAC7D,IAAI,YAAY;gBAAE,SAAS,CAAM,2CAA2C;YAC5E,IAAI,cAAc,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,SAAS,CAAC,qBAAqB;YAC3E,MAAM,CAAC,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAAI,4JAA4J,CAAC,CAAC;QACtM,CAAC;IACF,CAAC;AACF,CAAC;AAED;;;;;;GAMG;AACH,SAAS,8BAA8B,CACtC,EAAwB,EACxB,KAA6C,EAC7C,EAAY,EACZ,MAAgB;IAEhB,IAAI,CAAC,EAAE,CAAC,OAAO;QAAE,OAAO,CAAC,2CAA2C;IACpE,KAAK,MAAM,MAAM,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACzC,IAAI,CAAC,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,CAAC,EAAE,aAAa,MAAM,CAAC,UAAU,gCAAgC,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,yBAAyB,CAAC,CAAC;QACtL,CAAC;IACF,CAAC;AACF,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,OAAqD;IACnF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAgC,CAAC;IACzD,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACtC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACtC,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;YAC/C,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACtE,CAAC;IACF,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,KAAkB,EAAE,KAAwB;IACzE,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC,CAAC,6CAA6C;QACpF,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACb,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,8EAA8E;AAC9E,SAAS,oBAAoB,CAC5B,EAAY,EACZ,MAA2B,EAC3B,KAA6C;IAE7C,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC;IAC9D,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE;QACzE,CAAC,CAAC,KAAK,CAAC,MAAM;QACd,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC1C,OAAO,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC;AAED;;;;;GAKG;AACH,SAAS,mCAAmC,CAC3C,UAAkC,EAClC,EAAwB;IAExB,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;IAC3B,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,MAAM,QAAQ,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7D,IAAI,QAAQ,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC1C,CAAC,CAAC,YAAY,GAAG,QAAQ,CAAC;QAC3B,CAAC;aAAM,IAAI,OAAO,EAAE,CAAC;YACpB,CAAC,CAAC,YAAY,GAAG,OAAO,CAAC;QAC1B,CAAC;IACF,CAAC;AACF,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,qCAAqC,CAC7C,EAAwB,EACxB,QAA0B,EAC1B,eAAuB,EACvB,aAA4B,EAC5B,iBAAyB,EACzB,WAAmB;IAEnB,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;IAC3B,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,MAAM,eAAe,GAAG,IAAI,GAAG,CAC9B,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,eAAe,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CACrH,CAAC;IACF,MAAM,EAAE,OAAO,EAAE,GAAG,sBAAsB,CACzC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CACtF,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACpF,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,YAAY,CACrB,qCAAqC,iBAAiB,IAAI,WAAW,gCAAgC,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,iEAAiE,OAAO,CAAC,gBAAgB,eAAe,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,qNAAqN,EACpgB,UAAU,CAAC,KAAK,CAChB,CAAC;QACH,CAAC;IACF,CAAC;AACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"lens-compiler.js","sourceRoot":"","sources":["../../../src/schema/lens-compiler.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAoB,MAAM,YAAY,CAAC;AAGtE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,uBAAuB,EACgD,MAAM,WAAW,CAAC;AAClG,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAsB,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAyE,MAAM,kBAAkB,CAAC;AAC3I,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAA6B,MAAM,eAAe,CAAC;AACvG,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAInD,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,MAAM,GAAG,GAAG,YAAY,CAAC,sBAAsB,CAAC,CAAC;AAEjD;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAClC,EAAY,EACZ,cAAqC,EACrC,iBAAyB;IAEzB,0BAA0B,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;IAE9D,MAAM,aAAa,GAAG,EAAE,CAAC,aAAa,CAAC;IACvC,MAAM,aAAa,GAAG,aAAa,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;IAEvE,4EAA4E;IAC5E,yEAAyE;IACzE,8EAA8E;IAC9E,MAAM,QAAQ,GAAG,EAAE,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;IAChF,MAAM,gBAAgB,GAAG,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC;IAErF,2EAA2E;IAC3E,yEAAyE;IACzE,4EAA4E;IAC5E,wEAAwE;IACxE,IAAI,KAAyD,CAAC;IAC9D,MAAM,YAAY,GAAG,GAA2C,EAAE;QACjE,IAAI,QAAQ,EAAE,CAAC;YACd,oEAAoE;YACpE,uEAAuE;YACvE,MAAM,WAAW,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAClE,IAAI,CAAC,WAAW,EAAE,CAAC;gBAClB,MAAM,IAAI,YAAY,CACrB,uBAAuB,QAAQ,CAAC,WAAW,yBAAyB,iBAAiB,oDAAoD,iBAAiB,SAAS,QAAQ,CAAC,WAAW,IAAI,EAC3L,UAAU,CAAC,KAAK,CAChB,CAAC;YACH,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;QAC9D,CAAC;QACD,OAAO,iBAAiB,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;IAC5D,CAAC,CAAC;IAEF,8EAA8E;IAC9E,4EAA4E;IAC5E,4EAA4E;IAC5E,gFAAgF;IAChF,qEAAqE;IACrE,IAAI,iBAAqD,CAAC;IAE1D,MAAM,QAAQ,GAAgD,EAAE,CAAC;IACjE,mFAAmF;IACnF,+EAA+E;IAC/E,+EAA+E;IAC/E,MAAM,WAAW,GAAqB,EAAE,CAAC;IACzC,MAAM,aAAa,GAAqB,EAAE,CAAC;IAC3C,MAAM,YAAY,GAA2B,EAAE,CAAC;IAChD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA+C,CAAC;IAClF,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;QACzC,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe;YAAE,SAAS;QAE5C,KAAK,KAAK,YAAY,EAAE,CAAC;QACzB,iBAAiB,KAAK,qBAAqB,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9D,MAAM,YAAY,GAAG,aAAa,CAAC,uBAAuB,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QAC/F,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAEvE,8EAA8E;QAC9E,8EAA8E;QAC9E,8EAA8E;QAC9E,4EAA4E;QAC5E,4EAA4E;QAC5E,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,oBAAoB,CAC9D,iBAAiB,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,QAAQ,KAAK,SAAS,CACrF,CAAC;QAEF,IAAI,YAA4B,CAAC;QACjC,IAAI,UAAkC,CAAC;QACvC,IAAI,gBAA0B,CAAC;QAC/B,yEAAyE;QACzE,uEAAuE;QACvE,2EAA2E;QAC3E,6DAA6D;QAC7D,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAC9B,IAAI,QAAQ,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,mBAAmB,CAAC,YAAY,EAAE,iBAAiB,EAAE,KAAK,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;YAC9H,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;YAC3B,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;YAC/B,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;YAC3C,mFAAmF;YACnF,0EAA0E;YAC1E,qEAAqE;YACrE,yEAAyE;YACzE,0EAA0E;YAC1E,4EAA4E;YAC5E,IAAI,aAAa,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,EAAE,CAAC;gBACnE,qCAAqC,CACpC,aAAa,EAAE,QAAQ,EAAE,KAAK,CAAC,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,CAAC,IAAI,CAC9F,CAAC;YACH,CAAC;QACF,CAAC;aAAM,IAAI,aAAa,EAAE,CAAC;YAC1B,wEAAwE;YACxE,wEAAwE;YACxE,YAAY,GAAG,wBAAwB,CAAC,YAAY,EAAE,iBAAiB,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;YACnG,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,SAAkB,EAAE,CAAC,CAAC,CAAC;YACpG,gBAAgB,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzD,iBAAiB,GAAG,IAAI,CAAC;QAC1B,CAAC;aAAM,CAAC;YACP,YAAY,GAAG,kBAAkB,CAAC,YAAY,EAAE,iBAAiB,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;YACnG,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,SAAkB,EAAE,CAAC,CAAC,CAAC;YACpG,gBAAgB,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC;QAED,6EAA6E;QAC7E,IAAI,aAAa;YAAE,mCAAmC,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QAElF,iEAAiE;QACjE,wEAAwE;QACxE,0EAA0E;QAC1E,0EAA0E;QAC1E,wEAAwE;QACxE,kFAAkF;QAClF,EAAE;QACF,yDAAyD;QACzD,8EAA8E;QAC9E,6EAA6E;QAC7E,+EAA+E;QAC/E,+EAA+E;QAC/E,gFAAgF;QAChF,+BAA+B;QAC/B,MAAM,YAAY,GAAG,iBAAiB;YACrC,CAAC,CAAC,0BAA0B,CAAC,aAAc,EAAE,KAAK,EAAE,EAAE,CAAC;YACvD,CAAC,CAAC,EAAE,CAAC;QAEN,MAAM,IAAI,GAAa;YACtB,YAAY;YACZ,YAAY,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE;YAC9C,QAAQ,EAAE,QAAQ,EAAE,MAAM;YAC1B,YAAY;YACZ,gBAAgB,EAAE,UAAU;YAC5B,mBAAmB,EAAE,uBAAuB,CAAC,YAAY,CAAC;YAC1D,aAAa;YACb,eAAe;YACf,YAAY,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;SAChE,CAAC;QAEF,2EAA2E;QAC3E,yEAAyE;QACzE,yEAAyE;QACzE,0EAA0E;QAC1E,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAEvB,8EAA8E;QAC9E,2EAA2E;QAC3E,wEAAwE;QACxE,wEAAwE;QACxE,gDAAgD;QAChD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAE/B,8EAA8E;QAC9E,gEAAgE;QAChE,uEAAuE;QACvE,0EAA0E;QAC1E,0EAA0E;QAC1E,4EAA4E;QAC5E,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,uBAAuB,CAAC,YAAY,CAAC,CAAC,CAAC;QACnG,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QACxD,aAAa,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC3C,YAAY,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;QAC9C,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QAE3E,MAAM,IAAI,GAAe;YACxB,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,UAAU,EAAE,aAAa,CAAC,IAAI;YAC9B,GAAG,EAAE,WAAW,CAAC,YAAY,CAAC;YAC9B,SAAS,EAAE,YAAY;YACvB,oEAAoE;YACpE,2CAA2C;YAC3C,iEAAiE;YACjE,oEAAoE;YACpE,6DAA6D;YAC7D,uCAAuC;YACvC,OAAO,EAAE,gBAAgB;YACzB,IAAI,EAAE,YAAY,CAAC,IAAI;SACvB,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,+EAA+E;IAC/E,2EAA2E;IAC3E,sDAAsD;IACtD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,YAAY,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,WAAW,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAC7F,CAAC;IAED,4EAA4E;IAC5E,8EAA8E;IAC9E,0EAA0E;IAC1E,qEAAqE;IACrE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QAC5D,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,aAAa,CAAC,cAAc,EAAE,CAAC;IAE/B,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,QAAQ,EAAE,CAAC;QACvC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAChC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,GAAG,CAAC,iCAAiC,EAAE,iBAAiB,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACjH,CAAC;IAED,4EAA4E;IAC5E,gFAAgF;IAChF,kFAAkF;IAClF,iDAAiD;IACjD,aAAa,CAAC,oBAAoB,EAAE,CAAC;IAErC,0EAA0E;IAC1E,4EAA4E;IAC5E,4EAA4E;IAC5E,sDAAsD;IACtD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;IACjF,EAAE,CAAC,qBAAqB,CAAC,0BAA0B,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;IAEjF,8EAA8E;IAC9E,gFAAgF;IAChF,wFAAwF;IACxF,iFAAiF;IACjF,4EAA4E;IAC5E,0EAA0E;IAC1E,MAAM,MAAM,GAAqB,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC;IAC3G,EAAE,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IAC1E,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,iBAAyB,EAAE,MAAqC;IAC1F,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7D,OAAO,mCAAmC,iBAAiB,gBAAgB,MAAM,CAAC,MAAM,eAAe,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC3H,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,uBAAuB,CAC/B,EAAY,EACZ,QAA6D,EAC7D,KAAyD,EACzD,iBAAyB;IAEzB,MAAM,cAAc,GAAG,EAAE,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC;IACtH,MAAM,eAAe,GAAG,KAAK,EAAE,UAAU,IAAI,cAAc,IAAI,EAAE,CAAC;IAClE,MAAM,aAAa,GAAG,eAAe;QACpC,CAAC,CAAC,EAAE,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,eAAe,CAAC;QAC7D,CAAC,CAAC,SAAS,CAAC;IACb,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAExE,MAAM,MAAM,GAAG,IAAI,GAAG,EAA6B,CAAC;IACpD,IAAI,KAAK,EAAE,CAAC;QACX,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,QAAQ,EAAE,CAAC;YACjC,MAAM,eAAe,GAAG,qBAAqB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;YACjH,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YACvE,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACnE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;gBAChD,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI;gBACpC,OAAO,EAAE,IAAI,CAAC,YAAY;gBAC1B,cAAc;gBACd,eAAe;gBACf,mBAAmB;aACnB,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IACD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AAC/C,CAAC;AAED,kFAAkF;AAClF,SAAS,YAAY,CAAC,GAAmB;IACxC,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;AAChF,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,sBAAsB,CAAC,KAAkB;IACjD,OAAO,KAAK,CAAC,OAAO;SAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,YAAY,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;SACjE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACpB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,qBAAqB,CAC7B,IAAoB,EACpB,UAA+C,EAC/C,KAA6C,EAC7C,aAA4B;IAE5B,8EAA8E;IAC9E,0EAA0E;IAC1E,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,EAAE,OAAO,EAAE,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;IACjG,MAAM,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAC;IAChD,KAAK,MAAM,CAAC,IAAI,OAAO;QAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE7D,MAAM,MAAM,GAAG,IAAI,GAAG,EAA+B,CAAC;IACtD,MAAM,GAAG,GAAG,CAAC,GAAmB,EAAE,WAAmB,EAAE,aAAqB,EAAQ,EAAE;QACrF,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,EAAE,EAAE,CAAC;YACT,EAAE,GAAG;gBACJ,UAAU,EAAE,GAAG;gBACf,aAAa,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE;gBACtE,OAAO,EAAE,EAAE;gBACX,oBAAoB,EAAE,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC;aACvD,CAAC;YACF,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACrB,CAAC;QACD,MAAM,IAAI,GAAG,EAAE,CAAC,OAAgE,CAAC;QACjF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC;QAC3C,CAAC;IACF,CAAC,CAAC;IAEF,iBAAiB;IACjB,MAAM,SAAS,GAAyE,EAAE,CAAC;IAC3F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ;YAAE,SAAS;QACnC,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;QACrB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,SAAS,CAAC,wCAAwC;QAC9E,MAAM,OAAO,GAAG,IAAsB,CAAC;QACvC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC5E,IAAI,CAAC,GAAG;YAAE,SAAS,CAAC,gEAAgE;QACpF,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACzF,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IACrD,CAAC;IAED,sFAAsF;IACtF,KAAK,MAAM,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC;QACpG,IAAI,OAA2B,CAAC;QAChC,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC;mBACxE,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YAC5D,IAAI,IAAI,EAAE,CAAC;gBAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBAAC,MAAM;YAAC,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,OAAO;YAAE,SAAS,CAAC,+DAA+D;QACvF,KAAK,MAAM,CAAC,IAAI,GAAG;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AASD;;;;;GAKG;AACH,SAAS,0BAA0B,CAClC,IAA+C,EAC/C,eAAuB,EACvB,aAA4B,EAC5B,QAA6B;IAE7B,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,IAAI,CAAC,IAAI;QAAE,OAAO,OAAO,CAAC;IAE1B,MAAM,mBAAmB,GAAG,CAAC,IAAoB,EAAoB,EAAE;QACtE,MAAM,GAAG,GAAqB,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,CAAC,CAAiB,EAAQ,EAAE;YACxC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACxB,MAAM,GAAG,GAAG,uBAAuB,CAAC,CAAC,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;gBACjF,IAAI,GAAG;oBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YACjE,CAAC;iBAAM,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC9B,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACb,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACf,CAAC;QACF,CAAC,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,CAAC;QACX,OAAO,GAAG,CAAC;IACZ,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,GAAmB,EAAE,OAAe,EAAyB,EAAE;QACjF,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QAChE,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACxC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACrD,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,IAAoB,EAAQ,EAAE;QAC/C,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO;QACjC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,MAAM,OAAO,GAAG,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACxF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,kFAAkF;YAClF,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAChC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAkB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;gBACnG,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;oBAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/C,CAAC;QACF,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC3B,oEAAoE;YACpE,MAAM,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAC;YAChD,KAAK,MAAM,CAAC,IAAI,OAAO;gBAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;YAC/D,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK;oBAAE,SAAS;gBAC1C,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC/C,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;gBAChD,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE;oBAAE,SAAS;gBACzB,MAAM,EAAE,GAAG,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpC,MAAM,EAAE,GAAG,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACrC,IAAI,EAAE,IAAI,EAAE;oBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACtC,CAAC;QACF,CAAC;IACF,CAAC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,IAAI;QAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClC,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,mFAAmF;AACnF,SAAS,oBAAoB,CAAC,IAAoB;IACjD,MAAM,KAAK,GAA4C,EAAE,CAAC;IAC1D,MAAM,IAAI,GAAG,CAAC,CAAiB,EAAQ,EAAE;QACxC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO;QAChC,MAAM,GAAG,GAAG,CAAmB,CAAC;QAChC,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;YAC1C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9F,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAsB,EAAE,GAAG,CAAC,KAAuB,CAAC,CAAC,CAAC;QACvE,CAAC;IACF,CAAC,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,CAAC;IACX,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,SAAS,yBAAyB,CACjC,IAAc,EACd,KAA6C;IAE7C,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC;IAC5C,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,SAAS,CAAC;IACzE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QACzE,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,gBAAgB,CAAC,IAAc;IACvC,MAAM,WAAW,GAAoB;QACpC,GAAG,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,eAAe,CAAC;KAChE,CAAC;IACF,uEAAuE;IACvE,4EAA4E;IAC5E,gFAAgF;IAChF,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC7C,IAAI,GAAG,CAAC,IAAI;YAAE,WAAW,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,GAAG,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACrF,CAAC;IACD,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACnD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,KAAK,YAAY,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS;YAC7E,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC;QAC9B,IAAI,IAAI;YAAE,WAAW,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,2BAA2B,CAAC,WAAW,EAAE;QACxC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,iCAAiC,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;KACtI,CAAC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CACzC,cAAqC,EACrC,iBAAyB;IAEzB,MAAM,GAAG,GAAG,mBAAmB,iBAAiB,GAAG,CAAC;IACpD,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;QACzC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,eAAe,CAAC,CAAC,CAAC;gBACtB,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;oBAC/B,MAAM,IAAI,YAAY,CACrB,mCAAmC,IAAI,CAAC,SAAS,CAAC,UAAU,oBAAoB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,uBAAuB,GAAG,uDAAuD,EAC1L,UAAU,CAAC,KAAK,CAChB,CAAC;gBACH,CAAC;gBACD,MAAM;YACP,CAAC;YACD,KAAK,eAAe,CAAC,CAAC,CAAC;gBACtB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC;gBAChE,MAAM,IAAI,YAAY,CACrB,SAAS,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,uBAAuB,GAAG,4EAA4E,EACjJ,UAAU,CAAC,KAAK,CAChB,CAAC;YACH,CAAC;YACD,KAAK,0BAA0B,CAAC,CAAC,CAAC;gBACjC,MAAM,IAAI,YAAY,CACrB,4BAA4B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,uBAAuB,GAAG,kDAAkD,EAC/H,UAAU,CAAC,KAAK,CAChB,CAAC;YACH,CAAC;YACD,oEAAoE;YACpE,qEAAqE;YACrE,sEAAsE;QACvE,CAAC;IACF,CAAC;AACF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAChC,aAA4B,EAC5B,iBAAyB;IAEzB,MAAM,YAAY,GAAG,iBAAiB,CAAC,WAAW,EAAE,CAAC;IACrD,MAAM,UAAU,GAAkD,EAAE,CAAC;IAErE,KAAK,MAAM,MAAM,IAAI,aAAa,CAAC,cAAc,EAAE,EAAE,CAAC;QACrD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC5C,IAAI,SAAS,KAAK,YAAY;YAAE,SAAS;QACzC,IAAI,SAAS,KAAK,MAAM;YAAE,SAAS;QACnC,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU;YAAE,SAAS;QAEzC,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC;YAAC,QAAQ,GAAG,IAAI,CAAC;YAAC,MAAM;QAAC,CAAC;QACnE,IAAI,CAAC,QAAQ;YAAE,SAAS;QAExB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IAED,MAAM,IAAI,YAAY,CACrB,0DAA0D,iBAAiB,YAAY,UAAU,CAAC,MAAM,0CAA0C,iBAAiB,gBAAgB,EACnL,UAAU,CAAC,KAAK,CAChB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kBAAkB,CACjC,YAAyB,EACzB,iBAAyB,EACzB,WAAmB,EACnB,eAAuB;IAEvB,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC;IACtC,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACrD,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,MAAM,IAAI,YAAY,CACrB,wBAAwB,iBAAiB,IAAI,WAAW,wBAAwB,EAChF,UAAU,CAAC,KAAK,CAChB,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC1E,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,YAAY,CACrB,yBAAyB,iBAAiB,IAAI,WAAW,IAAI,GAAG,CAAC,IAAI,wBAAwB,EAC7F,UAAU,CAAC,KAAK,CAChB,CAAC;QACH,CAAC;QACD,4EAA4E;QAC5E,0EAA0E;QAC1E,wEAAwE;QACxE,wEAAwE;QACxE,0DAA0D;QAC1D,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAoB;SAC9D,CAAC,CAAC;IACJ,CAAC;IAED,OAAO;QACN,IAAI,EAAE,QAAQ;QACd,OAAO;QACP,IAAI,EAAE,CAAC;gBACN,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE;aAC7E,CAAC;KACF,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,oEAAoE;AACpE,8EAA8E;AAC9E,EAAE;AACF,8EAA8E;AAC9E,4EAA4E;AAC5E,gFAAgF;AAChF,4EAA4E;AAC5E,6EAA6E;AAC7E,2EAA2E;AAC3E,4EAA4E;AAC5E,kEAAkE;AAElE;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAS,wBAAwB,CAChC,YAAyB,EACzB,iBAAyB,EACzB,KAA6C,EAC7C,aAAmC,EACnC,EAAY;IAEZ,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;IACtC,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,uEAAuE;QACvE,mEAAmE;QACnE,MAAM,IAAI,YAAY,CACrB,0CAA0C,iBAAiB,IAAI,YAAY,CAAC,IAAI,qDAAqD,EACrI,UAAU,CAAC,KAAK,CAChB,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC;IAEtC,2EAA2E;IAC3E,6EAA6E;IAC7E,MAAM,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;IACpD,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,IAAI,YAAY,CACrB,0CAA0C,iBAAiB,IAAI,WAAW,gCAAgC,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,cAAc,MAAM,CAAC,UAAU,0BAA0B,EAClN,UAAU,CAAC,KAAK,CAChB,CAAC;QACH,CAAC;QACD,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACpF,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,MAAM,IAAI,YAAY,CACrB,0CAA0C,iBAAiB,IAAI,WAAW,mBAAmB,OAAO,CAAC,gBAAgB,mCAAmC,EACxJ,UAAU,CAAC,KAAK,CAChB,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAE,CAAC;IACzD,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAEvF,4EAA4E;IAC5E,wDAAwD;IACxD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3D,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACtC,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU;YAAE,SAAS;QACtD,IAAI,MAAM,CAAC,cAAc;YAAE,SAAS,CAAC,6BAA6B;QAClE,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED,+CAA+C;IAC/C,IAAI,IAAI,GAAmB,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAC/F,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACtC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU;YAAE,SAAS;QAC/F,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAE,CAAC;QACzD,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACvF,IAAI,GAAG;YACN,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,MAAM,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;YAC5D,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;YAC1E,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC;SACnH,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,MAAM,OAAO,GAAG,CAAC,UAAkB,EAAsB,EAAE,CAC1D,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IAE1F,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QACvF,IAAI,IAAoB,CAAC;QACzB,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACjB,CAAC;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACvC,MAAM,IAAI,YAAY,CACrB,0CAA0C,iBAAiB,IAAI,WAAW,kBAAkB,GAAG,CAAC,IAAI,gBAAgB,GAAG,CAAC,MAAM,2IAA2I,EACzQ,UAAU,CAAC,KAAK,CAChB,CAAC;QACH,CAAC;aAAM,CAAC;YACP,oEAAoE;YACpE,yEAAyE;YACzE,MAAM,EAAE,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YACtG,IAAI,CAAC,EAAE,EAAE,CAAC;gBACT,MAAM,IAAI,YAAY,CACrB,0CAA0C,iBAAiB,IAAI,WAAW,4BAA4B,GAAG,CAAC,IAAI,mHAAmH,EACjO,UAAU,CAAC,KAAK,CAChB,CAAC;YACH,CAAC;YACD,IAAI,GAAG,EAAE,CAAC;QACX,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;AAClD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,SAAS,0BAA0B,CAClC,aAAmC,EACnC,KAA6C,EAC7C,EAAY;IAEZ,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;IACtC,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IAExB,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACpF,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC,CAAC,qCAAqC;IAC7D,MAAM,WAAW,GAAG,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5D,IAAI,CAAC,WAAW;QAAE,OAAO,EAAE,CAAC,CAAC,qCAAqC;IAClE,MAAM,YAAY,GAAG,sBAAsB,CAC1C,OAAO,CAAC,SAAS,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,EACnE,WAAW,CACX,CAAC;IACF,kFAAkF;IAClF,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAE1D,IAAI,IAAI,GAA0B,EAAE,CAAC;IACrC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACtC,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU;YAAE,SAAS;QACtD,IAAI,MAAM,CAAC,QAAQ,KAAK,WAAW;YAAE,SAAS,CAAC,sDAAsD;QACrG,IAAI,MAAM,CAAC,cAAc;YAAE,SAAS,CAAC,wDAAwD;QAC7F,MAAM,WAAW,GAAG,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5D,IAAI,CAAC,WAAW;YAAE,SAAS,CAAC,qCAAqC;QACjE,MAAM,YAAY,GAAG,sBAAsB,CAC1C,OAAO,CAAC,SAAS,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,EACnE,WAAW,CACX,CAAC;QACF,IAAI,CAAC,YAAY;YAAE,SAAS;QAC5B,mFAAmF;QACnF,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,CAAC,KAAK,CAAC;YAAE,SAAS,CAAC,+CAA+C;QACtE,+EAA+E;QAC/E,6EAA6E;QAC7E,8EAA8E;QAC9E,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE;YACnB,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9B,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;YACjG,aAAa,EAAE,KAAK;SACpB,EAAE,EAAE,GAAG,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,SAAS,sBAAsB,CAAC,IAAuB,EAAE,KAAkB;IAC1E,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACtC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACb,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,qFAAqF;AACrF,SAAS,iBAAiB,CAAC,KAAkB,EAAE,eAAuB,EAAE,KAAa;IACpF,OAAO;QACN,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,IAAI,eAAe,EAAE;QAC5F,KAAK;KACL,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,SAAS,gBAAgB,CACxB,WAAmB,EACnB,UAA6B,EAC7B,WAAwB,EACxB,WAAmB,EACnB,UAA6B,EAC7B,WAAwB;IAExB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACzD,MAAM,GAAG,GAAqB,EAAE,CAAC;IACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,YAAY,GAAG,aAAa,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,aAAa,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC9H,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAC1B,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAoB,EAC7E,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAoB,EAC7E,YAAY,CACZ,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,sDAAsD;QACtD,OAAO;YACN,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,GAAG;YACb,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAqB;YACtD,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAqB;SACrC,CAAC;IACrB,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAmB,CAAC,CAAC;AAC7G,CAAC;AAWD;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,uBAAuB,CAC/B,aAAqB,EACrB,OAAqB,EACrB,eAAuB,EACvB,OAAmD,EACnD,GAA2B;IAE3B,MAAM,EAAE,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;IAEvC,kCAAkC;IAClC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/E,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;QACtE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC9E,CAAC;IAED,wFAAwF;IACxF,IAAI,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,CAAC,GAAG,EAAE,aAAa,EAAE,eAAe,CAAC,EAAE,CAAC;IAE9F,uDAAuD;IACvD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AACzB,CAAC;AAiBD;;;;;GAKG;AACH,SAAS,UAAU,CAClB,OAAqB,EACrB,YAA8C,EAC9C,WAAmB,EACnB,UAA6B,EAC7B,WAAwB;IAExB,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IAC7D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACrE,OAAO;QACN,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QAChB,UAAU,EAAE,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAE;QACnD,WAAW;QACX,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC;QAC9B,iBAAiB,EAAE,aAAa,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ;KACrE,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,gBAAgB,CACxB,GAAe,EACf,aAAqB,EACrB,eAAuB;IAEvB,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;IACtB,MAAM,GAAG,GAAG,KAAK,CAAC,cAAe,CAAC;IAClC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACpC,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,IAAI,eAAe,CAAC;IAC7D,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC;IAChF,MAAM,KAAK,GAAmB;QAC7B,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,EAAoB,EAAE,CAAC;QACnH,IAAI,EAAE,CAAC;gBACN,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE;gBAC9E,KAAK,EAAE,UAAU;aACjB,CAAC;QACF,KAAK,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,kBAAkB,CACvB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,UAAU,EAAoB,EAC/E,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,eAAe,EAAE,KAAK,EAAE,GAAG,CAAC,WAAW,EAAoB,EACvF,cAAc,IAAI,GAAG,CAAC,iBAAiB,CACvC;YACD,KAAK,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,GAAG;gBACb,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,eAAe,EAAE,KAAK,EAAE,UAAU,EAAoB;gBACxF,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAqB;aACjD;SACD;KACnB,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAsB,CAAC;AACxD,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,mBAAmB,CAAC,IAAoB,EAAE,KAAa;IAC/D,MAAM,OAAO,GAAG,CAAC,IAAa,EAAW,EAAE;QAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,IAAK,IAAe,EAAE,CAAC;YACpE,MAAM,GAAG,GAAG,IAA+B,CAAC;YAC5C,MAAM,GAAG,GAA4B,EAAE,CAAC;YACxC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACjE,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;gBAClB,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,CAAC;YACD,OAAO,GAAG,CAAC;QACZ,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC,CAAC;IACF,OAAO,OAAO,CAAC,IAAI,CAAmB,CAAC;AACxC,CAAC;AAED;;;;;GAKG;AACH,SAAS,uBAAuB,CAC/B,aAAqB,EACrB,OAAqB,EACrB,YAA8C,EAC9C,aAAkC,EAClC,gBAAwB;IAExB,MAAM,EAAE,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,CAAC,gBAAgB,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,gBAAgB,CAAC,CAAC,CAAC;IAClH,KAAK,MAAM,UAAU,IAAI,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,SAAS;QAC7C,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;QAC9E,CAAC;IACF,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CACtB,QAAyC,EACzC,cAAqC,EACrC,iBAAyB;IAEzB,MAAM,OAAO,GAAG,IAAI,GAAG,EAA4B,CAAC;IACpD,IAAI,CAAC,QAAQ;QAAE,OAAO,OAAO,CAAC;IAE9B,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;QACzC,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe;YAAE,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACpG,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QACnC,IAAI,kBAAkB,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,YAAY,CACrB,wBAAwB,EAAE,CAAC,KAAK,sCAAsC,iBAAiB,IAAI,EAAE,CAAC,KAAK,+CAA+C,iBAAiB,GAAG,EACtK,UAAU,CAAC,KAAK,CAChB,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAUD;;;;;;;;;;;;GAYG;AACH,SAAS,mBAAmB,CAC3B,YAAyB,EACzB,iBAAyB,EACzB,eAAuB,EACvB,aAA4B,EAC5B,QAA0B,EAC1B,aAAoC;IAEpC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC/B,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC;IAEtC,+EAA+E;IAC/E,8EAA8E;IAC9E,8EAA8E;IAC9E,qCAAqC;IACrC,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAEzC,4EAA4E;IAC5E,6EAA6E;IAC7E,gFAAgF;IAChF,4BAA4B,CAAC,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;IAE/G,0EAA0E;IAC1E,8EAA8E;IAC9E,iFAAiF;IACjF,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,sBAAsB,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;IACnH,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAEnC,gFAAgF;IAChF,+EAA+E;IAC/E,8EAA8E;IAC9E,4CAA4C;IAC5C,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACzB,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IACzG,CAAC;IACD,MAAM,eAAe,GAAG,CAAC,UAAkB,EAAsB,EAAE;QAClE,MAAM,MAAM,GAAG,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;QACtF,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAC9B,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,eAAe,CAAC,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;QAClH,OAAO,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,8EAA8E;IAC9E,+EAA+E;IAC/E,4EAA4E;IAC5E,sEAAsE;IACtE,YAAY;IACZ,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAsF,CAAC;IAC/G,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,SAA6B,CAAC;IAClC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QAClC,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACxB,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,GAAG,CAAC,KAAK;gBAAE,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACnD,SAAS;QACV,CAAC;QACD,MAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,sEAAsE;YACtE,qEAAqE;YACrE,uEAAuE;YACvE,MAAM,IAAI,YAAY,CACrB,qCAAqC,iBAAiB,IAAI,WAAW,qCAAqC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,oFAAoF,EACnN,UAAU,CAAC,KAAK,CAChB,CAAC;QACH,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,sEAAsE;IACtE,IAAI,OAAO,EAAE,CAAC;QACb,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC3B,IAAI,SAAS,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,SAAS;gBAAE,SAAS;YACnE,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnC,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAC3G,CAAC;QACF,CAAC;IACF,CAAC;IAED,MAAM,QAAQ,GAAuB,EAAE,CAAC;IACxC,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YACjG,UAAU,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAClE,CAAC;aAAM,CAAC;YACP,sEAAsE;YACtE,0EAA0E;YAC1E,yEAAyE;YACzE,oEAAoE;YACpE,qEAAqE;YACrE,kFAAkF;YAClF,IAAI,QAAoC,CAAC;YACzC,IAAI,iBAAqC,CAAC;YAC1C,IAAI,aAAa,EAAE,OAAO,EAAE,CAAC;gBAC5B,MAAM,GAAG,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;gBAClH,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACzB,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC;gBACrB,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oBACvC,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAAC;gBAChC,CAAC;YACF,CAAC;YACD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;gBACnD,IAAI,GAAG,EAAE,CAAC;oBACT,QAAQ,GAAG,GAAG,CAAC;gBAChB,CAAC;qBAAM,IAAI,iBAAiB,EAAE,CAAC;oBAC9B,MAAM,IAAI,YAAY,CACrB,qCAAqC,iBAAiB,IAAI,WAAW,oBAAoB,GAAG,CAAC,IAAI,wDAAwD,iBAAiB,sGAAsG,EAChR,UAAU,CAAC,KAAK,CAChB,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACP,MAAM,IAAI,YAAY,CACrB,YAAY,CAAC,iBAAiB,EAAE,WAAW,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,EAChF,UAAU,CAAC,KAAK,CAChB,CAAC;gBACH,CAAC;YACF,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YACnE,UAAU,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,4EAA4E;IAC5E,wEAAwE;IACxE,6EAA6E;IAC7E,0EAA0E;IAC1E,wEAAwE;IACxE,MAAM,IAAI,GAAG,mBAAmB,CAC/B,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,CAC1E,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,cAAc,CAAC,IAAa,EAAE,KAA8C;IACpF,MAAM,KAAK,GAAc,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,SAAS;QAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,KAAK,KAAK,MAAM,CAAC,SAAS,IAAI,KAAK,KAAK,IAAI;gBAAE,SAAS;YAC3D,KAAK,CAAC,IAA+B,CAAC,CAAC;QACxC,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAA+B,CAAC,EAAE,CAAC;YACpE,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3D,CAAC;IACF,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,eAAe,CAAC,MAAsB;IAC9C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;QAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB;YAAE,KAAK,CAAC,GAAG,CAAE,IAAuC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7G,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAS,mBAAmB,CAC3B,MAAsB,EACtB,eAAuB,EACvB,aAA4B,EAC5B,QAA6B;IAE7B,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IACvD,IAAI,CAAC,KAAK;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,cAAc,GAAG,CAAC,IAA6B,EAAW,EAAE;QACjE,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC;QACxC,MAAM,GAAG,GAAG,IAAkC,CAAC;QAC/C,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACjD,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7D,OAAO,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC,CAAC;IAEF,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC;QAAE,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,+EAA+E;IAC/E,+EAA+E;IAC/E,4EAA4E;IAC5E,6EAA6E;IAC7E,8EAA8E;IAC9E,gEAAgE;IAChE,IAAI,CAAC,KAAK;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACpC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE;QAC5B,IAAI,cAAc,CAAC,IAAI,CAAC;YAAG,IAAmC,CAAC,KAAK,CAAC,MAAM,GAAG,eAAe,CAAC;IAC/F,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,uBAAuB,CAC/B,IAAqB,EACrB,eAAuB,EACvB,aAA4B,EAC5B,QAA6B;IAE7B,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAAE,OAAO,SAAS,CAAC;IACrG,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,eAAe,CAAC;IACxD,OAAO,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACvE,CAAC;AAED,oFAAoF;AACpF,SAAS,sBAAsB,CAC9B,IAA+C,EAC/C,eAAuB,EACvB,aAA4B,EAC5B,QAA6B;IAE7B,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,IAAI,eAAe,GAAG,KAAK,CAAC;IAE5B,MAAM,IAAI,GAAG,CAAC,IAAoB,EAAQ,EAAE;QAC3C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,OAAO,CAAC,CAAC,CAAC;gBACd,MAAM,GAAG,GAAG,uBAAuB,CAAC,IAAI,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;gBACpF,IAAI,CAAC,GAAG,EAAE,CAAC;oBAAC,eAAe,GAAG,IAAI,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBAC7C,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC9D,MAAM;YACP,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjB,MAAM;YACP,CAAC;YACD;gBACC,8DAA8D;gBAC9D,eAAe,GAAG,IAAI,CAAC;gBACvB,MAAM;QACR,CAAC;IACF,CAAC,CAAC;IAEF,IAAI,IAAI;QAAE,KAAK,MAAM,CAAC,IAAI,IAAI;YAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACxC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,SAAS,4BAA4B,CACpC,MAAsB,EACtB,eAAuB,EACvB,aAA4B,EAC5B,QAA6B,EAC7B,iBAAyB,EACzB,WAAmB;IAEnB,MAAM,UAAU,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;IACjD,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,CAAC,OAAe,EAAS,EAAE;QACvC,MAAM,IAAI,YAAY,CACrB,qCAAqC,iBAAiB,IAAI,WAAW,KAAK,OAAO,gCAAgC,eAAe,8DAA8D,EAC9L,UAAU,CAAC,KAAK,CAChB,CAAC;IACH,CAAC,CAAC;IAEF,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;QAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO;QAClC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAkC,CAAC;QACrD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,UAAU,EAAE,CAAC;gBAC/C,IAAI,CAAC,8BAA8B,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,iCAAiC,eAAe,GAAG,CAAC,CAAC;YACnH,CAAC;YACD,OAAO;QACR,CAAC;QACD,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAAE,OAAO;QACnD,IAAI,KAAK,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC,wBAAwB,KAAK,CAAC,IAAI,gCAAgC,eAAe,qGAAqG,CAAC,CAAC;QAC9L,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,KAAa,EAAE,IAAY;IACpD,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;AAChF,CAAC;AAED,mFAAmF;AACnF,SAAS,sBAAsB,CAAC,GAAyB;IACxD,IAAI,GAAG,CAAC,KAAK;QAAE,OAAO,GAAG,CAAC,KAAK,CAAC;IAChC,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/D,CAAC;AAED,4EAA4E;AAC5E,SAAS,SAAS,CAAC,IAAY,EAAE,OAA2B;IAC3D,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACtF,CAAC;AAED,0EAA0E;AAC1E,SAAS,UAAU,CAAC,OAAe,EAAE,OAAsC,EAAE,OAAgB;IAC5F,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACpC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACvB,sEAAsE;YACtE,kCAAkC;YAClC,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAClF,CAAC;IACF,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,0EAA0E;AAC1E,SAAS,YAAY,CACpB,iBAAyB,EACzB,WAAmB,EACnB,OAAe,EACf,OAAsC,EACtC,eAAwB;IAExB,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC;QACtC,CAAC,CAAC,yDAAyD;QAC3D,CAAC,CAAC,mBAAmB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,OAAO,GAAG,CAAC;IAC9F,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,EAAE,CAAC;QAC3C,wEAAwE;QACxE,OAAO,qCAAqC,iBAAiB,IAAI,WAAW,iDAAiD,OAAO,gDAAgD,UAAU,gGAAgG,CAAC;IAChS,CAAC;IACD,sFAAsF;IACtF,OAAO,qCAAqC,iBAAiB,IAAI,WAAW,oBAAoB,OAAO,mBAAmB,UAAU,iHAAiH,CAAC;AACvP,CAAC;AAED,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAC9E,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,gFAAgF;AAChF,4EAA4E;AAC5E,+EAA+E;AAC/E,8EAA8E;AAC9E,+EAA+E;AAC/E,mDAAmD;AAEnD;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,EAAY,EAAE,KAAa;IACzD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAC;IACjD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC;QAC1C,IAAI,KAAK,CAAC,UAAU;YAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAgC,CAAC;IACrD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,wBAAwB,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QAC/D,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3C,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,oBAAoB,CAC5B,GAAwC,EACxC,YAAyB,EACzB,KAA6C,EAC7C,EAAY,EACZ,iBAAyB,EACzB,WAAoB;IAEpB,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAC9C,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC;IACzE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC;IACrE,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC;IAExE,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CACV,OAAO,SAAS,CAAC,MAAM,oCAAoC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAChI,CAAC;IACH,CAAC;IACD,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,aAAa,EAAE,CAAC;QACnB,4BAA4B,CAAC,aAAa,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAC3F,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC/B,8BAA8B,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,YAAY,CACrB,0CAA0C,iBAAiB,IAAI,YAAY,CAAC,IAAI,iBAAiB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACpH,UAAU,CAAC,KAAK,CAChB,CAAC;IACH,CAAC;IAED,OAAO;QACN,aAAa;QACb,eAAe,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;KACjE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,4BAA4B,CACpC,EAAwB,EACxB,YAAyB,EACzB,KAA6C,EAC7C,EAAY,EACZ,WAAoB,EACpB,MAAgB;IAEhB,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;IAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QAC/D,OAAO;IACR,CAAC;IACD,6EAA6E;IAC7E,+EAA+E;IAC/E,uCAAuC;IACvC,IAAI,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,EAAE,0CAA0C,OAAO,CAAC,gBAAgB,GAAG,CAAC,CAAC;IAC9G,CAAC;IAED,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA+B,CAAC;IAClE,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO;QAAE,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAExF,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACvD,MAAM,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,gBAAgB,+BAA+B,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC;IACtJ,CAAC;IAED,wEAAwE;IACxE,MAAM,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;IACpD,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,UAAU,gCAAgC,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,yBAAyB,CAAC,CAAC;YAClJ,SAAS;QACV,CAAC;QACD,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAE3C,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACtC,KAAK,MAAM,OAAO,IAAI,qBAAqB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBACtD,MAAM,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,UAAU,0BAA0B,OAAO,CAAC,aAAa,6CAA6C,OAAO,+BAA+B,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;gBAC1L,CAAC;YACF,CAAC;QACF,CAAC;QACD,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC3B,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI;gBACzB,CAAC,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC;gBAC9C,CAAC,WAAW,EAAE,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC;gBACpD,CAAC,OAAO,EAAE,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC;aACnC,EAAE,CAAC;gBACZ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBAClD,MAAM,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,UAAU,oBAAoB,IAAI,YAAY,GAAG,wBAAwB,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;gBACvH,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAED,iFAAiF;IACjF,gFAAgF;IAChF,kFAAkF;IAClF,6CAA6C;IAC7C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACpC,wEAAwE;QACxE,4EAA4E;QAC5E,6EAA6E;QAC7E,4EAA4E;QAC5E,uEAAuE;QACvE,MAAM,UAAU,GAAG,SAAS,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;QACtF,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC/D,IAAI,WAAW,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YACnG,IAAI,MAAM,IAAI,MAAM,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;gBAC5C,MAAM,CAAC,IAAI,CAAC,yCAAyC,OAAO,CAAC,gBAAgB,iBAAiB,UAAU,CAAC,CAAC,CAAC,qHAAqH,UAAU,CAAC,CAAC,CAAC,UAAU,WAAW,CAAC,IAAI,0EAA0E,CAAC,CAAC;YACpV,CAAC;QACF,CAAC;QACD,2EAA2E;QAC3E,6EAA6E;QAC7E,2EAA2E;QAC3E,2EAA2E;QAC3E,qDAAqD;QACrD,MAAM,WAAW,GAAG,SAAS,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;QACzF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC/B,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACtC,MAAM,OAAO,GAAG,SAAS,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACtE,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;oBAC/C,MAAM,CAAC,IAAI,CAAC,yCAAyC,MAAM,CAAC,UAAU,SAAS,OAAO,CAAC,MAAM,mCAAmC,OAAO,CAAC,gBAAgB,sBAAsB,WAAW,GAAG,CAAC,CAAC;gBAC/L,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IACD,IAAI,SAAS,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,YAAY,CAAC,oBAAoB,CAAC,MAAM,CAAC;QACzD,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,SAAS,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACtE,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAC3C,MAAM,CAAC,IAAI,CAAC,6CAA6C,MAAM,CAAC,UAAU,SAAS,OAAO,CAAC,MAAM,wDAAwD,OAAO,GAAG,CAAC,CAAC;YACtK,CAAC;QACF,CAAC;IACF,CAAC;IAED,yEAAyE;IACzE,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,SAAS,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACtE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,6CAA6C,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;YAC/E,SAAS;QACV,CAAC;QACD,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK;YAAE,SAAS,CAAC,yCAAyC;QAC/D,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBAClD,MAAM,CAAC,IAAI,CAAC,sBAAsB,GAAG,iBAAiB,MAAM,CAAC,UAAU,wBAAwB,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;YAC/G,CAAC;QACF,CAAC;IACF,CAAC;IAED,wEAAwE;IACxE,kEAAkE;IAClE,oFAAoF;IACpF,mFAAmF;IACnF,+EAA+E;IAC/E,mFAAmF;IACnF,qFAAqF;IACrF,qFAAqF;IACrF,+EAA+E;IAC/E,mFAAmF;IACnF,kFAAkF;IAClF,sBAAsB;IACtB,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK;YAAE,SAAS,CAAC,0CAA0C;QAChE,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC3B,wEAAwE;YACxE,yEAAyE;YACzE,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;YAC3F,MAAM,GAAG,GAAG,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAChD,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;gBAChD,MAAM,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,UAAU,sBAAsB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,4DAA4D,KAAK,CAAC,IAAI,oKAAoK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;YACzZ,CAAC;YACD,SAAS;QACV,CAAC;QACD,MAAM,OAAO,GAAG,SAAS,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC5E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS,CAAC,gEAAgE;QACpG,MAAM,GAAG,GAAG,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,UAAU,iBAAiB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,2EAA2E,KAAK,CAAC,IAAI,oHAAoH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,oHAAoH,CAAC,CAAC;QAC7Z,CAAC;IACF,CAAC;IAED,+EAA+E;IAC/E,8EAA8E;IAC9E,+EAA+E;IAC/E,6EAA6E;IAC7E,2EAA2E;IAC3E,IAAI,CAAC,WAAW,EAAE,CAAC;QAClB,MAAM,QAAQ,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QACjE,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAChE,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YACxC,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAClC,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,WAAW,EAAE,CAAC;gBACtC,MAAM,CAAC,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAAI,mEAAmE,CAAC,CAAC;gBAC5G,SAAS;YACV,CAAC;YACD,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,SAAS,CAAC,6BAA6B;YAC7D,IAAI,YAAY;gBAAE,SAAS,CAAM,2CAA2C;YAC5E,IAAI,cAAc,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,SAAS,CAAC,qBAAqB;YAC3E,MAAM,CAAC,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAAI,4JAA4J,CAAC,CAAC;QACtM,CAAC;IACF,CAAC;AACF,CAAC;AAED;;;;;;GAMG;AACH,SAAS,8BAA8B,CACtC,EAAwB,EACxB,KAA6C,EAC7C,EAAY,EACZ,MAAgB;IAEhB,IAAI,CAAC,EAAE,CAAC,OAAO;QAAE,OAAO,CAAC,2CAA2C;IACpE,KAAK,MAAM,MAAM,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACzC,IAAI,CAAC,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,CAAC,EAAE,aAAa,MAAM,CAAC,UAAU,gCAAgC,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,yBAAyB,CAAC,CAAC;QACtL,CAAC;IACF,CAAC;AACF,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,OAAqD;IACnF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAgC,CAAC;IACzD,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACtC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACtC,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;YAC/C,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACtE,CAAC;IACF,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,KAAkB,EAAE,KAAwB;IACzE,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC,CAAC,6CAA6C;QACpF,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACb,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,8EAA8E;AAC9E,SAAS,oBAAoB,CAC5B,EAAY,EACZ,MAA2B,EAC3B,KAA6C;IAE7C,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC;IAC9D,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE;QACzE,CAAC,CAAC,KAAK,CAAC,MAAM;QACd,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC1C,OAAO,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC;AAED;;;;;GAKG;AACH,SAAS,mCAAmC,CAC3C,UAAkC,EAClC,EAAwB;IAExB,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;IAC3B,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,MAAM,QAAQ,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7D,IAAI,QAAQ,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC1C,CAAC,CAAC,YAAY,GAAG,QAAQ,CAAC;QAC3B,CAAC;aAAM,IAAI,OAAO,EAAE,CAAC;YACpB,CAAC,CAAC,YAAY,GAAG,OAAO,CAAC;QAC1B,CAAC;IACF,CAAC;AACF,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,qCAAqC,CAC7C,EAAwB,EACxB,QAA0B,EAC1B,eAAuB,EACvB,aAA4B,EAC5B,iBAAyB,EACzB,WAAmB;IAEnB,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;IAC3B,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,MAAM,eAAe,GAAG,IAAI,GAAG,CAC9B,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,eAAe,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CACrH,CAAC;IACF,MAAM,EAAE,OAAO,EAAE,GAAG,sBAAsB,CACzC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CACtF,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACpF,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,YAAY,CACrB,qCAAqC,iBAAiB,IAAI,WAAW,gCAAgC,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,iEAAiE,OAAO,CAAC,gBAAgB,eAAe,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,qNAAqN,EACpgB,UAAU,CAAC,KAAK,CAChB,CAAC;QACH,CAAC;IACF,CAAC;AACF,CAAC"}
|
|
@@ -23,7 +23,7 @@ import type { AcknowledgedAdvisory } from './lens-ack.js';
|
|
|
23
23
|
* plus the warning-severity diagnostics that flow to the deploy report: the
|
|
24
24
|
* pure advisories (no-backing-index / no-answering-structure /
|
|
25
25
|
* partial-override / getput-lossy) plus the read-only verdict
|
|
26
|
-
* (`pk-not-reconstructible`). See `docs/lens.md` § Coverage checklist.
|
|
26
|
+
* (`pk-not-reconstructible`). See `docs/lens-prover.md` § Coverage checklist.
|
|
27
27
|
* - **obligations + readOnly** — per-constraint enforcement classification and
|
|
28
28
|
* the writable-or-read-only verdict, recorded on the {@link LensSlot}. The
|
|
29
29
|
* *live* per-write enforcement wiring (`lens-constraint-enforcement-wiring`)
|
|
@@ -51,7 +51,7 @@ import type { AcknowledgedAdvisory } from './lens-ack.js';
|
|
|
51
51
|
/**
|
|
52
52
|
* Error-severity diagnostic codes — already hard errors that block the deploy
|
|
53
53
|
* before ack/escalation governance runs, so they are *not* valid escalation
|
|
54
|
-
* policy targets (see `docs/lens.md` § Coverage checklist). One code is
|
|
54
|
+
* policy targets (see `docs/lens-prover.md` § Coverage checklist). One code is
|
|
55
55
|
* dual-severity: `lens.nullability-mismatch` is a hard error by default but is
|
|
56
56
|
* demoted to a governable advisory when every basis module the body reads
|
|
57
57
|
* declares `permitsGrandfatheredNotNullViolators` (see
|
|
@@ -71,7 +71,7 @@ declare const ADVISORY_CODE_LIST: readonly ["lens.pk-not-reconstructible", "lens
|
|
|
71
71
|
export type LensAdvisoryCode = typeof ADVISORY_CODE_LIST[number];
|
|
72
72
|
/** The advisory codes a policy may escalate, as a runtime set (drift-locked by a unit test). */
|
|
73
73
|
export declare const ACKNOWLEDGEABLE_ADVISORY_CODES: ReadonlySet<LensAdvisoryCode>;
|
|
74
|
-
/** Stable diagnostic codes (see `docs/lens.md` § Coverage checklist). */
|
|
74
|
+
/** Stable diagnostic codes (see `docs/lens-prover.md` § Coverage checklist). */
|
|
75
75
|
export type LensCheckCode = LensErrorCode | LensAdvisoryCode;
|
|
76
76
|
/** The logical site a diagnostic concerns (table / constraint / column). */
|
|
77
77
|
export interface LensDiagnosticSite {
|
|
@@ -180,7 +180,7 @@ export interface LensDeployReport {
|
|
|
180
180
|
* Advisories an in-source `quereus.lens.ack.<code>` tag suppressed from the
|
|
181
181
|
* default report. The deploy summary tallies `acknowledged: N` (=
|
|
182
182
|
* `acknowledged.length`) and the `quereus_lens_advisories` TVF expands them on
|
|
183
|
-
* demand (`docs/lens.md` § Acknowledging advisories). Produced by `lens-ack.ts`.
|
|
183
|
+
* demand (`docs/lens-prover.md` § Acknowledging advisories). Produced by `lens-ack.ts`.
|
|
184
184
|
*/
|
|
185
185
|
readonly acknowledged: AcknowledgedAdvisory[];
|
|
186
186
|
/** Lowercased logical table name → its constraint obligations. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lens-prover.d.ts","sourceRoot":"","sources":["../../../src/schema/lens-prover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAA4C,MAAM,YAAY,CAAC;AAExF,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,KAAK,KAAK,GAAG,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAoB,oBAAoB,EAAyC,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAGvJ,OAAO,EAAmB,KAAK,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAW/F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAQ1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GACtB,uBAAuB,GACvB,oBAAoB,GACpB,2BAA2B,GAC3B,8BAA8B,GAC9B,oCAAoC,GACpC,qBAAqB,GACrB,uBAAuB,GACvB,0BAA0B,CAAC;AAE9B;;;;;;GAMG;AACH,QAAA,MAAM,kBAAkB,gNAWd,CAAC;AAEX,4EAA4E;AAC5E,MAAM,MAAM,gBAAgB,GAAG,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAEjE,gGAAgG;AAChG,eAAO,MAAM,8BAA8B,EAAE,WAAW,CAAC,gBAAgB,CAC7C,CAAC;AAE7B,
|
|
1
|
+
{"version":3,"file":"lens-prover.d.ts","sourceRoot":"","sources":["../../../src/schema/lens-prover.ts"],"names":[],"mappings":"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"}
|
|
@@ -367,7 +367,7 @@ function isReconstructibleColumn(ctx, columnName) {
|
|
|
367
367
|
* behaviour, the mutation-time and key-reconstructibility nets still govern. The
|
|
368
368
|
* body is planned **logically** ({@link planLogicalBody}, not `ctx.root`) so the
|
|
369
369
|
* Project/Filter/TableReference operator tree threading `updateLineage` survives.
|
|
370
|
-
* See `docs/lens.md` § Round-trip and `docs/vu-roundtrip.md`
|
|
370
|
+
* See `docs/lens-prover.md` § Round-trip and `docs/vu-roundtrip.md`
|
|
371
371
|
* § The predicate-honest complement.
|
|
372
372
|
*/
|
|
373
373
|
function analyzeRoundTrip(ctx) {
|
|
@@ -1676,10 +1676,18 @@ function mappedBasisColumn(ctx, logicalColumn, basis) {
|
|
|
1676
1676
|
* NULL-skipping (SQL UNIQUE permits multiple all-NULL rows), so a nullable key is
|
|
1677
1677
|
* only *conditionally* unique — the existing row-time path classifies that with a
|
|
1678
1678
|
* guarded FD (`key → others [guard: key IS NOT NULL]`), which the unconditional
|
|
1679
|
-
* `proved` FD would unsoundly override. A
|
|
1680
|
-
*
|
|
1681
|
-
*
|
|
1682
|
-
*
|
|
1679
|
+
* `proved` FD would unsoundly override. A nullable key column therefore defers to
|
|
1680
|
+
* row-time/commit-time rather than taking the transport shortcut, whatever made it
|
|
1681
|
+
* nullable.
|
|
1682
|
+
*
|
|
1683
|
+
* NOTE: the NOT NULL gate below is deliberately blunter than it has to be. `primary
|
|
1684
|
+
* key` does not imply `not null` (docs/schema.md § Primary-key nullability), so a
|
|
1685
|
+
* basis key column can be nullable — but a basis *PRIMARY* key is NOT NULL-skipping
|
|
1686
|
+
* the way UNIQUE is: NULL is a self-equal value there, so a nullable PK column is in
|
|
1687
|
+
* fact unconditionally unique and could be proved. The gate rejects it anyway, which
|
|
1688
|
+
* costs a missed shortcut (fall back to the commit-time scan), never soundness. If a
|
|
1689
|
+
* nullable-PK lens ever shows up as slow at commit time, split the gate on whether
|
|
1690
|
+
* the key {@link findDeclaredKey} matched is the basis PK or a UNIQUE.
|
|
1683
1691
|
*
|
|
1684
1692
|
* Conservative: a multi-source body (no `basisSource`), a key column that is
|
|
1685
1693
|
* neither bare nor authored-bijective, a nullable key column, an authored column
|