@servrox/console-fx 0.1.0 → 0.2.0
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/CHANGELOG.md +23 -4
- package/README.md +7 -1
- package/dist/browser/compiler.d.ts.map +1 -1
- package/dist/browser/compiler.js +31 -20
- package/dist/browser/compiler.js.map +1 -1
- package/dist/browser/index.d.ts +1 -1
- package/dist/browser/index.d.ts.map +1 -1
- package/dist/browser/index.js +2 -12
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/motion.d.ts +4 -0
- package/dist/browser/motion.d.ts.map +1 -0
- package/dist/browser/motion.js +19 -0
- package/dist/browser/motion.js.map +1 -0
- package/dist/browser/preflight.d.ts.map +1 -1
- package/dist/browser/preflight.js +6 -5
- package/dist/browser/preflight.js.map +1 -1
- package/dist/codegen/index.d.ts.map +1 -1
- package/dist/codegen/index.js +11 -9
- package/dist/codegen/index.js.map +1 -1
- package/dist/effects/catalog.d.ts +3 -1
- package/dist/effects/catalog.d.ts.map +1 -1
- package/dist/effects/catalog.js +41 -19
- package/dist/effects/catalog.js.map +1 -1
- package/dist/layout/metrics.d.ts +12 -4
- package/dist/layout/metrics.d.ts.map +1 -1
- package/dist/layout/metrics.js +37 -8
- package/dist/layout/metrics.js.map +1 -1
- package/dist/layout/planner.d.ts.map +1 -1
- package/dist/layout/planner.js +59 -27
- package/dist/layout/planner.js.map +1 -1
- package/dist/layout/render.js +1 -1
- package/dist/layout/render.js.map +1 -1
- package/dist/model/layout.d.ts +5 -3
- package/dist/model/layout.d.ts.map +1 -1
- package/dist/presentations/catalog.d.ts +7 -3
- package/dist/presentations/catalog.d.ts.map +1 -1
- package/dist/presentations/catalog.js +246 -1370
- package/dist/presentations/catalog.js.map +1 -1
- package/dist/presentations/compact.d.ts +3 -3
- package/dist/presentations/compact.d.ts.map +1 -1
- package/dist/presentations/compact.js.map +1 -1
- package/dist/presentations/safe-cells.d.ts +10 -0
- package/dist/presentations/safe-cells.d.ts.map +1 -0
- package/dist/presentations/safe-cells.js +99 -0
- package/dist/presentations/safe-cells.js.map +1 -0
- package/dist/presets/cards.d.ts.map +1 -1
- package/dist/presets/cards.js +2 -2
- package/dist/presets/cards.js.map +1 -1
- package/dist/renderers/presentations/render.d.ts +4 -1
- package/dist/renderers/presentations/render.d.ts.map +1 -1
- package/dist/renderers/presentations/render.js +10 -3
- package/dist/renderers/presentations/render.js.map +1 -1
- package/dist/renderers/svg.d.ts.map +1 -1
- package/dist/renderers/svg.js +12 -11
- package/dist/renderers/svg.js.map +1 -1
- package/dist/validation/layout.d.ts.map +1 -1
- package/dist/validation/layout.js +2 -2
- package/dist/validation/layout.js.map +1 -1
- package/package.json +1 -1
package/dist/layout/metrics.js
CHANGED
|
@@ -11,13 +11,14 @@ export function textDirection(text) {
|
|
|
11
11
|
/** Per-attempt bounded data cache. Never retained between compilations. */
|
|
12
12
|
export class MetricResolver {
|
|
13
13
|
environment;
|
|
14
|
-
|
|
14
|
+
algorithm;
|
|
15
15
|
requests = new Map();
|
|
16
16
|
available;
|
|
17
17
|
bytes;
|
|
18
|
-
|
|
18
|
+
candidate = new Set();
|
|
19
|
+
constructor(environment, snapshot, algorithm = "fit/v1") {
|
|
19
20
|
this.environment = environment;
|
|
20
|
-
this.
|
|
21
|
+
this.algorithm = algorithm;
|
|
21
22
|
this.bytes = utf8ByteLength(JSON.stringify({
|
|
22
23
|
kind: "consoleFxMeasurements",
|
|
23
24
|
measurementVersion: 1,
|
|
@@ -33,9 +34,35 @@ export class MetricResolver {
|
|
|
33
34
|
this.bytes += utf8ByteLength(JSON.stringify(record)) + 1;
|
|
34
35
|
}
|
|
35
36
|
}
|
|
37
|
+
beginCandidate() {
|
|
38
|
+
this.candidate.clear();
|
|
39
|
+
}
|
|
40
|
+
/** V2 keeps estimation work separate from a serializable explicit font batch.
|
|
41
|
+
* Current candidate first, then prior sizes; reserve the complete metric envelope.
|
|
42
|
+
* A partial batch remains explicitly estimated on the next compile.
|
|
43
|
+
*/
|
|
44
|
+
measurementBatch(includeAvailable = false) {
|
|
45
|
+
const missing = (request) => includeAvailable || !this.available.has(request.key);
|
|
46
|
+
if (this.algorithm === "fit/v1")
|
|
47
|
+
return [...this.requests.values()].filter(missing);
|
|
48
|
+
const keys = new Set([...this.candidate, ...this.requests.keys()]);
|
|
49
|
+
const batch = [];
|
|
50
|
+
let bytes = utf8ByteLength(this.environment) + 128;
|
|
51
|
+
for (const key of keys) {
|
|
52
|
+
const request = this.requests.get(key);
|
|
53
|
+
if (request.algorithm !== this.algorithm || !missing(request))
|
|
54
|
+
continue;
|
|
55
|
+
const reserved = utf8ByteLength(JSON.stringify(request)) + 256;
|
|
56
|
+
if (bytes + reserved > LIMITS.inputBytes)
|
|
57
|
+
continue;
|
|
58
|
+
bytes += reserved;
|
|
59
|
+
batch.push(request);
|
|
60
|
+
}
|
|
61
|
+
return batch;
|
|
62
|
+
}
|
|
36
63
|
request(run, profile, italic = false) {
|
|
37
64
|
const data = {
|
|
38
|
-
algorithm:
|
|
65
|
+
algorithm: this.algorithm,
|
|
39
66
|
profile,
|
|
40
67
|
text: run.text,
|
|
41
68
|
style: run.style,
|
|
@@ -61,13 +88,15 @@ export class MetricResolver {
|
|
|
61
88
|
// Reserve the bounded numeric metric fields and record envelope so an
|
|
62
89
|
// explicitly measured batch can itself satisfy the snapshot byte limit.
|
|
63
90
|
const bytes = utf8ByteLength(JSON.stringify(request)) + 256;
|
|
64
|
-
|
|
91
|
+
const limit = this.algorithm === "fit/v2" ? 512 * 1024 : LIMITS.inputBytes;
|
|
92
|
+
if (this.requests.size >= 512 || this.bytes + bytes > limit)
|
|
65
93
|
fail("resource-limit", "Fitting exceeds its measurement budget.", [
|
|
66
94
|
"layout",
|
|
67
95
|
]);
|
|
68
96
|
this.bytes += bytes;
|
|
69
97
|
this.requests.set(key, request);
|
|
70
98
|
}
|
|
99
|
+
this.candidate.add(key);
|
|
71
100
|
const measured = this.available.get(key);
|
|
72
101
|
if (measured)
|
|
73
102
|
return {
|
|
@@ -77,13 +106,13 @@ export class MetricResolver {
|
|
|
77
106
|
};
|
|
78
107
|
const advance = estimatedTextWidth(run.text, run.style) +
|
|
79
108
|
Math.max(0, run.style.letterSpacing);
|
|
80
|
-
const overhang = run.
|
|
109
|
+
const overhang = run.style.fontSize * (italic ? 0.35 : 0.12);
|
|
81
110
|
return {
|
|
82
111
|
advance,
|
|
83
112
|
inkLeft: overhang,
|
|
84
113
|
inkRight: advance + overhang,
|
|
85
|
-
ascent: run.
|
|
86
|
-
descent: run.
|
|
114
|
+
ascent: run.style.fontSize * 1.3,
|
|
115
|
+
descent: run.style.fontSize * 0.4,
|
|
87
116
|
quality: "estimated",
|
|
88
117
|
direction: request.direction,
|
|
89
118
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/layout/metrics.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/layout/metrics.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../../src/layout/planner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EAEd,OAAO,EACP,OAAO,EACR,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EAGd,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../../src/layout/planner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EAEd,OAAO,EACP,OAAO,EACR,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EAGd,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,WAAW,EACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAI9C,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,eAAe,GAAG,SAAS,CAAC;CACjD;AACD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,SAAS,UAAU,EAAE,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AACD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS;QAC5B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;QAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC3B,EAAE,CAAC;CACL;AAiBD,uFAAuF;AACvF,wBAAgB,aAAa,CAC3B,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,cAAc,EACvB,gBAAgB,CAAC,EAAE,cAAc,GAChC,aAAa,CAulBf"}
|
package/dist/layout/planner.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { standardCellEdges } from "../presentations/safe-cells.js";
|
|
1
2
|
import { deepFreeze, LIMITS } from "../model/limits.js";
|
|
2
3
|
import { fail } from "../validation/index.js";
|
|
3
4
|
import { presentationDescriptor } from "../presentations/catalog.js";
|
|
@@ -7,7 +8,7 @@ import { PROFILES } from "../renderers/cinematic/profiles.js";
|
|
|
7
8
|
import { GLYPHS } from "../renderers/cinematic/glyphs.js";
|
|
8
9
|
import { MetricResolver } from "./metrics.js";
|
|
9
10
|
import { expand, runBounds, translate, union } from "./bounds.js";
|
|
10
|
-
import { wrapTokens, wrapTokensToRows
|
|
11
|
+
import { wrapTokens, wrapTokensToRows } from "./wrap.js";
|
|
11
12
|
const issue = (code, message) => ({
|
|
12
13
|
code,
|
|
13
14
|
message,
|
|
@@ -37,7 +38,7 @@ export function planSvgLayout(scene, request, options, suppliedResolver) {
|
|
|
37
38
|
const environment = options.measurementEnvironment ?? "unspecified-local-fonts";
|
|
38
39
|
// A supplied snapshot is trusted only with an explicit matching environment.
|
|
39
40
|
const resolver = suppliedResolver ??
|
|
40
|
-
new MetricResolver(environment, options.measurementEnvironment ? options.measurements : undefined);
|
|
41
|
+
new MetricResolver(environment, options.measurementEnvironment ? options.measurements : undefined, request.algorithm);
|
|
41
42
|
const diagnostics = [];
|
|
42
43
|
if (options.measurements &&
|
|
43
44
|
options.measurements.environment !== options.measurementEnvironment)
|
|
@@ -64,10 +65,14 @@ export function planSvgLayout(scene, request, options, suppliedResolver) {
|
|
|
64
65
|
style: slot.style,
|
|
65
66
|
}))
|
|
66
67
|
: scene.lines.flatMap((line) => line.runs);
|
|
67
|
-
const
|
|
68
|
+
const floorPreserving = request.algorithm === "fit/v2";
|
|
69
|
+
const floorRatios = visibleRuns
|
|
68
70
|
.filter((run) => run.text.length)
|
|
69
71
|
.map((run) => slotFloor(run.style.fontSize) /
|
|
70
|
-
(run.style.fontSize * frameScale * floorScale))
|
|
72
|
+
(run.style.fontSize * frameScale * floorScale));
|
|
73
|
+
const minimumScale = floorPreserving
|
|
74
|
+
? Math.min(1, ...floorRatios)
|
|
75
|
+
: Math.max(0, ...floorRatios);
|
|
71
76
|
// fit/v1: 16 uniform candidates, descending, including the exact readability floor.
|
|
72
77
|
const scales = !shrink || minimumScale >= 1
|
|
73
78
|
? [1]
|
|
@@ -120,6 +125,7 @@ export function planSvgLayout(scene, request, options, suppliedResolver) {
|
|
|
120
125
|
let candidates = 0;
|
|
121
126
|
for (const scale of scales) {
|
|
122
127
|
candidates++;
|
|
128
|
+
resolver.beginCandidate();
|
|
123
129
|
const scaled = {
|
|
124
130
|
...scene,
|
|
125
131
|
surface: {
|
|
@@ -133,10 +139,16 @@ export function planSvgLayout(scene, request, options, suppliedResolver) {
|
|
|
133
139
|
...r,
|
|
134
140
|
style: {
|
|
135
141
|
...r.style,
|
|
136
|
-
fontSize: (
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
142
|
+
fontSize: (() => {
|
|
143
|
+
const base = cardLayout?.compact
|
|
144
|
+
? (cardLayout.slots.find((s) => s.line === li && s.run === ri)
|
|
145
|
+
?.style.fontSize ?? r.style.fontSize)
|
|
146
|
+
: r.style.fontSize;
|
|
147
|
+
// V1 is deliberately uniform. V2 leaves small fields at their floor.
|
|
148
|
+
return floorPreserving
|
|
149
|
+
? Math.min(base, Math.max(base * scale, slotFloor(base) / (frameScale * floorScale)))
|
|
150
|
+
: base * scale;
|
|
151
|
+
})(),
|
|
140
152
|
letterSpacing: cardLayout?.compact
|
|
141
153
|
? 0
|
|
142
154
|
: r.style.letterSpacing * scale,
|
|
@@ -151,7 +163,7 @@ export function planSvgLayout(scene, request, options, suppliedResolver) {
|
|
|
151
163
|
const cardTexts = [];
|
|
152
164
|
let visualRows = cardLayout.rows;
|
|
153
165
|
let fits = true;
|
|
154
|
-
for (const slot of cardLayout.slots) {
|
|
166
|
+
for (const [slotIndex, slot] of cardLayout.slots.entries()) {
|
|
155
167
|
const run = scaled.lines[slot.line].runs[slot.run];
|
|
156
168
|
if (/[\n\t\u2028\u2029]/u.test(run.text) ||
|
|
157
169
|
[...run.text].length > slot.maxCodePoints) {
|
|
@@ -170,7 +182,7 @@ export function planSvgLayout(scene, request, options, suppliedResolver) {
|
|
|
170
182
|
const lineHeight = footer ? 18 : slot.id === "command" ? 24 : 18;
|
|
171
183
|
const tokens = wrapTokens([{ ...run, sourceRun: slot.run }]);
|
|
172
184
|
if (wrapping)
|
|
173
|
-
resolver.suggest?.(
|
|
185
|
+
resolver.suggest?.(tokens, profile);
|
|
174
186
|
const texts = wrapping
|
|
175
187
|
? wrapTokensToRows(tokens, footer ? 190 : slot.safeWidth, (runs) => {
|
|
176
188
|
if (!runs.length)
|
|
@@ -198,33 +210,50 @@ export function planSvgLayout(scene, request, options, suppliedResolver) {
|
|
|
198
210
|
});
|
|
199
211
|
for (const [row, text] of texts.entries()) {
|
|
200
212
|
const metrics = resolver.resolve({ ...run, text }, profile);
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
213
|
+
let left = slot.x - metrics.advance * anchorFactor;
|
|
214
|
+
let baseline = slot.y + lineHeight * (footer ? row : row - (texts.length - 1) / 2);
|
|
215
|
+
let ink = {
|
|
204
216
|
x: left - metrics.inkLeft,
|
|
205
217
|
y: baseline - metrics.ascent,
|
|
206
218
|
width: metrics.inkLeft + metrics.inkRight,
|
|
207
219
|
height: metrics.ascent + metrics.descent,
|
|
208
220
|
};
|
|
209
|
-
|
|
221
|
+
let local = expand(ink, card.id === "letterpress" && slot.id === "title" ? 1.5 : 0.5);
|
|
210
222
|
// Fixed vertical cells reserve surrounding labels and original artwork.
|
|
211
|
-
const
|
|
223
|
+
const [artLeft, artRight, artTop, artBottom] = floorPreserving && !cardLayout.compact
|
|
224
|
+
? standardCellEdges(card.id, slotIndex)
|
|
225
|
+
: [];
|
|
226
|
+
const cellLeft = Math.max(slotStart - 3, artLeft ?? -Infinity);
|
|
227
|
+
const cellRight = Math.min(slotStart + slot.safeWidth + 3, artRight ?? Infinity);
|
|
228
|
+
const top = Math.max(artTop ?? -Infinity, command
|
|
212
229
|
? slot.id === "command"
|
|
213
230
|
? 164
|
|
214
231
|
: 110
|
|
215
|
-
: Math.max(slot.safeTop ?? 0, slot.y - slot.style.fontSize * 1.4 - 2);
|
|
216
|
-
const bottom = command
|
|
232
|
+
: Math.max(slot.safeTop ?? 0, slot.y - slot.style.fontSize * 1.4 - 2));
|
|
233
|
+
const bottom = Math.min(artBottom ?? Infinity, command
|
|
217
234
|
? slot.id === "command"
|
|
218
235
|
? 215
|
|
219
236
|
: 148
|
|
220
|
-
: Math.min(cardLayout.height, baseline + slot.style.fontSize * 0.5 + 2);
|
|
237
|
+
: Math.min(cardLayout.height, baseline + slot.style.fontSize * 0.5 + 2));
|
|
238
|
+
// V2 moves the complete paint box only inside the original cell.
|
|
239
|
+
// An oversized box still fails; no artwork or cell bounds are changed.
|
|
240
|
+
let shiftedSlot = slot;
|
|
241
|
+
if (floorPreserving) {
|
|
242
|
+
const dx = Math.max(cellLeft - local.x, Math.min(0, cellRight - local.x - local.width));
|
|
243
|
+
const dy = Math.max(top - local.y, Math.min(0, bottom - local.y - local.height));
|
|
244
|
+
left += dx;
|
|
245
|
+
baseline += dy;
|
|
246
|
+
ink = translate(ink, dx, dy);
|
|
247
|
+
local = translate(local, dx, dy);
|
|
248
|
+
shiftedSlot = { ...slot, x: slot.x + dx };
|
|
249
|
+
}
|
|
221
250
|
// Authored 3px bearing tolerance never permits crossing another slot.
|
|
222
|
-
if (local.x <
|
|
223
|
-
local.x + local.width >
|
|
251
|
+
if (local.x < cellLeft ||
|
|
252
|
+
local.x + local.width > cellRight ||
|
|
224
253
|
local.y < top ||
|
|
225
254
|
local.y + local.height > bottom)
|
|
226
255
|
fits = false;
|
|
227
|
-
cardTexts.push({ slot, text, baseline });
|
|
256
|
+
cardTexts.push({ slot: shiftedSlot, text, baseline });
|
|
228
257
|
fragments.push({
|
|
229
258
|
sourceLine: slot.line,
|
|
230
259
|
sourceRun: slot.run,
|
|
@@ -278,7 +307,7 @@ export function planSvgLayout(scene, request, options, suppliedResolver) {
|
|
|
278
307
|
for (const paragraph of paragraphs) {
|
|
279
308
|
const tokens = wrapTokens(paragraph);
|
|
280
309
|
if (wrap)
|
|
281
|
-
resolver.suggest?.(
|
|
310
|
+
resolver.suggest?.(tokens);
|
|
282
311
|
const fragments = wrap
|
|
283
312
|
? wrapTokensToRows(tokens, request.width - 2 * padding, (runs) => {
|
|
284
313
|
const rowSize = Math.max(8, ...runs.map((run) => run.style.fontSize));
|
|
@@ -372,16 +401,19 @@ export function planSvgLayout(scene, request, options, suppliedResolver) {
|
|
|
372
401
|
const measuredQuality = quality(selected.fragments);
|
|
373
402
|
if (measuredQuality === "estimated")
|
|
374
403
|
diagnostics.push(issue("unverified-font-metrics", "Font bounds are estimated. Measure these fragments explicitly for this environment."));
|
|
375
|
-
if (
|
|
404
|
+
if (selected.fragments.some((fragment) => fragment.quality === "measured-local-font"))
|
|
376
405
|
diagnostics.push(issue("platform-font-variation", "Recipient fonts may differ from these local measurements."));
|
|
377
|
-
const requests =
|
|
406
|
+
const requests = resolver.measurementBatch();
|
|
407
|
+
if (floorPreserving &&
|
|
408
|
+
requests.length < resolver.requests.size - resolver.available.size)
|
|
409
|
+
diagnostics.push(issue("measurement-batch-limited", "Font batch capped; remaining text stays estimated."));
|
|
378
410
|
if (options.measurements && requests.length)
|
|
379
411
|
diagnostics.push(issue("stale-measurement", "Unmeasured fragments and sizes remain estimated."));
|
|
380
412
|
const width = displayScale === null ? null : request.width * displayScale, height = displayScale === null ? null : selected.height * displayScale;
|
|
381
|
-
|
|
382
|
-
|
|
413
|
+
// Output sizing owns the hard display-height limit. Preflight must still
|
|
414
|
+
// collect font data that can replace these estimated content bounds.
|
|
383
415
|
const report = {
|
|
384
|
-
algorithm:
|
|
416
|
+
algorithm: request.algorithm,
|
|
385
417
|
profile,
|
|
386
418
|
variant: cardLayout?.compact ? "compact" : "standard",
|
|
387
419
|
artboard: { width: request.width, height: selected.height },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planner.js","sourceRoot":"","sources":["../../src/layout/planner.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EACL,aAAa,GAGd,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,eAAe,EACf,eAAe,GAEhB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,oBAAoB,GAErB,MAAM,WAAW,CAAC;AAwBnB,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,OAAe,EAAc,EAAE,CAAC,CAAC;IAC5D,IAAI;IACJ,OAAO;IACP,QAAQ,EAAE,SAAS;IACnB,IAAI,EAAE,CAAC,QAAQ,CAAC;CACjB,CAAC,CAAC;AACH,MAAM,OAAO,GAAG,CAAC,SAAoC,EAAsB,EAAE,CAC3E,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,WAAW,CAAC;IAC9C,CAAC,CAAC,WAAW;IACb,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,qBAAqB,CAAC;QAC1D,CAAC,CAAC,qBAAqB;QACvB,CAAC,CAAC,mBAAmB,CAAC;AAC5B,SAAS,UAAU,CAAC,IAAY,EAAE,OAAe;IAC/C,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AAClC,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,aAAa,CAC3B,KAAc,EACd,OAAsB,EACtB,OAAuB,EACvB,gBAAiC;IAEjC,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,YAAY;QACtD,UAAU,CAAC,oBAAoB,EAAE,wCAAwC,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;IACtC,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,GAAG,OAAO,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,GAAG,OAAO;QAClE,UAAU,CAAC,iBAAiB,EAAE,wCAAwC,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY;QAC7B,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAE;QACrD,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,MAAM,OAAO,GAAG,UAAU,EAAE,OAAO,IAAI,SAAS,CAAC;IACjD,MAAM,WAAW,GACf,OAAO,CAAC,sBAAsB,IAAI,yBAAyB,CAAC;IAC9D,6EAA6E;IAC7E,MAAM,QAAQ,GACZ,gBAAgB;QAChB,IAAI,cAAc,CAChB,WAAW,EACX,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAClE,CAAC;IACJ,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,IACE,OAAO,CAAC,YAAY;QACpB,OAAO,CAAC,YAAY,CAAC,WAAW,KAAK,OAAO,CAAC,sBAAsB;QAEnE,WAAW,CAAC,IAAI,CACd,KAAK,CACH,mBAAmB,EACnB,iEAAiE,CAClE,CACF,CAAC;IACJ,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,MAAM,YAAY,GAChB,MAAM,EAAE,IAAI,KAAK,wBAAwB;QACvC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;IACvD,IACE,MAAM,EAAE,IAAI,KAAK,wBAAwB;QACzC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK;QAE/B,UAAU,CACR,oBAAoB,EACpB,2DAA2D,CAC5D,CAAC;IACJ,MAAM,UAAU,GAAG,YAAY,IAAI,CAAC,CAAC;IACrC,MAAM,MAAM,GACV,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,kBAAkB,CAAC;IAC3E,MAAM,IAAI,GACR,OAAO,CAAC,QAAQ,KAAK,MAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,kBAAkB,CAAC;IACzE,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,UAAU;QAC9C,WAAW,CAAC,IAAI,CACd,KAAK,CACH,0BAA0B,EAC1B,yEAAyE,CAC1E,CACF,CAAC;IACJ,MAAM,UAAU,GAAG,UAAU;QAC3B,CAAC,CAAC,IAAI,CAAC,GAAG,CACN,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EACjC,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,UAAU,CAAC,KAAK,EAChD,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,UAAU,CAAC,MAAM,CACtD;QACH,CAAC,CAAC,CAAC,CAAC;IACN,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE,CACjC,IAAI,CAAC,GAAG,CACN,OAAO,CAAC,WAAW,EACnB,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAC5B,IAAI,EAAE,KAAK,KAAK,QAAQ,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAChD,CAAC;IACJ,MAAM,WAAW,GAAG,UAAU;QAC5B,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC9B,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAE;YAC1C,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;QACL,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAC3B,CAAC,EACD,GAAG,WAAW;SACX,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;SAChC,GAAG,CACF,CAAC,GAAG,EAAE,EAAE,CACN,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC,CACjD,CACJ,CAAC;IACF,oFAAoF;IACpF,MAAM,MAAM,GACV,CAAC,MAAM,IAAI,YAAY,IAAI,CAAC;QAC1B,CAAC,CAAC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9E,MAAM,YAAY,GAAG,CAAC,GAAY,EAAE,OAAe,EAAE,EAAE;QACrD,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO;gBAC/B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,QAAQ,CAAC,OAAO,CACd,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EACxD,SAAS,CAAC,OAAO,EACjB,UAAU,CAAC,MAAM,CAClB,CAAC;YACN,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YACvD,OAAO;gBACL,GAAG;gBACH,OAAO,EAAE,MAAM,CAAC,KAAK;gBACrB,GAAG,EAAE,MAAM;oBACT,CAAC,CAAC;wBACE,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,MAAM;wBACrD,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM;wBACrC,KAAK,EAAE,CAAC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,MAAM;wBAC7D,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,MAAM;qBAC7D;oBACH,CAAC,CAAC;wBACE,CAAC,EAAE,MAAM,CAAC,MAAM;wBAChB,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU;wBACrB,KAAK,EAAE,MAAM,CAAC,SAAS;wBACvB,MAAM,EAAE,MAAM,CAAC,UAAU;qBAC1B;gBACL,KAAK,EAAE;oBACL,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM;oBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO;iBACvC;gBACD,OAAO,EAAE,MAAM,EAAE,OAAO,IAAK,mBAA0C;gBACvE,SAAS,EAAE,MAAM;aAClB,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACjD,OAAO;YACL,GAAG;YACH,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,GAAG,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE,OAAO,CAAC;YAC/D,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,SAAS,EAAE,SAAS;SACrB,CAAC;IACJ,CAAC,CAAC;IACF,IAAI,QAUS,CAAC;IACd,IAAI,WAAW,GAAG,0CAA0C,CAAC;IAC7D,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,UAAU,EAAE,CAAC;QACb,MAAM,MAAM,GAAY;YACtB,GAAG,KAAK;YACR,OAAO,EAAE;gBACP,GAAG,KAAK,CAAC,OAAO;gBAChB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,OAAO,CAAC,SAAS;aAC1B;YACD,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBACjC,GAAG,CAAC;gBACJ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC3B,GAAG,CAAC;oBACJ,KAAK,EAAE;wBACL,GAAG,CAAC,CAAC,KAAK;wBACV,QAAQ,EACN,CAAC,UAAU,EAAE,OAAO;4BAClB,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC;gCAC1D,EAAE,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;4BACzC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK;wBAC/B,aAAa,EAAE,UAAU,EAAE,OAAO;4BAChC,CAAC,CAAC,CAAC;4BACH,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,GAAG,KAAK;qBAClC;iBACF,CAAC,CAAC;aACJ,CAAC,CAAC;SACJ,CAAC;QACF,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,UAAU,GAAG,CAAC,GAAG,OAAO,CAAC;YAC5D,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;YACpE,MAAM,SAAS,GAAqB,EAAE,CAAC;YACvC,MAAM,SAAS,GAAsD,EAAE,CAAC;YACxE,IAAI,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC;YACjC,IAAI,IAAI,GAAG,IAAI,CAAC;YAChB,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;gBACpC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAE,CAAC;gBACrD,IACE,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;oBACpC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,EACzC,CAAC;oBACD,IAAI,GAAG,KAAK,CAAC;oBACb,WAAW,GAAG,wCAAwC,CAAC;oBACvD,MAAM;gBACR,CAAC;gBACD,4EAA4E;gBAC5E,MAAM,MAAM,GACV,UAAU,CAAC,OAAO;oBAClB,IAAI,CAAC,EAAE,KAAK,cAAc;oBAC1B,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC;gBACvB,MAAM,OAAO,GACX,UAAU,CAAC,OAAO;oBAClB,IAAI,CAAC,EAAE,KAAK,aAAa;oBACzB,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,IAAI,IAAI,CAAC,EAAE,KAAK,aAAa,CAAC,CAAC;gBACvD,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC;gBAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC7D,IAAI,QAAQ;oBAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;gBACxE,MAAM,KAAK,GAAG,QAAQ;oBACpB,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;wBAC/D,IAAI,CAAC,IAAI,CAAC,MAAM;4BAAE,OAAO,CAAC,CAAC;wBAC3B,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,OAAO,CAAC,CAAC;wBAC9C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;oBAClE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAClD,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACf,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;oBAAE,IAAI,GAAG,KAAK,CAAC;gBACnC,UAAU,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC/B,MAAM,YAAY,GAChB,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjE,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;gBACzD,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;gBACnE,IAAI,GAAG,CAAC,IAAI,IAAI,aAAa,GAAG,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACtE,IAAI,GAAG,KAAK,CAAC;oBACb,WAAW;wBACT,iEAAiE,CAAC;gBACtE,CAAC;gBACD,MAAM,SAAS,GAAG,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC;oBACrC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU;oBAC7B,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU;oBAC7B,KAAK,EAAE,CAAC,CAAC,KAAK,GAAG,UAAU;oBAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,UAAU;iBAC9B,CAAC,CAAC;gBACH,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;oBAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC;oBACrD,MAAM,QAAQ,GACZ,IAAI,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACtE,MAAM,GAAG,GAAG;wBACV,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO;wBACzB,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM;wBAC5B,KAAK,EAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,QAAQ;wBACzC,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO;qBACzC,CAAC;oBACF,MAAM,KAAK,GAAG,MAAM,CAClB,GAAG,EACH,IAAI,CAAC,EAAE,KAAK,aAAa,IAAI,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAC7D,CAAC;oBACF,wEAAwE;oBACxE,MAAM,GAAG,GAAG,OAAO;wBACjB,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS;4BACrB,CAAC,CAAC,GAAG;4BACL,CAAC,CAAC,GAAG;wBACP,CAAC,CAAC,IAAI,CAAC,GAAG,CACN,IAAI,CAAC,OAAO,IAAI,CAAC,EACjB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,GAAG,CAAC,CACvC,CAAC;oBACN,MAAM,MAAM,GAAG,OAAO;wBACpB,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS;4BACrB,CAAC,CAAC,GAAG;4BACL,CAAC,CAAC,GAAG;wBACP,CAAC,CAAC,IAAI,CAAC,GAAG,CACN,UAAU,CAAC,MAAM,EACjB,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,GAAG,CAAC,CACzC,CAAC;oBACN,sEAAsE;oBACtE,IACE,KAAK,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC;wBACvB,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC;wBACtD,KAAK,CAAC,CAAC,GAAG,GAAG;wBACb,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM;wBAE/B,IAAI,GAAG,KAAK,CAAC;oBACf,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;oBACzC,SAAS,CAAC,IAAI,CAAC;wBACb,UAAU,EAAE,IAAI,CAAC,IAAI;wBACrB,SAAS,EAAE,IAAI,CAAC,GAAG;wBACnB,IAAI,EAAE,IAAI,CAAC,EAAE;wBACb,IAAI;wBACJ,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,UAAU;wBAC9B,QAAQ,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU;wBACzC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU;wBACzC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,UAAU;wBACrC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC;wBACnB,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC;wBACvB,OAAO,EAAE,OAAO,CAAC,OAAO;qBACzB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAC7B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,CAAC,IAAI;gBACN,SAAS,CAAC,IAAI,CACZ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,GAAG,CAAC;oBACL,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK;oBACrC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK;oBACrC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM;oBACtC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CACzC,CACJ,CAAC;YACF,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,UAAU,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACpD,QAAQ,GAAG;oBACT,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC5D,KAAK,EAAE,EAAE;oBACT,SAAS;oBACT,MAAM;oBACN,KAAK,EAAE,KAAK,GAAG,UAAU;oBACzB,IAAI,EAAE,UAAU;oBAChB,SAAS;iBACV,CAAC;gBACF,MAAM;YACR,CAAC;YACD,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAIJ,EAAE,CAAC;QACT,KAAK,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACxD,MAAM,UAAU,GAAgB,CAAC,EAAE,CAAC,CAAC;YACrC,KAAK,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACnD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI;qBAChC,KAAK,CAAC,mBAAmB,CAAC;qBAC1B,OAAO,EAAE,EAAE,CAAC;oBACb,IAAI,IAAI;wBAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC9B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACrB,UAAU,CACR,oBAAoB,EACpB,kEAAkE,CACnE,CAAC;oBACJ,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;YACD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;gBACrC,IAAI,IAAI;oBAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC3D,MAAM,SAAS,GAAG,IAAI;oBACpB,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;wBAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CACtB,CAAC,EACD,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CACzC,CAAC;wBACF,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;4BAChC,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;4BACxC,OAAO,CACL,KAAK;gCACL,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;gCACvD,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAC1B,CAAC;wBACJ,CAAC,EAAE,CAAC,CAAC,CAAC;oBACR,CAAC,CAAC;oBACJ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBAChB,IAAI,CAAC,IAAI,CACP,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CACtE,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;YAC/B,WAAW,GAAG,8CAA8C,CAAC;YAC7D,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAkB,EAAE,CAAC;QAClC,IAAI,CAAC,GAAG,OAAO,CAAC;QAChB,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtE,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;YAChE,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CACtB,CAAC,CAAC,EAAE,EAAE,CACJ,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;gBAC9C,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CACzB,CAAC;YACF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAChD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAC9D,KAAK,GAAG,IAAI,CAAC,GAAG,CACd,OAAO,GAAG,IAAI,EACd,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAChD,CAAC;YACJ,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC;YAC3B,IAAI,MAAM,GACR,GAAG,CAAC,KAAK,KAAK,QAAQ;gBACpB,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC;gBAC7B,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,OAAO;oBACrB,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,GAAG,KAAK;oBACjC,CAAC,CAAC,OAAO,CAAC;YAChB,IACE,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,OAAO;gBACnC,QAAQ,GAAG,KAAK,GAAG,OAAO,CAAC,SAAS,GAAG,OAAO;gBAE9C,IAAI,GAAG,KAAK,CAAC;YACf,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAc,EAAE;gBAC7C,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC7C,MAAM,IAAI,MAAM,CAAC,CAAC,CAAE,CAAC;gBACrB,IACE,IAAI,CAAC,GAAG,CAAC,IAAI;oBACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,GAAG,IAAI,GAAG,OAAO,CAAC,WAAW,EACjE,CAAC;oBACD,IAAI,GAAG,KAAK,CAAC;oBACb,WAAW,GAAG,mDAAmD,CAAC;gBACpE,CAAC;gBACD,OAAO;oBACL,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,QAAQ,EAAE;wBACR,UAAU,EAAE,GAAG,CAAC,UAAU;wBAC1B,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS;wBAC7B,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI;wBACnB,CAAC;wBACD,QAAQ;wBACR,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ;wBACjC,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC;wBACrC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC;wBACzC,OAAO,EAAE,IAAI,CAAC,OAAO;qBACtB;iBACF,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,IAAI;gBACJ,QAAQ;aACT,CAAC,CAAC;YACH,CAAC,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,GAAG,CAAC;QACvC,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CACrB,OAAO,CAAC,SAAS,EACjB,IAAI,CAAC,GAAG,CACN,CAAC,EACD,CAAC;gBACC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBACV,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;wBAC9D,GAAG;oBACL,CAAC,CAAC,CAAC,CAAC;gBACN,OAAO,CACV,CACF,CAAC;YACF,QAAQ,GAAG;gBACT,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC5D,KAAK,EAAE,OAAO;gBACd,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAChE,MAAM;gBACN,KAAK;gBACL,IAAI,EAAE,IAAI,CAAC,MAAM;aAClB,CAAC;YACF,MAAM;QACR,CAAC;IACH,CAAC;IACD,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;IAC1D,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACpD,IAAI,eAAe,KAAK,WAAW;QACjC,WAAW,CAAC,IAAI,CACd,KAAK,CACH,yBAAyB,EACzB,qFAAqF,CACtF,CACF,CAAC;IACJ,IAAI,eAAe,KAAK,qBAAqB;QAC3C,WAAW,CAAC,IAAI,CACd,KAAK,CACH,yBAAyB,EACzB,2DAA2D,CAC5D,CACF,CAAC;IACJ,MAAM,QAAQ,GAAG,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CACrD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CACtC,CAAC;IACF,IAAI,OAAO,CAAC,YAAY,IAAI,QAAQ,CAAC,MAAM;QACzC,WAAW,CAAC,IAAI,CACd,KAAK,CACH,mBAAmB,EACnB,kDAAkD,CACnD,CACF,CAAC;IACJ,MAAM,KAAK,GAAG,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,YAAY,EACvE,MAAM,GAAG,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,YAAY,CAAC;IACzE,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,GAAG,MAAM,CAAC,SAAS;QAC9C,UAAU,CACR,qBAAqB,EACrB,iDAAiD,CAClD,CAAC;IACJ,MAAM,MAAM,GAAiB;QAC3B,SAAS,EAAE,QAAQ;QACnB,OAAO;QACP,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;QACrD,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE;QAC3D,KAAK,EAAE,KAAK,CAAC,YAAY;YACvB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE;YAC/D,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACjD,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACzB,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS;gBACjE,OAAO,EAAE,CAAC;YACZ,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBAClD,MAAM,GAAG,GAAG;oBACV,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,SAAU,CAAC,MAAM,GAAG,OAAO;oBACrD,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAU,CAAC,UAAU;oBACtD,KAAK,EAAE,CAAC,MAAM,CAAC,MAAM,CAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,GAAG;oBAC3D,MAAM,EAAE,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAU,CAAC,UAAU;iBACxD,CAAC;gBACF,OAAO;oBACL,IAAI,CAAC,SAAU,CAAC,QAAQ,CAAC,KAAK,CAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC;gBAClE,OAAO;oBACL,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS;oBAC7B,KAAK;oBACL,GAAG;iBACJ,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CACH;QACD,UAAU,EAAE,QAAQ,CAAC,IAAI;QACzB,YAAY,EAAE,QAAQ,CAAC,KAAK;QAC5B,YAAY;QACZ,oBAAoB,EAAE,KAAK;QAC3B,qBAAqB,EAAE,MAAM;QAC7B,kBAAkB,EAChB,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB;QAC7D,kBAAkB,EAAE,eAAe;QACnC,sBAAsB,EACpB,eAAe,KAAK,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW;QAC9D,OAAO,EACL,eAAe,KAAK,WAAW;YAC7B,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,gCAAgC;QACtC,mBAAmB,EAAE,QAAQ;QAC7B,eAAe,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;QACvC,gBAAgB,EAAE,UAAU;QAC5B,YAAY,EAAE,2BAA2B;QACzC,aAAa,EAAE,SAAS;QACxB,WAAW;KACZ,CAAC;IACF,OAAO,UAAU,CAAC;QAChB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,MAAM;QACN,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtE,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"planner.js","sourceRoot":"","sources":["../../src/layout/planner.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EACL,aAAa,GAGd,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,eAAe,EACf,eAAe,GAEhB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAgB,MAAM,WAAW,CAAC;AAwBvE,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,OAAe,EAAc,EAAE,CAAC,CAAC;IAC5D,IAAI;IACJ,OAAO;IACP,QAAQ,EAAE,SAAS;IACnB,IAAI,EAAE,CAAC,QAAQ,CAAC;CACjB,CAAC,CAAC;AACH,MAAM,OAAO,GAAG,CAAC,SAAoC,EAAsB,EAAE,CAC3E,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,WAAW,CAAC;IAC9C,CAAC,CAAC,WAAW;IACb,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,qBAAqB,CAAC;QAC1D,CAAC,CAAC,qBAAqB;QACvB,CAAC,CAAC,mBAAmB,CAAC;AAC5B,SAAS,UAAU,CAAC,IAAY,EAAE,OAAe;IAC/C,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AAClC,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,aAAa,CAC3B,KAAc,EACd,OAAsB,EACtB,OAAuB,EACvB,gBAAiC;IAEjC,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,YAAY;QACtD,UAAU,CAAC,oBAAoB,EAAE,wCAAwC,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;IACtC,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,GAAG,OAAO,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,GAAG,OAAO;QAClE,UAAU,CAAC,iBAAiB,EAAE,wCAAwC,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY;QAC7B,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAE;QACrD,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,MAAM,OAAO,GAAG,UAAU,EAAE,OAAO,IAAI,SAAS,CAAC;IACjD,MAAM,WAAW,GACf,OAAO,CAAC,sBAAsB,IAAI,yBAAyB,CAAC;IAC9D,6EAA6E;IAC7E,MAAM,QAAQ,GACZ,gBAAgB;QAChB,IAAI,cAAc,CAChB,WAAW,EACX,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EACjE,OAAO,CAAC,SAAS,CAClB,CAAC;IACJ,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,IACE,OAAO,CAAC,YAAY;QACpB,OAAO,CAAC,YAAY,CAAC,WAAW,KAAK,OAAO,CAAC,sBAAsB;QAEnE,WAAW,CAAC,IAAI,CACd,KAAK,CACH,mBAAmB,EACnB,iEAAiE,CAClE,CACF,CAAC;IACJ,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,MAAM,YAAY,GAChB,MAAM,EAAE,IAAI,KAAK,wBAAwB;QACvC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;IACvD,IACE,MAAM,EAAE,IAAI,KAAK,wBAAwB;QACzC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK;QAE/B,UAAU,CACR,oBAAoB,EACpB,2DAA2D,CAC5D,CAAC;IACJ,MAAM,UAAU,GAAG,YAAY,IAAI,CAAC,CAAC;IACrC,MAAM,MAAM,GACV,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,kBAAkB,CAAC;IAC3E,MAAM,IAAI,GACR,OAAO,CAAC,QAAQ,KAAK,MAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,kBAAkB,CAAC;IACzE,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,UAAU;QAC9C,WAAW,CAAC,IAAI,CACd,KAAK,CACH,0BAA0B,EAC1B,yEAAyE,CAC1E,CACF,CAAC;IACJ,MAAM,UAAU,GAAG,UAAU;QAC3B,CAAC,CAAC,IAAI,CAAC,GAAG,CACN,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EACjC,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,UAAU,CAAC,KAAK,EAChD,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,UAAU,CAAC,MAAM,CACtD;QACH,CAAC,CAAC,CAAC,CAAC;IACN,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE,CACjC,IAAI,CAAC,GAAG,CACN,OAAO,CAAC,WAAW,EACnB,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAC5B,IAAI,EAAE,KAAK,KAAK,QAAQ,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAChD,CAAC;IACJ,MAAM,WAAW,GAAG,UAAU;QAC5B,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC9B,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAE;YAC1C,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;QACL,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,KAAK,QAAQ,CAAC;IACvD,MAAM,WAAW,GAAG,WAAW;SAC5B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;SAChC,GAAG,CACF,CAAC,GAAG,EAAE,EAAE,CACN,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC,CACjD,CAAC;IACJ,MAAM,YAAY,GAAG,eAAe;QAClC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,WAAW,CAAC;QAC7B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC;IAChC,oFAAoF;IACpF,MAAM,MAAM,GACV,CAAC,MAAM,IAAI,YAAY,IAAI,CAAC;QAC1B,CAAC,CAAC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9E,MAAM,YAAY,GAAG,CAAC,GAAY,EAAE,OAAe,EAAE,EAAE;QACrD,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO;gBAC/B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,QAAQ,CAAC,OAAO,CACd,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EACxD,SAAS,CAAC,OAAO,EACjB,UAAU,CAAC,MAAM,CAClB,CAAC;YACN,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YACvD,OAAO;gBACL,GAAG;gBACH,OAAO,EAAE,MAAM,CAAC,KAAK;gBACrB,GAAG,EAAE,MAAM;oBACT,CAAC,CAAC;wBACE,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,MAAM;wBACrD,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM;wBACrC,KAAK,EAAE,CAAC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,MAAM;wBAC7D,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,MAAM;qBAC7D;oBACH,CAAC,CAAC;wBACE,CAAC,EAAE,MAAM,CAAC,MAAM;wBAChB,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU;wBACrB,KAAK,EAAE,MAAM,CAAC,SAAS;wBACvB,MAAM,EAAE,MAAM,CAAC,UAAU;qBAC1B;gBACL,KAAK,EAAE;oBACL,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM;oBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO;iBACvC;gBACD,OAAO,EAAE,MAAM,EAAE,OAAO,IAAK,mBAA0C;gBACvE,SAAS,EAAE,MAAM;aAClB,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACjD,OAAO;YACL,GAAG;YACH,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,GAAG,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE,OAAO,CAAC;YAC/D,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,SAAS,EAAE,SAAS;SACrB,CAAC;IACJ,CAAC,CAAC;IACF,IAAI,QAUS,CAAC;IACd,IAAI,WAAW,GAAG,0CAA0C,CAAC;IAC7D,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,UAAU,EAAE,CAAC;QACb,QAAQ,CAAC,cAAc,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAY;YACtB,GAAG,KAAK;YACR,OAAO,EAAE;gBACP,GAAG,KAAK,CAAC,OAAO;gBAChB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,OAAO,CAAC,SAAS;aAC1B;YACD,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBACjC,GAAG,CAAC;gBACJ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC3B,GAAG,CAAC;oBACJ,KAAK,EAAE;wBACL,GAAG,CAAC,CAAC,KAAK;wBACV,QAAQ,EAAE,CAAC,GAAG,EAAE;4BACd,MAAM,IAAI,GAAG,UAAU,EAAE,OAAO;gCAC9B,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC;oCAC1D,EAAE,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;gCACzC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;4BACrB,qEAAqE;4BACrE,OAAO,eAAe;gCACpB,CAAC,CAAC,IAAI,CAAC,GAAG,CACN,IAAI,EACJ,IAAI,CAAC,GAAG,CACN,IAAI,GAAG,KAAK,EACZ,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC,CAC5C,CACF;gCACH,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC;wBACnB,CAAC,CAAC,EAAE;wBACJ,aAAa,EAAE,UAAU,EAAE,OAAO;4BAChC,CAAC,CAAC,CAAC;4BACH,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,GAAG,KAAK;qBAClC;iBACF,CAAC,CAAC;aACJ,CAAC,CAAC;SACJ,CAAC;QACF,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,UAAU,GAAG,CAAC,GAAG,OAAO,CAAC;YAC5D,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;YACpE,MAAM,SAAS,GAAqB,EAAE,CAAC;YACvC,MAAM,SAAS,GAAsD,EAAE,CAAC;YACxE,IAAI,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC;YACjC,IAAI,IAAI,GAAG,IAAI,CAAC;YAChB,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC3D,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAE,CAAC;gBACrD,IACE,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;oBACpC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,EACzC,CAAC;oBACD,IAAI,GAAG,KAAK,CAAC;oBACb,WAAW,GAAG,wCAAwC,CAAC;oBACvD,MAAM;gBACR,CAAC;gBACD,4EAA4E;gBAC5E,MAAM,MAAM,GACV,UAAU,CAAC,OAAO;oBAClB,IAAI,CAAC,EAAE,KAAK,cAAc;oBAC1B,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC;gBACvB,MAAM,OAAO,GACX,UAAU,CAAC,OAAO;oBAClB,IAAI,CAAC,EAAE,KAAK,aAAa;oBACzB,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,IAAI,IAAI,CAAC,EAAE,KAAK,aAAa,CAAC,CAAC;gBACvD,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC;gBAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC7D,IAAI,QAAQ;oBAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAClD,MAAM,KAAK,GAAG,QAAQ;oBACpB,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;wBAC/D,IAAI,CAAC,IAAI,CAAC,MAAM;4BAAE,OAAO,CAAC,CAAC;wBAC3B,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,OAAO,CAAC,CAAC;wBAC9C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;oBAClE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAClD,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACf,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;oBAAE,IAAI,GAAG,KAAK,CAAC;gBACnC,UAAU,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC/B,MAAM,YAAY,GAChB,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjE,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;gBACzD,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;gBACnE,IAAI,GAAG,CAAC,IAAI,IAAI,aAAa,GAAG,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACtE,IAAI,GAAG,KAAK,CAAC;oBACb,WAAW;wBACT,iEAAiE,CAAC;gBACtE,CAAC;gBACD,MAAM,SAAS,GAAG,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC;oBACrC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU;oBAC7B,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU;oBAC7B,KAAK,EAAE,CAAC,CAAC,KAAK,GAAG,UAAU;oBAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,UAAU;iBAC9B,CAAC,CAAC;gBACH,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;oBAC5D,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC;oBACnD,IAAI,QAAQ,GACV,IAAI,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACtE,IAAI,GAAG,GAAG;wBACR,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO;wBACzB,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM;wBAC5B,KAAK,EAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,QAAQ;wBACzC,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO;qBACzC,CAAC;oBACF,IAAI,KAAK,GAAG,MAAM,CAChB,GAAG,EACH,IAAI,CAAC,EAAE,KAAK,aAAa,IAAI,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAC7D,CAAC;oBACF,wEAAwE;oBACxE,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,GAC1C,eAAe,IAAI,CAAC,UAAU,CAAC,OAAO;wBACpC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC;wBACvC,CAAC,CAAC,EAAE,CAAC;oBACT,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CACxB,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,EAC9B,QAAQ,IAAI,QAAQ,CACrB,CAAC;oBACF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAClB,MAAM,IAAI,CAAC,QAAQ,EACnB,OAAO;wBACL,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS;4BACrB,CAAC,CAAC,GAAG;4BACL,CAAC,CAAC,GAAG;wBACP,CAAC,CAAC,IAAI,CAAC,GAAG,CACN,IAAI,CAAC,OAAO,IAAI,CAAC,EACjB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,GAAG,CAAC,CACvC,CACN,CAAC;oBACF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CACrB,SAAS,IAAI,QAAQ,EACrB,OAAO;wBACL,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS;4BACrB,CAAC,CAAC,GAAG;4BACL,CAAC,CAAC,GAAG;wBACP,CAAC,CAAC,IAAI,CAAC,GAAG,CACN,UAAU,CAAC,MAAM,EACjB,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,GAAG,CAAC,CACzC,CACN,CAAC;oBACF,iEAAiE;oBACjE,uEAAuE;oBACvE,IAAI,WAAW,GAAG,IAAI,CAAC;oBACvB,IAAI,eAAe,EAAE,CAAC;wBACpB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CACjB,QAAQ,GAAG,KAAK,CAAC,CAAC,EAClB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAC/C,CAAC;wBACF,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CACjB,GAAG,GAAG,KAAK,CAAC,CAAC,EACb,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAC7C,CAAC;wBACF,IAAI,IAAI,EAAE,CAAC;wBACX,QAAQ,IAAI,EAAE,CAAC;wBACf,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;wBAC7B,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;wBACjC,WAAW,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;oBAC5C,CAAC;oBACD,sEAAsE;oBACtE,IACE,KAAK,CAAC,CAAC,GAAG,QAAQ;wBAClB,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,SAAS;wBACjC,KAAK,CAAC,CAAC,GAAG,GAAG;wBACb,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM;wBAE/B,IAAI,GAAG,KAAK,CAAC;oBACf,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;oBACtD,SAAS,CAAC,IAAI,CAAC;wBACb,UAAU,EAAE,IAAI,CAAC,IAAI;wBACrB,SAAS,EAAE,IAAI,CAAC,GAAG;wBACnB,IAAI,EAAE,IAAI,CAAC,EAAE;wBACb,IAAI;wBACJ,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,UAAU;wBAC9B,QAAQ,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU;wBACzC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU;wBACzC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,UAAU;wBACrC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC;wBACnB,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC;wBACvB,OAAO,EAAE,OAAO,CAAC,OAAO;qBACzB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAC7B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,CAAC,IAAI;gBACN,SAAS,CAAC,IAAI,CACZ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,GAAG,CAAC;oBACL,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK;oBACrC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK;oBACrC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM;oBACtC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CACzC,CACJ,CAAC;YACF,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,UAAU,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACpD,QAAQ,GAAG;oBACT,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC5D,KAAK,EAAE,EAAE;oBACT,SAAS;oBACT,MAAM;oBACN,KAAK,EAAE,KAAK,GAAG,UAAU;oBACzB,IAAI,EAAE,UAAU;oBAChB,SAAS;iBACV,CAAC;gBACF,MAAM;YACR,CAAC;YACD,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAIJ,EAAE,CAAC;QACT,KAAK,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACxD,MAAM,UAAU,GAAgB,CAAC,EAAE,CAAC,CAAC;YACrC,KAAK,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACnD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI;qBAChC,KAAK,CAAC,mBAAmB,CAAC;qBAC1B,OAAO,EAAE,EAAE,CAAC;oBACb,IAAI,IAAI;wBAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC9B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACrB,UAAU,CACR,oBAAoB,EACpB,kEAAkE,CACnE,CAAC;oBACJ,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;YACD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;gBACrC,IAAI,IAAI;oBAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;gBACrC,MAAM,SAAS,GAAG,IAAI;oBACpB,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;wBAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CACtB,CAAC,EACD,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CACzC,CAAC;wBACF,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;4BAChC,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;4BACxC,OAAO,CACL,KAAK;gCACL,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;gCACvD,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAC1B,CAAC;wBACJ,CAAC,EAAE,CAAC,CAAC,CAAC;oBACR,CAAC,CAAC;oBACJ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBAChB,IAAI,CAAC,IAAI,CACP,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CACtE,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;YAC/B,WAAW,GAAG,8CAA8C,CAAC;YAC7D,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAkB,EAAE,CAAC;QAClC,IAAI,CAAC,GAAG,OAAO,CAAC;QAChB,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtE,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;YAChE,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CACtB,CAAC,CAAC,EAAE,EAAE,CACJ,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;gBAC9C,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CACzB,CAAC;YACF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAChD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAC9D,KAAK,GAAG,IAAI,CAAC,GAAG,CACd,OAAO,GAAG,IAAI,EACd,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAChD,CAAC;YACJ,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC;YAC3B,IAAI,MAAM,GACR,GAAG,CAAC,KAAK,KAAK,QAAQ;gBACpB,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC;gBAC7B,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,OAAO;oBACrB,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,GAAG,KAAK;oBACjC,CAAC,CAAC,OAAO,CAAC;YAChB,IACE,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,OAAO;gBACnC,QAAQ,GAAG,KAAK,GAAG,OAAO,CAAC,SAAS,GAAG,OAAO;gBAE9C,IAAI,GAAG,KAAK,CAAC;YACf,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAc,EAAE;gBAC7C,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC7C,MAAM,IAAI,MAAM,CAAC,CAAC,CAAE,CAAC;gBACrB,IACE,IAAI,CAAC,GAAG,CAAC,IAAI;oBACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,GAAG,IAAI,GAAG,OAAO,CAAC,WAAW,EACjE,CAAC;oBACD,IAAI,GAAG,KAAK,CAAC;oBACb,WAAW,GAAG,mDAAmD,CAAC;gBACpE,CAAC;gBACD,OAAO;oBACL,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,QAAQ,EAAE;wBACR,UAAU,EAAE,GAAG,CAAC,UAAU;wBAC1B,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS;wBAC7B,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI;wBACnB,CAAC;wBACD,QAAQ;wBACR,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ;wBACjC,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC;wBACrC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC;wBACzC,OAAO,EAAE,IAAI,CAAC,OAAO;qBACtB;iBACF,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,IAAI;gBACJ,QAAQ;aACT,CAAC,CAAC;YACH,CAAC,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,GAAG,CAAC;QACvC,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CACrB,OAAO,CAAC,SAAS,EACjB,IAAI,CAAC,GAAG,CACN,CAAC,EACD,CAAC;gBACC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBACV,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;wBAC9D,GAAG;oBACL,CAAC,CAAC,CAAC,CAAC;gBACN,OAAO,CACV,CACF,CAAC;YACF,QAAQ,GAAG;gBACT,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC5D,KAAK,EAAE,OAAO;gBACd,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAChE,MAAM;gBACN,KAAK;gBACL,IAAI,EAAE,IAAI,CAAC,MAAM;aAClB,CAAC;YACF,MAAM;QACR,CAAC;IACH,CAAC;IACD,IAAI,CAAC,QAAQ;QAAE,UAAU,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;IAC1D,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACpD,IAAI,eAAe,KAAK,WAAW;QACjC,WAAW,CAAC,IAAI,CACd,KAAK,CACH,yBAAyB,EACzB,qFAAqF,CACtF,CACF,CAAC;IACJ,IACE,QAAQ,CAAC,SAAS,CAAC,IAAI,CACrB,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,KAAK,qBAAqB,CACzD;QAED,WAAW,CAAC,IAAI,CACd,KAAK,CACH,yBAAyB,EACzB,2DAA2D,CAC5D,CACF,CAAC;IACJ,MAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC;IAC7C,IACE,eAAe;QACf,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI;QAElE,WAAW,CAAC,IAAI,CACd,KAAK,CACH,2BAA2B,EAC3B,oDAAoD,CACrD,CACF,CAAC;IACJ,IAAI,OAAO,CAAC,YAAY,IAAI,QAAQ,CAAC,MAAM;QACzC,WAAW,CAAC,IAAI,CACd,KAAK,CACH,mBAAmB,EACnB,kDAAkD,CACnD,CACF,CAAC;IACJ,MAAM,KAAK,GAAG,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,YAAY,EACvE,MAAM,GAAG,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,YAAY,CAAC;IACzE,yEAAyE;IACzE,qEAAqE;IACrE,MAAM,MAAM,GAAiB;QAC3B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,OAAO;QACP,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;QACrD,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE;QAC3D,KAAK,EAAE,KAAK,CAAC,YAAY;YACvB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE;YAC/D,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACjD,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACzB,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS;gBACjE,OAAO,EAAE,CAAC;YACZ,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBAClD,MAAM,GAAG,GAAG;oBACV,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,SAAU,CAAC,MAAM,GAAG,OAAO;oBACrD,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAU,CAAC,UAAU;oBACtD,KAAK,EAAE,CAAC,MAAM,CAAC,MAAM,CAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,GAAG;oBAC3D,MAAM,EAAE,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAU,CAAC,UAAU;iBACxD,CAAC;gBACF,OAAO;oBACL,IAAI,CAAC,SAAU,CAAC,QAAQ,CAAC,KAAK,CAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC;gBAClE,OAAO;oBACL,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS;oBAC7B,KAAK;oBACL,GAAG;iBACJ,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CACH;QACD,UAAU,EAAE,QAAQ,CAAC,IAAI;QACzB,YAAY,EAAE,QAAQ,CAAC,KAAK;QAC5B,YAAY;QACZ,oBAAoB,EAAE,KAAK;QAC3B,qBAAqB,EAAE,MAAM;QAC7B,kBAAkB,EAChB,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB;QAC7D,kBAAkB,EAAE,eAAe;QACnC,sBAAsB,EACpB,eAAe,KAAK,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW;QAC9D,OAAO,EACL,eAAe,KAAK,WAAW;YAC7B,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,gCAAgC;QACtC,mBAAmB,EAAE,QAAQ;QAC7B,eAAe,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;QACvC,gBAAgB,EAAE,UAAU;QAC5B,YAAY,EAAE,2BAA2B;QACzC,aAAa,EAAE,SAAS;QACxB,WAAW;KACZ,CAAC;IACF,OAAO,UAAU,CAAC;QAChB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,MAAM;QACN,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtE,CAAC,CAAC;AACL,CAAC"}
|
package/dist/layout/render.js
CHANGED
|
@@ -67,7 +67,7 @@ export function renderWithLayout(scene, motion, options) {
|
|
|
67
67
|
if (runs.some((r) => r.text &&
|
|
68
68
|
r.style.fontSize * scale <
|
|
69
69
|
(descriptor?.group === "Useful" && r.style.fontSize >= 14 ? 12 : 8)))
|
|
70
|
-
fail("below-readable-size", "
|
|
70
|
+
fail("below-readable-size", "Text is too small. Enlarge output or use plain text.", ["sizing"]);
|
|
71
71
|
}
|
|
72
72
|
if (displayHeight > LIMITS.svgHeight)
|
|
73
73
|
fail("invalid-options", "Proportional display height exceeds 400 pixels.", [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/layout/render.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/layout/render.ts"],"names":[],"mappings":"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"}
|
package/dist/model/layout.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ExportOptions, SceneV1, TextStyle, Diagnostic } from "./types.js";
|
|
2
|
+
export type LayoutAlgorithm = "fit/v1" | "fit/v2";
|
|
2
3
|
export interface LayoutRequest {
|
|
3
|
-
readonly algorithm:
|
|
4
|
+
readonly algorithm: LayoutAlgorithm;
|
|
4
5
|
readonly width: number;
|
|
5
6
|
readonly maxHeight: number;
|
|
6
7
|
readonly variant: "standard" | "compact" | "auto";
|
|
@@ -25,7 +26,7 @@ export interface PaintBounds {
|
|
|
25
26
|
/** Text is shaped as a complete fragment. The key is validated against every field. */
|
|
26
27
|
export interface TextMeasurementRequest {
|
|
27
28
|
readonly key: string;
|
|
28
|
-
readonly algorithm:
|
|
29
|
+
readonly algorithm: LayoutAlgorithm;
|
|
29
30
|
readonly profile: string;
|
|
30
31
|
readonly text: string;
|
|
31
32
|
readonly style: TextStyle;
|
|
@@ -61,7 +62,7 @@ export interface LayoutFragment {
|
|
|
61
62
|
readonly quality: MeasurementQuality;
|
|
62
63
|
}
|
|
63
64
|
export interface LayoutReport {
|
|
64
|
-
readonly algorithm:
|
|
65
|
+
readonly algorithm: LayoutAlgorithm;
|
|
65
66
|
readonly profile: string;
|
|
66
67
|
readonly variant: "standard" | "compact";
|
|
67
68
|
readonly artboard: {
|
|
@@ -77,6 +78,7 @@ export interface LayoutReport {
|
|
|
77
78
|
readonly ink: PaintBounds;
|
|
78
79
|
}[];
|
|
79
80
|
readonly visualRows: number;
|
|
81
|
+
/** Candidate scale; fit/v2 clamps each field separately at its readable floor. */
|
|
80
82
|
readonly contentScale: number;
|
|
81
83
|
readonly displayScale: number | null;
|
|
82
84
|
readonly resolvedDisplayWidth: number | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/model/layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEhF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/model/layout.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
import type { PresentationDescriptor, TextStyle } from "../model/types.js";
|
|
2
|
-
export
|
|
1
|
+
import type { PresentationDescriptor, PresentationSlot, TextStyle } from "../model/types.js";
|
|
2
|
+
export type RuntimeSlot = PresentationSlot;
|
|
3
|
+
export type RuntimePresentation = Omit<PresentationDescriptor, "slots" | "parameters" | "accentGeometry" | "name" | "renderers"> & {
|
|
4
|
+
readonly slots: readonly RuntimeSlot[];
|
|
5
|
+
};
|
|
3
6
|
export declare function getPresentationDescriptors(): readonly PresentationDescriptor[];
|
|
4
|
-
export declare
|
|
7
|
+
export declare const SEPARATOR_STYLE: TextStyle;
|
|
8
|
+
export declare function presentationDescriptor(profile: string): RuntimePresentation | undefined;
|
|
5
9
|
//# sourceMappingURL=catalog.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/presentations/catalog.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,sBAAsB,
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/presentations/catalog.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,sBAAsB,EACtB,gBAAgB,EAEhB,SAAS,EACV,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,WAAW,GAAG,gBAAgB,CAAC;AAC3C,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,sBAAsB,EACtB,OAAO,GAAG,YAAY,GAAG,gBAAgB,GAAG,MAAM,GAAG,WAAW,CACjE,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAA;CAAE,CAAC;AAiZ/C,wBAAgB,0BAA0B,IAAI,SAAS,sBAAsB,EAAE,CA+B9E;AACD,eAAO,MAAM,eAAe,EAAE,SAM5B,CAAC;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,GACd,mBAAmB,GAAG,SAAS,CAEjC"}
|