@mermanjs/web-render 0.10.0-alpha.1 → 0.10.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.
@@ -177,6 +177,166 @@ const SVG_URL_REFERENCE_ATTRIBUTES = new Set([
177
177
  "mask",
178
178
  "stroke",
179
179
  ]);
180
+ function assertStepAnimations(elements, ids, error) {
181
+ const allowed = new Set();
182
+ const fail = () => error("SVG with an invalid Step animation contract.");
183
+ const require = (condition) => { if (!condition)
184
+ throw fail(); };
185
+ const attrs = (node, names) => {
186
+ require(node.namespace === "http://www.w3.org/2000/svg" && !node.tag.name.includes(":"));
187
+ const values = new Map();
188
+ for (const attribute of node.tag.attributes) {
189
+ if (attribute.name === "xmlns" && attribute.value === "http://www.w3.org/2000/svg")
190
+ continue;
191
+ require(names.includes(attribute.name) && !values.has(attribute.name));
192
+ values.set(attribute.name, decodeXmlEntities(attribute.value));
193
+ }
194
+ return values;
195
+ };
196
+ const get = (values, name) => {
197
+ const value = values.get(name);
198
+ if (value === undefined)
199
+ throw fail();
200
+ return value;
201
+ };
202
+ const number = (value) => {
203
+ require(/^(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?$/.test(value));
204
+ const result = Number(value);
205
+ require(Number.isFinite(result) && result >= 0);
206
+ return result;
207
+ };
208
+ const seconds = (value) => {
209
+ require(value.endsWith("s"));
210
+ return number(value.slice(0, -1));
211
+ };
212
+ const transform = (node, motion, duration) => {
213
+ const values = attrs(node, ["attributeName", "type", "values", "dur", "begin", "fill"]);
214
+ require(node.tag.name === "animateTransform" && node.children.length === 0 &&
215
+ get(values, "attributeName") === "transform" && get(values, "type") === "scale" &&
216
+ get(values, "values") === "1;1" && get(values, "dur") === duration &&
217
+ get(values, "begin") === `${motion}.begin` && get(values, "fill") === "remove");
218
+ };
219
+ let commonTiming;
220
+ for (const dot of elements) {
221
+ if (!dot.tag.attributes.some((attribute) => attribute.name === "class" && decodeXmlEntities(attribute.value) === "edge-step-dot"))
222
+ continue;
223
+ const dotAttrs = attrs(dot, ["class", "r", "aria-hidden", "transform", "data-step", "fill", "stroke"]);
224
+ require(dot.tag.name === "circle" && get(dotAttrs, "r") === "4" && get(dotAttrs, "aria-hidden") === "true");
225
+ const parent = dot.parent;
226
+ require(parent?.tag.name === "g" && parent.namespace === "http://www.w3.org/2000/svg" &&
227
+ (parent.tag.attributes.find((attribute) => attribute.name === "class")?.value.split(/\s+/).includes("edgePaths") ?? false));
228
+ require(!dot.forbiddenStepContainer);
229
+ const highlight = dot.previous;
230
+ if (!highlight)
231
+ throw fail();
232
+ const highlightAttrs = attrs(highlight, ["class", "aria-hidden", "d", "fill", "stroke", "stroke-width", "stroke-linecap", "stroke-opacity", "pointer-events", "transform", "data-step"]);
233
+ require(highlight.tag.name === "path" && get(highlightAttrs, "class") === "edge-step-highlight" &&
234
+ get(highlightAttrs, "aria-hidden") === "true" && get(highlightAttrs, "fill") === "none" &&
235
+ get(highlightAttrs, "stroke-width") === "4" && get(highlightAttrs, "stroke-linecap") === "round" &&
236
+ get(highlightAttrs, "stroke-opacity") === "0.6" && get(highlightAttrs, "pointer-events") === "none");
237
+ const edge = highlight.previous;
238
+ require(edge?.tag.name === "path" && edge.namespace === "http://www.w3.org/2000/svg" &&
239
+ edge.tag.attributes.some((attribute) => attribute.name === "data-edge" && attribute.value === "true") &&
240
+ edge.tag.attributes.some((attribute) => attribute.name === "id" && attribute.value !== ""));
241
+ const step = number(get(dotAttrs, "data-step"));
242
+ require(step > 0 && Number.isInteger(step) && get(highlightAttrs, "data-step") === get(dotAttrs, "data-step"));
243
+ require(dot.children.length === 2 && highlight.children.length === 1);
244
+ const motion = dot.children[0];
245
+ const dotTransform = dot.children[1];
246
+ const highlightTransform = highlight.children[0];
247
+ if (!motion || !dotTransform || !highlightTransform)
248
+ throw fail();
249
+ const motionAttrs = attrs(motion, ["id", "path", "dur", "begin", "fill"]);
250
+ const motionId = get(motionAttrs, "id");
251
+ require(motion.tag.name === "animateMotion" && motion.children.length === 0 &&
252
+ /^[a-z][a-z0-9_-]*$/i.test(motionId) && ids.get(motionId) === 1 && get(motionAttrs, "fill") === "remove");
253
+ const idStart = motionId.lastIndexOf("-") + 1;
254
+ const prefix = motionId.slice(0, idStart);
255
+ const edgeId = decodeXmlEntities(edge?.tag.attributes.find((attribute) => attribute.name === "id")?.value ?? "");
256
+ require(edgeId.startsWith(prefix));
257
+ const originalEdgeId = edgeId.slice(prefix.length);
258
+ const encoded = Array.from(`${originalEdgeId}-step`, (character) => /^[a-z0-9]$/i.test(character) ? character : `_${character.codePointAt(0)?.toString(16)}_`).join("");
259
+ require(motionId === `${prefix}step_${encoded}`);
260
+ const rootId = dot.root?.tag.attributes.find((attribute) => attribute.name === "id")?.value;
261
+ require(rootId !== undefined && edgeId.startsWith(`${decodeXmlEntities(rootId ?? "")}-`));
262
+ require(ids.get(edgeId) === 1 && ids.get(decodeXmlEntities(rootId ?? "")) === 1);
263
+ const durationText = get(motionAttrs, "dur");
264
+ const duration = seconds(durationText);
265
+ require(duration > 0);
266
+ const timing = get(motionAttrs, "begin").split(`;${motionId}.end+`);
267
+ require(timing.length === 2);
268
+ const begin = seconds(timing[0] ?? "");
269
+ const gap = seconds(timing[1] ?? "");
270
+ const count = gap / duration + 1;
271
+ const countTolerance = 4 * Number.EPSILON * count;
272
+ require(begin === (step - 1) * duration && Number.isFinite(count) && Number.isFinite(gap + duration) &&
273
+ gap >= begin && Math.abs(count - Math.round(count)) <= countTolerance);
274
+ if (commonTiming)
275
+ require(commonTiming[0] === duration && commonTiming[1] === gap);
276
+ commonTiming = [duration, gap];
277
+ const path = get(motionAttrs, "path");
278
+ const parked = get(dotAttrs, "transform");
279
+ require(get(highlightAttrs, "d") === path && get(highlightAttrs, "transform") === parked);
280
+ require(isFiniteStepPath(path, parked));
281
+ if (dotAttrs.has("fill"))
282
+ require(get(dotAttrs, "stroke") === "none" && get(dotAttrs, "fill") === get(highlightAttrs, "stroke"));
283
+ else
284
+ require(!dotAttrs.has("stroke") && get(highlightAttrs, "stroke") === "currentColor");
285
+ transform(dotTransform, motionId, durationText);
286
+ transform(highlightTransform, motionId, durationText);
287
+ for (const node of [dot, highlight, motion, dotTransform, highlightTransform])
288
+ allowed.add(node);
289
+ }
290
+ for (const node of elements)
291
+ require(allowed.has(node));
292
+ }
293
+ function isFiniteStepPath(path, parked) {
294
+ const token = /[MmLlHhVvCcSsQqTtAaZz]|[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?/g;
295
+ const arities = { m: 2, l: 2, h: 1, v: 1, c: 6, s: 4, q: 4, t: 2, a: 7, z: 0 };
296
+ let cursor = 0;
297
+ let command = "";
298
+ let count = 0;
299
+ let start = [];
300
+ for (const match of path.matchAll(token)) {
301
+ const separator = path.slice(cursor, match.index);
302
+ if (!/^\s*(?:,\s*)?$/.test(separator))
303
+ return false;
304
+ const value = match[0];
305
+ cursor = match.index + value.length;
306
+ if (/^[a-z]$/i.test(value)) {
307
+ if (separator.includes(","))
308
+ return false;
309
+ const arity = arities[command];
310
+ if (command && (arity === undefined || (arity > 0 && (count === 0 || count % arity !== 0))))
311
+ return false;
312
+ if (!command && value.toLowerCase() !== "m")
313
+ return false;
314
+ command = value.toLowerCase();
315
+ count = 0;
316
+ }
317
+ else {
318
+ if (count === 0 && separator.includes(","))
319
+ return false;
320
+ const arity = arities[command];
321
+ const numeric = Number(value);
322
+ if (!arity || !Number.isFinite(numeric))
323
+ return false;
324
+ if (start.length < 2)
325
+ start.push(numeric);
326
+ if (command === "a" && ((count % 7 < 2 && numeric < 0) || ((count % 7 === 3 || count % 7 === 4) && numeric !== 0 && numeric !== 1)))
327
+ return false;
328
+ count += 1;
329
+ }
330
+ }
331
+ const arity = arities[command];
332
+ if (start.length !== 2 || !/^\s*$/.test(path.slice(cursor)) || arity === undefined || (arity > 0 && (count === 0 || count % arity !== 0)))
333
+ return false;
334
+ if (parked === "scale(0)")
335
+ return true;
336
+ const translation = /^translate\(([^,]+),([^,)]+)\) scale\(0\)$/.exec(parked);
337
+ const numeric = /^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?$/;
338
+ return translation !== null && numeric.test(translation[1] ?? "") && numeric.test(translation[2] ?? "") && Number(translation[1]) === start[0] && Number(translation[2]) === start[1];
339
+ }
180
340
  const SELF_CONTAINED_SVG_POLICY = Object.freeze({
181
341
  anchorNavigation: "fragment-only",
182
342
  });
@@ -206,6 +366,10 @@ class SvgSafetyScanner {
206
366
  this.embeddedImagePixels = 0;
207
367
  this.hasFragmentReferences = false;
208
368
  this.elementStack = [];
369
+ this.stepElements = [];
370
+ this.stepStack = [];
371
+ this.svgIds = new Map();
372
+ this.inspectSteps = source.includes("edge-step-");
209
373
  }
210
374
  assertSafe() {
211
375
  if (this.source.length > MAX_SAFE_SVG_SOURCE_CODE_UNITS ||
@@ -229,6 +393,7 @@ class SvgSafetyScanner {
229
393
  if (openElementName !== elementName) {
230
394
  throw this.error("malformed SVG output.");
231
395
  }
396
+ this.stepStack.pop();
232
397
  if (elementName === "foreignobject" && this.foreignObjectDepth > 0) {
233
398
  this.foreignObjectDepth -= 1;
234
399
  }
@@ -259,6 +424,39 @@ class SvgSafetyScanner {
259
424
  }
260
425
  this.assertSafeElementName(elementName, inForeignObject);
261
426
  this.assertSafeAttributes(elementName, tag.attributes, inForeignObject || elementName === "foreignobject");
427
+ if (this.inspectSteps) {
428
+ const parent = this.stepStack[this.stepStack.length - 1];
429
+ const fact = {
430
+ tag,
431
+ parent,
432
+ root: parent?.root ?? parent,
433
+ forbiddenStepContainer: (parent?.forbiddenStepContainer ?? false) ||
434
+ (parent !== undefined && (elementName === "svg" || elementName === "foreignobject")),
435
+ children: [],
436
+ namespace: parent?.namespace ?? "http://www.w3.org/2000/svg",
437
+ };
438
+ for (const attribute of tag.attributes) {
439
+ if (attribute.name === "xmlns")
440
+ fact.namespace = decodeXmlEntities(attribute.value);
441
+ if (attribute.name === "id") {
442
+ const id = decodeXmlEntities(attribute.value);
443
+ this.svgIds.set(id, (this.svgIds.get(id) ?? 0) + 1);
444
+ }
445
+ }
446
+ const stepClass = tag.attributes.find((attribute) => attribute.name === "class")?.value;
447
+ if (parent) {
448
+ if (stepClass === "edge-step-dot" || stepClass === "edge-step-highlight")
449
+ fact.previous = parent.lastChild;
450
+ const parentClass = parent.tag.attributes.find((attribute) => attribute.name === "class")?.value;
451
+ if (parentClass === "edge-step-dot" || parentClass === "edge-step-highlight" || parent.tag.name === "animateMotion" || parent.tag.name === "animateTransform")
452
+ parent.children.push(fact);
453
+ parent.lastChild = fact;
454
+ }
455
+ if (stepClass === "edge-step-dot" || stepClass === "edge-step-highlight" || elementName === "animatemotion" || elementName === "animatetransform")
456
+ this.stepElements.push(fact);
457
+ if (!tag.selfClosing)
458
+ this.stepStack.push(fact);
459
+ }
262
460
  if (elementName === "foreignobject" && !tag.selfClosing) {
263
461
  this.foreignObjectDepth += 1;
264
462
  }
@@ -282,11 +480,19 @@ class SvgSafetyScanner {
282
480
  if (this.foreignObjectDepth !== 0) {
283
481
  throw this.error("malformed SVG output.");
284
482
  }
483
+ assertStepAnimations(this.stepElements, this.svgIds, (message) => this.error(message));
285
484
  return Object.freeze({ hasFragmentReferences: this.hasFragmentReferences });
286
485
  }
287
486
  nextTag() {
288
487
  while (true) {
289
488
  const start = this.source.indexOf("<", this.cursor);
489
+ const container = this.stepStack[this.stepStack.length - 1];
490
+ const containerClass = container?.tag.attributes.find((attribute) => attribute.name === "class")?.value;
491
+ const inStep = container && (container.tag.name === "animateMotion" || container.tag.name === "animateTransform" || containerClass === "edge-step-dot" || containerClass === "edge-step-highlight");
492
+ if (inStep &&
493
+ !isOnlyWhitespace(this.source.slice(this.cursor, start < 0 ? this.source.length : start))) {
494
+ throw this.error("SVG with an invalid Step animation contract.");
495
+ }
290
496
  if (start < 0) {
291
497
  this.cursor = this.source.length;
292
498
  return null;
@@ -303,6 +509,8 @@ class SvgSafetyScanner {
303
509
  continue;
304
510
  }
305
511
  if (this.source.startsWith("<![CDATA[", start)) {
512
+ if (inStep)
513
+ throw this.error("SVG with an invalid Step animation contract.");
306
514
  this.cursor = this.consumeUntil(start + 9, "]]>");
307
515
  continue;
308
516
  }
@@ -381,7 +589,7 @@ class SvgSafetyScanner {
381
589
  throw this.error("malformed SVG output.");
382
590
  }
383
591
  assertSafeElementName(name, inForeignObject) {
384
- if (ACTIVE_SVG_ELEMENTS.has(name)) {
592
+ if (ACTIVE_SVG_ELEMENTS.has(name) && !(this.inspectSteps && !inForeignObject && (name === "animatemotion" || name === "animatetransform"))) {
385
593
  throw this.error("SVG with active embedded content.");
386
594
  }
387
595
  if (inForeignObject) {
@@ -390,7 +598,7 @@ class SvgSafetyScanner {
390
598
  }
391
599
  return;
392
600
  }
393
- if (!SVG_ELEMENTS.has(name)) {
601
+ if (!SVG_ELEMENTS.has(name) && name !== "animatemotion" && name !== "animatetransform") {
394
602
  throw this.error("SVG with unsupported element content.");
395
603
  }
396
604
  }
@@ -1 +1 @@
1
- {"version":3,"file":"svg-safety-policy.js","sourceRoot":"","sources":["../src/svg-safety-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"svg-safety-policy.js","sourceRoot":"","sources":["../src/svg-safety-policy.ts"],"names":[],"mappings":"AAAA,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,QAAQ;IACR,SAAS;IACT,eAAe;IACf,kBAAkB;IAClB,SAAS;IACT,OAAO;IACP,KAAK;CACN,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAC3B,GAAG;IACH,QAAQ;IACR,UAAU;IACV,MAAM;IACN,MAAM;IACN,SAAS;IACT,SAAS;IACT,eAAe;IACf,qBAAqB;IACrB,aAAa;IACb,kBAAkB;IAClB,mBAAmB;IACnB,mBAAmB;IACnB,gBAAgB;IAChB,cAAc;IACd,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,gBAAgB;IAChB,SAAS;IACT,SAAS;IACT,aAAa;IACb,cAAc;IACd,UAAU;IACV,cAAc;IACd,oBAAoB;IACpB,aAAa;IACb,QAAQ;IACR,cAAc;IACd,QAAQ;IACR,eAAe;IACf,GAAG;IACH,OAAO;IACP,MAAM;IACN,gBAAgB;IAChB,QAAQ;IACR,MAAM;IACN,UAAU;IACV,MAAM;IACN,SAAS;IACT,SAAS;IACT,UAAU;IACV,gBAAgB;IAChB,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,UAAU;IACV,OAAO;IACP,OAAO;IACP,KAAK;IACL,MAAM;CACP,CAAC,CAAC;AAEH,MAAM,6BAA6B,GAAG,IAAI,GAAG,CAAC;IAC5C,GAAG;IACH,KAAK;IACL,MAAM;IACN,GAAG;IACH,IAAI;IACJ,GAAG;IACH,QAAQ;IACR,GAAG;IACH,IAAI;IACJ,GAAG;IACH,GAAG;IACH,OAAO;IACP,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;CACN,CAAC,CAAC;AAEH,MAAM,qCAAqC,GAAG,IAAI,GAAG,CAAC;IACpD,WAAW;IACX,iBAAiB;IACjB,WAAW;IACX,UAAU;CACX,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAClD,MAAM,8BAA8B,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AACxD,MAAM,gCAAgC,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAC1D,MAAM,sCAAsC,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAChE,MAAM,yBAAyB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AACnD,MAAM,+BAA+B,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AACzD,MAAM,8BAA8B,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AACxD,MAAM,8BAA8B,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AACxD,MAAM,iCAAiC,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAC3D,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAC/D,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;CACP,CAAC,CAAC;AACH,MAAM,8BAA8B,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACjE,MAAM,qBAAqB,GAAG,gEAAgE,CAAC;AAC/F,MAAM,aAAa,GAAG,yDAAyD,CAAC;AAChF,MAAM,UAAU,GAAG,qBAAqB,CAAC;AACzC,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC;IACzC,SAAS;IACT,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,QAAQ;IACR,SAAS;IACT,SAAS;IACT,MAAM;IACN,MAAM;IACN,OAAO;CACR,CAAC,CAAC;AACH,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACjC,QAAQ;IACR,YAAY;IACZ,MAAM;IACN,MAAM;IACN,YAAY;IACZ,MAAM;IACN,UAAU;IACV,UAAU;IACV,MAAM;IACN,QAAQ;IACR,SAAS;IACT,KAAK;IACL,QAAQ;CACT,CAAC,CAAC;AACH,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAC;IAC3C,WAAW;IACX,eAAe;IACf,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,YAAY;IACZ,YAAY;IACZ,cAAc;IACd,MAAM;IACN,QAAQ;CACT,CAAC,CAAC;AA0BH,SAAS,oBAAoB,CAC3B,QAAgC,EAChC,GAAgC,EAChC,KAAiC;IAEjC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAe,CAAC;IACvC,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,CAAC,SAAkB,EAAQ,EAAE,GAAG,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAChF,MAAM,KAAK,GAAG,CAAC,IAAiB,EAAE,KAAwB,EAAuB,EAAE;QACjF,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,4BAA4B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACzF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;QACzC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YAC5C,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,IAAI,SAAS,CAAC,KAAK,KAAK,4BAA4B;gBAAE,SAAS;YAC7F,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YACvE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IACF,MAAM,GAAG,GAAG,CAAC,MAAmC,EAAE,IAAY,EAAU,EAAE;QACxE,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,IAAI,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,KAAa,EAAU,EAAE;QACvC,OAAO,CAAC,4CAA4C,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC;QAChD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,KAAa,EAAU,EAAE;QACxC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,IAAiB,EAAE,MAAc,EAAE,QAAgB,EAAQ,EAAE;QAC9E,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QACxF,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,kBAAkB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YACxE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,KAAK,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO;YAC/E,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,QAAQ;YAClE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,GAAG,MAAM,QAAQ,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC;IACpF,CAAC,CAAC;IACF,IAAI,YAAmD,CAAC;IACxD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,OAAO,IAAI,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,eAAe,CAAC;YAAE,SAAS;QAC5I,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QACvG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,KAAK,MAAM,CAAC,CAAC;QAC5G,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QAC1B,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,SAAS,KAAK,4BAA4B;YACnF,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QAC9H,OAAO,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,EAAE,CAAC;QAC7B,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;QACzL,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,KAAK,qBAAqB;YAC7F,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC,KAAK,MAAM,IAAI,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,MAAM;YACvF,GAAG,CAAC,cAAc,EAAE,cAAc,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,cAAc,EAAE,gBAAgB,CAAC,KAAK,OAAO;YAChG,GAAG,CAAC,cAAc,EAAE,gBAAgB,CAAC,KAAK,KAAK,IAAI,GAAG,CAAC,cAAc,EAAE,gBAAgB,CAAC,KAAK,MAAM,CAAC,CAAC;QACvG,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC;QAChC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,KAAK,4BAA4B;YAClF,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,WAAW,IAAI,SAAS,CAAC,KAAK,KAAK,MAAM,CAAC;YACrG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,IAAI,SAAS,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC;QAC9F,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,KAAK,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;QAC/G,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,kBAAkB,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,IAAI,CAAC,kBAAkB;YAAE,MAAM,IAAI,EAAE,CAAC;QAClE,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACxC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,eAAe,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YACzE,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC;QAC5G,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QACjH,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QACnC,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,OAAO,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxK,OAAO,CAAC,QAAQ,KAAK,GAAG,MAAM,QAAQ,OAAO,EAAE,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,KAAK,CAAC;QAC5F,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,iBAAiB,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1F,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACjF,MAAM,YAAY,GAAG,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QACvC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QACtB,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,QAAQ,OAAO,CAAC,CAAC;QACpE,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,GAAG,GAAG,QAAQ,GAAG,CAAC,CAAC;QACjC,MAAM,cAAc,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;QAClD,OAAO,CAAC,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC;YAClG,GAAG,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC;QACzE,IAAI,YAAY;YAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;QACnF,YAAY,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,KAAK,MAAM,CAAC,CAAC;QAC1F,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACxC,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;;YAC5H,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,KAAK,cAAc,CAAC,CAAC;QAC1F,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QAChD,SAAS,CAAC,kBAAkB,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QACtD,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,kBAAkB,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnG,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,QAAQ;QAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY,EAAE,MAAc;IACpD,MAAM,KAAK,GAAG,uEAAuE,CAAC;IACtF,MAAM,OAAO,GAAqC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACjH,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,OAAO,KAAK,CAAC;QACpD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;QACpC,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YAC/B,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC1G,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,GAAG;gBAAE,OAAO,KAAK,CAAC;YAC1D,OAAO,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;YAC9B,KAAK,GAAG,CAAC,CAAC;QACZ,CAAC;aAAM,CAAC;YACN,IAAI,KAAK,KAAK,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YACzD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,OAAO,KAAK,CAAC;YACtD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1C,IAAI,OAAO,KAAK,GAAG,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YAClJ,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACxJ,IAAI,MAAM,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,WAAW,GAAG,4CAA4C,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9E,MAAM,OAAO,GAAG,iDAAiD,CAAC;IAClE,OAAO,WAAW,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;AACxL,CAAC;AAUD,MAAM,yBAAyB,GAAoB,MAAM,CAAC,MAAM,CAAC;IAC/D,gBAAgB,EAAE,eAAe;CAClC,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAoB,MAAM,CAAC,MAAM,CAAC;IAC1D,gBAAgB,EAAE,oBAAoB;CACvC,CAAC,CAAC;AAEH,MAAM,UAAU,uCAAuC,CACrD,GAAW,EACX,aAAqB;IAErB,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE,aAAa,EAAE,yBAAyB,CAAC,CAAC;IACpF,OAAO,OAAO,CAAC,UAAU,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,GAAW,EACX,aAAqB;IAErB,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE,aAAa,EAAE,oBAAoB,CAAC,CAAC;IAC/E,OAAO,OAAO,CAAC,UAAU,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,gBAAgB;IAgBpB,YACmB,MAAc,EACd,aAAqB,EACrB,MAAuB;QAFvB,WAAM,GAAN,MAAM,CAAQ;QACd,kBAAa,GAAb,aAAa,CAAQ;QACrB,WAAM,GAAN,MAAM,CAAiB;QAlBlC,WAAM,GAAG,CAAC,CAAC;QACX,YAAO,GAAG,KAAK,CAAC;QAChB,cAAS,GAAG,CAAC,CAAC;QACd,iBAAY,GAAkB,IAAI,CAAC;QACnC,uBAAkB,GAAG,CAAC,CAAC;QACvB,8BAAyB,GAAG,CAAC,CAAC;QAC9B,uBAAkB,GAAG,CAAC,CAAC;QACvB,wBAAmB,GAAG,CAAC,CAAC;QACxB,0BAAqB,GAAG,KAAK,CAAC;QACrB,iBAAY,GAAa,EAAE,CAAC;QAC5B,iBAAY,GAAkB,EAAE,CAAC;QACjC,cAAS,GAAkB,EAAE,CAAC;QAC9B,WAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;QAQlD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACpD,CAAC;IAED,UAAU;QACR,IACE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,8BAA8B;YACnD,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,8BAA8B,CAAC,EAC9D,CAAC;YACD,MAAM,IAAI,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,MAAM;YACR,CAAC;YACD,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;gBAC/B,MAAM,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACvB,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACxC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACpD,MAAM,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBAC5C,CAAC;gBACD,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;gBAChD,IAAI,eAAe,KAAK,WAAW,EAAE,CAAC;oBACpC,MAAM,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBAC5C,CAAC;gBACD,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;gBACrB,IAAI,WAAW,KAAK,eAAe,IAAI,IAAI,CAAC,kBAAkB,GAAG,CAAC,EAAE,CAAC;oBACnE,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC;gBAC/B,CAAC;gBACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;gBAC1C,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;oBACzB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC;gBAC9B,CAAC;gBACD,SAAS;YACX,CAAC;YAED,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;oBAC1B,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBACtC,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;oBACrB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBACpC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;gBAC5C,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC;gBAC9B,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBAC5B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACpC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;YAC5C,CAAC;YACD,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YACzD,IAAI,CAAC,oBAAoB,CACvB,WAAW,EACX,GAAG,CAAC,UAAU,EACd,eAAe,IAAI,WAAW,KAAK,eAAe,CACnD,CAAC;YACF,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACzD,MAAM,IAAI,GAAgB;oBACxB,GAAG;oBACH,MAAM;oBACN,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,MAAM;oBAC5B,sBAAsB,EAAE,CAAC,MAAM,EAAE,sBAAsB,IAAI,KAAK,CAAC;wBAC/D,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,WAAW,KAAK,KAAK,IAAI,WAAW,KAAK,eAAe,CAAC,CAAC;oBACtF,QAAQ,EAAE,EAAE;oBACZ,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,4BAA4B;iBAC7D,CAAC;gBACF,KAAK,MAAM,SAAS,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;oBACvC,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO;wBAAE,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACpF,IAAI,SAAS,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;wBAC5B,MAAM,EAAE,GAAG,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;wBAC9C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACtD,CAAC;gBACH,CAAC;gBACD,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,KAAK,CAAC;gBACxF,IAAI,MAAM,EAAE,CAAC;oBACX,IAAI,SAAS,KAAK,eAAe,IAAI,SAAS,KAAK,qBAAqB;wBAAE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;oBAC3G,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,KAAK,CAAC;oBACjG,IAAI,WAAW,KAAK,eAAe,IAAI,WAAW,KAAK,qBAAqB,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,eAAe,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,kBAAkB;wBAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC1L,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;gBAC1B,CAAC;gBACD,IAAI,SAAS,KAAK,eAAe,IAAI,SAAS,KAAK,qBAAqB,IAAI,WAAW,KAAK,eAAe,IAAI,WAAW,KAAK,kBAAkB;oBAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChL,IAAI,CAAC,GAAG,CAAC,WAAW;oBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClD,CAAC;YAED,IAAI,WAAW,KAAK,eAAe,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACxD,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC;YAC/B,CAAC;YAED,IAAI,WAAW,KAAK,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBAChD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;gBACxD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACtB,MAAM,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBAC5C,CAAC;gBACD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBACvD,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBAC9B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;YACzB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzF,MAAM,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACpD,IAAI,IAAI,CAAC,kBAAkB,KAAK,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC5C,CAAC;QACD,oBAAoB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACvF,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC9E,CAAC;IAEO,OAAO;QACb,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACpD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC5D,MAAM,cAAc,GAAG,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,KAAK,CAAC;YACxG,MAAM,MAAM,GAAG,SAAS,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,KAAK,eAAe,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,KAAK,kBAAkB,IAAI,cAAc,KAAK,eAAe,IAAI,cAAc,KAAK,qBAAqB,CAAC,CAAC;YACpM,IAAI,MAAM;gBACR,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC5F,MAAM,IAAI,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;gBACjC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC9E,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACtC,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;gBAClD,SAAS;YACX,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;gBACjD,SAAS;YACX,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC/C,IAAI,MAAM;oBAAE,MAAM,IAAI,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;gBAC7E,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;gBAClD,SAAS;YACX,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;gBACxC,MAAM,IAAI,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACzD,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC;YACtB,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IAEO,QAAQ,CAAC,KAAa;QAC5B,IAAI,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC;QACvB,IAAI,IAAI,GAAmB,OAAO,CAAC;QACnC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;YAChC,IAAI,GAAG,KAAK,CAAC;YACb,MAAM,IAAI,CAAC,CAAC;QACd,CAAC;QAED,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,MAAM,CAAC;QACzB,OAAO,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACnF,MAAM,IAAI,CAAC,CAAC;QACd,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,UAAU,GAAmB,EAAE,CAAC;QACtC,OAAO,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;YACzE,CAAC;YACD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACpD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;YACxE,CAAC;YACD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBACnB,MAAM,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,cAAc,GAAG,MAAM,CAAC;YAC9B,OACE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;gBAC3B,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EACrD,CAAC;gBACD,MAAM,IAAI,CAAC,CAAC;YACd,CAAC;YACD,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;YAChE,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC7C,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChC,MAAM,IAAI,CAAC,CAAC;gBACZ,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAClC,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;oBACnC,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,CAAC;oBAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;oBACxD,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;wBACjB,MAAM,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;oBAC5C,CAAC;oBACD,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;oBAChD,MAAM,GAAG,QAAQ,GAAG,CAAC,CAAC;gBACxB,CAAC;qBAAM,CAAC;oBACN,MAAM,UAAU,GAAG,MAAM,CAAC;oBAC1B,OACE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;wBAC3B,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EACrD,CAAC;wBACD,MAAM,IAAI,CAAC,CAAC;oBACd,CAAC;oBACD,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;YACD,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC5C,CAAC;IAEO,qBAAqB,CAAC,IAAY,EAAE,eAAwB;QAClE,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC;YAC3I,MAAM,IAAI,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7C,MAAM,IAAI,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAClE,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACvF,MAAM,IAAI,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAEO,oBAAoB,CAC1B,WAAmB,EACnB,UAA0B,EAC1B,eAAwB;QAExB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,iCAAiC,EAAE,CAAC;gBAC/D,MAAM,IAAI,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;YACjE,CAAC;YACD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,oBAAoB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,KAAK,GAAG,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACjD,IAAI,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1C,MAAM,IAAI,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACzD,CAAC;YACD,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;gBACxB,IAAI,CAAC,oCAAoC,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;YACzE,CAAC;YACD,IAAI,oBAAoB,KAAK,MAAM,EAAE,CAAC;gBACpC,MAAM,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACpD,CAAC;YACD,IAAI,oBAAoB,KAAK,QAAQ,EAAE,CAAC;gBACtC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;YACD,IAAI,kBAAkB,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBACjD,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,oBAAoB,CAAC,CAAC;YACtF,CAAC;YACD,IAAI,4BAA4B,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBAC3D,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,oBAAoB,KAAK,OAAO,EAAE,CAAC;gBACrC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;YACD,IACE,eAAe;gBACf,qCAAqC,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAC/D,CAAC;gBACD,MAAM,IAAI,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;IACH,CAAC;IAEO,oCAAoC,CAAC,IAAY,EAAE,KAAa;QACtE,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACjD,MAAM,IAAI,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;gBAC5B,MAAM,IAAI,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACvE,CAAC;YACD,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,aAAa,GACjB,MAAM,KAAK,EAAE;gBACb,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,KAAK,oBAAoB;oBACpD,CAAC,MAAM,KAAK,OAAO;wBACjB,MAAM,KAAK,QAAQ;wBACnB,MAAM,KAAK,SAAS;wBACpB,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,IAAI,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QACD,IACE,IAAI,KAAK,KAAK;YACd,KAAK;iBACF,WAAW,EAAE;iBACb,KAAK,CAAC,MAAM,CAAC;iBACb,QAAQ,CAAC,QAAQ,CAAC,EACrB,CAAC;YACD,MAAM,IAAI,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAEO,aAAa,CACnB,KAAa,EACb,MAA2B,EAC3B,WAAoB,EACpB,aAAsB;QAEtB,MAAM,UAAU,GAAG,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC7E,MAAM,OAAO,GAAG,UAAU,CAAC;QAC3B,MAAM,OAAO,GAAG,+BAA+B,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1E,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAChD,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAClC,OAAO;QACT,CAAC;QACD,IACE,MAAM,KAAK,WAAW;YACtB,WAAW,KAAK,GAAG;YACnB,aAAa,KAAK,MAAM;YACxB,IAAI,CAAC,MAAM,CAAC,gBAAgB,KAAK,oBAAoB,EACrD,CAAC;YACD,IAAI,CAAC,6BAA6B,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACjF,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,IACE,MAAM,KAAK,WAAW;gBACtB,aAAa,KAAK,MAAM;gBACxB,CAAC,WAAW,KAAK,OAAO,IAAI,WAAW,KAAK,SAAS,CAAC,EACtD,CAAC;gBACD,MAAM,IAAI,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;YACpE,CAAC;YACD,IAAI,CAAC,+BAA+B,CAAC,UAAU,CAAC,CAAC;YACjD,OAAO;QACT,CAAC;QACD,IAAI,0BAA0B,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,CAAC,KAAK,CACd,MAAM,KAAK,KAAK;gBACd,CAAC,CAAC,2CAA2C;gBAC7C,CAAC,CAAC,2CAA2C,CAChD,CAAC;QACJ,CAAC;QACD,IACE,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC;YAC7B,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC;YAC9B,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YACxB,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EACzB,CAAC;YACD,MAAM,IAAI,CAAC,KAAK,CACd,MAAM,KAAK,KAAK;gBACd,CAAC,CAAC,4CAA4C;gBAC9C,CAAC,CAAC,wCAAwC,CAC7C,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,CAAC,KAAK,CACd,MAAM,KAAK,KAAK;YACd,CAAC,CAAC,qCAAqC;YACvC,CAAC,CAAC,iCAAiC,CACtC,CAAC;IACJ,CAAC;IAEO,6BAA6B,CACnC,QAAgB,EAChB,YAAoB,EACpB,UAAkB,EAClB,OAAe,EACf,OAAe;QAEf,wEAAwE;QACxE,wEAAwE;QACxE,yEAAyE;QACzE,IACE,YAAY,KAAK,UAAU;YAC3B,0BAA0B,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC3D,UAAU,KAAK,UAAU,CAAC,IAAI,EAAE;YAChC,OAAO,KAAK,UAAU,CAAC,WAAW,EAAE,EACpC,CAAC;YACD,MAAM,IAAI,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5C,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACzF,OAAO;QACT,CAAC;QAED,IAAI,MAAW,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAEO,+BAA+B,CAAC,KAAa;QACnD,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,MAAM,CAAC,YAAY,GAAG,gCAAgC,EAAE,CAAC;YAC3D,MAAM,IAAI,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACpF,CAAC;QACD,IACE,MAAM,CAAC,YAAY;YACnB,sCAAsC,GAAG,IAAI,CAAC,yBAAyB,EACvE,CAAC;YACD,MAAM,IAAI,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,MAAM,CAAC,YAAY,GAAG,wBAAwB,EAAE,CAAC;YACnD,MAAM,IAAI,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,MAAM,CAAC,YAAY,GAAG,8BAA8B,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACnF,MAAM,IAAI,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;QAChE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,KAAK,MAAM,CAAC,cAAc,EAAE,CAAC;YAC/C,MAAM,IAAI,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC9E,CAAC;QACD,IACE,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,GAAG,SAAS,CAAC,MAAM,CAAC,EAC1E,CAAC;YACD,MAAM,IAAI,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC7E,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC;QAClD,IAAI,MAAM,GAAG,+BAA+B,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACxE,MAAM,IAAI,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,CAAC,yBAAyB,IAAI,MAAM,CAAC,YAAY,CAAC;QACtD,IAAI,CAAC,kBAAkB,IAAI,MAAM,CAAC,YAAY,CAAC;QAC/C,IAAI,CAAC,mBAAmB,IAAI,MAAM,CAAC;IACrC,CAAC;IAEO,gBAAgB,CAAC,KAAa;QACpC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,MAAM,IAAI,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC3D,CAAC;IAEO,aAAa,CAAC,GAAW;QAC/B,MAAM,UAAU,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,MAAM,eAAe,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;QAC5C,IAAI,0BAA0B,CAAC,eAAe,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,6BAA6B,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC5D,CAAC;QACD,IACE,mBAAmB,CAAC,KAAK,EAAE,WAAW,CAAC;YACvC,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,CAAC,EAC/C,CAAC;YACD,MAAM,IAAI,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,sCAAsC,CAAC,KAAK,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,OAAO,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC9C,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACjB,OAAO;YACT,CAAC;YACD,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;YACjC,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACvC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC1B,SAAS;YACX,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,CAAC;YAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAChD,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACjB,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACzC,CAAC;YACD,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YACpE,MAAM,QAAQ,GACZ,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACpD,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAClD,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvB,CAAC,CAAC,QAAQ,CAAC;YACf,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACpC,MAAM,GAAG,QAAQ,GAAG,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAEO,uBAAuB,CAAC,KAAa,EAAE,aAAqB;QAClE,MAAM,UAAU,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9D,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;QACvC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,eAAe,GAAG,KAAK,CAAC;QAE5B,OAAO,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC9C,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACjB,MAAM;YACR,CAAC;YACD,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;YACjC,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACvC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC1B,SAAS;YACX,CAAC;YACD,eAAe,GAAG,IAAI,CAAC;YACvB,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,CAAC;YAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAChD,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACjB,MAAM,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACpD,CAAC;YACD,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/D,MAAM,QAAQ,GACZ,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACpD,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAClD,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvB,CAAC,CAAC,QAAQ,CAAC;YACf,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACpC,MAAM,GAAG,QAAQ,GAAG,CAAC,CAAC;QACxB,CAAC;QAED,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,+BAA+B,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1E,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YACnC,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;gBAC3D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBACjC,MAAM,IAAI,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;gBACnE,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAClC,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACpF,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAEO,2BAA2B,CAAC,KAAa;QAC/C,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,OAAO,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC7C,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACjC,OAAO;YACT,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;gBAC3C,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC9C,SAAS;YACX,CAAC;YACD,MAAM,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,KAAa,EAAE,UAAkB;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACnD,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YACZ,MAAM,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC;IACjC,CAAC;IAEO,KAAK,CAAC,MAAc;QAC1B,OAAO,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,aAAa,IAAI,MAAM,EAAE,CAAC,CAAC;IACtD,CAAC;CACF;AAkBD,SAAS,kBAAkB,CAAC,KAAa;IACvC,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,YAAY,IAAI,CAAC,IAAI,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,YAAY,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;IACxD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO;QACL,cAAc,EAAE,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,IAAqB;QAChE,OAAO;QACP,YAAY,EAAE,OAAO,CAAC,MAAM;QAC5B,YAAY;KACb,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,OAAe,EAAE,YAAoB;IACzD,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC;IAC5C,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7C,MAAM,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC;QAC7C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3C,YAAY,IAAI,CAAC,CAAC;QAClB,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,IAAI,KAAK,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,SAAS;QACX,CAAC;QAED,MAAM,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,YAAY,IAAI,CAAC,CAAC;QAClB,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,SAAS;QACX,CAAC;QAED,MAAM,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7C,YAAY,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,YAAY,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACvD,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC;QAC7B,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;IACD,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;QAC9B,OAAO,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;IACxB,CAAC;IACD,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC;QAC7B,OAAO,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;IACxB,CAAC;IACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAiB;IAC3C,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;QACzE,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC/D,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;QACrC,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;QAC3D,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAC,KAAiB;IACnC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,OAAO,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC7B,IAAI,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,EAAE,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9C,IAAI,MAAM,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,EAAE,EAAE,CAAC;YAC5E,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,CAAC,CAAC;QAEpC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,IAAI,KAAK,MAAM,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;gBACrC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAChD,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;YACrD,IACE,WAAW,KAAK,IAAI;gBACpB,YAAY,KAAK,IAAI;gBACrB,WAAW,KAAK,CAAC;gBACjB,YAAY,KAAK,CAAC;gBAClB,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAAC,CAAC,EAC9D,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,KAAK,GAAG,WAAW,CAAC;YACpB,MAAM,GAAG,YAAY,CAAC;YACtB,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;aAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QACD,IAAI,8BAA8B,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,MAAM,UAAU,GAAG,sCAAsC,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YACpF,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,EAAE,CAAC;gBACtC,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,IAAI,UAAU,IAAI,YAAY,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;gBACnF,OAAO,IAAI,CAAC;YACd,CAAC;YACD,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;aAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3B,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3B,IAAI,MAAM,KAAK,CAAC,IAAI,IAAI,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC1C,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,GAAG,IAAI,CAAC;YACd,MAAM,GAAG,IAAI,CAAC;YACd,MAAM;QACR,CAAC;aAAM,IAAI,YAAY,EAAE,CAAC;YACxB,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,SAAS,IAAI,YAAY,IAAI,MAAM,IAAI,MAAM,KAAK,KAAK,CAAC,MAAM;QACnE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC5C,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,cAAc,CAAC,MAAkB;IACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,aAAa,GACjB,SAAS,KAAK,CAAC;QACb,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAClB,CAAC,CAAC,SAAS,KAAK,CAAC;YACf,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACT,CAAC,CAAC,SAAS,KAAK,CAAC;gBACf,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACd,CAAC,CAAC,SAAS,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC;oBAClC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;oBACT,CAAC,CAAC,EAAE,CAAC;IACf,OAAO,CACL,QAAQ,KAAK,SAAS;QACtB,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAChC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC;QAChB,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC;QAChB,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CACvC,CAAC;AACJ,CAAC;AAED,SAAS,sCAAsC,CAC7C,KAAiB,EACjB,KAAa,EACb,MAAc;IAEd,MAAM,GAAG,GAAG,KAAK,GAAG,MAAM,CAAC;IAC3B,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAClD,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,GAAG,KAAK,GAAG,EAAE,EAAE,CAAC;QAC3E,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IAC9C,MAAM,iBAAiB,GAAG,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IAChD,IACE,CAAC,eAAe,KAAK,CAAC,IAAI,eAAe,KAAK,CAAC,CAAC;QAChD,iBAAiB,KAAK,CAAC,EACvB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAC5D,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,oBAAoB,GAAG,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACtE,IAAI,oBAAoB,KAAK,IAAI,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,eAAe,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,QAAQ,CACf,KAAiB,EACjB,KAAa,EACb,GAAW,EACX,QAAgB;IAEhB,KAAK,IAAI,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAChD,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAC,KAAiB;IACnC,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;IACzB,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7F,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,mBAAmB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,IAAI,mBAAmB,EAAE,CAAC;QACxB,MAAM,eAAe,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,IAAI,eAAe,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,IAAI,eAAe,CAAC;IAC5B,CAAC;IAED,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,IAAI,qBAAqB,GAAG,KAAK,CAAC;IAClC,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,OAAO,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,IAAI,CAAC,CAAC;QACZ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,UAAU,GAAG,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC;YACrC,MAAM;QACR,CAAC;QACD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,IAAI,CAAC,CAAC;YACZ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAClC,IACE,qBAAqB;oBACrB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;oBACnB,OAAO,KAAK,SAAS;oBACrB,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;oBACtB,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;oBAC3B,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;oBACtB,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,EACvB,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,qBAAqB,GAAG,IAAI,CAAC;gBAC7B,MAAM,IAAI,CAAC,CAAC;gBACZ,SAAS;YACX,CAAC;YACD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC7C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAClB,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,GAAG,IAAI,CAAC;gBACd,SAAS;YACX,CAAC;YACD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC3C,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YACtD,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC7C,IACE,IAAI,KAAK,IAAI;gBACb,CAAC,WAAW,KAAK,aAAa,IAAI,WAAW,KAAK,aAAa,CAAC,EAChE,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,iBAAiB,GAAG,IAAI,CAAC;YACzB,MAAM,GAAG,IAAI,CAAC;YACd,SAAS;QACX,CAAC;QACD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,gBAAgB,IAAI,CAAC,CAAC;QACtB,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtC,IACE,SAAS,KAAK,IAAI;YAClB,QAAQ,KAAK,IAAI;YACjB,UAAU,KAAK,IAAI;YACnB,WAAW,KAAK,IAAI;YACpB,WAAW,KAAK,SAAS;YACzB,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;YAC1B,UAAU,KAAK,CAAC;YAChB,WAAW,KAAK,CAAC;YACjB,SAAS,GAAG,UAAU,GAAG,KAAK;YAC9B,QAAQ,GAAG,WAAW,GAAG,MAAM,EAC/B,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,kBAAkB,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,eAAe,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5D,IAAI,eAAe,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;gBAC5C,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,IAAI,eAAe,CAAC;QAC5B,CAAC;QACD,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QACtC,IACE,CAAC,CAAC,mBAAmB,IAAI,CAAC,kBAAkB,CAAC;YAC7C,eAAe,KAAK,SAAS;YAC7B,eAAe,GAAG,CAAC;YACnB,eAAe,GAAG,CAAC,EACnB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,GAAG,IAAI,CAAC;QACd,qBAAqB,GAAG,KAAK,CAAC;IAChC,CAAC;IAED,OAAO,UAAU,IAAI,gBAAgB,GAAG,CAAC,IAAI,CAAC,qBAAqB;QACjE,CAAC,CAAC;YACE,MAAM,EAAE,KAAK;YACb,KAAK;YACL,MAAM;YACN,QAAQ,EAAE,iBAAiB,IAAI,gBAAgB,GAAG,CAAC;SACpD;QACH,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAiB,EAAE,KAAa;IACxD,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,OAAO,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,IAAI,CAAC,CAAC;QACZ,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;YACjB,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,IAAI,MAAM,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CAAC,KAAiB;IACpC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,OAAO,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC7B,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,CAAC;QAC3B,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,IAAI,CAAC,CAAC;QACZ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,OAAO,QAAQ,IAAI,OAAO,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,KAAK,KAAK,CAAC,MAAM;gBACjE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACpD,CAAC,CAAC,IAAI,CAAC;QACX,CAAC;QACD,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;YAC7E,SAAS;QACX,CAAC;QAED,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,aAAa,KAAK,IAAI,IAAI,aAAa,GAAG,CAAC,IAAI,aAAa,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;YACzF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,CAAC;QAChC,MAAM,UAAU,GAAG,MAAM,GAAG,aAAa,CAAC;QAC1C,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,IAAI,QAAQ,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;gBAClC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;YACxD,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;YACvD,IACE,WAAW,KAAK,IAAI;gBACpB,YAAY,KAAK,IAAI;gBACrB,WAAW,KAAK,CAAC,EACjB,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,KAAK,GAAG,WAAW,CAAC;YACpB,MAAM,GAAG,YAAY,CAAC;YACtB,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;aAAM,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YACrD,IACE,aAAa,KAAK,CAAC;gBACnB,CAAC,QAAQ;gBACT,CAAC,OAAO;gBACR,MAAM,KAAK,CAAC;gBACZ,aAAa,KAAK,IAAI;gBACtB,aAAa,KAAK,CAAC,EACnB,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,GAAG,aAAa,CAAC;QACzB,CAAC;QACD,MAAM,GAAG,UAAU,CAAC;QACpB,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,SAAS;QACX,CAAC;QAED,OAAO,GAAG,IAAI,CAAC;QACf,OAAO,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACjD,IAAI,YAAY,GAAG,CAAC,IAAI,YAAY,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACzD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;YACrC,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;gBAC1E,MAAM,GAAG,YAAY,GAAG,CAAC,CAAC;gBAC1B,SAAS;YACX,CAAC;YACD,MAAM,GAAG,YAAY,CAAC;YACtB,MAAM;QACR,CAAC;QACD,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc;IACxC,OAAO,CACL,MAAM,IAAI,IAAI;QACd,MAAM,IAAI,IAAI;QACd,MAAM,KAAK,IAAI;QACf,MAAM,KAAK,IAAI;QACf,MAAM,KAAK,IAAI,CAChB,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAiB;IACpC,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACvC,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,OAAO,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC7B,IAAI,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QACjD,IAAI,SAAS,KAAK,IAAI,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1F,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,CAAC;QAC7B,MAAM,YAAY,GAAG,WAAW,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;QACrD,IAAI,YAAY,GAAG,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IACE,MAAM,KAAK,EAAE;YACb,SAAS,KAAK,MAAM;YACpB,SAAS,KAAK,MAAM;YACpB,SAAS,KAAK,MAAM,EACpB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,MAAM,GAAG,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YACzB,IAAI,MAAM,KAAK,EAAE,IAAI,aAAa,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;gBACzD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAC/B,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;YACpD,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;YACrD,IACE,KAAK,KAAK,SAAS;gBACnB,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBACpB,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC;gBAC1B,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC;gBAC1B,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC;gBAC1B,WAAW,KAAK,IAAI;gBACpB,YAAY,KAAK,IAAI;gBACrB,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,UAAU,EACnD,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,KAAK,GAAG,WAAW,GAAG,CAAC,CAAC;YACxB,MAAM,GAAG,YAAY,GAAG,CAAC,CAAC;YAC1B,QAAQ,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YAChC,aAAa,GAAG,IAAI,CAAC;YACrB,iBAAiB,GAAG,IAAI,CAAC;QAC3B,CAAC;aAAM,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YAChC,IAAI,WAAW,GAAG,EAAE,IAAI,YAAY,EAAE,CAAC;gBACrC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAClC,IACE,QAAQ,KAAK,SAAS;gBACtB,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;gBACvB,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EACnD,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;YACpD,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;YACrD,IAAI,WAAW,KAAK,IAAI,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;gBAClD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,UAAU,GAAG,WAAW,GAAG,MAAM,CAAC;YACxC,MAAM,WAAW,GAAG,YAAY,GAAG,MAAM,CAAC;YAC1C,IAAI,UAAU,KAAK,CAAC,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;gBAC1C,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,iBAAiB,EAAE,CAAC;gBACtB,IAAI,UAAU,KAAK,KAAK,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;oBACnD,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC1B,KAAK,GAAG,UAAU,CAAC;gBACnB,MAAM,GAAG,WAAW,CAAC;gBACrB,aAAa,GAAG,IAAI,CAAC;YACvB,CAAC;YACD,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YAChC,IAAI,WAAW,GAAG,CAAC,IAAI,YAAY,IAAI,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC7E,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;YAChC,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;YAChC,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;YAChC,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;YAChC,IACE,EAAE,KAAK,SAAS;gBAChB,EAAE,KAAK,SAAS;gBAChB,EAAE,KAAK,SAAS;gBAChB,EAAE,KAAK,SAAS;gBAChB,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EACjB,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/C,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACpE,IAAI,iBAAiB,EAAE,CAAC;gBACtB,IAAI,UAAU,KAAK,KAAK,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;oBACnD,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC1B,KAAK,GAAG,UAAU,CAAC;gBACnB,MAAM,GAAG,WAAW,CAAC;gBACrB,aAAa,GAAG,IAAI,CAAC;YACvB,CAAC;YACD,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YACxD,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;aAAM,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YAChC,IAAI,CAAC,iBAAiB,IAAI,QAAQ,IAAI,YAAY,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;gBACxE,OAAO,IAAI,CAAC;YACd,CAAC;YACD,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;aAAM,IACL,SAAS,KAAK,MAAM;YACpB,SAAS,KAAK,MAAM;YACpB,SAAS,KAAK,MAAM,EACpB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC;IACpC,CAAC;IAED,OAAO,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,aAAa,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC;QAC3E,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC7C,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,SAAS,CAAC,KAAiB,EAAE,MAAc;IAClD,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IACxB,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,SAAS,CAAC,KAAiB,EAAE,MAAc;IAClD,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IACxB,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AACnE,CAAC;AAED,SAAS,SAAS,CAAC,KAAiB,EAAE,MAAc;IAClD,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IACxB,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5B,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS;QAC1D,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC;AAClC,CAAC;AAED,SAAS,SAAS,CAAC,KAAiB,EAAE,MAAc;IAClD,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IACxB,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5B,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5B,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS;QAC7E,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,SAAS,CAAC,KAAiB,EAAE,MAAc;IAClD,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IACxB,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5B,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5B,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS;QAC7E,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,SAAS,CAAC;AAClD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAiB,EAAE,MAAc,EAAE,QAA2B;IAC9E,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,OAAO,CAAC,KAAiB,EAAE,MAAc,EAAE,QAAgB;IAClE,OAAO,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC;AACjE,CAAC;AAED,SAAS,UAAU,CAAC,KAAiB,EAAE,MAAc,EAAE,MAAc;IACnE,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;QAC/D,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;QACnC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW;IACnC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC5B,MAAM;QACR,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;QACvD,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM;QACR,CAAC;QACD,MAAM,GAAG,UAAU,GAAG,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW,EAAE,IAAY;IACpD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACxC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,MAAM,MAAM,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAChC,IACE,CAAC,mBAAmB,CAAC,MAAM,CAAC;YAC5B,CAAC,mBAAmB,CAAC,KAAK,CAAC;YAC3B,GAAG,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,KAAK,GAAG,EACxC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,6BAA6B,CAAC,GAAW;IAChD,OAAO,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,sCAAsC,CAAC,GAAW;IACzD,OAAO,oBAAoB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QAC9C,IAAI,+CAA+C,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAChE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,CACL,uCAAuC,CAAC,IAAI,CAAC,KAAK,CAAC;YACnD,0FAA0F,CAAC,IAAI,CAC7F,KAAK,CACN,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAW;IACvC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACtC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACb,MAAM;QACR,CAAC;QACD,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;QACzC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,MAAM;QACR,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,MAAM,IAAI,IAAI,CAAC;YACf,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACpD,MAAM,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,SAAS;QACX,CAAC;QAED,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,SAAS,GAAG,MAAM,GAAG,CAAC,CAAC;QAC3B,OAAO,SAAS,GAAG,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACxF,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;YACxB,SAAS,IAAI,CAAC,CAAC;QACjB,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1D,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC/D,SAAS,IAAI,CAAC,CAAC;YACjB,CAAC;iBAAM,IAAI,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBAChD,SAAS,IAAI,CAAC,CAAC;YACjB,CAAC;YACD,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC;YACvB,SAAS;QACX,CAAC;QAED,MAAM,IAAI,IAAI,CAAC;QACf,MAAM,IAAI,CAAC,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,OAAO,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC9B,MAAM;QACR,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG,+BAA+B,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YACjE,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC;gBACvB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC;gBACpB,SAAS;YACX,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,6BAA6B,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC/D,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC;YACvB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC;YACpB,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,CAAC;QACd,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,+BAA+B,CACtC,KAAa,EACb,SAAiB;IAEjB,IAAI,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC;IAC3B,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;QACzC,KAAK,GAAG,EAAE,CAAC;QACX,MAAM,IAAI,CAAC,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC;IAC3B,OACE,MAAM,GAAG,KAAK,CAAC,MAAM;QACrB,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,EACpF,CAAC;QACD,MAAM,IAAI,CAAC,CAAC;IACd,CAAC;IAED,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACxD,OAAO;QACL,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACnF,GAAG;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAiB;IACzD,CAAC,KAAK,EAAE,GAAG,CAAC;IACZ,CAAC,IAAI,EAAE,GAAG,CAAC;IACX,CAAC,IAAI,EAAE,GAAG,CAAC;IACX,CAAC,MAAM,EAAE,GAAG,CAAC;IACb,CAAC,MAAM,EAAE,GAAG,CAAC;IACb,CAAC,OAAO,EAAE,GAAG,CAAC;IACd,CAAC,KAAK,EAAE,GAAG,CAAC;IACZ,CAAC,MAAM,EAAE,GAAG,CAAC;IACb,CAAC,MAAM,EAAE,GAAG,CAAC;IACb,CAAC,SAAS,EAAE,IAAI,CAAC;IACjB,CAAC,KAAK,EAAE,IAAI,CAAC;CACd,CAAC,CAAC;AAEH,SAAS,6BAA6B,CACpC,KAAa,EACb,SAAiB;IAEjB,IAAI,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC;IAC3B,OAAO,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,CAAC,CAAC;IACd,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,0BAA0B,CAAC,GAAG,CAChD,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,WAAW,EAAE,CACjD,CAAC;IACF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;AACjD,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAa;IAC/C,OAAO,yCAAyC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAiB,EAAE,QAAgB;IAC5D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAChC,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC;AACtC,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,OAAO,CACL,CAAC,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC;QAC9B,CAAC,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC;QAC9B,CAAC,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC,CAC/B,CAAC;AACJ,CAAC;AAED,SAAS,+BAA+B,CAAC,KAAa;IACpD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,SAAS,GAAG,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,IAAI,CAAC;QACjB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa,EAAE,KAAa;IACpD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;YAC7B,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,QAAQ,IAAI,MAAM,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;YACpD,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YACzC,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;gBACrC,KAAK,IAAI,CAAC,CAAC;gBACX,KAAK,IAAI,CAAC,CAAC;YACb,CAAC;iBAAM,CAAC;gBACN,KAAK,IAAI,CAAC,CAAC;YACb,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;QACD,IAAI,KAAK,GAAG,KAAK,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC7D,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAc,EAAE,KAAa;IACrD,IAAI,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACvC,OAAO,KAAK,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,2BAA2B,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;YAC1D,OAAO,KAAK,CAAC;QACf,CAAC;QACD,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,2BAA2B,CAClC,MAAc,EACd,KAAa,EACb,UAAkB;IAElB,IAAI,KAAK,GAAG,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACrE,IAAI,UAAU,KAAK,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACjD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CAAC,MAAc,EAAE,MAAc;IACpD,OAAO,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,CAAC,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC;AAC1F,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,CACL,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC;QAC5B,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC;QAC5B,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,CAC7B,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,OAAO,CACL,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC;QAC5B,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC;QAC5B,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC;QAC5B,IAAI,KAAK,GAAG;QACZ,IAAI,KAAK,GAAG,CACb,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC;AAC5D,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAY;IAC7C,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC;AAC5E,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAY;IAC7C,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,GAAG,CAAC;AAC5C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mermanjs/web-render",
3
- "version": "0.10.0-alpha.1",
3
+ "version": "0.10.0",
4
4
  "description": "Browser SVG renderer with Cytoscape and ELK layouts.",
5
5
  "type": "module",
6
6
  "main": "./dist/package-entries/render.js",