@meltemi/diagrams-edit 1.9.0 → 1.10.17
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/animate.d.ts.map +1 -1
- package/dist/animate.js +3 -0
- package/dist/animate.js.map +1 -1
- package/dist/attachments.d.ts +30 -0
- package/dist/attachments.d.ts.map +1 -0
- package/dist/attachments.js +85 -0
- package/dist/attachments.js.map +1 -0
- package/dist/c4.d.ts +26 -1
- package/dist/c4.d.ts.map +1 -1
- package/dist/c4.js +321 -27
- package/dist/c4.js.map +1 -1
- package/dist/context.d.ts +7 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +15 -0
- package/dist/context.js.map +1 -1
- package/dist/create.d.ts.map +1 -1
- package/dist/create.js +61 -15
- package/dist/create.js.map +1 -1
- package/dist/free.d.ts.map +1 -1
- package/dist/free.js +97 -9
- package/dist/free.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/insert.d.ts +39 -1
- package/dist/insert.d.ts.map +1 -1
- package/dist/insert.js +128 -2
- package/dist/insert.js.map +1 -1
- package/dist/labels.d.ts.map +1 -1
- package/dist/labels.js +7 -9
- package/dist/labels.js.map +1 -1
- package/dist/lines.d.ts +16 -0
- package/dist/lines.d.ts.map +1 -0
- package/dist/lines.js +123 -0
- package/dist/lines.js.map +1 -0
- package/dist/messages/en.d.ts +105 -1
- package/dist/messages/en.d.ts.map +1 -1
- package/dist/messages/en.js +108 -2
- package/dist/messages/en.js.map +1 -1
- package/dist/messages/es.d.ts.map +1 -1
- package/dist/messages/es.js +69 -2
- package/dist/messages/es.js.map +1 -1
- package/dist/messages/index.d.ts +61 -1
- package/dist/messages/index.d.ts.map +1 -1
- package/dist/pens.d.ts +16 -0
- package/dist/pens.d.ts.map +1 -0
- package/dist/pens.js +175 -0
- package/dist/pens.js.map +1 -0
- package/dist/plan.d.ts.map +1 -1
- package/dist/plan.js +125 -20
- package/dist/plan.js.map +1 -1
- package/dist/relations.d.ts +1 -1
- package/dist/relations.d.ts.map +1 -1
- package/dist/relations.js +35 -16
- package/dist/relations.js.map +1 -1
- package/dist/sequence.d.ts +13 -2
- package/dist/sequence.d.ts.map +1 -1
- package/dist/sequence.js +342 -31
- package/dist/sequence.js.map +1 -1
- package/dist/structure.d.ts +7 -5
- package/dist/structure.d.ts.map +1 -1
- package/dist/structure.js +49 -49
- package/dist/structure.js.map +1 -1
- package/dist/styles.d.ts.map +1 -1
- package/dist/styles.js +8 -3
- package/dist/styles.js.map +1 -1
- package/dist/tags.d.ts +19 -0
- package/dist/tags.d.ts.map +1 -0
- package/dist/tags.js +159 -0
- package/dist/tags.js.map +1 -0
- package/dist/text.d.ts +4 -0
- package/dist/text.d.ts.map +1 -1
- package/dist/text.js +9 -0
- package/dist/text.js.map +1 -1
- package/dist/types.d.ts +270 -21
- package/dist/types.d.ts.map +1 -1
- package/package.json +8 -8
package/dist/plan.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
import { createLine, setLinePoints } from "./lines.js";
|
|
2
|
+
import { createPen, setPenPoints } from "./pens.js";
|
|
1
3
|
import { applyTextEdits, invertTextEdits, isIdentifierText, isToken, parse, tokensOf, } from "@meltemi/diagrams-language";
|
|
2
|
-
import { compile, singleIdent, } from "@meltemi/diagrams-model";
|
|
3
|
-
import { Rejected, createContext, createTextContext, insertStatement, reject, requireElement, requireNamedRelation, requireNumbers, } from "./context.js";
|
|
4
|
-
import { createEntity, createModelContext, createModelRelation, excludeEntity, includeEntity, isCombination, refuseInView, removeEntity, removeModelRelation, renameEntity, setEntityProperty, setLocalLabel, setModelRelationProperty, } from "./c4.js";
|
|
4
|
+
import { compile, relationLabelSpan, relationNameAnchor, singleIdent, } from "@meltemi/diagrams-model";
|
|
5
|
+
import { Rejected, createContext, createTextContext, insertStatement, isListGroup, reject, requireElement, requireNamedRelation, requireNumbers, } from "./context.js";
|
|
6
|
+
import { createEntity, createModelContext, createModelRelation, excludeEntity, forgetModelRelation, includeEntity, isCombination, reconnectModelRelation, rewriteRouteEnd, refuseInView, removeEntity, removeModelRelation, renameEntity, setEntityProperty, setLocalLabel, setModelRelationProperty, } from "./c4.js";
|
|
5
7
|
import { composeEdits, planBatch } from "./batch.js";
|
|
8
|
+
import { attachmentDependent, attachNote } from "./attachments.js";
|
|
6
9
|
import { createElement, createRelation, requirePortOf, usedIds } from "./create.js";
|
|
7
10
|
import { deleteStatements } from "./delete.js";
|
|
8
11
|
import { createDiagram } from "./diagrams.js";
|
|
@@ -12,9 +15,10 @@ import { messages, reasons } from "./messages/index.js";
|
|
|
12
15
|
import { setClasses, setDescription, setElementKind, setElementLabel } from "./labels.js";
|
|
13
16
|
import { reconnectRelation, removeRelation, renameRelation, setRelationLine } from "./relations.js";
|
|
14
17
|
import { convertToFree, removedLinks, renameLayer, renameLinks, reorderElement, setElementProperty, setElementSource, } from "./free.js";
|
|
15
|
-
import { addBranch, insertEvent, moveEvent, participantEvents, refuseFlowGeometry, eventIdsOf, removeEvent, renameEvent, setEventText, setFragmentOperator, setNotePlacement, toggleActivation, reorderParticipant, setFragmentCondition, setSpacing, unwrapFragment, wrapInFragment, } from "./sequence.js";
|
|
18
|
+
import { addBranch, insertEvent, moveEvent, participantEvents, nestedInCalls, refuseFlowGeometry, eventIdsOf, removeEvent, renameEvent, setEventText, setFragmentOperator, setNotePlacement, toggleActivation, reorderParticipant, setFragmentCondition, setSpacing, nestInCall, unnestCall, unwrapFragment, wrapInFragment, } from "./sequence.js";
|
|
16
19
|
import { addPort, convertToContainer, groupElements, insertFragment, moveElement, removePort, ungroup, } from "./structure.js";
|
|
17
20
|
import { setDiagramProperty, setStyleProperty } from "./styles.js";
|
|
21
|
+
import { addTag, removeTag, setTag } from "./tags.js";
|
|
18
22
|
import { removeAnimation, setAnimation } from "./animate.js";
|
|
19
23
|
import { createTheme, removeThemeToken, setThemeToken } from "./themes.js";
|
|
20
24
|
import { insertScene, insertStoryAction, removeStoryAction, renameInStories, setStoryTiming, storyDependents, } from "./stories.js";
|
|
@@ -90,6 +94,8 @@ function runModel(ctx, operation) {
|
|
|
90
94
|
return setEntityProperty(ctx, operation);
|
|
91
95
|
case "createModelRelation":
|
|
92
96
|
return createModelRelation(ctx, operation);
|
|
97
|
+
case "reconnectModelRelation":
|
|
98
|
+
return reconnectModelRelation(ctx, operation);
|
|
93
99
|
case "removeModelRelation":
|
|
94
100
|
return removeModelRelation(ctx, operation);
|
|
95
101
|
case "setModelRelationProperty":
|
|
@@ -122,9 +128,10 @@ function run(ctx, operation) {
|
|
|
122
128
|
if (["setPosition", "setSize", "setRoute", "arrange"].includes(operation.kind)) {
|
|
123
129
|
refuseFlowGeometry(ctx, operation.kind);
|
|
124
130
|
}
|
|
125
|
-
// A move between groups
|
|
126
|
-
|
|
127
|
-
|
|
131
|
+
// A move between groups, a conversion to a container and the tag operations explain their own
|
|
132
|
+
// refusal in C4 views.
|
|
133
|
+
if (!["moveElement", "convertToContainer", "addTag", "setTag", "removeTag"].includes(operation.kind)) {
|
|
134
|
+
refuseInView(ctx, operation);
|
|
128
135
|
}
|
|
129
136
|
if (operation.kind === "setRelationLabel" &&
|
|
130
137
|
ctx.diagram.type === "c4" &&
|
|
@@ -157,8 +164,18 @@ function run(ctx, operation) {
|
|
|
157
164
|
return arrange(ctx, operation);
|
|
158
165
|
case "createElement":
|
|
159
166
|
return createElement(ctx, operation);
|
|
167
|
+
case "attachNote":
|
|
168
|
+
return attachNote(ctx, operation);
|
|
160
169
|
case "createRelation":
|
|
161
170
|
return createRelation(ctx, operation);
|
|
171
|
+
case "createLine":
|
|
172
|
+
return createLine(ctx, operation);
|
|
173
|
+
case "setLinePoints":
|
|
174
|
+
return setLinePoints(ctx, operation);
|
|
175
|
+
case "createPen":
|
|
176
|
+
return createPen(ctx, operation);
|
|
177
|
+
case "setPenPoints":
|
|
178
|
+
return setPenPoints(ctx, operation);
|
|
162
179
|
case "renameRelation":
|
|
163
180
|
return renameRelation(ctx, operation);
|
|
164
181
|
case "removeRelation":
|
|
@@ -217,6 +234,10 @@ function run(ctx, operation) {
|
|
|
217
234
|
return insertEvent(ctx, operation);
|
|
218
235
|
case "wrapInFragment":
|
|
219
236
|
return wrapInFragment(ctx, operation);
|
|
237
|
+
case "nestInCall":
|
|
238
|
+
return nestInCall(ctx, operation);
|
|
239
|
+
case "unnestCall":
|
|
240
|
+
return unnestCall(ctx, operation);
|
|
220
241
|
case "unwrapFragment":
|
|
221
242
|
return unwrapFragment(ctx, operation);
|
|
222
243
|
case "addBranch":
|
|
@@ -231,6 +252,10 @@ function run(ctx, operation) {
|
|
|
231
252
|
return excludeEntity(ctx, operation);
|
|
232
253
|
case "setLocalLabel":
|
|
233
254
|
return setLocalLabel(ctx, operation);
|
|
255
|
+
case "forgetModelRelation":
|
|
256
|
+
return forgetModelRelation(ctx, operation);
|
|
257
|
+
case "rewriteRouteEnd":
|
|
258
|
+
return rewriteRouteEnd(ctx, operation);
|
|
234
259
|
case "renameEvent":
|
|
235
260
|
return renameEvent(ctx, operation);
|
|
236
261
|
case "toggleActivation":
|
|
@@ -241,6 +266,12 @@ function run(ctx, operation) {
|
|
|
241
266
|
return setNotePlacement(ctx, operation);
|
|
242
267
|
case "setFragmentOperator":
|
|
243
268
|
return setFragmentOperator(ctx, operation);
|
|
269
|
+
case "addTag":
|
|
270
|
+
return addTag(ctx, operation);
|
|
271
|
+
case "setTag":
|
|
272
|
+
return setTag(ctx, operation);
|
|
273
|
+
case "removeTag":
|
|
274
|
+
return removeTag(ctx, operation);
|
|
244
275
|
}
|
|
245
276
|
}
|
|
246
277
|
/** Safety net: a plan must never make the document syntactically worse. */
|
|
@@ -299,7 +330,7 @@ function pointEdits(tuple, point) {
|
|
|
299
330
|
}
|
|
300
331
|
export function setPosition(ctx, op) {
|
|
301
332
|
requireNumbers(op.x, op.y);
|
|
302
|
-
requireElement(ctx, op.element);
|
|
333
|
+
refuseLine(requireElement(ctx, op.element));
|
|
303
334
|
// Dragging a box in an automatic view switches it to `assisted` (decision 0015).
|
|
304
335
|
const mode = assistedMode(ctx);
|
|
305
336
|
const entry = findEntry(ctx, "place", op.element);
|
|
@@ -311,6 +342,13 @@ export function setPosition(ctx, op) {
|
|
|
311
342
|
insertPlacement(ctx, `place ${op.element} at ${formatPoint({ x: op.x, y: op.y })}`),
|
|
312
343
|
];
|
|
313
344
|
}
|
|
345
|
+
/** A free line or a pen takes no `place` or `size`: its points are written in its statement. */
|
|
346
|
+
function refuseLine(element) {
|
|
347
|
+
if (element.kind === "line")
|
|
348
|
+
reject("edit.invalid-value", reasons().lines.points(element.id));
|
|
349
|
+
if (element.kind === "pen")
|
|
350
|
+
reject("edit.invalid-value", reasons().pens.points(element.id));
|
|
351
|
+
}
|
|
314
352
|
/** Edits that turn `layout auto`, written or implied, into `layout assisted`. */
|
|
315
353
|
function assistedMode(ctx) {
|
|
316
354
|
if (ctx.diagram.properties.layout !== "auto")
|
|
@@ -348,18 +386,27 @@ function assistedMode(ctx) {
|
|
|
348
386
|
{ start: newline.start, end: newline.start, newText: `${ctx.eol}${indent}layout assisted` },
|
|
349
387
|
];
|
|
350
388
|
}
|
|
351
|
-
/**
|
|
389
|
+
/**
|
|
390
|
+
* Writes arranged positions as `place` statements and switches the diagram to `assisted`. A list
|
|
391
|
+
* group places its children and grows with them, so its children get no `place` and it gets no
|
|
392
|
+
* `size` from an arrangement. Free lines and pens hold their points in their statements and
|
|
393
|
+
* refuse a `place`, so they get none either.
|
|
394
|
+
*/
|
|
352
395
|
function arrange(ctx, op) {
|
|
353
396
|
const edits = [...assistedMode(ctx)];
|
|
354
397
|
const inserted = [];
|
|
355
398
|
for (const [id, point] of op.positions) {
|
|
356
399
|
const element = requireElement(ctx, id);
|
|
400
|
+
if (element.kind === "line" || element.kind === "pen")
|
|
401
|
+
continue;
|
|
402
|
+
if (isListGroup(ctx, element.groupPath[element.groupPath.length - 1]))
|
|
403
|
+
continue;
|
|
357
404
|
const rounded = { x: Math.round(point.x), y: Math.round(point.y) };
|
|
358
405
|
requireNumbers(rounded.x, rounded.y);
|
|
359
406
|
if (element.kind === "group") {
|
|
360
407
|
const place = findEntry(ctx, "place", id);
|
|
361
408
|
const size = findEntry(ctx, "size", id);
|
|
362
|
-
const box = op.sizes?.get(id);
|
|
409
|
+
const box = element.list === null ? op.sizes?.get(id) : undefined;
|
|
363
410
|
const dimensions = box ? { x: Math.round(box.width), y: Math.round(box.height) } : undefined;
|
|
364
411
|
if (dimensions)
|
|
365
412
|
requireNumbers(dimensions.x, dimensions.y);
|
|
@@ -451,8 +498,7 @@ function arrange(ctx, op) {
|
|
|
451
498
|
if (ctx.diagram.type === "c4" || !relation.node)
|
|
452
499
|
continue;
|
|
453
500
|
id = relationId(ctx, relation, named);
|
|
454
|
-
const
|
|
455
|
-
const anchor = node.label && isToken(node.label) ? node.label.end : node.target.end;
|
|
501
|
+
const anchor = relationNameAnchor(relation);
|
|
456
502
|
edits.push({ start: anchor, end: anchor, newText: ` as ${id}` });
|
|
457
503
|
}
|
|
458
504
|
guardInvalidStatement(ctx, "route", relation.key);
|
|
@@ -529,7 +575,7 @@ export function setSize(ctx, op) {
|
|
|
529
575
|
requireNumbers(op.width, op.height);
|
|
530
576
|
if (op.width <= 0 || op.height <= 0)
|
|
531
577
|
reject("edit.invalid-value", reasons().values.positiveSize);
|
|
532
|
-
requireElement(ctx, op.element);
|
|
578
|
+
refuseLine(requireElement(ctx, op.element));
|
|
533
579
|
const entry = findEntry(ctx, "size", op.element);
|
|
534
580
|
if (entry)
|
|
535
581
|
return pointEdits(entry.node.args[1], { x: op.width, y: op.height });
|
|
@@ -612,7 +658,9 @@ function setRoute(ctx, op) {
|
|
|
612
658
|
return [insertPlacement(ctx, `route ${relation.key} from ${from} to ${to}${via}`)];
|
|
613
659
|
}
|
|
614
660
|
function setLabelAnchor(ctx, op) {
|
|
615
|
-
|
|
661
|
+
// A free line's pill is placed as a relation's, by the line's id.
|
|
662
|
+
const line = ctx.diagram.elementsById.get(op.relation);
|
|
663
|
+
const relation = line?.kind === "line" ? { key: line.id } : requireNamedRelation(ctx, op.relation);
|
|
616
664
|
requireNumbers(op.at, op.offset.x, op.offset.y);
|
|
617
665
|
if (op.at < 0 || op.at > 100)
|
|
618
666
|
reject("edit.invalid-value", reasons().placement.labelPosition);
|
|
@@ -640,6 +688,18 @@ function setLabelAnchor(ctx, op) {
|
|
|
640
688
|
function setRelationLabel(ctx, op) {
|
|
641
689
|
const relation = requireNamedRelation(ctx, op.relation);
|
|
642
690
|
const node = relation.node;
|
|
691
|
+
if (node.kind === "KeywordStatement") {
|
|
692
|
+
// A `return`'s label is the string right after the keyword.
|
|
693
|
+
const span = relationLabelSpan(relation);
|
|
694
|
+
if (op.label === null)
|
|
695
|
+
return span ? [{ start: node.keyword.end, end: span.end, newText: "" }] : [];
|
|
696
|
+
const text = quoteString(op.label);
|
|
697
|
+
if (!span)
|
|
698
|
+
return [{ start: node.keyword.end, end: node.keyword.end, newText: ` ${text}` }];
|
|
699
|
+
return ctx.text.slice(span.start, span.end) === text
|
|
700
|
+
? []
|
|
701
|
+
: [{ start: span.start, end: span.end, newText: text }];
|
|
702
|
+
}
|
|
643
703
|
const label = node.label && isToken(node.label) ? node.label : undefined;
|
|
644
704
|
if (op.label === null) {
|
|
645
705
|
if (!label || !node.colon)
|
|
@@ -671,9 +731,12 @@ function materializeRelationId(ctx, op) {
|
|
|
671
731
|
reject("edit.unsafe-target", reasons().relations.missing(op.relationKey, ctx.diagram.id));
|
|
672
732
|
if (relation.id !== null)
|
|
673
733
|
reject("edit.already-named", reasons().relations.alreadyNamed(relation.id));
|
|
734
|
+
// A C4 view names its own combinations; the relations it draws from the model are named there.
|
|
735
|
+
if (ctx.diagram.type === "c4" && !ctx.diagram.c4?.combined.includes(relation.key)) {
|
|
736
|
+
reject("edit.unsafe-target", reasons().c4.nameInModel(relation.key));
|
|
737
|
+
}
|
|
674
738
|
requireNewId(ctx, op.id);
|
|
675
|
-
const
|
|
676
|
-
const anchor = node.label && isToken(node.label) ? node.label.end : node.target.end;
|
|
739
|
+
const anchor = relationNameAnchor(relation);
|
|
677
740
|
return [{ start: anchor, end: anchor, newText: ` as ${op.id}` }];
|
|
678
741
|
}
|
|
679
742
|
// ---------------------------------------------------------------------- rename
|
|
@@ -743,6 +806,15 @@ function removeElement(ctx, op) {
|
|
|
743
806
|
const removedRelations = diagram.relations.filter((r) => removedElements.has(r.from) ||
|
|
744
807
|
removedElements.has(r.to) ||
|
|
745
808
|
r.groupPath.some((g) => removedElements.has(g)));
|
|
809
|
+
// A call goes with the events of its block: its messages and returns, notes and fragments.
|
|
810
|
+
const nested = nestedInCalls(ctx, new Set(removedRelations.map((r) => r.key)));
|
|
811
|
+
for (const event of nested) {
|
|
812
|
+
if (event.kind !== "message")
|
|
813
|
+
continue;
|
|
814
|
+
const relation = diagram.relationsByKey.get(event.relation);
|
|
815
|
+
if (!removedRelations.includes(relation))
|
|
816
|
+
removedRelations.push(relation);
|
|
817
|
+
}
|
|
746
818
|
const removedRelationIds = new Set(removedRelations.flatMap((r) => (r.id === null ? [] : [r.id])));
|
|
747
819
|
const statements = [];
|
|
748
820
|
const dependents = [];
|
|
@@ -762,17 +834,43 @@ function removeElement(ctx, op) {
|
|
|
762
834
|
if (other.id !== element.id && removedElements.has(other.id) && other.node)
|
|
763
835
|
depend("element", other.id, other.node);
|
|
764
836
|
}
|
|
837
|
+
// A note attached to what goes stays, without its clause: its text is the person's words.
|
|
838
|
+
const attachmentEdits = [];
|
|
839
|
+
for (const other of diagram.elements) {
|
|
840
|
+
if (other.attachedTo === null || removedElements.has(other.id))
|
|
841
|
+
continue;
|
|
842
|
+
if (!removedElements.has(other.attachedTo))
|
|
843
|
+
continue;
|
|
844
|
+
const attached = attachmentDependent(ctx, other);
|
|
845
|
+
if (!attached)
|
|
846
|
+
continue;
|
|
847
|
+
dependents.push(attached.dependent);
|
|
848
|
+
attachmentEdits.push(attached.edit);
|
|
849
|
+
}
|
|
765
850
|
for (const relation of removedRelations)
|
|
766
851
|
depend("relation", relation.key, relation.node);
|
|
767
852
|
for (const entry of diagram.placement) {
|
|
768
853
|
const target = entry.statement === "place" || entry.statement === "size" || entry.statement === "gap"
|
|
769
854
|
? removedElements
|
|
770
855
|
: removedRelationIds;
|
|
771
|
-
|
|
856
|
+
// A free line's label pill is placed by a `label` statement as a relation's is.
|
|
857
|
+
const lineLabel = entry.statement === "label" && removedElements.has(entry.target);
|
|
858
|
+
if (target.has(entry.target) || lineLabel)
|
|
772
859
|
depend(entry.statement, entry.target, entry.node);
|
|
773
860
|
}
|
|
774
|
-
const removedEvents =
|
|
861
|
+
const removedEvents = [
|
|
862
|
+
...new Set([
|
|
863
|
+
...participantEvents(ctx, removedElements),
|
|
864
|
+
...nested.filter((e) => e.kind !== "message"),
|
|
865
|
+
]),
|
|
866
|
+
];
|
|
775
867
|
const removedEventIds = eventIdsOf(removedEvents);
|
|
868
|
+
for (const scenario of diagram.scenarios) {
|
|
869
|
+
for (const choice of scenario.choices) {
|
|
870
|
+
if (removedEventIds.has(choice.fragment))
|
|
871
|
+
depend("event", choice.fragment, choice.node);
|
|
872
|
+
}
|
|
873
|
+
}
|
|
776
874
|
for (const event of removedEvents) {
|
|
777
875
|
depend("event", event.key, event.node);
|
|
778
876
|
if (event.id !== null) {
|
|
@@ -855,14 +953,21 @@ function removeElement(ctx, op) {
|
|
|
855
953
|
const mentions = diagram.relations.filter((r) => r.from === other.id || r.to === other.id);
|
|
856
954
|
if (mentions.length === 0 || !mentions.every((r) => removedRelations.includes(r)))
|
|
857
955
|
continue;
|
|
858
|
-
|
|
956
|
+
// The declaration replaces the outermost removed statement around the first mention: a
|
|
957
|
+
// message inside a removed call goes with the call.
|
|
958
|
+
const first = mentions[0].node;
|
|
959
|
+
const anchor = removedRelations
|
|
960
|
+
.map((r) => r.node)
|
|
961
|
+
.filter((n) => n.start <= first.start && first.end <= n.end)
|
|
962
|
+
.reduce((a, b) => (b.end - b.start > a.end - a.start ? b : a), first);
|
|
859
963
|
keep.set(anchor, [...(keep.get(anchor) ?? []), other.id]);
|
|
860
964
|
ctx.notes.push(messages().notes.keptElement(other.id, other.kind));
|
|
861
965
|
}
|
|
862
|
-
const edits = deleteStatements(ctx.text, ctx.compilation.parse.root, statements.filter((s) => !keep.
|
|
966
|
+
const edits = deleteStatements(ctx.text, ctx.compilation.parse.root, statements.filter((s) => ![...keep.keys()].some((k) => k.start <= s.start && s.end <= k.end)));
|
|
863
967
|
for (const [node, indices] of partial)
|
|
864
968
|
edits.push(...removeListItems(node.args, indices));
|
|
865
969
|
edits.push(...constraintEdits);
|
|
970
|
+
edits.push(...attachmentEdits);
|
|
866
971
|
edits.push(...links.edits);
|
|
867
972
|
edits.push(...deleteStatements(ctx.text, ctx.compilation.parse.root, stories.statements));
|
|
868
973
|
edits.push(...stories.edits);
|
package/dist/plan.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../src/plan.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,OAAO,EACP,KAAK,EACL,QAAQ,GAMT,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,OAAO,EACP,WAAW,GASZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,MAAM,EACN,cAAc,EACd,oBAAoB,EACpB,cAAc,GAGf,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,wBAAwB,GAEzB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACpG,OAAO,EACL,aAAa,EACb,YAAY,EACZ,WAAW,EACX,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,SAAS,EACT,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACV,WAAW,EACX,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,UAAU,EACV,cAAc,EACd,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,OAAO,EACP,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,WAAW,EACX,UAAU,EACV,OAAO,GACR,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,uBAAuB,EACvB,eAAe,EACf,UAAU,EACV,WAAW,EACX,UAAU,GACX,MAAM,WAAW,CAAC;AAcnB;;;GAGG;AACH,MAAM,UAAU,QAAQ,CACtB,WAAwB,EACxB,SAAwB,EACxB,UAAuB,EAAE;IAEzB,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GACP,OAAO,IAAI,SAAS;YAClB,CAAC,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC;YACrE,CAAC,CAAC,OAAO,IAAI,SAAS,IAAI,OAAO,IAAI,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,eAAe;gBAClF,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC;gBAChC,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,KAAK,GACT,OAAO,IAAI,SAAS;YAClB,CAAC,CAAC,QAAQ,CAAC,GAAmB,EAAE,SAAS,CAAC;YAC1C,CAAC,CAAC,OAAO,IAAI,SAAS;gBACpB,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;gBAC1B,CAAC,CAAC,OAAO,IAAI,SAAS;oBACpB,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;oBAC1B,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,eAAe;wBAClC,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC;wBAC/B,CAAC,CAAC,GAAG,CAAC,GAAkB,EAAE,SAAS,CAAC,CAAC;QAC/C,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACzB,MAAM,IAAI,GAAa;YACrB,SAAS;YACT,YAAY,EAAE,OAAO,CAAC,QAAQ,IAAI,CAAC;YACnC,KAAK;YACL,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC;YACzC,KAAK,EAAE,GAAG,CAAC,KAAK;SACjB,CAAC;QACF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,QAAQ;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;QAChF,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,UAAU,CACxB,QAA2B,EAC3B,IAA8C;IAE9C,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5C,OAAO;YACL,EAAE,EAAE,KAAK;YACT,SAAS,EAAE;gBACT,IAAI,EAAE,qBAAqB;gBAC3B,MAAM,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC;aAC9E;SACF,CAAC;IACJ,CAAC;IACD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,QAAQ,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,GAAG,CAAC,EAAE;KAC/F,CAAC;AACJ,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,WAAW,CAAC,IAAc,EAAE,QAAgB;IAC1D,OAAO,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AAClG,CAAC;AAID,SAAS,QAAQ,CAAC,GAAiB,EAAE,SAAyB;IAC5D,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;QACvB,KAAK,cAAc;YACjB,OAAO,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACtC,KAAK,cAAc;YACjB,OAAO,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACtC,KAAK,cAAc;YACjB,OAAO,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACtC,KAAK,mBAAmB;YACtB,OAAO,iBAAiB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC3C,KAAK,qBAAqB;YACxB,OAAO,mBAAmB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC7C,KAAK,qBAAqB;YACxB,OAAO,mBAAmB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC7C,KAAK,0BAA0B;YAC7B,OAAO,wBAAwB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAID,SAAS,QAAQ,CAAC,GAAgB,EAAE,SAAyB;IAC3D,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;QACvB,KAAK,gBAAgB;YACnB,OAAO,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACxC,KAAK,mBAAmB;YACtB,OAAO,iBAAiB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC3C,KAAK,mBAAmB;YACtB,OAAO,iBAAiB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC3C,KAAK,aAAa;YAChB,OAAO,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAID,SAAS,QAAQ,CAAC,GAAgB,EAAE,SAAyB;IAC3D,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;QACvB,KAAK,aAAa;YAChB,OAAO,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACrC,KAAK,eAAe;YAClB,OAAO,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACvC,KAAK,kBAAkB;YACrB,OAAO,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,SAAS,GAAG,CACV,GAAgB,EAChB,SAGC;IAED,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/E,kBAAkB,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IACD,+FAA+F;IAC/F,IAAI,SAAS,CAAC,IAAI,KAAK,aAAa,IAAI,SAAS,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;QAChF,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IACD,IACE,SAAS,CAAC,IAAI,KAAK,kBAAkB;QACrC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI;QACzB,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,EAC/C,CAAC;QACD,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnF,CAAC;IACD,IACE,SAAS,CAAC,IAAI,KAAK,gBAAgB;QACnC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI;QACzB,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,EAC/C,CAAC;QACD,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpF,CAAC;IACD,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;QACvB,KAAK,aAAa;YAChB,OAAO,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACrC,KAAK,SAAS;YACZ,OAAO,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACjC,KAAK,UAAU;YACb,OAAO,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAClC,KAAK,gBAAgB;YACnB,OAAO,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACxC,KAAK,kBAAkB;YACrB,OAAO,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC1C,KAAK,uBAAuB;YAC1B,OAAO,qBAAqB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC/C,KAAK,eAAe;YAClB,OAAO,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACvC,KAAK,eAAe;YAClB,OAAO,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACvC,KAAK,SAAS;YACZ,OAAO,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACjC,KAAK,eAAe;YAClB,OAAO,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACvC,KAAK,gBAAgB;YACnB,OAAO,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACxC,KAAK,gBAAgB;YACnB,OAAO,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACxC,KAAK,gBAAgB;YACnB,OAAO,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACxC,KAAK,mBAAmB;YACtB,OAAO,iBAAiB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC3C,KAAK,iBAAiB;YACpB,OAAO,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACzC,KAAK,iBAAiB;YACpB,OAAO,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACzC,KAAK,gBAAgB;YACnB,OAAO,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACxC,KAAK,gBAAgB;YACnB,OAAO,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACxC,KAAK,YAAY;YACf,OAAO,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACpC,KAAK,kBAAkB;YACrB,OAAO,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC1C,KAAK,cAAc;YACjB,OAAO,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACtC,KAAK,iBAAiB;YACpB,OAAO,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACzC,KAAK,oBAAoB;YACvB,OAAO,kBAAkB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC5C,KAAK,SAAS;YACZ,OAAO,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACjC,KAAK,YAAY;YACf,OAAO,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACpC,KAAK,eAAe;YAClB,OAAO,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACvC,KAAK,SAAS;YACZ,OAAO,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACjC,KAAK,oBAAoB;YACvB,OAAO,kBAAkB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC5C,KAAK,gBAAgB;YACnB,OAAO,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACxC,KAAK,gBAAgB;YACnB,OAAO,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACxC,KAAK,aAAa;YAChB,OAAO,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACrC,KAAK,aAAa;YAChB,OAAO,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACrC,KAAK,oBAAoB;YACvB,OAAO,kBAAkB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC5C,KAAK,kBAAkB;YACrB,OAAO,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC1C,KAAK,eAAe;YAClB,OAAO,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACvC,KAAK,oBAAoB;YACvB,OAAO,kBAAkB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC5C,KAAK,WAAW;YACd,OAAO,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACnC,KAAK,YAAY;YACf,OAAO,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACpC,KAAK,aAAa;YAChB,OAAO,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACrC,KAAK,gBAAgB;YACnB,OAAO,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACxC,KAAK,gBAAgB;YACnB,OAAO,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACxC,KAAK,WAAW;YACd,OAAO,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACnC,KAAK,sBAAsB;YACzB,OAAO,oBAAoB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC9C,KAAK,aAAa;YAChB,OAAO,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACrC,KAAK,eAAe;YAClB,OAAO,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACvC,KAAK,eAAe;YAClB,OAAO,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACvC,KAAK,eAAe;YAClB,OAAO,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACvC,KAAK,aAAa;YAChB,OAAO,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACrC,KAAK,kBAAkB;YACrB,OAAO,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC1C,KAAK,cAAc;YACjB,OAAO,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACtC,KAAK,kBAAkB;YACrB,OAAO,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC1C,KAAK,qBAAqB;YACxB,OAAO,mBAAmB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,SAAS,YAAY,CAAC,GAAgB,EAAE,KAA0B;IAChE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC/B,MAAM,KAAK,GAAG,CAAC,WAA0D,EAAE,EAAE,CAC3E,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;IAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACxE,IAAI,KAAK,GAAG,MAAM,EAAE,CAAC;QACnB,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,mFAAmF;AAEnF,SAAS,SAAS,CAChB,GAAgB,EAChB,SAAyB,EACzB,MAAc;IAEd,OAAO,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAC/B,CAAC,CAAC,EAAU,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAChE,CAAC;AACJ,CAAC;AAED,yFAAyF;AACzF,SAAS,qBAAqB,CAAC,GAAgB,EAAE,OAAe,EAAE,MAAc;IAC9E,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAU,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QAChD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,UAAU,IAAI,EAAE,EAAE,CAAC;YACjD,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;gBACzF,SAAS;YACX,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM;gBAAE,SAAS;YACzD,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;YACnE,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,GAAgB,EAAE,SAAiB;IAC1D,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxC,IAAI,KAAK,EAAE,KAAK;QAAE,OAAO,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACzF,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;IAC/B,IAAI,CAAC,IAAI;QAAE,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAClF,OAAO,eAAe,CACpB,GAAG,EACH,IAAI,EACJ,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EACtB,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,KAAK,IAAI;QACb,CAAC,CAAC,eAAe,SAAS,IAAI;QAC9B,CAAC,CAAC,cAAc,GAAG,CAAC,GAAG,GAAG,MAAM,GAAG,GAAG,CAAC,IAAI,GAAG,SAAS,GAAG,GAAG,CAAC,GAAG,GAAG,MAAM,GAAG,EACjF,EAAE,eAAe,EAAE,IAAI,EAAE,CAC1B,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,GAAoB,EAAE,KAAa,EAAE,MAAM,GAAG,EAAE;IAClE,IAAI,GAAG,EAAE,IAAI,KAAK,eAAe;QAC/B,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IACnE,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC5C,OAAO,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC;AACjG,CAAC;AAED,SAAS,UAAU,CAAC,KAAsB,EAAE,KAAY;IACtD,IAAI,KAAK,EAAE,IAAI,KAAK,OAAO;QAAE,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAC7F,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAI,KAAe,CAAC,KAAK,CAAC;IACtC,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAgB,EAAE,EAA8B;IAC1E,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3B,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IAChC,iFAAiF;IACjF,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,SAAS,CAAa,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IAC9D,IAAI,KAAK;QAAE,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrF,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IAChD,OAAO;QACL,GAAG,IAAI;QACP,eAAe,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,OAAO,OAAO,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;KACpF,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,SAAS,YAAY,CAAC,GAAgB;IACpC,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,EAAE,CAAC;IACxD,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;IAC/B,IAAI,CAAC,IAAI;QAAE,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAClF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ;YAAE,SAAS;QACjF,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,KAAK,EAAE,IAAI,KAAK,cAAc;YAChC,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACrE,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,kEAAkE;IAClE,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;aAChC,OAAO,EAAE;aACT,IAAI,CACH,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,kBAAkB;YAC7B,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CACpE,CAAC;QACJ,IAAI,MAAM;YAAE,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC/E,CAAC;IACD,2EAA2E;IAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChC,CAAC,CAAC,EAAc,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAClF,CAAC;IACF,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvD,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,MAAM,MAAM,GAAG,KAAK;QAClB,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC;QACnC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;IAC5D,OAAO;QACL,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,GAAG,GAAG,MAAM,iBAAiB,EAAE;KAC5F,CAAC;AACJ,CAAC;AAED,8FAA8F;AAC9F,SAAS,OAAO,CAAC,GAAgB,EAAE,EAA0B;IAC3D,MAAM,KAAK,GAAe,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,SAAS,CAAa,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YACtD,MAAM,IAAI,GAAG,SAAS,CAAY,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;YACnD,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9B,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7F,IAAI,UAAU;gBAAE,cAAc,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;YAC3D,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACnB,+DAA+D;gBAC/D,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,EAAE,CAAC,KAAK,KAAK,KAAK;wBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;gBACjF,CAAC;qBAAM,CAAC;oBACN,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;oBACxC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC1D,CAAC;gBACD,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACjD,IAAI,IAAI;wBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;yBAC9D,CAAC;wBACJ,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;wBACvC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;oBACzD,CAAC;gBACH,CAAC;gBACD,SAAS;YACX,CAAC;YACD,6FAA6F;YAC7F,IAAI,EAAE,CAAC,KAAK,KAAK,KAAK;gBAAE,SAAS;YACjC,IAAI,KAAK;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YAClE,IAAI,IAAI,IAAI,UAAU;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;YACjF,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,SAAS,CAAa,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QACtD,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,EAAE,CAAC,KAAK,KAAK,KAAK;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/E,SAAS;QACX,CAAC;QACD,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QACxC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,EAAE,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;QACvB,4FAA4F;QAC5F,gGAAgG;QAChG,MAAM,OAAO,GAAc,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;QACjC,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC1C,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO;gBAAE,SAAS;YAC1C,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACzB,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAClD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7D,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACzB,SAAS;YACX,CAAC;YACD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,IAAI,GAAG,CAAC,GAAoB,EAAE,EAAmB,EAAE,GAAuB,EAAE,EAAE;gBAClF,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG;oBAAE,OAAO;gBAC9B,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC;gBAC7B,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,OAAO;oBACjD,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACtE,CAAC,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YACxC,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAM,CAAC,CAAC,GAAG,CAAC;YAC/C,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnB,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;gBAC/B,IAAI,CAAC,KAAK,CAAC,OAAO;oBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC,CAAC;qBACjF,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI;oBACtE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACtF,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QACD,oFAAoF;QACpF,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,KAAK,MAAM,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC7C,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,SAAS;YACvC,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YAClD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAC/B,IAAI,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;YACrB,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBAChB,sEAAsE;gBACtE,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI;oBAAE,SAAS;gBAC1D,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;gBACpF,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YACnE,CAAC;YACD,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;YAClD,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,QAAQ,CAAC,IAAI,OAAO,QAAQ,CAAC,EAAE,QAAQ,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChG,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/E,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,uFAAuF;gBACvF,kEAAkE;gBAClE,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAChF,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAClD,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,mFAAmF;QACnF,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,OAAO,CAAC,MAAoC;IACnD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChF,MAAM,IAAI,GAAY,EAAE,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnC,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;YAAE,SAAS;QAC/D,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAY,EAAE,CAAC;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC;QAChF,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACzD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8FAA8F;AAC9F,SAAS,UAAU,CAAC,GAAgB,EAAE,QAAkB,EAAE,KAAkB;IAC1E,MAAM,IAAI,GAAG,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACnE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,EAAE,GAAG,IAAI,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QAAE,EAAE,GAAG,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;IACxE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACd,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,gBAAgB,CAAC,GAAgB,EAAE,UAA6B;IAC9E,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,CAAC,MAAqB,EAAE,EAAE,CACrC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,MAAM,EAAE,CAAC,CAAC;IACnF,IAAI,KAAK,EAAE,KAAK;QAAE,OAAO,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;IAC/B,IAAI,CAAC,IAAI;QAAE,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAClF,OAAO,eAAe,CACpB,GAAG,EACH,IAAI,EACJ,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EACtB,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,KAAK,IAAI;QACb,CAAC,CAAC,eAAe,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QAC1C,CAAC,CAAC,cAAc,GAAG,CAAC,GAAG,GAAG,MAAM,GAAG,GAAG,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,MAAM,GAAG,EACzH,EAAE,eAAe,EAAE,IAAI,EAAE,CAC1B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAgB,EAAE,EAA0B;IAClE,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC;QAAE,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACjG,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,SAAS,CAAY,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IAC5D,IAAI,KAAK;QAAE,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;IAChF,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IAC/C,OAAO,CAAC,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,OAAO,IAAI,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACpG,CAAC;AAED,SAAS,QAAQ,CAAC,GAAgB,EAAE,EAA2B;IAC7D,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IACxD,kGAAkG;IAClG,IAAI,EAAE,CAAC,IAAI;QAAE,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IACxD,IAAI,EAAE,CAAC,EAAE;QAAE,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAClD,IAAI,EAAE,CAAC,YAAY,KAAK,SAAS;QAAE,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;IAChF,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS;QAAE,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;IAC1E,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,GAAG;QAAE,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,SAAS,CAAa,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChE,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,KAAK,GAAe,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,CACd,GAAoB,EACpB,EAAmB,EACnB,OAAe,EACf,IAA+B,EAC/B,QAA4B,EAC5B,EAAE;YACF,IAAI,IAAI,KAAK,SAAS;gBAAE,OAAO;YAC/B,IAAI,GAAG,EAAE,IAAI,KAAK,cAAc;gBAC9B,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;YACrE,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YACnD,MAAM,GAAG,GAAG,CAAC,EAAE,IAAI,GAAI,CAAC,CAAC,GAAG,CAAC;YAC7B,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAI,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI;gBAC1C,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAI,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,CAAC,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;QAC9E,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;QACpE,8FAA8F;QAC9F,kBAAkB;QAClB,MAAM,IAAI,GAAG,CACX,IAA+B,EAC/B,QAA4B,EAC5B,OAA2B,EAC3B,EAAE,CACF,IAAI,KAAK,SAAS;YAChB,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;YAC3D,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,QAAQ,KAAK,SAAS,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC;QAC5D,IACE,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,IAAI,OAAO,CAAC;YAC/C,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC;YAC1C,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;YACpC,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EACnB,CAAC;YACD,OAAO,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,UAAU,GACd,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,EAAE,CAAC,GAAG,CAAC,MAAM;YAClC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5F,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzC,oCAAoC;gBACpC,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAM,CAAC,CAAC,GAAG,CAAC;gBAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YACpE,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO;gBACtB,KAAK,CAAC,IAAI,CAAC;oBACT,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;oBAC1B,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG;oBACtB,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC;iBAC9B,CAAC,CAAC;iBACA,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAM,CAAC,CAAC,GAAG,CAAC;gBAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,iEAAiE;IACjE,MAAM,OAAO,GAAG,CAAC,IAA+B,EAAE,QAA4B,EAAE,EAAE,CAChF,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,MAAM,CAAC,IAAI,QAAQ,KAAK,SAAS,CAAC;IACrF,IACE,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;QACpC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC;QACjC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC;QAC7B,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC;QAEnB,OAAO,EAAE,CAAC;IACZ,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,MAAM,IAAI,GAAG,YAAY,CACvB,QAAQ,CAAC,IAAI,EACb,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EACxC,EAAE,CAAC,YAAY,CAChB,CAAC;IACF,MAAM,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;IAC1F,OAAO,CAAC,eAAe,CAAC,GAAG,EAAE,SAAS,QAAQ,CAAC,GAAG,SAAS,IAAI,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,cAAc,CAAC,GAAgB,EAAE,EAAiC;IACzE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IACxD,cAAc,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAChD,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,GAAG;QAAE,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAC9F,MAAM,SAAS,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,SAAS,CAAa,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChE,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,CAAC,EAAE,AAAD,EAAG,UAAU,EAAE,AAAD,EAAG,WAAW,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QACxD,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACjD,IAAI,WAAW;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;aAC9D,IAAI,SAAS,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,UAAW,CAAC,GAAG;gBACtB,GAAG,EAAE,UAAW,CAAC,GAAG;gBACpB,OAAO,EAAE,WAAW,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;aAC7C,CAAC,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,OAAO,CAAC,eAAe,CAAC,GAAG,EAAE,SAAS,QAAQ,CAAC,GAAG,OAAO,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,mFAAmF;AAEnF,SAAS,gBAAgB,CAAC,GAAgB,EAAE,EAAmC;IAC7E,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACzE,IAAI,EAAE,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC5F,OAAO,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,KAAK;QACP,OAAO,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAChG,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;IAC5B,OAAO,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAgB,EAAE,EAAU;IACvD,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,iBAAiB,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9C,IACE,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,CAAC,QAAQ,IAAI,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC;QAChC,CAAC,KAAK,IAAI,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,EAC1B,CAAC;QACD,MAAM,CAAC,kBAAkB,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,GAAgB,EAChB,EAAwC;IAExC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IAChE,IAAI,CAAC,QAAQ;QACX,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5F,IAAI,QAAQ,CAAC,EAAE,KAAK,IAAI;QACtB,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IACzB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;IACpF,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,gFAAgF;AAEhF,SAAS,aAAa,CAAC,GAAgB,EAAE,EAAgC;IACvE,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IAChC,IAAI,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACvC,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IAC5B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAiB,CAAC;IACxC,KAAK,MAAM,SAAS,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAC/C,IAAI,SAAS,CAAC,UAAU,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC;YAC1E,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IACD,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAC9E,QAAQ,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,CACnD,CAAC;IACF,OAAO;QACL,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;QACvF,GAAG,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC;QACzC,GAAG,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC;KACrF,CAAC;AACJ,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,eAAe,CAAC,IAAoB,EAAE,OAA4B;IAChF,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACpB,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAAE,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,8EAA8E;YAC9E,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACZ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CACnB,GAAgB,EAChB,KAA+C,EAC/C,OAAsB,EACtB,OAA+C;IAE/C,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,GAAW,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC;IACzF,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACzD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACzC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;gBAAE,SAAS;YAC7E,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAAE,SAAS;YACpD,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF,SAAS,aAAa,CAAC,GAAgB,EAAE,EAAgC;IACvE,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC;IAC1C,MAAM,eAAe,GAAG,IAAI,GAAG,CAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IACtD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrC,IAAI,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAAE,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAC/C,CAAC,CAAC,EAAE,EAAE,CACJ,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3B,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAClD,CAAC;IACF,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAChC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAC/D,CAAC;IAEF,MAAM,UAAU,GAAc,EAAE,CAAC;IACjC,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,CAAC,IAAmB,EAAE,IAAY,EAAE,IAAa,EAAE,EAAE;QAClE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;QAC7C,UAAU,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,IAAI;YACJ,WAAW,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;YAC9D,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;SACzB,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,IAAI,OAAO,CAAC,IAAI;QAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrC,IAAI,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI;YACxE,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,gBAAgB;QAAE,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACzF,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,MAAM,GACV,KAAK,CAAC,SAAS,KAAK,OAAO,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK;YACpF,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,kBAAkB,CAAC;QACzB,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;YAAE,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAClF,CAAC;IACD,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAC9D,MAAM,eAAe,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAClD,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;QAClC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,KAAK,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;YACtB,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACtC,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,EAAE;oBAC1D,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;IACH,CAAC;IACD,6FAA6F;IAC7F,wEAAwE;IACxE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAwD,CAAC;IAChF,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/D,MAAM,MAAM,GACV,KAAK,CAAC,UAAU,KAAK,SAAS;YAC5B,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK,OAAO;gBAC5B,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,kBAAkB,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;YAAE,SAAS;QACxC,MAAM,IAAI,GAAkB,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACxE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/F,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YAC7C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;YACzD,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;YACnD,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI;gBACJ,IAAI,EAAE,KAAK,CAAC,MAAM;gBAClB,WAAW,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC;gBACtE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;aAC/B,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC;QAC3C,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACtC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,2FAA2F;IAC3F,mEAAmE;IACnE,MAAM,eAAe,GAAe,EAAE,CAAC;IACvC,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CACpF,CAAC;QACF,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC;YAAE,SAAS;QACjC,IAAI,UAAU,CAAC,IAAI,KAAK,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACnF,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;YACvD,SAAS;QACX,CAAC;QACD,kEAAkE;QAClE,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzE,eAAe,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3D,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;QACxD,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,WAAW,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC;YACjF,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;SACpC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IACjD,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,eAAe,CAC7B,GAAG,CAAC,WAAW,EACf,OAAO,CAAC,EAAE,EACV,IAAI,GAAG,CAAC,CAAC,GAAG,eAAe,EAAE,GAAG,kBAAkB,EAAE,GAAG,eAAe,CAAC,CAAC,CACzE,CAAC;IACF,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAEvC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzC,MAAM,CACJ,qBAAqB,EACrB,OAAO,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC,EACxD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CACvE,CAAC;IACJ,CAAC;IAED,8FAA8F;IAC9F,0FAA0F;IAC1F,MAAM,IAAI,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC1C,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAAE,SAAS;QAC/D,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3F,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAAE,SAAS;QAC5F,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC;QACjC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1D,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,KAAK,GAAG,gBAAgB,CAC5B,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAC1B,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACvC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1F,KAAK,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1F,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAC3C,QAAQ,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CACnD,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC;YACT,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;SACnF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../src/plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EACL,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,OAAO,EACP,KAAK,EACL,QAAQ,GAMT,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,OAAO,EACP,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,GAUZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,MAAM,EACN,cAAc,EACd,oBAAoB,EACpB,cAAc,GAGf,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,wBAAwB,GAEzB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACpG,OAAO,EACL,aAAa,EACb,YAAY,EACZ,WAAW,EACX,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,SAAS,EACT,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,UAAU,EACV,WAAW,EACX,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,UAAU,EACV,UAAU,EACV,UAAU,EACV,cAAc,EACd,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,OAAO,EACP,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,WAAW,EACX,UAAU,EACV,OAAO,GACR,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,uBAAuB,EACvB,eAAe,EACf,UAAU,EACV,WAAW,EACX,UAAU,GACX,MAAM,WAAW,CAAC;AAcnB;;;GAGG;AACH,MAAM,UAAU,QAAQ,CACtB,WAAwB,EACxB,SAAwB,EACxB,UAAuB,EAAE;IAEzB,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GACP,OAAO,IAAI,SAAS;YAClB,CAAC,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC;YACrE,CAAC,CAAC,OAAO,IAAI,SAAS,IAAI,OAAO,IAAI,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,eAAe;gBAClF,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC;gBAChC,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,KAAK,GACT,OAAO,IAAI,SAAS;YAClB,CAAC,CAAC,QAAQ,CAAC,GAAmB,EAAE,SAAS,CAAC;YAC1C,CAAC,CAAC,OAAO,IAAI,SAAS;gBACpB,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;gBAC1B,CAAC,CAAC,OAAO,IAAI,SAAS;oBACpB,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;oBAC1B,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,eAAe;wBAClC,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC;wBAC/B,CAAC,CAAC,GAAG,CAAC,GAAkB,EAAE,SAAS,CAAC,CAAC;QAC/C,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACzB,MAAM,IAAI,GAAa;YACrB,SAAS;YACT,YAAY,EAAE,OAAO,CAAC,QAAQ,IAAI,CAAC;YACnC,KAAK;YACL,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC;YACzC,KAAK,EAAE,GAAG,CAAC,KAAK;SACjB,CAAC;QACF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,QAAQ;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;QAChF,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,UAAU,CACxB,QAA2B,EAC3B,IAA8C;IAE9C,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5C,OAAO;YACL,EAAE,EAAE,KAAK;YACT,SAAS,EAAE;gBACT,IAAI,EAAE,qBAAqB;gBAC3B,MAAM,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC;aAC9E;SACF,CAAC;IACJ,CAAC;IACD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,QAAQ,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,GAAG,CAAC,EAAE;KAC/F,CAAC;AACJ,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,WAAW,CAAC,IAAc,EAAE,QAAgB;IAC1D,OAAO,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AAClG,CAAC;AAID,SAAS,QAAQ,CAAC,GAAiB,EAAE,SAAyB;IAC5D,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;QACvB,KAAK,cAAc;YACjB,OAAO,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACtC,KAAK,cAAc;YACjB,OAAO,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACtC,KAAK,cAAc;YACjB,OAAO,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACtC,KAAK,mBAAmB;YACtB,OAAO,iBAAiB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC3C,KAAK,qBAAqB;YACxB,OAAO,mBAAmB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC7C,KAAK,wBAAwB;YAC3B,OAAO,sBAAsB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAChD,KAAK,qBAAqB;YACxB,OAAO,mBAAmB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC7C,KAAK,0BAA0B;YAC7B,OAAO,wBAAwB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAID,SAAS,QAAQ,CAAC,GAAgB,EAAE,SAAyB;IAC3D,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;QACvB,KAAK,gBAAgB;YACnB,OAAO,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACxC,KAAK,mBAAmB;YACtB,OAAO,iBAAiB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC3C,KAAK,mBAAmB;YACtB,OAAO,iBAAiB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC3C,KAAK,aAAa;YAChB,OAAO,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAID,SAAS,QAAQ,CAAC,GAAgB,EAAE,SAAyB;IAC3D,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;QACvB,KAAK,aAAa;YAChB,OAAO,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACrC,KAAK,eAAe;YAClB,OAAO,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACvC,KAAK,kBAAkB;YACrB,OAAO,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,SAAS,GAAG,CACV,GAAgB,EAChB,SAGC;IAED,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/E,kBAAkB,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IACD,8FAA8F;IAC9F,uBAAuB;IACvB,IACE,CAAC,CAAC,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAChG,CAAC;QACD,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC/B,CAAC;IACD,IACE,SAAS,CAAC,IAAI,KAAK,kBAAkB;QACrC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI;QACzB,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,EAC/C,CAAC;QACD,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnF,CAAC;IACD,IACE,SAAS,CAAC,IAAI,KAAK,gBAAgB;QACnC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI;QACzB,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,EAC/C,CAAC;QACD,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpF,CAAC;IACD,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;QACvB,KAAK,aAAa;YAChB,OAAO,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACrC,KAAK,SAAS;YACZ,OAAO,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACjC,KAAK,UAAU;YACb,OAAO,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAClC,KAAK,gBAAgB;YACnB,OAAO,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACxC,KAAK,kBAAkB;YACrB,OAAO,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC1C,KAAK,uBAAuB;YAC1B,OAAO,qBAAqB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC/C,KAAK,eAAe;YAClB,OAAO,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACvC,KAAK,eAAe;YAClB,OAAO,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACvC,KAAK,SAAS;YACZ,OAAO,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACjC,KAAK,eAAe;YAClB,OAAO,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACvC,KAAK,YAAY;YACf,OAAO,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACpC,KAAK,gBAAgB;YACnB,OAAO,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACxC,KAAK,YAAY;YACf,OAAO,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACpC,KAAK,eAAe;YAClB,OAAO,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACvC,KAAK,WAAW;YACd,OAAO,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACnC,KAAK,cAAc;YACjB,OAAO,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACtC,KAAK,gBAAgB;YACnB,OAAO,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACxC,KAAK,gBAAgB;YACnB,OAAO,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACxC,KAAK,mBAAmB;YACtB,OAAO,iBAAiB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC3C,KAAK,iBAAiB;YACpB,OAAO,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACzC,KAAK,iBAAiB;YACpB,OAAO,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACzC,KAAK,gBAAgB;YACnB,OAAO,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACxC,KAAK,gBAAgB;YACnB,OAAO,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACxC,KAAK,YAAY;YACf,OAAO,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACpC,KAAK,kBAAkB;YACrB,OAAO,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC1C,KAAK,cAAc;YACjB,OAAO,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACtC,KAAK,iBAAiB;YACpB,OAAO,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACzC,KAAK,oBAAoB;YACvB,OAAO,kBAAkB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC5C,KAAK,SAAS;YACZ,OAAO,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACjC,KAAK,YAAY;YACf,OAAO,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACpC,KAAK,eAAe;YAClB,OAAO,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACvC,KAAK,SAAS;YACZ,OAAO,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACjC,KAAK,oBAAoB;YACvB,OAAO,kBAAkB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC5C,KAAK,gBAAgB;YACnB,OAAO,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACxC,KAAK,gBAAgB;YACnB,OAAO,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACxC,KAAK,aAAa;YAChB,OAAO,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACrC,KAAK,aAAa;YAChB,OAAO,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACrC,KAAK,oBAAoB;YACvB,OAAO,kBAAkB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC5C,KAAK,kBAAkB;YACrB,OAAO,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC1C,KAAK,eAAe;YAClB,OAAO,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACvC,KAAK,oBAAoB;YACvB,OAAO,kBAAkB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC5C,KAAK,WAAW;YACd,OAAO,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACnC,KAAK,YAAY;YACf,OAAO,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACpC,KAAK,aAAa;YAChB,OAAO,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACrC,KAAK,gBAAgB;YACnB,OAAO,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACxC,KAAK,YAAY;YACf,OAAO,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACpC,KAAK,YAAY;YACf,OAAO,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACpC,KAAK,gBAAgB;YACnB,OAAO,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACxC,KAAK,WAAW;YACd,OAAO,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACnC,KAAK,sBAAsB;YACzB,OAAO,oBAAoB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC9C,KAAK,aAAa;YAChB,OAAO,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACrC,KAAK,eAAe;YAClB,OAAO,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACvC,KAAK,eAAe;YAClB,OAAO,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACvC,KAAK,eAAe;YAClB,OAAO,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACvC,KAAK,qBAAqB;YACxB,OAAO,mBAAmB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC7C,KAAK,iBAAiB;YACpB,OAAO,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACzC,KAAK,aAAa;YAChB,OAAO,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACrC,KAAK,kBAAkB;YACrB,OAAO,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC1C,KAAK,cAAc;YACjB,OAAO,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACtC,KAAK,kBAAkB;YACrB,OAAO,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC1C,KAAK,qBAAqB;YACxB,OAAO,mBAAmB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC7C,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAChC,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAChC,KAAK,WAAW;YACd,OAAO,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACrC,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,SAAS,YAAY,CAAC,GAAgB,EAAE,KAA0B;IAChE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC/B,MAAM,KAAK,GAAG,CAAC,WAA0D,EAAE,EAAE,CAC3E,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;IAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACxE,IAAI,KAAK,GAAG,MAAM,EAAE,CAAC;QACnB,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,mFAAmF;AAEnF,SAAS,SAAS,CAChB,GAAgB,EAChB,SAAyB,EACzB,MAAc;IAEd,OAAO,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAC/B,CAAC,CAAC,EAAU,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAChE,CAAC;AACJ,CAAC;AAED,yFAAyF;AACzF,SAAS,qBAAqB,CAAC,GAAgB,EAAE,OAAe,EAAE,MAAc;IAC9E,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAU,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QAChD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,UAAU,IAAI,EAAE,EAAE,CAAC;YACjD,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;gBACzF,SAAS;YACX,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM;gBAAE,SAAS;YACzD,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;YACnE,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,GAAgB,EAAE,SAAiB;IAC1D,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxC,IAAI,KAAK,EAAE,KAAK;QAAE,OAAO,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACzF,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;IAC/B,IAAI,CAAC,IAAI;QAAE,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAClF,OAAO,eAAe,CACpB,GAAG,EACH,IAAI,EACJ,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EACtB,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,KAAK,IAAI;QACb,CAAC,CAAC,eAAe,SAAS,IAAI;QAC9B,CAAC,CAAC,cAAc,GAAG,CAAC,GAAG,GAAG,MAAM,GAAG,GAAG,CAAC,IAAI,GAAG,SAAS,GAAG,GAAG,CAAC,GAAG,GAAG,MAAM,GAAG,EACjF,EAAE,eAAe,EAAE,IAAI,EAAE,CAC1B,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,GAAoB,EAAE,KAAa,EAAE,MAAM,GAAG,EAAE;IAClE,IAAI,GAAG,EAAE,IAAI,KAAK,eAAe;QAC/B,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IACnE,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC5C,OAAO,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC;AACjG,CAAC;AAED,SAAS,UAAU,CAAC,KAAsB,EAAE,KAAY;IACtD,IAAI,KAAK,EAAE,IAAI,KAAK,OAAO;QAAE,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAC7F,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAI,KAAe,CAAC,KAAK,CAAC;IACtC,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAgB,EAAE,EAA8B;IAC1E,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3B,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,iFAAiF;IACjF,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,SAAS,CAAa,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IAC9D,IAAI,KAAK;QAAE,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrF,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IAChD,OAAO;QACL,GAAG,IAAI;QACP,eAAe,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,OAAO,OAAO,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;KACpF,CAAC;AACJ,CAAC;AAED,gGAAgG;AAChG,SAAS,UAAU,CAAC,OAAgB;IAClC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;QAAE,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9F,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK;QAAE,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED,iFAAiF;AACjF,SAAS,YAAY,CAAC,GAAgB;IACpC,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,EAAE,CAAC;IACxD,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;IAC/B,IAAI,CAAC,IAAI;QAAE,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAClF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ;YAAE,SAAS;QACjF,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,KAAK,EAAE,IAAI,KAAK,cAAc;YAChC,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACrE,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,kEAAkE;IAClE,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;aAChC,OAAO,EAAE;aACT,IAAI,CACH,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,kBAAkB;YAC7B,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CACpE,CAAC;QACJ,IAAI,MAAM;YAAE,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC/E,CAAC;IACD,2EAA2E;IAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChC,CAAC,CAAC,EAAc,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAClF,CAAC;IACF,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvD,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,MAAM,MAAM,GAAG,KAAK;QAClB,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC;QACnC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;IAC5D,OAAO;QACL,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,GAAG,GAAG,MAAM,iBAAiB,EAAE;KAC5F,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,OAAO,CAAC,GAAgB,EAAE,EAA0B;IAC3D,MAAM,KAAK,GAAe,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACxC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK;YAAE,SAAS;QAChE,IAAI,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAAE,SAAS;QAChF,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,SAAS,CAAa,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YACtD,MAAM,IAAI,GAAG,SAAS,CAAY,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;YACnD,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7F,IAAI,UAAU;gBAAE,cAAc,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;YAC3D,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACnB,+DAA+D;gBAC/D,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,EAAE,CAAC,KAAK,KAAK,KAAK;wBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;gBACjF,CAAC;qBAAM,CAAC;oBACN,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;oBACxC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC1D,CAAC;gBACD,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACjD,IAAI,IAAI;wBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;yBAC9D,CAAC;wBACJ,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;wBACvC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;oBACzD,CAAC;gBACH,CAAC;gBACD,SAAS;YACX,CAAC;YACD,6FAA6F;YAC7F,IAAI,EAAE,CAAC,KAAK,KAAK,KAAK;gBAAE,SAAS;YACjC,IAAI,KAAK;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YAClE,IAAI,IAAI,IAAI,UAAU;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;YACjF,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,SAAS,CAAa,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QACtD,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,EAAE,CAAC,KAAK,KAAK,KAAK;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/E,SAAS;QACX,CAAC;QACD,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QACxC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,EAAE,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;QACvB,4FAA4F;QAC5F,gGAAgG;QAChG,MAAM,OAAO,GAAc,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;QACjC,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC1C,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO;gBAAE,SAAS;YAC1C,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACzB,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAClD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7D,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACzB,SAAS;YACX,CAAC;YACD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,IAAI,GAAG,CAAC,GAAoB,EAAE,EAAmB,EAAE,GAAuB,EAAE,EAAE;gBAClF,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG;oBAAE,OAAO;gBAC9B,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC;gBAC7B,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,OAAO;oBACjD,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACtE,CAAC,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YACxC,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAM,CAAC,CAAC,GAAG,CAAC;YAC/C,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnB,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;gBAC/B,IAAI,CAAC,KAAK,CAAC,OAAO;oBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC,CAAC;qBACjF,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI;oBACtE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACtF,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QACD,oFAAoF;QACpF,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,KAAK,MAAM,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC7C,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,SAAS;YACvC,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YAClD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAC/B,IAAI,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;YACrB,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBAChB,sEAAsE;gBACtE,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI;oBAAE,SAAS;gBAC1D,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACtC,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;gBAC5C,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YACnE,CAAC;YACD,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;YAClD,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,QAAQ,CAAC,IAAI,OAAO,QAAQ,CAAC,EAAE,QAAQ,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChG,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/E,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,uFAAuF;gBACvF,kEAAkE;gBAClE,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAChF,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAClD,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,mFAAmF;QACnF,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,OAAO,CAAC,MAAoC;IACnD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChF,MAAM,IAAI,GAAY,EAAE,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnC,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;YAAE,SAAS;QAC/D,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAY,EAAE,CAAC;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC;QAChF,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACzD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8FAA8F;AAC9F,SAAS,UAAU,CAAC,GAAgB,EAAE,QAAkB,EAAE,KAAkB;IAC1E,MAAM,IAAI,GAAG,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACnE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,EAAE,GAAG,IAAI,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QAAE,EAAE,GAAG,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;IACxE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACd,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,gBAAgB,CAAC,GAAgB,EAAE,UAA6B;IAC9E,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,CAAC,MAAqB,EAAE,EAAE,CACrC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,MAAM,EAAE,CAAC,CAAC;IACnF,IAAI,KAAK,EAAE,KAAK;QAAE,OAAO,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;IAC/B,IAAI,CAAC,IAAI;QAAE,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAClF,OAAO,eAAe,CACpB,GAAG,EACH,IAAI,EACJ,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EACtB,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,KAAK,IAAI;QACb,CAAC,CAAC,eAAe,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QAC1C,CAAC,CAAC,cAAc,GAAG,CAAC,GAAG,GAAG,MAAM,GAAG,GAAG,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,MAAM,GAAG,EACzH,EAAE,eAAe,EAAE,IAAI,EAAE,CAC1B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAgB,EAAE,EAA0B;IAClE,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC;QAAE,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACjG,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,SAAS,CAAY,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IAC5D,IAAI,KAAK;QAAE,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;IAChF,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IAC/C,OAAO,CAAC,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,OAAO,IAAI,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACpG,CAAC;AAED,SAAS,QAAQ,CAAC,GAAgB,EAAE,EAA2B;IAC7D,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IACxD,kGAAkG;IAClG,IAAI,EAAE,CAAC,IAAI;QAAE,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IACxD,IAAI,EAAE,CAAC,EAAE;QAAE,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAClD,IAAI,EAAE,CAAC,YAAY,KAAK,SAAS;QAAE,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;IAChF,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS;QAAE,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;IAC1E,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,GAAG;QAAE,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,SAAS,CAAa,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChE,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,KAAK,GAAe,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,CACd,GAAoB,EACpB,EAAmB,EACnB,OAAe,EACf,IAA+B,EAC/B,QAA4B,EAC5B,EAAE;YACF,IAAI,IAAI,KAAK,SAAS;gBAAE,OAAO;YAC/B,IAAI,GAAG,EAAE,IAAI,KAAK,cAAc;gBAC9B,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;YACrE,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YACnD,MAAM,GAAG,GAAG,CAAC,EAAE,IAAI,GAAI,CAAC,CAAC,GAAG,CAAC;YAC7B,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAI,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI;gBAC1C,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAI,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,CAAC,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;QAC9E,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;QACpE,8FAA8F;QAC9F,kBAAkB;QAClB,MAAM,IAAI,GAAG,CACX,IAA+B,EAC/B,QAA4B,EAC5B,OAA2B,EAC3B,EAAE,CACF,IAAI,KAAK,SAAS;YAChB,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;YAC3D,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,QAAQ,KAAK,SAAS,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC;QAC5D,IACE,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,IAAI,OAAO,CAAC;YAC/C,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC;YAC1C,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;YACpC,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EACnB,CAAC;YACD,OAAO,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,UAAU,GACd,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,EAAE,CAAC,GAAG,CAAC,MAAM;YAClC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5F,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzC,oCAAoC;gBACpC,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAM,CAAC,CAAC,GAAG,CAAC;gBAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YACpE,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO;gBACtB,KAAK,CAAC,IAAI,CAAC;oBACT,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;oBAC1B,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG;oBACtB,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC;iBAC9B,CAAC,CAAC;iBACA,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAM,CAAC,CAAC,GAAG,CAAC;gBAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,iEAAiE;IACjE,MAAM,OAAO,GAAG,CAAC,IAA+B,EAAE,QAA4B,EAAE,EAAE,CAChF,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,MAAM,CAAC,IAAI,QAAQ,KAAK,SAAS,CAAC;IACrF,IACE,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;QACpC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC;QACjC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC;QAC7B,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC;QAEnB,OAAO,EAAE,CAAC;IACZ,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,MAAM,IAAI,GAAG,YAAY,CACvB,QAAQ,CAAC,IAAI,EACb,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EACxC,EAAE,CAAC,YAAY,CAChB,CAAC;IACF,MAAM,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;IAC1F,OAAO,CAAC,eAAe,CAAC,GAAG,EAAE,SAAS,QAAQ,CAAC,GAAG,SAAS,IAAI,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,cAAc,CAAC,GAAgB,EAAE,EAAiC;IACzE,kEAAkE;IAClE,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,QAAQ,GACZ,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IACpF,cAAc,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAChD,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,GAAG;QAAE,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAC9F,MAAM,SAAS,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,SAAS,CAAa,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChE,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,CAAC,EAAE,AAAD,EAAG,UAAU,EAAE,AAAD,EAAG,WAAW,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QACxD,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACjD,IAAI,WAAW;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;aAC9D,IAAI,SAAS,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,UAAW,CAAC,GAAG;gBACtB,GAAG,EAAE,UAAW,CAAC,GAAG;gBACpB,OAAO,EAAE,WAAW,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;aAC7C,CAAC,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,OAAO,CAAC,eAAe,CAAC,GAAG,EAAE,SAAS,QAAQ,CAAC,GAAG,OAAO,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,mFAAmF;AAEnF,SAAS,gBAAgB,CAAC,GAAgB,EAAE,EAAmC;IAC7E,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACrC,4DAA4D;QAC5D,MAAM,IAAI,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,EAAE,CAAC,KAAK,KAAK,IAAI;YACnB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5F,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI;YAClD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACzE,IAAI,EAAE,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC5F,OAAO,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,KAAK;QACP,OAAO,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAChG,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;IAC5B,OAAO,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAgB,EAAE,EAAU;IACvD,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,iBAAiB,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9C,IACE,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,CAAC,QAAQ,IAAI,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC;QAChC,CAAC,KAAK,IAAI,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,EAC1B,CAAC;QACD,MAAM,CAAC,kBAAkB,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,GAAgB,EAChB,EAAwC;IAExC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IAChE,IAAI,CAAC,QAAQ;QACX,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5F,IAAI,QAAQ,CAAC,EAAE,KAAK,IAAI;QACtB,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,+FAA+F;IAC/F,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAClF,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IACzB,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC5C,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,gFAAgF;AAEhF,SAAS,aAAa,CAAC,GAAgB,EAAE,EAAgC;IACvE,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IAChC,IAAI,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACvC,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IAC5B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAiB,CAAC;IACxC,KAAK,MAAM,SAAS,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAC/C,IAAI,SAAS,CAAC,UAAU,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC;YAC1E,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IACD,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAC9E,QAAQ,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,CACnD,CAAC;IACF,OAAO;QACL,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;QACvF,GAAG,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC;QACzC,GAAG,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC;KACrF,CAAC;AACJ,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,eAAe,CAAC,IAAoB,EAAE,OAA4B;IAChF,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACpB,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAAE,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,8EAA8E;YAC9E,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACZ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CACnB,GAAgB,EAChB,KAA+C,EAC/C,OAAsB,EACtB,OAA+C;IAE/C,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,GAAW,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC;IACzF,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACzD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACzC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;gBAAE,SAAS;YAC7E,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAAE,SAAS;YACpD,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF,SAAS,aAAa,CAAC,GAAgB,EAAE,EAAgC;IACvE,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC;IAC1C,MAAM,eAAe,GAAG,IAAI,GAAG,CAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IACtD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrC,IAAI,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAAE,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAC/C,CAAC,CAAC,EAAE,EAAE,CACJ,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3B,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAClD,CAAC;IACF,2FAA2F;IAC3F,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/E,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,SAAS;QACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAE,CAAC;QAC7D,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAChC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAC/D,CAAC;IAEF,MAAM,UAAU,GAAc,EAAE,CAAC;IACjC,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,CAAC,IAAmB,EAAE,IAAY,EAAE,IAAa,EAAE,EAAE;QAClE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;QAC7C,UAAU,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,IAAI;YACJ,WAAW,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;YAC9D,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;SACzB,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,IAAI,OAAO,CAAC,IAAI;QAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrC,IAAI,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI;YACxE,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IACD,0FAA0F;IAC1F,MAAM,eAAe,GAAe,EAAE,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrC,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAAE,SAAS;QACzE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC;YAAE,SAAS;QACrD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ;YAAE,SAAS;QACxB,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,gBAAgB;QAAE,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACzF,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,MAAM,GACV,KAAK,CAAC,SAAS,KAAK,OAAO,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK;YACpF,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,kBAAkB,CAAC;QACzB,gFAAgF;QAChF,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,KAAK,OAAO,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACnF,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,SAAS;YAAE,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/F,CAAC;IACD,MAAM,aAAa,GAAG;QACpB,GAAG,IAAI,GAAG,CAAC;YACT,GAAG,iBAAiB,CAAC,GAAG,EAAE,eAAe,CAAC;YAC1C,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;SAC9C,CAAC;KACH,CAAC;IACF,MAAM,eAAe,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAClD,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACzC,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtC,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;QAClC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,KAAK,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;YACtB,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACtC,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,EAAE;oBAC1D,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;IACH,CAAC;IACD,6FAA6F;IAC7F,wEAAwE;IACxE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAwD,CAAC;IAChF,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/D,MAAM,MAAM,GACV,KAAK,CAAC,UAAU,KAAK,SAAS;YAC5B,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK,OAAO;gBAC5B,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,kBAAkB,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;YAAE,SAAS;QACxC,MAAM,IAAI,GAAkB,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACxE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/F,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YAC7C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;YACzD,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;YACnD,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI;gBACJ,IAAI,EAAE,KAAK,CAAC,MAAM;gBAClB,WAAW,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC;gBACtE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;aAC/B,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC;QAC3C,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACtC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,2FAA2F;IAC3F,mEAAmE;IACnE,MAAM,eAAe,GAAe,EAAE,CAAC;IACvC,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CACpF,CAAC;QACF,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC;YAAE,SAAS;QACjC,IAAI,UAAU,CAAC,IAAI,KAAK,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACnF,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;YACvD,SAAS;QACX,CAAC;QACD,kEAAkE;QAClE,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzE,eAAe,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3D,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;QACxD,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,WAAW,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC;YACjF,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;SACpC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IACjD,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,eAAe,CAC7B,GAAG,CAAC,WAAW,EACf,OAAO,CAAC,EAAE,EACV,IAAI,GAAG,CAAC,CAAC,GAAG,eAAe,EAAE,GAAG,kBAAkB,EAAE,GAAG,eAAe,CAAC,CAAC,CACzE,CAAC;IACF,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAEvC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzC,MAAM,CACJ,qBAAqB,EACrB,OAAO,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC,EACxD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CACvE,CAAC;IACJ,CAAC;IAED,8FAA8F;IAC9F,0FAA0F;IAC1F,MAAM,IAAI,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC1C,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAAE,SAAS;QAC/D,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3F,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAAE,SAAS;QAC5F,uFAAuF;QACvF,oDAAoD;QACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC;QAChC,MAAM,MAAM,GAAG,gBAAgB;aAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC;aAC3D,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACxE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1D,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,KAAK,GAAG,gBAAgB,CAC5B,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAC1B,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAC9F,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1F,KAAK,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1F,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAC3C,QAAQ,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CACnD,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC;YACT,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;SACnF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/dist/relations.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type CstNode, type TextEdit } from "@meltemi/diagrams-language";
|
|
2
|
-
import type
|
|
2
|
+
import { type Relation } from "@meltemi/diagrams-model";
|
|
3
3
|
import { type EditContext } from "./context.js";
|
|
4
4
|
import { type OperationOf } from "./plan.js";
|
|
5
5
|
/** A relation by id or by key (`<from>-><to>#<n>`). */
|
package/dist/relations.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../src/relations.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../src/relations.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EAGZ,KAAK,QAAQ,EAEd,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAGL,KAAK,QAAQ,EAEd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAgD,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAI9F,OAAO,EAAmD,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAK9F,uDAAuD;AACvD,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAMxE;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,CAAC,gBAAgB,CAAC,GAAG,QAAQ,EAAE,CAc9F;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,GACvB;IAAE,UAAU,EAAE,OAAO,EAAE,CAAC;IAAC,KAAK,EAAE,QAAQ,EAAE,CAAA;CAAE,CAwB9C;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,CAAC,gBAAgB,CAAC,GAAG,QAAQ,EAAE,CAsD9F;AAUD,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,CAAC,iBAAiB,CAAC,GAAG,QAAQ,EAAE,CAOhG;AASD,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,WAAW,EAChB,EAAE,EAAE,WAAW,CAAC,mBAAmB,CAAC,GACnC,QAAQ,EAAE,CA8CZ"}
|