@purepageio/fetch-engines 0.5.0 → 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.
@@ -4,7 +4,7 @@ import { parse, HTMLElement as NHPHTMLElement } from "node-html-parser";
4
4
  // --- Constants ---
5
5
  // Preprocessing - Selectors for removal (balanced approach)
6
6
  const PREPROCESSING_REMOVE_SELECTORS = [
7
- "script:not([type='application/ld+json'])", // Keep JSON-LD
7
+ "script", // Remove all scripts, including JSON-LD
8
8
  "style",
9
9
  "noscript",
10
10
  "iframe:not([title])", // Keep iframes with titles (potential embeds)
@@ -71,12 +71,15 @@ export class MarkdownConverter {
71
71
  emDelimiter: "*",
72
72
  hr: "---",
73
73
  // Use nodeType check instead of window.HTMLElement
74
+ // Important: Do NOT blanket-preserve <table> elements here — let the GFM plugin
75
+ // convert them to Markdown. Only preserve explicitly marked layout/preserved elements.
74
76
  keepReplacement: ((_content, node) => {
75
77
  // Node.ELEMENT_NODE is 1
76
78
  if (node.nodeType === TURNDOWN_NODE_ELEMENT_TYPE) {
77
79
  const htmlElement = node;
78
- if (htmlElement.getAttribute("role") === TURNDOWN_PRESENTATION_ROLE ||
79
- htmlElement.classList?.contains(TURNDOWN_PRESERVE_CLASS)) {
80
+ const role = htmlElement.getAttribute("role");
81
+ const preserve = htmlElement.classList?.contains(TURNDOWN_PRESERVE_CLASS);
82
+ if (role === TURNDOWN_PRESENTATION_ROLE || preserve) {
80
83
  return htmlElement.outerHTML;
81
84
  }
82
85
  }
@@ -430,8 +433,22 @@ export class MarkdownConverter {
430
433
  console.warn(`Skipping invalid selector during preprocessing: ${selector}`, e);
431
434
  }
432
435
  });
436
+ // Remove breadcrumb UI blocks explicitly (often low link density)
437
+ this.removeBreadcrumbs(rootElement);
433
438
  this.removeHighLinkDensityElements(rootElement, DEFAULT_LINK_DENSITY_THRESHOLD);
434
- const metadata = this.extractDocumentMetadata(rootElement);
439
+ // Normalize simple data tables so GFM can convert them (e.g., first row headers using <td>)
440
+ this.normalizeTablesForMarkdown(rootElement);
441
+ // Capture best title BEFORE removing head
442
+ const bestTitle = rootElement.querySelector("meta[property='og:title']")?.getAttribute("content") ||
443
+ rootElement.querySelector("meta[name='twitter:title']")?.getAttribute("content") ||
444
+ rootElement.querySelector("meta[name='DC.title']")?.getAttribute("content") ||
445
+ rootElement.querySelector("title")?.textContent ||
446
+ "";
447
+ // Drop <head> from the DOM so we don't leak <title> etc. into content
448
+ try {
449
+ rootElement.querySelector("head")?.remove();
450
+ }
451
+ catch { }
435
452
  const isForum = this.detectForumPage(rootElement);
436
453
  let contentElement = rootElement;
437
454
  if (isForum) {
@@ -445,13 +462,21 @@ export class MarkdownConverter {
445
462
  const message = e instanceof Error ? e.message : String(e);
446
463
  console.error(`MarkdownConverter: Error during main content extraction, falling back to full body: ${message}`, e instanceof Error ? e : undefined);
447
464
  // Fallback to the original root (full body) if extraction fails
448
- contentElement = rootElement;
465
+ const body = rootElement.querySelector("body");
466
+ contentElement = body || rootElement;
449
467
  }
450
468
  }
469
+ // Ensure we don't include <head> if extraction returned <html>
470
+ if (contentElement instanceof NHPHTMLElement && contentElement.tagName === "HTML") {
471
+ const body = rootElement.querySelector("body");
472
+ if (body)
473
+ contentElement = body;
474
+ }
475
+ // Ensure main page title is rendered as H1 in content
476
+ this.ensurePrimaryHeading(rootElement, contentElement, bestTitle);
451
477
  let contentHtml = contentElement instanceof NHPHTMLElement ? contentElement.outerHTML : contentElement.textContent;
452
478
  contentHtml = this.cleanupContentHtml(contentHtml || "");
453
- const metadataString = metadata.length > 0 ? metadata.join("\n\n") + "\n\n---\n\n" : "";
454
- return metadataString + contentHtml;
479
+ return contentHtml;
455
480
  }
456
481
  catch (error) {
457
482
  const message = error instanceof Error ? error.message : String(error);
@@ -459,6 +484,239 @@ export class MarkdownConverter {
459
484
  return this.cleanupHtml(html); // Return original (but cleaned) HTML on failure
460
485
  }
461
486
  }
487
+ /**
488
+ * Ensures simple data tables are convertible to GFM by promoting the first row to headers
489
+ * when no <th> exists. Skips layout tables marked with role="presentation".
490
+ */
491
+ normalizeTablesForMarkdown(root) {
492
+ const tables = root.querySelectorAll("table");
493
+ for (const table of tables) {
494
+ if (!(table instanceof NHPHTMLElement))
495
+ continue;
496
+ const role = table.getAttribute("role");
497
+ if (role && role.toLowerCase() === "presentation")
498
+ continue; // skip layout tables
499
+ // Lossy-flatten complex tables to be GFM-compatible (best-effort). If flattening
500
+ // fails (unexpected markup), fall back to preserving the original.
501
+ const hasSpans = table.querySelector("[colspan], [rowspan]") !== null;
502
+ if (hasSpans) {
503
+ const ok = this.flattenTableToSimpleGfm(table);
504
+ if (!ok) {
505
+ const existing = table.getAttribute("class");
506
+ const newClass = existing ? `${existing} ${TURNDOWN_PRESERVE_CLASS}` : TURNDOWN_PRESERVE_CLASS;
507
+ table.setAttribute("class", newClass);
508
+ }
509
+ continue;
510
+ }
511
+ // If table already has headers, leave as-is
512
+ if (table.querySelector("th"))
513
+ continue;
514
+ const firstRow = table.querySelector("tr");
515
+ if (!firstRow || !(firstRow instanceof NHPHTMLElement))
516
+ continue;
517
+ // Promote all cells in the first row to header cells
518
+ const cells = firstRow.querySelectorAll("td");
519
+ if (!cells || cells.length === 0)
520
+ continue;
521
+ for (const cell of cells) {
522
+ if (cell instanceof NHPHTMLElement && cell.tagName === "TD") {
523
+ // Switch tag to TH so GFM plugin recognizes header row
524
+ // node-html-parser allows mutating tagName directly
525
+ cell.tagName = "TH";
526
+ }
527
+ }
528
+ }
529
+ }
530
+ // Remove common breadcrumb containers explicitly, regardless of link density
531
+ removeBreadcrumbs(root) {
532
+ const selectors = [
533
+ "nav[aria-label='breadcrumb']",
534
+ "nav[aria-label='Breadcrumb']",
535
+ "[aria-label='breadcrumbs']",
536
+ "[aria-label='Breadcrumbs']",
537
+ "nav.breadcrumb",
538
+ "nav.breadcrumbs",
539
+ "ol.breadcrumb",
540
+ "ul.breadcrumb",
541
+ ".breadcrumb",
542
+ ".breadcrumbs",
543
+ "[itemtype*='Breadcrumb']",
544
+ "[itemtype*='breadcrumb']",
545
+ "[typeof*='BreadcrumbList']",
546
+ ];
547
+ for (const sel of selectors) {
548
+ try {
549
+ root.querySelectorAll(sel).forEach((el) => {
550
+ // Remove the element; if it's inside a <nav>, remove the nav container
551
+ const nav = el.closest && el.closest("nav");
552
+ (nav || el).remove();
553
+ });
554
+ }
555
+ catch (e) {
556
+ // Ignore selector errors
557
+ }
558
+ }
559
+ }
560
+ // Render metadata items to HTML so Turndown can convert cleanly to Markdown
561
+ // (metadata rendering removed – we no longer inject metadata into output)
562
+ // Promote or inject a primary H1 heading using best available title.
563
+ ensurePrimaryHeading(root, content, providedTitle) {
564
+ if (!(content instanceof NHPHTMLElement))
565
+ return;
566
+ // Determine best title from metadata sources
567
+ const bestTitle = providedTitle ||
568
+ root.querySelector("meta[property='og:title']")?.getAttribute("content") ||
569
+ root.querySelector("meta[name='twitter:title']")?.getAttribute("content") ||
570
+ root.querySelector("meta[name='DC.title']")?.getAttribute("content") ||
571
+ root.querySelector("title")?.textContent ||
572
+ "";
573
+ // Find existing headings in content
574
+ const firstH1 = content.querySelector("h1");
575
+ const firstHeading = content.querySelector("h1, h2, h3, h4, h5, h6");
576
+ const normalize = (s) => (s || "").trim().replace(/\s+/g, " ");
577
+ const titleNorm = normalize(bestTitle);
578
+ const h1Text = normalize(firstH1?.textContent || "");
579
+ if (firstH1) {
580
+ // If document title is longer and contains the existing H1, replace H1 with the document title
581
+ if (titleNorm &&
582
+ titleNorm.length > h1Text.length &&
583
+ (titleNorm.includes(h1Text) || h1Text.includes(titleNorm.split("|")[0].trim()))) {
584
+ firstH1.set_content(bestTitle);
585
+ }
586
+ return;
587
+ }
588
+ // No H1 present: prefer document title if available
589
+ if (titleNorm) {
590
+ const h1 = parse(`<h1>${bestTitle}</h1>`).firstChild;
591
+ content.prepend(h1);
592
+ return;
593
+ }
594
+ // Otherwise, promote the first heading to H1
595
+ if (firstHeading) {
596
+ firstHeading.tagName = "H1";
597
+ }
598
+ }
599
+ // Attempt to flatten a table with colspans/rowspans into a simple table
600
+ // with no spans so GFM can convert it. Returns true on success.
601
+ flattenTableToSimpleGfm(table) {
602
+ try {
603
+ const rows = table.querySelectorAll("tr");
604
+ if (!rows || rows.length === 0)
605
+ return false;
606
+ let spanMap = {};
607
+ const grid = [];
608
+ let maxCols = 0;
609
+ for (const tr of rows) {
610
+ if (!(tr instanceof NHPHTMLElement))
611
+ continue;
612
+ // Pre-fill from active rowspans
613
+ const nextSpanMap = {};
614
+ const currentRow = [];
615
+ // Place carried-over cells first
616
+ const spanCols = Object.keys(spanMap)
617
+ .map((k) => Number(k))
618
+ .sort((a, b) => a - b);
619
+ for (const colIdx of spanCols) {
620
+ const sc = spanMap[colIdx];
621
+ currentRow[colIdx] = sc.content;
622
+ if (sc.remaining - 1 > 0) {
623
+ nextSpanMap[colIdx] = { content: sc.content, remaining: sc.remaining - 1 };
624
+ }
625
+ }
626
+ // Place actual cells of the row, respecting existing occupied columns
627
+ const cells = tr.querySelectorAll("th, td");
628
+ let insertCol = 0;
629
+ for (const cell of cells) {
630
+ if (!(cell instanceof NHPHTMLElement))
631
+ continue;
632
+ // Find next free column
633
+ while (currentRow[insertCol] !== undefined)
634
+ insertCol++;
635
+ const colSpan = Math.max(1, parseInt(cell.getAttribute("colspan") || "1", 10) || 1);
636
+ const rowSpan = Math.max(1, parseInt(cell.getAttribute("rowspan") || "1", 10) || 1);
637
+ const content = this.sanitizeCellContentForTable(cell.innerHTML || "");
638
+ for (let i = 0; i < colSpan; i++) {
639
+ const col = insertCol + i;
640
+ currentRow[col] = content;
641
+ if (rowSpan > 1) {
642
+ const existing = nextSpanMap[col];
643
+ nextSpanMap[col] = { content, remaining: Math.max(existing?.remaining || 0, rowSpan - 1) };
644
+ }
645
+ }
646
+ insertCol += colSpan;
647
+ }
648
+ // Normalize row
649
+ const length = currentRow.length;
650
+ maxCols = Math.max(maxCols, length);
651
+ grid.push(currentRow);
652
+ spanMap = nextSpanMap;
653
+ }
654
+ // Drop leading fully-empty rows (often style-only)
655
+ while (grid.length && grid[0].every((c) => !c || !c.trim())) {
656
+ grid.shift();
657
+ }
658
+ // Ensure all rows have equal length
659
+ for (const row of grid) {
660
+ for (let i = 0; i < maxCols; i++) {
661
+ if (row[i] === undefined)
662
+ row[i] = "";
663
+ }
664
+ }
665
+ // Pick a header row: first non-empty row (after dropping empties)
666
+ const headerRowIndex = 0;
667
+ // Build a simple table HTML without spans
668
+ let html = "<table><tbody>";
669
+ for (let r = 0; r < grid.length; r++) {
670
+ const row = grid[r];
671
+ html += "<tr>";
672
+ for (const cellContent of row) {
673
+ if (r === headerRowIndex) {
674
+ html += `<th>${cellContent}</th>`;
675
+ }
676
+ else {
677
+ html += `<td>${cellContent}</td>`;
678
+ }
679
+ }
680
+ html += "</tr>";
681
+ }
682
+ html += "</tbody></table>";
683
+ // Replace original table with the flattened one
684
+ const replacementRoot = parse(html);
685
+ const newTable = replacementRoot.querySelector("table");
686
+ if (!newTable)
687
+ return false;
688
+ table.replaceWith(newTable);
689
+ return true;
690
+ }
691
+ catch {
692
+ return false;
693
+ }
694
+ }
695
+ // Reduce blocky/complex markup inside table cells to inline-friendly HTML so Turndown
696
+ // does not break the table structure. Joins list items with " | ", removes outer divs,
697
+ // flattens paragraphs and <br> to spaces, and trims whitespace.
698
+ sanitizeCellContentForTable(content) {
699
+ if (!content)
700
+ return "";
701
+ let c = content;
702
+ // Normalize lists: turn <li> items into inline separated values
703
+ c = c.replace(/<li[^>]*>/gi, "").replace(/<\/li>/gi, " • ");
704
+ c = c.replace(/<\/(ul|ol)>/gi, "").replace(/<(ul|ol)[^>]*>/gi, "");
705
+ // Remove outer div/span wrappers but keep inner content
706
+ c = c.replace(/<div[^>]*>/gi, "").replace(/<\/div>/gi, " ");
707
+ c = c.replace(/<span[^>]*>/gi, "").replace(/<\/span>/gi, "");
708
+ // Flatten paragraphs and line breaks
709
+ c = c.replace(/<p[^>]*>/gi, "").replace(/<\/p>/gi, " ");
710
+ c = c.replace(/<br\s*\/?>(\s*)/gi, " ");
711
+ // Normalize bullet separators spacing
712
+ c = c.replace(/\s*•\s*/g, " • ");
713
+ c = c.replace(/(\s*•\s*)+$/g, "");
714
+ // Avoid Markdown table column separators inside cells
715
+ c = c.replace(/\|/g, " • ");
716
+ // Collapse multiple whitespace and trim
717
+ c = c.replace(/\s+/g, " ").trim();
718
+ return c;
719
+ }
462
720
  cleanupHtml(html) {
463
721
  // Remove specific non-standard characters/patterns observed in the wild
464
722
  return (html
@@ -536,78 +794,97 @@ export class MarkdownConverter {
536
794
  }
537
795
  }
538
796
  }
539
- extractDocumentMetadata(root) {
540
- const metadata = [];
541
- const addedMeta = new Set(); // Track added keys to avoid duplicates
542
- // Helper to add metadata if value exists and key hasn't been added
543
- const addMeta = (key, value, isTitle = false) => {
544
- const cleanedValue = value?.trim();
545
- if (cleanedValue && !addedMeta.has(key.toLowerCase())) {
546
- if (isTitle) {
547
- metadata.unshift(`# ${cleanedValue}`); // Main title as H1 at the beginning
548
- }
549
- else {
550
- metadata.push(`**${key}:** ${cleanedValue}`);
551
- }
552
- addedMeta.add(key.toLowerCase());
797
+ /*
798
+ private extractDocumentMetadata(root: NHPHTMLElement): string[] {
799
+ const metadata: string[] = [];
800
+ const addedMeta: Set<string> = new Set(); // Track added keys to avoid duplicates
801
+
802
+ // Helper to add metadata if value exists and key hasn't been added
803
+ const addMeta = (key: string, value: string | null | undefined, isTitle = false) => {
804
+ const cleanedValue = value?.trim();
805
+ if (cleanedValue && !addedMeta.has(key.toLowerCase())) {
806
+ // Skip injecting title as Markdown to avoid duplicating content H1
807
+ if (!isTitle) {
808
+ metadata.push(`${key}: ${cleanedValue}`);
809
+ }
810
+ addedMeta.add(key.toLowerCase());
811
+ }
812
+ };
813
+
814
+ // 1. Title (Prioritize specific ones, fallback to <title>)
815
+ addMeta("Title", root.querySelector("meta[property='og:title']")?.getAttribute("content"), true);
816
+ addMeta("Title", root.querySelector("meta[name='twitter:title']")?.getAttribute("content"), true);
817
+ addMeta("Title", root.querySelector("meta[name='DC.title']")?.getAttribute("content"), true);
818
+ addMeta("Title", root.querySelector("title")?.textContent, true);
819
+
820
+ // 2. Description
821
+ addMeta("Description", root.querySelector("meta[property='og:description']")?.getAttribute("content"));
822
+ addMeta("Description", root.querySelector("meta[name='twitter:description']")?.getAttribute("content"));
823
+ addMeta("Description", root.querySelector("meta[name='description']")?.getAttribute("content"));
824
+ addMeta("Description", root.querySelector("meta[name='DC.description']")?.getAttribute("content"));
825
+
826
+ // 3. Author
827
+ addMeta("Author", root.querySelector("meta[name='author']")?.getAttribute("content"));
828
+ addMeta("Author", root.querySelector("meta[property='article:author']")?.getAttribute("content"));
829
+ addMeta("Author", root.querySelector("[rel='author']")?.textContent);
830
+
831
+ // 4. Publication Date
832
+ addMeta("Published", root.querySelector("meta[property='article:published_time']")?.getAttribute("content"));
833
+ addMeta("Published", root.querySelector("meta[name='publish-date']")?.getAttribute("content"));
834
+ addMeta("Published", root.querySelector("time[itemprop='datePublished']")?.getAttribute("datetime"));
835
+ addMeta("Published", root.querySelector("time")?.getAttribute("datetime")); // Generic time tag
836
+
837
+ // 5. Canonical URL
838
+ addMeta("URL", root.querySelector("link[rel='canonical']")?.getAttribute("href"));
839
+ addMeta("URL", root.querySelector("meta[property='og:url']")?.getAttribute("content"));
840
+
841
+ // 6. Extract JSON-LD
842
+ const jsonLdScripts = root.querySelectorAll("script[type='application/ld+json']");
843
+ if (jsonLdScripts.length > 0) {
844
+ const jsonLdData = Array.from(jsonLdScripts)
845
+ .map((script) => {
846
+ try {
847
+ // Ensure script content exists before parsing
848
+ const textContent = script.textContent;
849
+ return textContent ? JSON.parse(textContent) : null;
850
+ } catch (e: unknown) {
851
+ const message = e instanceof Error ? e.message : String(e);
852
+ console.warn(`Failed to parse JSON-LD content: ${message}`, e instanceof Error ? e : undefined);
853
+ return null;
553
854
  }
554
- };
555
- // 1. Title (Prioritize specific ones, fallback to <title>)
556
- addMeta("Title", root.querySelector("meta[property='og:title']")?.getAttribute("content"), true);
557
- addMeta("Title", root.querySelector("meta[name='twitter:title']")?.getAttribute("content"), true);
558
- addMeta("Title", root.querySelector("meta[name='DC.title']")?.getAttribute("content"), true);
559
- addMeta("Title", root.querySelector("title")?.textContent, true);
560
- // 2. Description
561
- addMeta("Description", root.querySelector("meta[property='og:description']")?.getAttribute("content"));
562
- addMeta("Description", root.querySelector("meta[name='twitter:description']")?.getAttribute("content"));
563
- addMeta("Description", root.querySelector("meta[name='description']")?.getAttribute("content"));
564
- addMeta("Description", root.querySelector("meta[name='DC.description']")?.getAttribute("content"));
565
- // 3. Author
566
- addMeta("Author", root.querySelector("meta[name='author']")?.getAttribute("content"));
567
- addMeta("Author", root.querySelector("meta[property='article:author']")?.getAttribute("content"));
568
- addMeta("Author", root.querySelector("[rel='author']")?.textContent);
569
- // 4. Publication Date
570
- addMeta("Published", root.querySelector("meta[property='article:published_time']")?.getAttribute("content"));
571
- addMeta("Published", root.querySelector("meta[name='publish-date']")?.getAttribute("content"));
572
- addMeta("Published", root.querySelector("time[itemprop='datePublished']")?.getAttribute("datetime"));
573
- addMeta("Published", root.querySelector("time")?.getAttribute("datetime")); // Generic time tag
574
- // 5. Canonical URL
575
- addMeta("URL", root.querySelector("link[rel='canonical']")?.getAttribute("href"));
576
- addMeta("URL", root.querySelector("meta[property='og:url']")?.getAttribute("content"));
577
- // 6. Extract JSON-LD
578
- const jsonLdScripts = root.querySelectorAll("script[type='application/ld+json']");
579
- if (jsonLdScripts.length > 0) {
580
- const jsonLdData = Array.from(jsonLdScripts)
581
- .map((script) => {
582
- try {
583
- // Ensure script content exists before parsing
584
- const textContent = script.textContent;
585
- return textContent ? JSON.parse(textContent) : null;
855
+ })
856
+ .filter((item): item is object => item !== null); // Type guard for filter
857
+
858
+ if (jsonLdData.length > 0 && !addedMeta.has("json-ld")) {
859
+ // Keep JSON-LD as a single block; will be injected as HTML later
860
+ metadata.push(`<details><summary>JSON-LD Metadata</summary>\n<pre><code class="language-json">${
861
+ JSON.stringify(jsonLdData, null, 2)
862
+ }</code></pre>\n</details>`);
863
+ addedMeta.add("json-ld");
864
+
865
+ // Add other relevant fields like 'author', 'datePublished', etc.
866
+ jsonLdData.forEach((jsonData) => {
867
+ if (typeof jsonData === "object" && jsonData !== null) {
868
+ // Safely extract publisher name from JSON-LD object
869
+ const publisher = (jsonData as Record<string, unknown>).publisher as unknown;
870
+ let orgName: string | undefined;
871
+ if (publisher && typeof publisher === "object") {
872
+ const name = (publisher as Record<string, unknown>).name;
873
+ if (typeof name === "string") {
874
+ orgName = name;
586
875
  }
587
- catch (e) {
588
- const message = e instanceof Error ? e.message : String(e);
589
- console.warn(`Failed to parse JSON-LD content: ${message}`, e instanceof Error ? e : undefined);
590
- return null;
591
- }
592
- })
593
- .filter((item) => item !== null); // Type guard for filter
594
- if (jsonLdData.length > 0 && !addedMeta.has("json-ld")) {
595
- // Use details/summary for collapsibility
596
- metadata.push("<details><summary>JSON-LD Metadata</summary>\n");
597
- metadata.push("```json", JSON.stringify(jsonLdData, null, 2), "```");
598
- metadata.push("</details>");
599
- addedMeta.add("json-ld");
600
- // Add other relevant fields like 'author', 'datePublished', etc.
601
- jsonLdData.forEach((jsonData) => {
602
- if (typeof jsonData === "object" && jsonData !== null) {
603
- // jsonData is already type 'object' here
604
- addMeta("Organization", jsonData.publisher?.name);
605
- }
606
- });
876
+ } else if (typeof publisher === "string") {
877
+ orgName = publisher; // Some JSON-LD use a string for publisher
878
+ }
879
+ addMeta("Organization", orgName);
607
880
  }
881
+ });
608
882
  }
609
- return metadata;
883
+ }
884
+
885
+ return metadata;
610
886
  }
887
+ */
611
888
  detectForumPage(root) {
612
889
  // Count indicators across different selector groups
613
890
  const countMatches = (selectors) => {
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-converter.js","sourceRoot":"","sources":["../../src/utils/markdown-converter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdown-converter.js","sourceRoot":"","sources":["../../src/utils/markdown-converter.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,WAAW,IAAI,cAAc,EAA4C,MAAM,kBAAkB,CAAC;AAElH,oBAAoB;AAEpB,4DAA4D;AAC5D,MAAM,8BAA8B,GAA0B;IAC5D,QAAQ,EAAE,wCAAwC;IAClD,OAAO;IACP,UAAU;IACV,qBAAqB,EAAE,8CAA8C;CACtE,CAAC;AAEF,mEAAmE;AACnE,MAAM,sBAAsB,GAA0B;IACpD,eAAe;IACf,SAAS;IACT,MAAM;IACN,eAAe;IACf,kBAAkB;IAClB,kDAAkD;IAClD,yBAAyB;IACzB,yBAAyB;IACzB,yBAAyB;IACzB,0BAA0B;IAC1B,sBAAsB;IACtB,sBAAsB;IACtB,sBAAsB;IACtB,UAAU;IACV,OAAO;IACP,UAAU;IACV,QAAQ;IACR,YAAY;IACZ,WAAW;IACX,MAAM;CACP,CAAC;AAEF,gDAAgD;AAChD,MAAM,uBAAuB,GAA0B;IACrD,UAAU;IACV,WAAW;IACX,QAAQ;IACR,kBAAkB;IAClB,eAAe;CAChB,CAAC;AACF,MAAM,sBAAsB,GAA0B,CAAC,SAAS,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;AAC9F,MAAM,oBAAoB,GAA0B,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;AAC9G,MAAM,yBAAyB,GAA0B,CAAC,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;AAC9G,MAAM,kCAAkC,GAA0B,CAAC,eAAe,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;AAC9G,MAAM,mCAAmC,GAA0B,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAE5G,+BAA+B;AAC/B,MAAM,4BAA4B,GAAG,EAAE,CAAC,CAAC,iCAAiC;AAC1E,MAAM,8BAA8B,GAAG,GAAG,CAAC,CAAC,2BAA2B;AAEvE,kCAAkC;AAClC,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAEpC,kCAAkC;AAClC,MAAM,wBAAwB,GAA0B,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AAE/E,iBAAiB;AACjB,MAAM,uCAAuC,GAAG,CAAC,CAAC,CAAC,2BAA2B;AAE9E,oBAAoB;AACpB,MAAM,gCAAgC,GAAG,KAAK,CAAC;AAC/C,MAAM,0BAA0B,GAAG,CAAC,CAAC;AACrC,MAAM,0BAA0B,GAAG,cAAc,CAAC;AAClD,MAAM,uBAAuB,GAAG,UAAU,CAAC;AAc3C,2BAA2B;AAE3B,MAAM,OAAO,iBAAiB;IACpB,eAAe,CAAkB;IAEzC;QACE,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC;YACzC,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,QAAQ;YACxB,gBAAgB,EAAE,GAAG;YACrB,eAAe,EAAE,IAAI;YACrB,WAAW,EAAE,GAAG;YAChB,EAAE,EAAE,KAAK;YACT,mDAAmD;YACnD,gFAAgF;YAChF,uFAAuF;YACvF,eAAe,EAAE,CAAC,CAAC,QAAgB,EAAE,IAAkB,EAAE,EAAE;gBACzD,yBAAyB;gBACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,0BAA0B,EAAE,CAAC;oBACjD,MAAM,WAAW,GAAG,IAA2B,CAAC;oBAChD,MAAM,IAAI,GAAG,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBAC9C,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC;oBAC1E,IAAI,IAAI,KAAK,0BAA0B,IAAI,QAAQ,EAAE,CAAC;wBACpD,OAAO,WAAW,CAAC,SAAS,CAAC;oBAC/B,CAAC;gBACH,CAAC;gBACD,OAAO,EAAE,CAAC;YACZ,CAAC,CAAgC;SAClC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE9B,yBAAyB;QACzB,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAED,wBAAwB;IAExB;;;;;OAKG;IACI,OAAO,CAAC,IAAY,EAAE,UAA6B,EAAE;QAC1D,oDAAoD;QACpD,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAEnD,wCAAwC;QACxC,IAAI,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAE/D,oCAAoC;QACpC,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEvD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,8BAA8B;IAEtB,qBAAqB;QAC3B,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,wEAAwE;IACxE,4FAA4F;IACpF,yBAAyB;QAC/B,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,qBAAqB,EAAE;YAClD,MAAM,EAAE,CAAC,IAAkB,EAAW,EAAE;gBACtC,yBAAyB;gBACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,0BAA0B;oBAAE,OAAO,KAAK,CAAC;gBAC/D,MAAM,EAAE,GAAG,IAA2B,CAAC;gBACvC,MAAM,OAAO,GAAG,IAAe,CAAC;gBAChC,OAAO,CACL,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,MAAM;oBACnC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC3D,sBAAsB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;wBACvC,IAAI,CAAC;4BACH,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,KAAK,MAAM,CAAC;wBAC1D,CAAC;wBAAC,MAAM,CAAC;4BACP,OAAO,KAAK,CAAC;wBACf,CAAC;oBACH,CAAC,CAAC,CACH,CAAC;YACJ,CAAC;YACD,+EAA+E;YAC/E,WAAW,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,OAAO;SAC1C,CAAC,CAAC;QAEH,uEAAuE;QACvE,MAAM,YAAY,GAAuC;YACvD,QAAQ;YACR,OAAO;YACP,UAAU;YACV,QAAQ;YACR,QAAQ;YACR,OAAO;YACP,QAAQ;YACR,UAAU;YACV,MAAM;YACN,QAAQ;YACR,kBAAkB,CAAC,OAAO;YAC1B,OAAO;SACR,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,iBAAiB,EAAE;YAC9C,MAAM,EAAE,YAAY;YACpB,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE;SACtB,CAAC,CAAC;IACL,CAAC;IAEO,iBAAiB;QACvB,uEAAuE;QACvE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE;YACtC,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,OAAO,OAAO,MAAM,EAAE,iBAAiB;SAC1E,CAAC,CAAC;QAEH,uEAAuE;QACvE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE;YACtC,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,OAAO,OAAO,MAAM,EAAE,iBAAiB;SAC1E,CAAC,CAAC;QAEH,oCAAoC;QACpC,yGAAyG;IAC3G,CAAC;IAEO,aAAa;QACnB,4CAA4C;QAC5C,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE;YACnC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;YACpB,WAAW,EAAE,CAAC,OAAe,EAAE,IAAkB,EAAE,EAAE;gBACnD,yBAAyB;gBACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,0BAA0B;oBAAE,OAAO,OAAO,CAAC;gBACjE,mDAAmD;gBACnD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;gBAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5E,yDAAyD;gBACzD,qDAAqD;gBACrD,OAAO,CACL,IAAI;oBACJ,OAAO;yBACJ,KAAK,CAAC,IAAI,CAAC;yBACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;yBACtC,IAAI,CAAC,IAAI,CAAC;yBACV,IAAI,EAAE;oBACT,IAAI,CACL,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;QAEH,aAAa;QACb,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE;YACvC,MAAM,EAAE,IAAI;YACZ,6DAA6D;YAC7D,WAAW,EAAE,CAAC,OAAe,EAAE,IAAkB,EAAE,OAAgC,EAAE,EAAE;gBACrF,OAAO,GAAG,OAAO;qBACd,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,2CAA2C;qBACjE,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,oCAAoC;gBAExE,IAAI,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,GAAG,CAAC;gBAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAwC,CAAC;gBACjE,IAAI,UAAU,IAAI,UAAU,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;oBAC/C,IAAI,CAAC;wBACH,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;wBAC/C,MAAM,WAAW,GAAG,IAAe,CAAC;wBACpC,MAAM,aAAa,GAAG,UAAqB,CAAC;wBAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;wBAChF,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;oBAC9D,CAAC;oBAAC,OAAO,CAAU,EAAE,CAAC;wBACpB,MAAM,GAAG,gCAAgC,CAAC;wBAC1C,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBAC3D,OAAO,CAAC,IAAI,CACV,uEAAuE,OAAO,EAAE,EAChF,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CACnC,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,OAAO,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,8BAA8B;YACvE,CAAC;SACF,CAAC,CAAC;QAEH,iCAAiC;QAEjC,cAAc;QACd,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,YAAY,EAAE;YACzC,MAAM,EAAE,YAAY;YACpB,WAAW,EAAE,CAAC,OAAe,EAAE,EAAE;gBAC/B,yEAAyE;gBACzE,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;gBACtC,OAAO,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;YACnE,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAEO,cAAc;QACpB,0DAA0D;QAC1D,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE;YACnC,MAAM,EAAE,CAAC,IAAkB,EAAE,QAAiC,EAAW,EAAE;gBACzE,gEAAgE;gBAChE,OAAO,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,GAAG,IAAI,CAAC,CAAE,IAA4B,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAC9G,CAAC;YACD,WAAW,EAAE,CAAC,OAAe,EAAE,IAAkB,EAAE,EAAE;gBACnD,MAAM,OAAO,GAAG,IAA2B,CAAC;gBAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChD,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBAC5C,+EAA+E;gBAC/E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAEpD,mDAAmD;gBACnD,IAAI,WAAW,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC;oBACH,mDAAmD;oBACnD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;wBACvB,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;oBAChC,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAU,EAAE,CAAC;oBACpB,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC3D,OAAO,CAAC,IAAI,CACV,yBAAyB,IAAI,MAAM,OAAO,qBAAqB,EAC/D,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CACnC,CAAC;oBACF,uCAAuC;gBACzC,CAAC;gBAED,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,WAAW,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,WAAW,GAAG,CAAC;YACxF,CAAC;SACF,CAAC,CAAC;QAEH,uCAAuC;QACvC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE;YACrC,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,CAAC,OAAe,EAAE,IAAkB,EAAE,EAAE;gBACnD,yBAAyB;gBACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC;oBAAE,OAAO,OAAO,CAAC;gBACxC,MAAM,OAAO,GAAG,IAA2B,CAAC;gBAC5C,wCAAwC;gBACxC,MAAM,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACzC,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;gBAEvD,IAAI,QAAQ,GAAG,EAAE,CAAC;gBAClB,IAAI,SAAS,GAAG,EAAE,CAAC;gBAEnB,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBAC1C,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBACxC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC;gBAC3E,CAAC;gBAED,8EAA8E;gBAC9E,IAAI,gBAAgB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;gBAEtC,qFAAqF;gBACrF,IAAI,SAAS,EAAE,CAAC;oBACd,QAAQ,GAAG,SAAS,CAAC;oBACrB,qFAAqF;oBACrF,yEAAyE;oBACzE,MAAM,cAAc,GAAG,KAAK,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC;oBACjG,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBACzE,CAAC;gBAED,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;oBACnD,IAAI,WAAW,EAAE,CAAC;wBAChB,QAAQ,IAAI,QAAQ,WAAW,GAAG,CAAC,CAAC,0CAA0C;wBAC9E,+DAA+D;wBAC/D,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;wBACpE,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,wCAAwC;oBAC9G,CAAC;gBACH,CAAC;gBAED,+CAA+C;gBAC/C,IAAI,gBAAgB,EAAE,CAAC;oBACrB,gEAAgE;oBAChE,IAAI,gBAAgB,CAAC,MAAM,GAAG,EAAE,IAAI,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;wBACzE,QAAQ,IAAI,OAAO,gBAAgB,EAAE,CAAC;oBACxC,CAAC;gBACH,CAAC;gBAED,OAAO,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC;YAC3C,CAAC;SACF,CAAC,CAAC;QAEH,qCAAqC;QACrC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE;YACpC,MAAM,EAAE,CAAC,IAAkB,EAAW,EAAE;gBACtC,mDAAmD;gBACnD,OAAO,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAE,IAA4B,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC/G,CAAC;YACD,WAAW,EAAE,CAAC,QAAgB,EAAE,IAAkB,EAAE,EAAE;gBACpD,MAAM,OAAO,GAAG,IAA2B,CAAC;gBAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBAC5C,6CAA6C;gBAC7C,OAAO,KAAK,CAAC,CAAC,CAAC,SAAS,GAAG,KAAK,GAAG,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,GAAG,KAAK,GAAG,OAAO,CAAC;YACtF,CAAC;SACF,CAAC,CAAC;QAEH,mCAAmC;QACnC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,YAAY,EAAE;YACzC,MAAM,EAAE,CAAC,IAAkB,EAAW,EAAE;gBACtC,yBAAyB;gBACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC;oBAAE,OAAO,KAAK,CAAC;gBACtC,MAAM,OAAO,GAAG,IAA2B,CAAC;gBAE5C,sBAAsB;gBACtB,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC;gBACtD,IAAI,CAAC,KAAK;oBAAE,OAAO,KAAK,CAAC;gBAEzB,2EAA2E;gBAC3E,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;gBAC5D,MAAM,YAAY,GAAG,uCAAuC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACrF,MAAM,gBAAgB,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;gBAE9F,OAAO,YAAY,IAAI,YAAY,IAAI,gBAAgB,CAAC;YAC1D,CAAC;YACD,WAAW,EAAE,CAAC,OAAe,EAAE,IAAkB,EAAE,EAAE;gBACnD,yBAAyB;gBACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC;oBAAE,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,yCAAyC;gBACzF,MAAM,OAAO,GAAG,IAA2B,CAAC;gBAE5C,kBAAkB;gBAClB,IAAI,QAAQ,GAAG,EAAE,CAAC;gBAClB,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBAElD,yCAAyC;gBACzC,QAAQ;oBACN,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC;wBAC5B,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC;wBAChC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC7F,EAAE,CAAC;gBAEL,8CAA8C;gBAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACtG,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;wBAC1B,KAAK,MAAM,MAAM,IAAI,wBAAwB,EAAE,CAAC;4BAC9C,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gCAC3B,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gCACxC,MAAM;4BACR,CAAC;wBACH,CAAC;wBACD,IAAI,QAAQ;4BAAE,MAAM;oBACtB,CAAC;gBACH,CAAC;gBAED,kEAAkE;gBAClE,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;gBAEtC,oBAAoB;gBACpB,OAAO,aAAa,QAAQ,KAAK,cAAc,cAAc,CAAC;YAChE,CAAC;SACF,CAAC,CAAC;QAEH,cAAc;QACd,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,YAAY,EAAE;YACzC,MAAM,EAAE,CAAC,IAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,QAAQ,KAAK,KAAK;YAC/F,WAAW,EAAE,CAAC,OAAe,EAAE,EAAE;gBAC/B,kEAAkE;gBAClE,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;gBAC/B,IAAI,CAAC,OAAO;oBAAE,OAAO,EAAE,CAAC,CAAC,+BAA+B;gBAExD,uCAAuC;gBACvC,IAAI,SAAS,GAAG,GAAG,CAAC;gBACpB,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC1B,SAAS,GAAG,IAAI,CAAC;oBACjB,mEAAmE;oBACnE,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;wBACrD,OAAO,GAAG,SAAS,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;oBAChD,CAAC;gBACH,CAAC;gBACD,OAAO,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;YACzC,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,6BAA6B;IAErB,cAAc,CAAC,IAAY;QACjC,oEAAoE;QACpE,oCAAoC;QACpC,8BAA8B;QAC9B,0DAA0D;QAC1D,+CAA+C;QAC/C,mCAAmC;QACnC,uCAAuC;QACvC,+CAA+C;QAC/C,8CAA8C;QAC9C,kFAAkF;QAClF,6EAA6E;QAC7E,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE;gBACvB,OAAO,EAAE,KAAK;gBACd,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;aACjE,CAAC,CAAC;YAEH,0CAA0C;YAC1C,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACxB,iBAAiB;gBACjB,OAAQ,IAA+B,CAAC,WAAW,IAAI,EAAE,CAAC;YAC5D,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC/B,oBAAoB;gBACpB,OAAO,CAAC,IAAI,CAAC,0CAA0C,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACxE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzB,CAAC;YAED,MAAM,WAAW,GAAG,IAAsB,CAAC;YAE3C,8BAA8B,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAClD,IAAI,CAAC;oBACH,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;gBACtE,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,IAAI,CAAC,mDAAmD,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;gBACjF,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,kEAAkE;YAClE,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAEpC,IAAI,CAAC,6BAA6B,CAAC,WAAW,EAAE,8BAA8B,CAAC,CAAC;YAChF,4FAA4F;YAC5F,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC;YAC7C,0CAA0C;YAC1C,MAAM,SAAS,GACb,WAAW,CAAC,aAAa,CAAC,2BAA2B,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC;gBAC/E,WAAW,CAAC,aAAa,CAAC,4BAA4B,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC;gBAChF,WAAW,CAAC,aAAa,CAAC,uBAAuB,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC;gBAC3E,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,WAAW;gBAC/C,EAAE,CAAC;YACL,sEAAsE;YACtE,IAAI,CAAC;gBACH,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;YAC9C,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACV,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAElD,IAAI,cAAc,GAA6B,WAAW,CAAC;YAC3D,IAAI,OAAO,EAAE,CAAC;gBACZ,cAAc,GAAG,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC;oBACH,cAAc,GAAG,IAAI,CAAC,4BAA4B,CAAC,WAAW,CAAC,CAAC;gBAClE,CAAC;gBAAC,OAAO,CAAU,EAAE,CAAC;oBACpB,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC3D,OAAO,CAAC,KAAK,CACX,uFAAuF,OAAO,EAAE,EAChG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CACnC,CAAC;oBACF,gEAAgE;oBAChE,MAAM,IAAI,GAAG,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;oBAC/C,cAAc,GAAI,IAAkC,IAAI,WAAW,CAAC;gBACtE,CAAC;YACH,CAAC;YAED,+DAA+D;YAC/D,IAAI,cAAc,YAAY,cAAc,IAAK,cAAiC,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;gBACtG,MAAM,IAAI,GAAG,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC/C,IAAI,IAAI;oBAAE,cAAc,GAAG,IAAiC,CAAC;YAC/D,CAAC;YAED,sDAAsD;YACtD,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;YAElE,IAAI,WAAW,GACb,cAAc,YAAY,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC;YACnG,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;YACzD,OAAO,WAAW,CAAC;QACrB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,CAAC,KAAK,CAAC,8BAA8B,OAAO,EAAE,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACnG,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,gDAAgD;QACjF,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,0BAA0B,CAAC,IAAoB;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC9C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,CAAC,KAAK,YAAY,cAAc,CAAC;gBAAE,SAAS;YACjD,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACxC,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,cAAc;gBAAE,SAAS,CAAC,qBAAqB;YAClF,iFAAiF;YACjF,mEAAmE;YACnE,MAAM,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC,sBAAsB,CAAC,KAAK,IAAI,CAAC;YACtE,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,EAAE,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;gBAC/C,IAAI,CAAC,EAAE,EAAE,CAAC;oBACR,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBAC7C,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,uBAAuB,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC;oBAC/F,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACxC,CAAC;gBACD,SAAS;YACX,CAAC;YACD,4CAA4C;YAC5C,IAAI,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC;gBAAE,SAAS;YACxC,MAAM,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,YAAY,cAAc,CAAC;gBAAE,SAAS;YACjE,qDAAqD;YACrD,MAAM,KAAK,GAAG,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,IAAI,YAAY,cAAc,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;oBAC5D,uDAAuD;oBACvD,oDAAoD;oBACnD,IAAuC,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC1D,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,6EAA6E;IACrE,iBAAiB,CAAC,IAAoB;QAC5C,MAAM,SAAS,GAAG;YAChB,8BAA8B;YAC9B,8BAA8B;YAC9B,4BAA4B;YAC5B,4BAA4B;YAC5B,gBAAgB;YAChB,iBAAiB;YACjB,eAAe;YACf,eAAe;YACf,aAAa;YACb,cAAc;YACd,0BAA0B;YAC1B,0BAA0B;YAC1B,4BAA4B;SAC7B,CAAC;QACF,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;oBACxC,uEAAuE;oBACvE,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC5C,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;gBACvB,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,yBAAyB;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,0EAA0E;IAE1E,qEAAqE;IAC7D,oBAAoB,CAAC,IAAoB,EAAE,OAAiC,EAAE,aAAsB;QAC1G,IAAI,CAAC,CAAC,OAAO,YAAY,cAAc,CAAC;YAAE,OAAO;QACjD,6CAA6C;QAC7C,MAAM,SAAS,GACb,aAAa;YACb,IAAI,CAAC,aAAa,CAAC,2BAA2B,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC;YACxE,IAAI,CAAC,aAAa,CAAC,4BAA4B,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC;YACzE,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC;YACpE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,WAAW;YACxC,EAAE,CAAC;QAEL,oCAAoC;QACpC,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,wBAAwB,CAA0B,CAAC;QAE9F,MAAM,SAAS,GAAG,CAAC,CAA4B,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1F,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC;QAErD,IAAI,OAAO,EAAE,CAAC;YACZ,+FAA+F;YAC/F,IACE,SAAS;gBACT,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM;gBAChC,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAC/E,CAAC;gBACD,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACjC,CAAC;YACD,OAAO;QACT,CAAC;QAED,oDAAoD;QACpD,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,SAAS,OAAO,CAAC,CAAC,UAA4B,CAAC;YACvE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACpB,OAAO;QACT,CAAC;QAED,6CAA6C;QAC7C,IAAI,YAAY,EAAE,CAAC;YAChB,YAA+C,CAAC,OAAO,GAAG,IAAI,CAAC;QAClE,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,gEAAgE;IACxD,uBAAuB,CAAC,KAAqB;QACnD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YAG7C,IAAI,OAAO,GAA6B,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAe,EAAE,CAAC;YAC5B,IAAI,OAAO,GAAG,CAAC,CAAC;YAEhB,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;gBACtB,IAAI,CAAC,CAAC,EAAE,YAAY,cAAc,CAAC;oBAAE,SAAS;gBAC9C,gCAAgC;gBAChC,MAAM,WAAW,GAA6B,EAAE,CAAC;gBACjD,MAAM,UAAU,GAAa,EAAE,CAAC;gBAChC,iCAAiC;gBACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;qBAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;qBACrB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzB,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;oBAC9B,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;oBAC3B,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;oBAChC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;wBACzB,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;oBAC7E,CAAC;gBACH,CAAC;gBAED,sEAAsE;gBACtE,MAAM,KAAK,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBAC5C,IAAI,SAAS,GAAG,CAAC,CAAC;gBAClB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,CAAC,CAAC,IAAI,YAAY,cAAc,CAAC;wBAAE,SAAS;oBAChD,wBAAwB;oBACxB,OAAO,UAAU,CAAC,SAAS,CAAC,KAAK,SAAS;wBAAE,SAAS,EAAE,CAAC;oBACxD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;oBACpF,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;oBACpF,MAAM,OAAO,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;oBACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;wBACjC,MAAM,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC;wBAC1B,UAAU,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;wBAC1B,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;4BAChB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;4BAClC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,IAAI,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC;wBAC7F,CAAC;oBACH,CAAC;oBACD,SAAS,IAAI,OAAO,CAAC;gBACvB,CAAC;gBAED,gBAAgB;gBAChB,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;gBACjC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACpC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACtB,OAAO,GAAG,WAAW,CAAC;YACxB,CAAC;YAED,mDAAmD;YACnD,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC5D,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;YAED,oCAAoC;YACpC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;oBACjC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS;wBAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBACxC,CAAC;YACH,CAAC;YAED,kEAAkE;YAClE,MAAM,cAAc,GAAG,CAAC,CAAC;YAEzB,0CAA0C;YAC1C,IAAI,IAAI,GAAG,gBAAgB,CAAC;YAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpB,IAAI,IAAI,MAAM,CAAC;gBACf,KAAK,MAAM,WAAW,IAAI,GAAG,EAAE,CAAC;oBAC9B,IAAI,CAAC,KAAK,cAAc,EAAE,CAAC;wBACzB,IAAI,IAAI,OAAO,WAAW,OAAO,CAAC;oBACpC,CAAC;yBAAM,CAAC;wBACN,IAAI,IAAI,OAAO,WAAW,OAAO,CAAC;oBACpC,CAAC;gBACH,CAAC;gBACD,IAAI,IAAI,OAAO,CAAC;YAClB,CAAC;YACD,IAAI,IAAI,kBAAkB,CAAC;YAE3B,gDAAgD;YAChD,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YACxD,IAAI,CAAC,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAC5B,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,sFAAsF;IACtF,uFAAuF;IACvF,gEAAgE;IACxD,2BAA2B,CAAC,OAAe;QACjD,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,GAAG,OAAO,CAAC;QAChB,gEAAgE;QAChE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC5D,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QACnE,wDAAwD;QACxD,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAC5D,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QAC7D,qCAAqC;QACrC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACxD,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;QACxC,sCAAsC;QACtC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACjC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAClC,sDAAsD;QACtD,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5B,wCAAwC;QACxC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAClC,OAAO,CAAC,CAAC;IACX,CAAC;IAEO,WAAW,CAAC,IAAY;QAC9B,wEAAwE;QACxE,OAAO,CACL,IAAI;YACF,qCAAqC;aACpC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC;YACvC,0EAA0E;aACzE,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC;YACpC,yFAAyF;aACxF,OAAO,CAAC,mCAAmC,EAAE,EAAE,CAAC,CACpD,CAAC;IACJ,CAAC;IAEO,kBAAkB,CAAC,OAAe;QACxC,kEAAkE;QAClE,8DAA8D;QAC9D,OAAO,CACL,OAAO;YACL,4EAA4E;aAC3E,OAAO,CAAC,kGAAkG,EAAE,EAAE,CAAC;YAChH,qCAAqC;aACpC,OAAO,CAAC,8CAA8C,EAAE,EAAE,CAAC;aAC3D,OAAO,CAAC,6BAA6B,EAAE,EAAE,CAAC;aAC1C,OAAO,CAAC,mCAAmC,EAAE,EAAE,CAAC,CAAC,gCAAgC;YAClF,kCAAkC;aACjC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAChC,oEAAoE;aACnE,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC;YAC1B,kCAAkC;aACjC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC;aAC1B,IAAI,EAAE,CACV,CAAC;IACJ,CAAC;IAED,2EAA2E;IAC3E,uEAAuE;IACvE,wFAAwF;IACxF,8FAA8F;IAC9F,yEAAyE;IACjE,6BAA6B,CAAC,OAAuB,EAAE,SAAiB;QAC9E,MAAM,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CACnD,+FAA+F,CAChG,CAAC;QAEF,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,CAAC,EAAE,YAAY,cAAc,CAAC;gBAAE,SAAS;YAE9C,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC;YACzC,IAAI,WAAW,CAAC,MAAM,GAAG,4BAA4B;gBAAE,SAAS;YAEhE,MAAM,KAAK,GAAG,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAS,CAAC,oCAAoC;YAEpE,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC;YACtC,iFAAiF;YACjF,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACxC,sEAAsE;gBACtE,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;oBAC/B,cAAc,IAAI,IAAI,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,yBAAyB;YACzB,IAAI,UAAU,KAAK,CAAC;gBAAE,SAAS;YAE/B,MAAM,OAAO,GAAG,cAAc,GAAG,UAAU,CAAC;YAE5C,IAAI,OAAO,GAAG,SAAS,EAAE,CAAC;gBACxB,qEAAqE;gBACrE,MAAM,mBAAmB,GAAG,EAAE,CAAC,aAAa,CAAC,gDAAgD,CAAC,KAAK,IAAI,CAAC;gBACxG,iEAAiE;gBACjE,MAAM,aAAa,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;oBAC7D,IAAI,CAAC;wBACH,gDAAgD;wBAChD,qCAAqC;wBACrC,OAAQ,EAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBAClD,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO,KAAK,CAAC;oBACf,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,mBAAmB,IAAI,CAAC,aAAa,EAAE,CAAC;oBAC3C,EAAE,CAAC,MAAM,EAAE,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA0FE;IAEM,eAAe,CAAC,IAAoB;QAC1C,oDAAoD;QACpD,MAAM,YAAY,GAAG,CAAC,SAAgC,EAAU,EAAE;YAChE,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;gBAC1C,IAAI,CAAC;oBACH,oDAAoD;oBACpD,IAAI,IAAI,EAAE,CAAC;wBACT,OAAO,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;oBACxD,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;gBAAC,OAAO,CAAU,EAAE,CAAC;oBACpB,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC3D,OAAO,CAAC,IAAI,CAAC,gEAAgE,QAAQ,aAAa,OAAO,EAAE,CAAC,CAAC;oBAC7G,OAAO,KAAK,CAAC;gBACf,CAAC,CAAC,4CAA4C;YAChD,CAAC,EAAE,CAAC,CAAC,CAAC;QACR,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,YAAY,CAAC,uBAAuB,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,YAAY,CAAC,sBAAsB,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,YAAY,CAAC,oBAAoB,CAAC,CAAC;QAErD,0CAA0C;QAC1C,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,YAAY,GAChB,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC;gBACjE,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;YACzE,IAAI,YAAY,EAAE,CAAC;gBACjB,4CAA4C;gBAC5C,iEAAiE;gBACjE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC3E,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAC7D,gBAAgB;oBACd,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;wBAC/B,QAAQ,CAAC,QAAQ,CAAC,sBAAsB,CAAC;wBACzC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;wBAC1B,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;wBAC5B,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3D,OAAO,CAAC,IAAI,CACV,sEAAsE,OAAO,EAAE,EAC/E,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CACnC,CAAC;QACJ,CAAC;QAED,gEAAgE;QAChE,OAAO,CACL,YAAY,IAAI,yBAAyB;YACzC,WAAW,GAAG,CAAC,IAAI,kDAAkD;YACrE,SAAS,IAAI,yBAAyB;YACtC,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,wFAAwF;IACxF,6FAA6F;IAC7F,0EAA0E;IAClE,sBAAsB,CAAC,OAAuB,EAAE,eAAuB;QAC7E,6BAA6B;QAC7B,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;QAC7D,oEAAoE;QACpE,4EAA4E;QAC5E,MAAM,uBAAuB,GAAG,GAAG,CAAC,CAAC,qCAAqC;QAC1E,IAAI,UAAU,GAAG,uBAAuB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,4BAA4B,CAAC,EAAE,CAAC;YACjG,OAAO,CAAC,CAAC,CAAC,CAAC,4CAA4C;QACzD,CAAC;QAED,IAAI,KAAK,GAAG,UAAU,CAAC;QAEvB,kCAAkC;QAClC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,KAAK,IAAI,GAAG,CAAC;QAChE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAAE,KAAK,IAAI,GAAG,CAAC;QAEnF,+CAA+C;QAC/C,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,KAAK,IAAI,GAAG,CAAC;QACjF,IAAI,CAAC;YACH,MAAM,iCAAiC,GACrC,gHAAgH,CAAC;YACnH,sFAAsF;YACtF,IAAI,OAAO,CAAC,OAAO,CAAC,iCAAiC,CAAC,EAAE,CAAC;gBACvD,KAAK,IAAI,GAAG,CAAC;YACf,CAAC;QACH,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,yEAAyE,OAAO,EAAE,CAAC,CAAC;YACjG,qDAAqD;QACvD,CAAC;QAED,0EAA0E;QAC1E,uFAAuF;QACvF,MAAM,mCAAmC,GAAG,GAAG,CAAC;QAChD,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,mCAAmC,CAAC,EAAE,CAAC;YAC1E,KAAK,IAAI,GAAG,CAAC;QACf,CAAC;QAED,+CAA+C;QAC/C,2EAA2E;QAC3E,MAAM,wBAAwB,GAAG,CAAC,CAAC;QACnC,IAAI,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,wBAAwB;YAAE,KAAK,IAAI,GAAG,CAAC;QAElF,mEAAmE;QACnE,+EAA+E;QAC/E,MAAM,oBAAoB,GAAG,GAAG,CAAC;QACjC,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,IAAI,eAAe,GAAG,oBAAoB,EAAE,CAAC;YACzE,OAAO,CAAC,CAAC,CAAC,CAAC,mDAAmD;QAChE,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,mEAAmE;IACnE,2EAA2E;IAC3E,0EAA0E;IAC1E,2EAA2E;IAC3E,kCAAkC;IAC1B,4BAA4B,CAAC,IAAoB;QACvD,IAAI,aAAa,GAA0B,IAAI,CAAC;QAChD,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;QAElB,kFAAkF;QAClF,KAAK,MAAM,QAAQ,IAAI,sBAAsB,EAAE,CAAC;YAC9C,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBACjD,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC3C,IAAI,CAAC,CAAC,OAAO,YAAY,cAAc,CAAC;wBAAE,SAAS;oBAEnD,MAAM,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;oBAE7D,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;wBACrB,QAAQ,GAAG,KAAK,CAAC;wBACjB,aAAa,GAAG,OAAO,CAAC;oBAC1B,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBACpB,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC3D,OAAO,CAAC,IAAI,CACV,wCAAwC,QAAQ,6CAA6C,OAAO,EAAE,CACvG,CAAC;gBACF,8CAA8C;YAChD,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,OAAO,aAAa,IAAI,IAAI,CAAC;IAC/B,CAAC;IAED,mEAAmE;IACnE,mGAAmG;IACnG,gFAAgF;IAChF,2FAA2F;IACnF,0BAA0B,CAAC,IAAoB;QACrD,yDAAyD;QACzD,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,UAA4B,CAAC;QAExE,6CAA6C;QAC7C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAC/E,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,YAAY,cAAc,CACZ,CAAC;YAE3B,IAAI,QAAQ,EAAE,CAAC;gBACb,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3D,OAAO,CAAC,IAAI,CACV,4DAA4D,OAAO,EAAE,EACrE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CACnC,CAAC;QACJ,CAAC;QAED,mDAAmD;QACnD,IAAI,CAAC;YACH,MAAM,iBAAiB,GAAG,kCAAkC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CACjG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,YAAY,cAAc,CACZ,CAAC;YAE3B,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,cAAc,GAAG,iBAAiB,CAAC,KAAK,EAAE,CAAC;gBACjD,IAAI,cAAc,YAAY,cAAc,EAAE,CAAC;oBAC7C,6DAA6D;oBAC7D,mCAAmC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;wBACvD,IAAI,CAAC;4BACH,cAAc,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;wBACzE,CAAC;wBAAC,OAAO,CAAU,EAAE,CAAC;4BACpB,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;4BAC3D,OAAO,CAAC,IAAI,CACV,gEAAgE,QAAQ,cAAc,OAAO,EAAE,EAC/F,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CACnC,CAAC;wBACJ,CAAC;oBACH,CAAC,CAAC,CAAC;oBACH,aAAa,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3D,OAAO,CAAC,IAAI,CACV,qEAAqE,OAAO,EAAE,EAC9E,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CACnC,CAAC;QACJ,CAAC;QAED,4DAA4D;QAC5D,IAAI,aAAa,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,oEAAoE;QACpE,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,UAAU,YAAY,cAAc,EAAE,CAAC;gBACzC,mCAAmC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;oBACvD,IAAI,CAAC;wBACH,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;oBACrE,CAAC;oBAAC,OAAO,CAAU,EAAE,CAAC;wBACpB,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBAC3D,OAAO,CAAC,IAAI,CACV,qEAAqE,QAAQ,cAAc,OAAO,EAAE,EACpG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CACnC,CAAC;oBACJ,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,mDAAmD;gBACnD,IAAI,CAAC,6BAA6B,CAAC,UAAU,EAAE,8BAA8B,CAAC,CAAC;gBAC/E,OAAO,UAAU,CAAC;YACpB,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0DAA0D;IAC1D,sEAAsE;IACtE,yDAAyD;IACjD,kBAAkB,CAAC,OAAuB,EAAE,SAAiB;QACnE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;QAC9C,IAAI,WAAW,CAAC,MAAM,GAAG,4BAA4B;YAAE,OAAO,KAAK,CAAC;QAEpE,MAAM,KAAK,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAEnC,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC;QACtC,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7C,sEAAsE;YACtE,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC/B,cAAc,IAAI,IAAI,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,yBAAyB;QACzB,IAAI,UAAU,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAEnC,OAAO,cAAc,GAAG,UAAU,GAAG,SAAS,CAAC;IACjD,CAAC;IAED,kCAAkC;IAE1B,mBAAmB,CAAC,QAAgB,EAAE,OAA0B;QACtE,IAAI,SAAS,GAAG,QAAQ,CAAC;QAEzB,8DAA8D;QAC9D,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,0BAA0B,EAAE,YAAY,CAAC,CAAC;QAExE,qEAAqE;QACrE,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,iCAAiC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,sCAAsC;QAC1I,iIAAiI;QACjI;;;;;UAKE;QAEF,oDAAoD;QACpD,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,uBAAuB;QAC5E,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,yBAAyB;QAE/E,kEAAkE;QAClE,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC,CAAC,gCAAgC;QACxG,iFAAiF;QAEjF,qDAAqD;QACrD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,uCAAuC,GAAG,CAAC,CAAC,CAAC;QAC7E,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,GAAG,WAAW,GAAG,EAAE,GAAG,CAAC,CAAC;QACxD,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC,CAAC;QAElG,iCAAiC;QACjC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,uCAAuC;QAE/F,6DAA6D;QAC7D,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,6CAA6C,EAAE,YAAY,CAAC,CAAC;QAE3F,wEAAwE;QACxE,iGAAiG;QACjG,uEAAuE;QACvE,sGAAsG;QACtG,8GAA8G;QAC9G,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;QAE3D,+CAA+C;QAC/C,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC,CAAC,oCAAoC;QAE/F,0CAA0C;QAC1C,IAAI,OAAO,CAAC,gBAAgB,IAAI,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC5E,yCAAyC;YACzC,MAAM,cAAc,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC,CAAC,kBAAkB;YACpG,MAAM,QAAQ,GAAG,cAAc,GAAG,OAAO,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;YAC/G,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,iBAAiB,CAAC;QAC/D,CAAC;QAED,iBAAiB;QACjB,OAAO,SAAS,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;CACF"}