@viraatdas/rudder 0.5.12 → 0.6.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.
@@ -1,17 +1,21 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { spawn } from "node:child_process";
3
+ import fsp from "node:fs/promises";
3
4
  import { fileURLToPath } from "node:url";
4
5
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
5
6
  import { Box, Text, render, useInput, useWindowSize } from "ink";
7
+ import { permissionAttentionFromOutput } from "./agent-attention.js";
6
8
  import { discoverEffortOptions, fallbackEffortOptions } from "./effort.js";
7
9
  import { currentBranch, findRepoRoot, hasChanges } from "./git.js";
8
10
  import { discoverModelOptions, fallbackModelOptions } from "./models.js";
9
11
  import { startNativeRun, deleteRun, mergeRun, reconcileNativeTerminals, stopRun } from "./run-manager.js";
10
- import { listRuns, loadConfig, saveConfig } from "./state.js";
12
+ import { listRuns, loadConfig, outputPath, rememberBackendSelection } from "./state.js";
11
13
  import { loadTmuxDashboardState, updateTmuxDashboardState, } from "./tmux-state.js";
12
14
  import { detachClient, resizePane, selectPane } from "./tmux.js";
13
15
  import { shortenHome } from "./util.js";
14
16
  const COMPLETION_SOUND = fileURLToPath(new URL("../assets/sounds/ping.mp3", import.meta.url));
17
+ const ATTENTION_TAIL_BYTES = 64 * 1024;
18
+ const TASK_HISTORY_LIMIT = 100;
15
19
  const SLASH_COMMANDS = [
16
20
  { label: "/backend claude", detail: "use Claude Code for new tasks", value: "/backend claude" },
17
21
  { label: "/backend codex", detail: "use Codex for new tasks", value: "/backend codex" },
@@ -51,14 +55,14 @@ function AgentPane({ defaults }) {
51
55
  const [selectedRunId, setSelectedRunId] = useState();
52
56
  const [notice, setNotice] = useState("");
53
57
  const [deleteIntent, setDeleteIntent] = useState(null);
54
- const finishedRef = useRef(null);
58
+ const alertRef = useRef(null);
55
59
  const refresh = useCallback(async () => {
56
60
  const root = findRepoRoot();
57
61
  await reconcileNativeTerminals(root).catch(() => undefined);
58
62
  const [nextBranch, nextConfig, nextRuns, state] = await Promise.all([
59
63
  currentBranch(root),
60
64
  loadConfig(),
61
- listRuns(root),
65
+ loadAgentPaneRuns(root),
62
66
  loadTmuxDashboardState(root, defaults.tmuxSessionName),
63
67
  ]);
64
68
  setRepoRoot(root);
@@ -73,7 +77,7 @@ function AgentPane({ defaults }) {
73
77
  return () => clearInterval(timer);
74
78
  }, [refresh]);
75
79
  useEffect(() => {
76
- notifyFinishedRuns(runs, finishedRef);
80
+ notifyRunAlerts(runs, alertRef);
77
81
  }, [runs]);
78
82
  const selectedIndex = Math.max(0, runs.findIndex((run) => run.id === selectedRunId));
79
83
  const selectedRun = runs[selectedIndex];
@@ -157,7 +161,7 @@ function AgentPane({ defaults }) {
157
161
  const width = Math.max(24, size.columns);
158
162
  const maxRuns = Math.max(1, Math.floor((size.rows - 5) / 3));
159
163
  const visibleRuns = runs.slice(0, maxRuns);
160
- return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, children: "rudder" }), _jsx(Text, { color: "gray", children: summarize(`${shortenHome(repoRoot)} ${branch}`, width) }), _jsxs(Text, { children: ["agents ", _jsxs(Text, { color: "gray", children: [runs.length, " runs"] })] }), visibleRuns.length === 0 ? _jsx(Text, { color: "gray", children: "No agents yet." }) : visibleRuns.map((run) => (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: run.id === selectedRun?.id ? "cyan" : taskColor(run), children: [run.id === selectedRun?.id ? "> " : " ", summarize(run.task, width - 3)] }), _jsxs(Text, { children: [_jsxs(Text, { color: statusColor(run), children: [" ", statusMark(run)] }), _jsxs(Text, { color: "gray", children: [" ", run.backend, " "] }), _jsx(Text, { color: "magenta", children: modelLabel(run, config) })] })] }, run.id))), notice ? _jsx(Text, { color: deleteIntent ? "red" : "yellow", children: summarize(notice, width) }) : null, _jsx(Text, { color: "gray", children: "j/k select Enter focus m merge d delete" })] }));
164
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, children: "rudder" }), _jsx(Text, { color: "gray", children: summarize(`${shortenHome(repoRoot)} ${branch}`, width) }), _jsxs(Text, { children: ["agents ", _jsxs(Text, { color: "gray", children: [runs.length, " runs"] })] }), visibleRuns.length === 0 ? _jsx(Text, { color: "gray", children: "No agents yet." }) : visibleRuns.map((run) => (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: run.id === selectedRun?.id ? "cyan" : taskColor(run), children: [run.id === selectedRun?.id ? "> " : " ", summarize(run.task, width - 3)] }), _jsxs(Text, { children: [_jsxs(Text, { color: runStatusColor(run), children: [" ", statusMark(run)] }), _jsxs(Text, { color: "gray", children: [" ", run.backend, " "] }), _jsx(Text, { color: "magenta", children: modelLabel(run, config) })] })] }, run.id))), notice ? _jsx(Text, { color: deleteIntent ? "red" : "yellow", children: summarize(notice, width) }) : null, _jsx(Text, { color: "gray", children: "j/k select Enter focus m merge d delete" })] }));
161
165
  }
162
166
  function TaskPane({ defaults }) {
163
167
  const [repoRoot, setRepoRoot] = useState(() => findRepoRoot());
@@ -167,6 +171,9 @@ function TaskPane({ defaults }) {
167
171
  const [effort, setEffort] = useState();
168
172
  const [input, setInput] = useState("");
169
173
  const inputRef = useRef("");
174
+ const taskHistoryRef = useRef([]);
175
+ const taskHistoryIndexRef = useRef(null);
176
+ const taskHistoryDraftRef = useRef("");
170
177
  const [notice, setNotice] = useState("");
171
178
  const [submitting, setSubmitting] = useState(false);
172
179
  const [commandIndex, setCommandIndex] = useState(0);
@@ -220,6 +227,58 @@ function TaskPane({ defaults }) {
220
227
  inputRef.current = value;
221
228
  setInput(value);
222
229
  }, []);
230
+ const resetTaskHistoryNavigation = useCallback(() => {
231
+ taskHistoryIndexRef.current = null;
232
+ taskHistoryDraftRef.current = "";
233
+ }, []);
234
+ const editTaskInput = useCallback((next) => {
235
+ resetTaskHistoryNavigation();
236
+ setTaskInput(next);
237
+ }, [resetTaskHistoryNavigation, setTaskInput]);
238
+ const rememberTaskHistory = useCallback((value) => {
239
+ const trimmed = value.trim();
240
+ if (!trimmed) {
241
+ return;
242
+ }
243
+ const history = taskHistoryRef.current;
244
+ history.push(trimmed);
245
+ if (history.length > TASK_HISTORY_LIMIT) {
246
+ history.splice(0, history.length - TASK_HISTORY_LIMIT);
247
+ }
248
+ resetTaskHistoryNavigation();
249
+ }, [resetTaskHistoryNavigation]);
250
+ const showTaskHistory = useCallback((direction) => {
251
+ const history = taskHistoryRef.current;
252
+ if (!history.length) {
253
+ return false;
254
+ }
255
+ if (direction === "previous") {
256
+ const current = taskHistoryIndexRef.current;
257
+ if (current === null) {
258
+ taskHistoryDraftRef.current = inputRef.current;
259
+ taskHistoryIndexRef.current = history.length - 1;
260
+ }
261
+ else {
262
+ taskHistoryIndexRef.current = Math.max(0, Math.min(current, history.length - 1) - 1);
263
+ }
264
+ setTaskInput(history[taskHistoryIndexRef.current] ?? "");
265
+ return true;
266
+ }
267
+ const current = taskHistoryIndexRef.current;
268
+ if (current === null) {
269
+ return false;
270
+ }
271
+ if (current + 1 < history.length) {
272
+ taskHistoryIndexRef.current = current + 1;
273
+ setTaskInput(history[taskHistoryIndexRef.current] ?? "");
274
+ return true;
275
+ }
276
+ taskHistoryIndexRef.current = null;
277
+ const draft = taskHistoryDraftRef.current;
278
+ taskHistoryDraftRef.current = "";
279
+ setTaskInput(draft);
280
+ return true;
281
+ }, [setTaskInput]);
223
282
  useEffect(() => {
224
283
  setCommandIndex(0);
225
284
  }, [input]);
@@ -270,6 +329,7 @@ function TaskPane({ defaults }) {
270
329
  await submit(resolvedCommand.value);
271
330
  return;
272
331
  }
332
+ rememberTaskHistory(task);
273
333
  if (task === "/model") {
274
334
  setTaskInput("");
275
335
  setNotice("");
@@ -283,7 +343,10 @@ function TaskPane({ defaults }) {
283
343
  const nextModel = task.slice("/model ".length).trim() || undefined;
284
344
  setModel(nextModel);
285
345
  setEffort(undefined);
286
- await updateBackendDefaults(repoRoot, defaults.tmuxSessionName, backend, nextModel, undefined);
346
+ await updateBackendDefaults(repoRoot, defaults.tmuxSessionName, backend, nextModel, undefined, {
347
+ updateModel: true,
348
+ updateEffort: true,
349
+ });
287
350
  setTaskInput("");
288
351
  setNotice("");
289
352
  return;
@@ -294,7 +357,10 @@ function TaskPane({ defaults }) {
294
357
  setModel(undefined);
295
358
  const nextEffort = effortForBackend(nextBackend, config);
296
359
  setEffort(nextEffort);
297
- await updateBackendDefaults(repoRoot, defaults.tmuxSessionName, nextBackend, undefined, nextEffort);
360
+ await updateBackendDefaults(repoRoot, defaults.tmuxSessionName, nextBackend, undefined, nextEffort, {
361
+ updateModel: false,
362
+ updateEffort: false,
363
+ });
298
364
  setTaskInput("");
299
365
  setNotice("");
300
366
  setModelPickerOpen(false);
@@ -345,7 +411,7 @@ function TaskPane({ defaults }) {
345
411
  finally {
346
412
  setSubmitting(false);
347
413
  }
348
- }, [backend, config, defaults.tmuxSessionName, effort, effortOptionsFor, model, modelIndex, modelOptions, modelPickerStep, pendingModel, repoRoot, setTaskInput, submitting]);
414
+ }, [backend, config, defaults.tmuxSessionName, effort, effortOptionsFor, model, modelIndex, modelOptions, modelPickerStep, pendingModel, rememberTaskHistory, repoRoot, setTaskInput, submitting]);
349
415
  useInput((chunk, key) => {
350
416
  if (key.ctrl && chunk === "c") {
351
417
  void detachClient(defaults.tmuxSessionName);
@@ -401,7 +467,10 @@ function TaskPane({ defaults }) {
401
467
  setBackend(nextBackend);
402
468
  setModel(nextModel);
403
469
  setEffort(nextEffort);
404
- void updateBackendDefaults(repoRoot, defaults.tmuxSessionName, nextBackend, nextModel, nextEffort);
470
+ void updateBackendDefaults(repoRoot, defaults.tmuxSessionName, nextBackend, nextModel, nextEffort, {
471
+ updateModel: true,
472
+ updateEffort: true,
473
+ });
405
474
  setModelPickerOpen(false);
406
475
  setModelPickerStep("model");
407
476
  setPendingModel(null);
@@ -415,18 +484,26 @@ function TaskPane({ defaults }) {
415
484
  if (returnIndex >= 0 && !key.ctrl && !key.meta) {
416
485
  const beforeReturn = stripControlInput(chunk.slice(0, returnIndex));
417
486
  if (beforeReturn) {
418
- setTaskInput((current) => current + beforeReturn);
487
+ editTaskInput((current) => current + beforeReturn);
419
488
  }
420
489
  void submit();
421
490
  return;
422
491
  }
423
492
  if (isLineClear(chunk, key)) {
424
- setTaskInput("");
493
+ editTaskInput("");
425
494
  setNotice("");
426
495
  return;
427
496
  }
428
497
  if (isWordDelete(chunk, key)) {
429
- setTaskInput((current) => deletePreviousWord(current));
498
+ editTaskInput((current) => deletePreviousWord(current));
499
+ return;
500
+ }
501
+ if (taskHistoryIndexRef.current !== null && key.upArrow) {
502
+ showTaskHistory("previous");
503
+ return;
504
+ }
505
+ if (taskHistoryIndexRef.current !== null && key.downArrow) {
506
+ showTaskHistory("next");
430
507
  return;
431
508
  }
432
509
  if (commandMenuOpen) {
@@ -439,7 +516,7 @@ function TaskPane({ defaults }) {
439
516
  return;
440
517
  }
441
518
  if (key.escape) {
442
- setTaskInput("");
519
+ editTaskInput("");
443
520
  setNotice("");
444
521
  return;
445
522
  }
@@ -448,7 +525,7 @@ function TaskPane({ defaults }) {
448
525
  if (commandMenuOpen) {
449
526
  const command = commandOptions[commandIndex];
450
527
  if (command?.complete) {
451
- setTaskInput(command.complete);
528
+ editTaskInput(command.complete);
452
529
  setNotice("");
453
530
  return;
454
531
  }
@@ -460,19 +537,27 @@ function TaskPane({ defaults }) {
460
537
  void submit();
461
538
  return;
462
539
  }
540
+ if (key.upArrow) {
541
+ showTaskHistory("previous");
542
+ return;
543
+ }
544
+ if (key.downArrow) {
545
+ showTaskHistory("next");
546
+ return;
547
+ }
463
548
  if (key.backspace || key.delete || chunk === "\u007f" || chunk === "\b") {
464
- setTaskInput((current) => current.slice(0, -1));
549
+ editTaskInput((current) => current.slice(0, -1));
465
550
  return;
466
551
  }
467
552
  if (chunk && !key.ctrl && !key.meta) {
468
- setTaskInput((current) => current + chunk);
553
+ editTaskInput((current) => current + chunk);
469
554
  }
470
555
  });
471
556
  const configured = model || (backend === "claude" ? config?.backends.claude?.model : config?.backends.codex?.model) || "default";
472
557
  const configuredEffort = effort || effortForBackend(backend, config) || "auto";
473
558
  return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { children: [_jsx(Text, { color: "cyan", bold: true, children: "TASK" }), " ", input, _jsx(Text, { color: "cyan", children: "_" }), submitting ? _jsx(Text, { color: "gray", children: " starting..." }) : null, !submitting && notice ? _jsxs(Text, { color: "yellow", children: [" ", notice] }) : null] }), commandMenuOpen ? (_jsx(CommandMenu, { commands: commandOptions, selected: commandIndex })) : modelPickerOpen ? (modelPickerStep === "effort"
474
559
  ? _jsx(EffortMenu, { option: pendingModel ?? modelOptions[modelIndex], selected: effortIndex, backend: toNativeBackend(pendingModel?.backend ?? backend), options: effortOptionsFor(toNativeBackend(pendingModel?.backend ?? backend)) })
475
- : _jsx(ModelMenu, { options: modelOptions, selected: modelIndex, backend: backend })) : (_jsxs(Text, { color: "gray", children: ["Enter start Tab focus pane / commands ", backend, " ", configured, " ", configuredEffort] }))] }));
560
+ : _jsx(ModelMenu, { options: modelOptions, selected: modelIndex, backend: backend })) : (_jsxs(Text, { color: "gray", children: ["Enter start Up/Down history Tab focus pane / commands ", backend, " ", configured, " ", configuredEffort] }))] }));
476
561
  }
477
562
  function CommandMenu({ commands, selected }) {
478
563
  const command = commands[Math.max(0, Math.min(selected, commands.length - 1))];
@@ -497,6 +582,35 @@ function WorkerIdle(_props) {
497
582
  function toNativeBackend(backend) {
498
583
  return backend === "codex" ? "codex" : "claude";
499
584
  }
585
+ async function loadAgentPaneRuns(repoRoot) {
586
+ const runs = await listRuns(repoRoot);
587
+ return await Promise.all(runs.map(async (run) => {
588
+ const output = await readTailIfExists(outputPath(repoRoot, run.id));
589
+ return {
590
+ ...run,
591
+ attention: permissionAttentionFromOutput(output),
592
+ };
593
+ }));
594
+ }
595
+ async function readTailIfExists(file) {
596
+ const handle = await fsp.open(file, "r").catch(() => null);
597
+ if (!handle) {
598
+ return "";
599
+ }
600
+ try {
601
+ const stat = await handle.stat();
602
+ const length = Math.min(stat.size, ATTENTION_TAIL_BYTES);
603
+ const buffer = Buffer.alloc(length);
604
+ await handle.read(buffer, 0, length, Math.max(0, stat.size - length));
605
+ return buffer.toString("utf8");
606
+ }
607
+ catch {
608
+ return "";
609
+ }
610
+ finally {
611
+ await handle.close().catch(() => undefined);
612
+ }
613
+ }
500
614
  async function focusSelectedWorker(repoRoot, tmuxSessionName, run) {
501
615
  if (run?.terminal?.paneId) {
502
616
  await selectPane(run.terminal.paneId).catch(() => undefined);
@@ -507,22 +621,35 @@ async function focusSelectedWorker(repoRoot, tmuxSessionName, run) {
507
621
  await selectPane(state.workerPaneId).catch(() => undefined);
508
622
  }
509
623
  }
510
- function notifyFinishedRuns(runs, ref) {
511
- const finished = new Set(runs.filter((run) => isTerminalRun(run)).map((run) => run.id));
624
+ function notifyRunAlerts(runs, ref) {
625
+ const terminal = new Set(runs.filter((run) => isTerminalRun(run)).map((run) => run.id));
626
+ const permission = new Set(runs.filter((run) => runNeedsPermission(run)).map((run) => run.id));
512
627
  if (!ref.current) {
513
- ref.current = finished;
628
+ ref.current = { terminal, permission };
514
629
  return;
515
630
  }
516
631
  for (const run of runs) {
517
- if (isTerminalRun(run) && !ref.current.has(run.id)) {
632
+ if (isTerminalRun(run) && !ref.current.terminal.has(run.id)) {
633
+ playCompletionSound();
634
+ ref.current.terminal.add(run.id);
635
+ }
636
+ if (runNeedsPermission(run) && !ref.current.permission.has(run.id)) {
518
637
  playCompletionSound();
519
- ref.current.add(run.id);
638
+ ref.current.permission.add(run.id);
520
639
  }
521
640
  }
641
+ ref.current.terminal = terminal;
642
+ ref.current.permission = permission;
522
643
  }
523
644
  function isTerminalRun(run) {
524
645
  return ["completed", "failed", "cancelled", "merged", "merge-conflict"].includes(run.status);
525
646
  }
647
+ function isActiveRun(run) {
648
+ return ["created", "running", "steering", "verifying"].includes(run.status);
649
+ }
650
+ function runNeedsPermission(run) {
651
+ return isActiveRun(run) && run.attention.needsPermission;
652
+ }
526
653
  function playCompletionSound() {
527
654
  try {
528
655
  const player = process.platform === "darwin" ? "afplay" : "ffplay";
@@ -538,6 +665,8 @@ function playCompletionSound() {
538
665
  }
539
666
  }
540
667
  function statusMark(run) {
668
+ if (runNeedsPermission(run))
669
+ return "needs permission";
541
670
  if (run.status === "merged")
542
671
  return "merged";
543
672
  if (run.status === "completed")
@@ -550,6 +679,9 @@ function statusMark(run) {
550
679
  return "running";
551
680
  return "queued";
552
681
  }
682
+ function runStatusColor(run) {
683
+ return runNeedsPermission(run) ? "yellow" : statusColor(run);
684
+ }
553
685
  function statusColor(run) {
554
686
  if (run.status === "merged" || run.status === "completed")
555
687
  return "green";
@@ -582,25 +714,15 @@ function effortForBackend(backend, config) {
582
714
  }
583
715
  return config?.backends.codex?.reasoningEffort ?? config?.backends.codex?.effort;
584
716
  }
585
- async function updateBackendDefaults(repoRoot, tmuxSessionName, backend, model, effort) {
717
+ async function updateBackendDefaults(repoRoot, tmuxSessionName, backend, model, effort, options) {
586
718
  await updateTmuxDashboardState(repoRoot, tmuxSessionName, { backend, model, effort });
587
- const config = await loadConfig();
588
- config.lastUsedBackend = backend;
589
- if (backend === "claude") {
590
- config.backends.claude = {
591
- ...(config.backends.claude ?? {}),
592
- model,
593
- effort,
594
- };
595
- }
596
- else {
597
- config.backends.codex = {
598
- ...(config.backends.codex ?? {}),
599
- model,
600
- reasoningEffort: effort,
601
- };
602
- }
603
- await saveConfig(config);
719
+ await rememberBackendSelection({
720
+ backend,
721
+ model,
722
+ effort,
723
+ updateModel: options.updateModel,
724
+ updateEffort: options.updateEffort,
725
+ });
604
726
  }
605
727
  function withBackend(options, backend) {
606
728
  return options.map((option) => ({ ...option, backend }));
@@ -1 +1 @@
1
- {"version":3,"file":"tmux-dashboard.js","sourceRoot":"","sources":["../src/tmux-dashboard.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tmux-dashboard.js","sourceRoot":"","sources":["../src/tmux-dashboard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,GAAG,MAAM,kBAAkB,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAc,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjF,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACjE,OAAO,EAAE,6BAA6B,EAAuB,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAqB,MAAM,aAAa,CAAC;AAC9F,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAoB,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,wBAAwB,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC1G,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AACxF,OAAO,EACL,sBAAsB,EACtB,wBAAwB,GAEzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,gBAAgB,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,2BAA2B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9F,MAAM,oBAAoB,GAAG,EAAE,GAAG,IAAI,CAAC;AACvC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAwB/B,MAAM,cAAc,GAAmB;IACrC,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,+BAA+B,EAAE,KAAK,EAAE,iBAAiB,EAAE;IAC/F,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,yBAAyB,EAAE,KAAK,EAAE,gBAAgB,EAAE;IACvF,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,4BAA4B,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC1E,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,yBAAyB,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE;IAClG,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,sBAAsB,EAAE,KAAK,EAAE,QAAQ,EAAE;IACpE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,8BAA8B,EAAE,KAAK,EAAE,OAAO,EAAE;IAC1E,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,yBAAyB,EAAE,KAAK,EAAE,SAAS,EAAE;CAC1E,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAsB;IAC3D,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAC,SAAS,IAAC,QAAQ,EAAE,QAAQ,GAAI,EAAE;QACzD,WAAW,EAAE,KAAK;QAClB,MAAM,EAAE,EAAE;KACX,CAAC,CAAC;IACH,MAAM,QAAQ,CAAC,aAAa,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAAsB;IAC1D,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAC,QAAQ,IAAC,QAAQ,EAAE,QAAQ,GAAI,EAAE;QACxD,WAAW,EAAE,KAAK;QAClB,MAAM,EAAE,EAAE;KACX,CAAC,CAAC;IACH,MAAM,QAAQ,CAAC,aAAa,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,QAAsB;IAC5D,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAC,UAAU,IAAC,QAAQ,EAAE,QAAQ,GAAI,EAAE;QAC1D,WAAW,EAAE,KAAK;QAClB,MAAM,EAAE,EAAE;KACX,CAAC,CAAC;IACH,MAAM,QAAQ,CAAC,aAAa,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,SAAS,CAAC,EAAE,QAAQ,EAA8B;IACzD,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAC7B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;IAC/D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAsB,IAAI,CAAC,CAAC;IAChE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAiB,EAAE,CAAC,CAAC;IACrD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,EAAsB,CAAC;IACzE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAA8C,IAAI,CAAC,CAAC;IACpG,MAAM,QAAQ,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAEjD,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACrC,MAAM,IAAI,GAAG,YAAY,EAAE,CAAC;QAC5B,MAAM,wBAAwB,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC5D,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAClE,aAAa,CAAC,IAAI,CAAC;YACnB,UAAU,EAAE;YACZ,iBAAiB,CAAC,IAAI,CAAC;YACvB,sBAAsB,CAAC,IAAI,EAAE,QAAQ,CAAC,eAAe,CAAC;SACvD,CAAC,CAAC;QACH,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,SAAS,CAAC,UAAU,CAAC,CAAC;QACtB,SAAS,CAAC,UAAU,CAAC,CAAC;QACtB,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClB,gBAAgB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,EAAE,aAAa,IAAI,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpF,CAAC,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;IAE/B,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,OAAO,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;QACtD,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,SAAS,CAAC,GAAG,EAAE;QACb,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAClC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,aAAa,CAAC,CAAC,CAAC;IACrF,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;IAExC,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,EAAE,GAA0B,EAAE,EAAE;QACjE,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO;QACT,CAAC;QACD,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzB,MAAM,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,CAAC,eAAe,EAAE,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IAChG,CAAC,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEzC,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAC9B,KAAK,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QACD,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,eAAe,CAAC,IAAI,CAAC,CAAC;gBACtB,SAAS,CAAC,EAAE,CAAC,CAAC;gBACd,OAAO;YACT,CAAC;YACD,IAAI,KAAK,KAAK,GAAG,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;gBAC3C,KAAK,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;qBAChF,IAAI,CAAC,GAAG,EAAE;oBACT,eAAe,CAAC,IAAI,CAAC,CAAC;oBACtB,SAAS,CAAC,WAAW,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBACpD,OAAO,OAAO,EAAE,CAAC;gBACnB,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACvF,OAAO;YACT,CAAC;YACD,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;gBAClB,KAAK,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;qBAC9D,IAAI,CAAC,GAAG,EAAE;oBACT,eAAe,CAAC,IAAI,CAAC,CAAC;oBACtB,SAAS,CAAC,WAAW,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBACpD,OAAO,OAAO,EAAE,CAAC;gBACnB,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACvF,OAAO;YACT,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,GAAG,CAAC,OAAO,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACjC,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QACD,IAAI,GAAG,CAAC,SAAS,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACnC,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACnE,OAAO;QACT,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAChC,KAAK,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QACD,IAAI,KAAK,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC;YACjC,KAAK,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;iBACnD,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;iBAC1D,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACvF,OAAO;QACT,CAAC;QACD,IAAI,KAAK,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC;YACjC,KAAK,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QACD,IAAI,KAAK,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC;YACjC,KAAK,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;iBACvC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACjB,eAAe,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,OAAO,IAAI,QAAQ,EAAE,CAAC,CAAC;gBAC/F,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,IAAI,QAAQ;oBAChD,CAAC,CAAC,+DAA+D;oBACjE,CAAC,CAAC,uCAAuC,CAAC,CAAC;YAC/C,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACvF,OAAO;QACT,CAAC;QACD,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAClB,KAAK,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAE3C,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,IAAI,IAAC,IAAI,6BAAc,EACxB,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,SAAS,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,MAAM,EAAE,EAAE,KAAK,CAAC,GAAQ,EAClF,MAAC,IAAI,0BAAQ,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,aAAE,IAAI,CAAC,MAAM,aAAa,IAAO,EAC/D,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,+BAAsB,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAC9F,MAAC,GAAG,IAAc,aAAa,EAAC,QAAQ,aACtC,MAAC,IAAI,IAAC,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,aAC9D,GAAG,CAAC,EAAE,KAAK,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,IACpE,EACP,MAAC,IAAI,eACH,MAAC,IAAI,IAAC,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,mBAAK,UAAU,CAAC,GAAG,CAAC,IAAQ,EAC5D,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,mBAAI,GAAG,CAAC,OAAO,SAAS,EAC1C,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,YAAE,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,GAAQ,IACjD,KARC,GAAG,CAAC,EAAE,CASV,CACP,CAAC,EACD,MAAM,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,YAAG,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,GAAQ,CAAC,CAAC,CAAC,IAAI,EAChG,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,2DAAkD,IAChE,CACP,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,EAAE,QAAQ,EAA8B;IACxD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;IAC/D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAsB,IAAI,CAAC,CAAC;IAChE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAkB,eAAe,CAAC,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC;IACvG,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAqB,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,EAA2B,CAAC;IAChE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IAC5B,MAAM,cAAc,GAAG,MAAM,CAAW,EAAE,CAAC,CAAC;IAC5C,MAAM,mBAAmB,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IACxD,MAAM,mBAAmB,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAqB,OAAO,CAAC,CAAC;IACpF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAqB,IAAI,CAAC,CAAC;IAC3E,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAgB,EAAE,CAAC,CAAC;IACpE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAgB,EAAE,CAAC,CAAC;IAClE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAiB,EAAE,CAAC,CAAC;IACvE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAiB,EAAE,CAAC,CAAC;IACrE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,EAAsB,CAAC;IAEnE,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACrC,MAAM,IAAI,GAAG,YAAY,EAAE,CAAC;QAC5B,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC5C,UAAU,EAAE;YACZ,sBAAsB,CAAC,IAAI,EAAE,QAAQ,CAAC,eAAe,CAAC;SACvD,CAAC,CAAC;QACH,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,SAAS,CAAC,UAAU,CAAC,CAAC;QACtB,MAAM,WAAW,GAAG,KAAK,EAAE,OAAO,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,IAAI,UAAU,CAAC,eAAe,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC;QACnI,UAAU,CAAC,WAAW,CAAC,CAAC;QACxB,QAAQ,CAAC,KAAK,EAAE,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzC,SAAS,CAAC,KAAK,EAAE,MAAM,IAAI,gBAAgB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;QACtE,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACnC,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;IAEjE,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,OAAO,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;QACtD,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1E,MAAM,eAAe,GAAG,CAAC,eAAe,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;IACjI,MAAM,aAAa,GAAG,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;IACrD,MAAM,YAAY,GAAG,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACnD,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE;QACH,MAAM,OAAO,GAAG,OAAO,KAAK,QAAQ;YAClC,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,oBAAoB,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,QAAQ,CAAC;YAC3G,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;QACzG,MAAM,SAAS,GAAG,OAAO,KAAK,QAAQ;YACpC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC;YACtG,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,oBAAoB,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC9G,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC;IACpC,CAAC,EACD,CAAC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC,CAClE,CAAC;IACF,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,WAA4B,EAAE,EAAE,CAAC,CACrE,WAAW,KAAK,QAAQ;QACtB,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAC1E,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;IAElC,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,IAA4C,EAAE,EAAE;QAChF,MAAM,KAAK,GAAG,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACzE,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;QACzB,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,0BAA0B,GAAG,WAAW,CAAC,GAAG,EAAE;QAClD,mBAAmB,CAAC,OAAO,GAAG,IAAI,CAAC;QACnC,mBAAmB,CAAC,OAAO,GAAG,EAAE,CAAC;IACnC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,IAA4C,EAAE,EAAE;QACjF,0BAA0B,EAAE,CAAC;QAC7B,YAAY,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,EAAE,CAAC,0BAA0B,EAAE,YAAY,CAAC,CAAC,CAAC;IAE/C,MAAM,mBAAmB,GAAG,WAAW,CAAC,CAAC,KAAa,EAAE,EAAE;QACxD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,IAAI,OAAO,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;YACxC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,kBAAkB,CAAC,CAAC;QACzD,CAAC;QACD,0BAA0B,EAAE,CAAC;IAC/B,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAAC,CAAC;IAEjC,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,SAA8B,EAAE,EAAE;QACrE,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC;YAC5C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,mBAAmB,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;gBAC/C,mBAAmB,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YACnD,CAAC;iBAAM,CAAC;gBACN,mBAAmB,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACvF,CAAC;YACD,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACzD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC;QAC5C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YACjC,mBAAmB,CAAC,OAAO,GAAG,OAAO,GAAG,CAAC,CAAC;YAC1C,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACzD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,mBAAmB,CAAC,OAAO,GAAG,IAAI,CAAC;QACnC,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAC;QAC1C,mBAAmB,CAAC,OAAO,GAAG,EAAE,CAAC;QACjC,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,SAAS,CAAC,GAAG,EAAE;QACb,eAAe,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,KAAK,OAAO,CAAC,GAAG,CAAC;YACf,oBAAoB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YACxG,oBAAoB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;SACrG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,eAAe,CAAC,EAAE,EAAE;YAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,eAAe,CAAC,gBAAgB,CAAC,CAAC;gBAClC,cAAc,CAAC,eAAe,CAAC,CAAC;gBAChC,aAAa,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC;QACH,CAAC,CAAC,CAAC;QACL,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;IAElC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,KAAK,OAAO,CAAC,GAAG,CAAC;YACf,qBAAqB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YAC5E,qBAAqB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;SAC3E,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,EAAE,EAAE;YAChD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;gBACpC,eAAe,CAAC,gBAAgB,CAAC,CAAC;YACpC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QACD,KAAK,UAAU,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC,EAAE,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC;IAElC,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,EAAE,QAAiB,EAAE,EAAE;QACrD,MAAM,IAAI,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QACnD,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QACD,MAAM,eAAe,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,eAAe,IAAI,eAAe,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;YACnF,MAAM,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QACD,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,YAAY,CAAC,EAAE,CAAC,CAAC;YACjB,SAAS,CAAC,EAAE,CAAC,CAAC;YACd,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACzB,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC5B,aAAa,CAAC,CAAC,CAAC,CAAC;YACjB,eAAe,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;YACnE,QAAQ,CAAC,SAAS,CAAC,CAAC;YACpB,SAAS,CAAC,SAAS,CAAC,CAAC;YACrB,MAAM,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE;gBAC7F,WAAW,EAAE,IAAI;gBACjB,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;YACH,YAAY,CAAC,EAAE,CAAC,CAAC;YACjB,SAAS,CAAC,EAAE,CAAC,CAAC;YACd,OAAO;QACT,CAAC;QACD,IAAI,IAAI,KAAK,iBAAiB,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;YAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;YAChE,UAAU,CAAC,WAAW,CAAC,CAAC;YACxB,QAAQ,CAAC,SAAS,CAAC,CAAC;YACpB,MAAM,UAAU,GAAG,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YACzD,SAAS,CAAC,UAAU,CAAC,CAAC;YACtB,MAAM,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE;gBAClG,WAAW,EAAE,KAAK;gBAClB,YAAY,EAAE,KAAK;aACpB,CAAC,CAAC;YACH,YAAY,CAAC,EAAE,CAAC,CAAC;YACjB,SAAS,CAAC,EAAE,CAAC,CAAC;YACd,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,YAAY,CAAC,EAAE,CAAC,CAAC;YACjB,SAAS,CAAC,EAAE,CAAC,CAAC;YACd,OAAO;QACT,CAAC;QACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,YAAY,CAAC,EAAE,CAAC,CAAC;YACjB,SAAS,CAAC,6DAA6D,CAAC,CAAC;YACzE,OAAO;QACT,CAAC;QACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,SAAS,CAAC,0CAA0C,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC/E,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,SAAS,CAAC,8CAA8C,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;QACD,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC;gBAC/B,IAAI;gBACJ,OAAO;gBACP,KAAK;gBACL,MAAM;gBACN,eAAe,EAAE,QAAQ,CAAC,eAAe;gBACzC,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;YACH,MAAM,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,CAAC,eAAe,EAAE,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACtH,YAAY,CAAC,EAAE,CAAC,CAAC;YACjB,SAAS,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACpE,CAAC;gBAAS,CAAC;YACT,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,mBAAmB,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;IAEnM,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAC9B,KAAK,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QACD,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;oBACjC,kBAAkB,CAAC,OAAO,CAAC,CAAC;oBAC5B,eAAe,CAAC,IAAI,CAAC,CAAC;gBACxB,CAAC;qBAAM,CAAC;oBACN,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC;gBACD,SAAS,CAAC,EAAE,CAAC,CAAC;gBACd,OAAO;YACT,CAAC;YACD,MAAM,aAAa,GAAG,eAAe,CAAC,YAAY,EAAE,OAAO,IAAI,OAAO,CAAC,CAAC;YACxE,MAAM,aAAa,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;YACtD,IAAI,GAAG,CAAC,OAAO,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;gBACjC,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;oBACjC,cAAc,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;gBACxD,CAAC;qBAAM,CAAC;oBACN,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;gBACvD,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,SAAS,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;gBACnC,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;oBACjC,cAAc,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC/E,CAAC;qBAAM,CAAC;oBACN,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC7E,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,IAAI,eAAe,KAAK,OAAO,EAAE,CAAC;oBAChC,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;oBAC3F,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC;oBAC/D,MAAM,aAAa,GAAG,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;oBAC5D,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;oBACxD,eAAe,CAAC,MAAM,CAAC,CAAC;oBACxB,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC;oBAC3G,kBAAkB,CAAC,QAAQ,CAAC,CAAC;oBAC7B,OAAO;gBACT,CAAC;gBACD,MAAM,MAAM,GAAG,YAAY,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;gBAC3G,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC;gBAC/D,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;gBAC/B,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC;gBACrD,UAAU,CAAC,WAAW,CAAC,CAAC;gBACxB,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACpB,SAAS,CAAC,UAAU,CAAC,CAAC;gBACtB,KAAK,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE;oBACjG,WAAW,EAAE,IAAI;oBACjB,YAAY,EAAE,IAAI;iBACnB,CAAC,CAAC;gBACH,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAC1B,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBAC5B,eAAe,CAAC,IAAI,CAAC,CAAC;gBACtB,YAAY,CAAC,EAAE,CAAC,CAAC;gBACjB,SAAS,CAAC,EAAE,CAAC,CAAC;gBACd,OAAO;YACT,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAC/C,MAAM,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;YACpE,IAAI,YAAY,EAAE,CAAC;gBACjB,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,GAAG,YAAY,CAAC,CAAC;YACrD,CAAC;YACD,KAAK,MAAM,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QACD,IAAI,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;YAC5B,aAAa,CAAC,EAAE,CAAC,CAAC;YAClB,SAAS,CAAC,EAAE,CAAC,CAAC;YACd,OAAO;QACT,CAAC;QACD,IAAI,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;YAC7B,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QACD,IAAI,mBAAmB,CAAC,OAAO,KAAK,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACxD,eAAe,CAAC,UAAU,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,IAAI,mBAAmB,CAAC,OAAO,KAAK,IAAI,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAC1D,eAAe,CAAC,MAAM,CAAC,CAAC;YACxB,OAAO;QACT,CAAC;QACD,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,GAAG,CAAC,OAAO,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;gBACjC,eAAe,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;gBACvD,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,SAAS,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;gBACnC,eAAe,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC/E,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,aAAa,CAAC,EAAE,CAAC,CAAC;gBAClB,SAAS,CAAC,EAAE,CAAC,CAAC;gBACd,OAAO;YACT,CAAC;QACH,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,OAAO,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;gBAC7C,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;oBACtB,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBAChC,SAAS,CAAC,EAAE,CAAC,CAAC;oBACd,OAAO;gBACT,CAAC;gBACD,IAAI,OAAO,EAAE,CAAC;oBACZ,KAAK,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC3B,OAAO;gBACT,CAAC;YACH,CAAC;YACD,KAAK,MAAM,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QACD,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,eAAe,CAAC,UAAU,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAClB,eAAe,CAAC,MAAM,CAAC,CAAC;YACxB,OAAO;QACT,CAAC;QACD,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACxE,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,OAAO;QACT,CAAC;QACD,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACpC,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,KAAK,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,SAAS,CAAC;IACjI,MAAM,gBAAgB,GAAG,MAAM,IAAI,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC;IAE/E,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,IAAI,2BAAY,OAAE,KAAK,EAAC,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,kBAAS,EACrE,UAAU,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,8BAAqB,CAAC,CAAC,CAAC,IAAI,EAC3D,CAAC,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,MAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,mBAAI,MAAM,IAAQ,CAAC,CAAC,CAAC,IAAI,IACjE,EACN,eAAe,CAAC,CAAC,CAAC,CACjB,KAAC,WAAW,IAAC,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,GAAI,CAClE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CACpB,eAAe,KAAK,QAAQ;gBAC1B,CAAC,CAAC,KAAC,UAAU,IAAC,MAAM,EAAE,YAAY,IAAI,YAAY,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,CAAC,YAAY,EAAE,OAAO,IAAI,OAAO,CAAC,EAAE,OAAO,EAAE,gBAAgB,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,IAAI,OAAO,CAAC,CAAC,GAAI;gBACnO,CAAC,CAAC,KAAC,SAAS,IAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAI,CACjF,CAAC,CAAC,CAAC,CACF,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,2EAA4D,OAAO,OAAG,UAAU,OAAG,gBAAgB,IAAQ,CAC9H,IACG,CACP,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAkD;IACzF,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,YAAY,GAAQ,CAAC;AACtG,CAAC;AAED,SAAS,SAAS,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAA0E;IACvH,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAChD,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,gEAAuD,EACxE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBAC7B,MAAM,aAAa,GAAG,KAAK,GAAG,KAAK,CAAC;gBACpC,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC;gBACjE,OAAO,CACL,MAAC,IAAI,IAAwE,KAAK,EAAE,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,aAC7H,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EACzC,KAAC,IAAI,IAAC,KAAK,EAAE,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,YAAG,aAAa,GAAQ,EACjF,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAHrD,GAAG,aAAa,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,IAAI,aAAa,EAAE,CAIpE,CACR,CAAC;YACJ,CAAC,CAAC,IACE,CACP,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAiG;IACvJ,MAAM,SAAS,GAAG,MAAM,EAAE,KAAK,IAAI,SAAS,CAAC;IAC7C,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,iCAAkB,OAAO,OAAG,SAAS,wBAAwB,EAC9E,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,CACjC,MAAC,IAAI,IAAiC,KAAK,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,aAC9E,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EACjC,KAAC,IAAI,IAAC,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,OAAO,IAAI,SAAS,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,YAAG,SAAS,CAAC,KAAK,GAAQ,EACrH,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAHvC,SAAS,CAAC,KAAK,IAAI,MAAM,CAI7B,CACR,CAAC,IACE,CACP,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,MAAkC;IACpD,OAAO,KAAC,GAAG,KAAG,CAAC;AACjB,CAAC;AAED,SAAS,eAAe,CAAC,OAAkB;IACzC,OAAO,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;AAClD,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,QAAgB;IAC/C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACtC,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC9C,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,OAAO;YACL,GAAG,GAAG;YACN,SAAS,EAAE,6BAA6B,CAAC,MAAM,CAAC;SACjD,CAAC;IACJ,CAAC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,IAAY;IAC1C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;QACtE,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,QAAgB,EAAE,eAAuB,EAAE,GAA0B;IACtG,IAAI,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAC1B,MAAM,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC7D,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACtE,IAAI,KAAK,EAAE,YAAY,EAAE,CAAC;QACxB,MAAM,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,IAAoB,EAAE,GAA8C;IAC3F,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACxF,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/F,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACjB,GAAG,CAAC,OAAO,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;QACvC,OAAO;IACT,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5D,mBAAmB,EAAE,CAAC;YACtB,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACnE,mBAAmB,EAAE,CAAC;YACtB,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IACD,GAAG,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAChC,GAAG,CAAC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;AACtC,CAAC;AAED,SAAS,aAAa,CAAC,GAAc;IACnC,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC/F,CAAC;AAED,SAAS,WAAW,CAAC,GAAc;IACjC,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAiB;IAC3C,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC;AAC3D,CAAC;AAED,SAAS,mBAAmB;IAC1B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QACnE,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ;YACxC,CAAC,CAAC,CAAC,gBAAgB,CAAC;YACpB,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACrE,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxD,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,GAAiB;IACnC,IAAI,kBAAkB,CAAC,GAAG,CAAC;QAAE,OAAO,kBAAkB,CAAC;IACvD,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC7C,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW;QAAE,OAAO,MAAM,CAAC;IAC9C,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,gBAAgB;QAAE,OAAO,QAAQ,CAAC;IAChF,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW;QAAE,OAAO,SAAS,CAAC;IACjD,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW;QAAE,OAAO,SAAS,CAAC;IAC1G,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,cAAc,CAAC,GAAiB;IACvC,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,WAAW,CAAC,GAAc;IACjC,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW;QAAE,OAAO,OAAO,CAAC;IAC1E,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,gBAAgB;QAAE,OAAO,KAAK,CAAC;IAC7E,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW;QAAE,OAAO,QAAQ,CAAC;IAChD,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW;QAAE,OAAO,QAAQ,CAAC;IACzG,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,SAAS,CAAC,GAAc;IAC/B,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,UAAU,CAAC,GAAc,EAAE,MAA2B;IAC7D,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK;WAClB,CAAC,GAAG,CAAC,OAAO,KAAK,QAAQ;YAC1B,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK;YAChC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;WAC/B,SAAS,CAAC;IACf,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,gBAAgB,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;IACpF,OAAO,SAAS,CAAC,GAAG,KAAK,IAAI,MAAM,IAAI,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,eAAe,CAAC,OAAwB,EAAE,MAA2B;IAC5E,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;AAC/F,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAwB,EAAE,MAA2B;IAC7E,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACzC,CAAC;IACD,OAAO,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,eAAe,IAAI,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;AACnF,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,QAAgB,EAChB,eAAuB,EACvB,OAAwB,EACxB,KAAyB,EACzB,MAA+B,EAC/B,OAGC;IAED,MAAM,wBAAwB,CAAC,QAAQ,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACtF,MAAM,wBAAwB,CAAC;QAC7B,OAAO;QACP,KAAK;QACL,MAAM;QACN,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,YAAY,EAAE,OAAO,CAAC,YAAY;KACnC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,OAAsB,EAAE,OAAwB;IACnE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAClG,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7H,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAa;IAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC;AAC1F,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1D,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,GAA8E;IAChH,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,CAAC,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,cAAc,CAAC;AACvF,CAAC;AAED,SAAS,YAAY,CAAC,KAAa,EAAE,GAA8E;IACjH,OAAO,OAAO,CACZ,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,CAAC;QAC3B,KAAK,KAAK,QAAQ;QAClB,KAAK,KAAK,cAAc;QACxB,KAAK,KAAK,UAAU;QACpB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CACpF,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,OAAO,KAAK,CAAC,OAAO,CAAC,iDAAiD,EAAE,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,OAAO,CAAC,EAAU;IACzB,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,KAAa;IAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAChD,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AACtD,CAAC"}