@jupyterlab/rendermime 4.3.6 → 4.3.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/renderers.js CHANGED
@@ -13,7 +13,7 @@ import { removeMath, replaceMath } from './latex';
13
13
  *
14
14
  * @returns A promise which resolves when rendering is complete.
15
15
  */
16
- export function renderHTML(options) {
16
+ export async function renderHTML(options) {
17
17
  // Unpack the options.
18
18
  let { host, source, trusted, sanitizer, resolver, linkHandler, shouldTypeset, latexTypesetter, translator } = options;
19
19
  translator = translator || nullTranslator;
@@ -22,7 +22,7 @@ export function renderHTML(options) {
22
22
  // Bail early if the source is empty.
23
23
  if (!source) {
24
24
  host.textContent = '';
25
- return Promise.resolve(undefined);
25
+ return;
26
26
  }
27
27
  // Sanitize the source if it is not trusted. This removes all
28
28
  // `<script>` tags as well as other potentially harmful HTML.
@@ -60,19 +60,12 @@ export function renderHTML(options) {
60
60
  // Handle default behavior of nodes.
61
61
  Private.handleDefaults(host, resolver);
62
62
  // Patch the urls if a resolver is available.
63
- let promise;
64
63
  if (resolver) {
65
- promise = Private.handleUrls(host, resolver, linkHandler);
64
+ await Private.handleUrls(host, resolver, linkHandler);
66
65
  }
67
- else {
68
- promise = Promise.resolve(undefined);
66
+ if (shouldTypeset && latexTypesetter) {
67
+ latexTypesetter.typeset(host);
69
68
  }
70
- // Return the final rendered promise.
71
- return promise.then(() => {
72
- if (shouldTypeset && latexTypesetter) {
73
- latexTypesetter.typeset(host);
74
- }
75
- });
76
69
  }
77
70
  /**
78
71
  * Render an image into a host node.
@@ -81,7 +74,7 @@ export function renderHTML(options) {
81
74
  *
82
75
  * @returns A promise which resolves when rendering is complete.
83
76
  */
84
- export function renderImage(options) {
77
+ export async function renderImage(options) {
85
78
  // Unpack the options.
86
79
  const { host, mimeType, source, width, height, needsBackground, unconfined } = options;
87
80
  // Clear the content in the host.
@@ -108,8 +101,6 @@ export function renderImage(options) {
108
101
  }
109
102
  // Add the image to the host.
110
103
  host.appendChild(img);
111
- // Return the rendered promise.
112
- return Promise.resolve(undefined);
113
104
  }
114
105
  /**
115
106
  * Render LaTeX into a host node.
@@ -118,7 +109,7 @@ export function renderImage(options) {
118
109
  *
119
110
  * @returns A promise which resolves when rendering is complete.
120
111
  */
121
- export function renderLatex(options) {
112
+ export async function renderLatex(options) {
122
113
  // Unpack the options.
123
114
  const { host, source, shouldTypeset, latexTypesetter } = options;
124
115
  // Set the source on the node.
@@ -127,8 +118,6 @@ export function renderLatex(options) {
127
118
  if (shouldTypeset && latexTypesetter) {
128
119
  latexTypesetter.typeset(host);
129
120
  }
130
- // Return the rendered promise.
131
- return Promise.resolve(undefined);
132
121
  }
133
122
  /**
134
123
  * Render Markdown into a host node.
@@ -190,19 +179,19 @@ export async function renderMarkdown(options) {
190
179
  *
191
180
  * @returns A promise which resolves when rendering is complete.
192
181
  */
193
- export function renderSVG(options) {
182
+ export async function renderSVG(options) {
194
183
  // Unpack the options.
195
184
  let { host, source, trusted, unconfined } = options;
196
185
  // Clear the content if there is no source.
197
186
  if (!source) {
198
187
  host.textContent = '';
199
- return Promise.resolve(undefined);
188
+ return;
200
189
  }
201
190
  // Display a message if the source is not trusted.
202
191
  if (!trusted) {
203
192
  host.textContent =
204
193
  'Cannot display an untrusted SVG. Maybe you need to run the cell?';
205
- return Promise.resolve(undefined);
194
+ return;
206
195
  }
207
196
  // Add missing SVG namespace (if actually missing)
208
197
  const patt = '<svg[^>]+xmlns=[^>]+svg';
@@ -216,7 +205,6 @@ export function renderSVG(options) {
216
205
  if (unconfined === true) {
217
206
  host.classList.add('jp-mod-unconfined');
218
207
  }
219
- return Promise.resolve();
220
208
  }
221
209
  var ILinker;
222
210
  (function (ILinker) {
@@ -442,13 +430,11 @@ function* alignedNodes(a, b) {
442
430
  *
443
431
  * @returns A promise which resolves when rendering is complete.
444
432
  */
445
- export function renderText(options) {
433
+ export async function renderText(options) {
446
434
  renderTextual(options, {
447
435
  checkWeb: true,
448
436
  checkPaths: false
449
437
  });
450
- // Return the rendered promise.
451
- return Promise.resolve(undefined);
452
438
  }
453
439
  /**
454
440
  * Sanitize HTML out using native browser sanitizer.
@@ -596,7 +582,7 @@ function getApplicableLinkCache(cachedResult, preTextContent) {
596
582
  *
597
583
  * @returns A promise which resolves when rendering is complete.
598
584
  */
599
- export function renderError(options) {
585
+ export async function renderError(options) {
600
586
  // Unpack the options.
601
587
  const { host, linkHandler, resolver } = options;
602
588
  renderTextual(options, {
@@ -604,15 +590,9 @@ export function renderError(options) {
604
590
  checkPaths: true
605
591
  });
606
592
  // Patch the paths if a resolver is available.
607
- let promise;
608
593
  if (resolver) {
609
- promise = Private.handlePaths(host, resolver, linkHandler);
594
+ await Private.handlePaths(host, resolver, linkHandler);
610
595
  }
611
- else {
612
- promise = Promise.resolve(undefined);
613
- }
614
- // Return the rendered promise.
615
- return promise;
616
596
  }
617
597
  /**
618
598
  * Merge `<span>` nodes from a `<pre>` element with `<a>` nodes from linker.
@@ -754,8 +734,7 @@ var Private;
754
734
  *
755
735
  * @returns a promise fulfilled when the relative urls have been resolved.
756
736
  */
757
- function handleUrls(node, resolver, linkHandler) {
758
- // Set up an array to collect promises.
737
+ async function handleUrls(node, resolver, linkHandler) {
759
738
  const promises = [];
760
739
  // Handle HTML Elements with src attributes.
761
740
  const nodes = node.querySelectorAll('*[src]');
@@ -772,12 +751,11 @@ var Private;
772
751
  for (let i = 0; i < links.length; i++) {
773
752
  promises.push(handleAttr(links[i], 'href', resolver));
774
753
  }
775
- // Wait on all promises.
776
- return Promise.all(promises).then(() => undefined);
754
+ return Promise.all(promises);
777
755
  }
778
756
  Private.handleUrls = handleUrls;
779
757
  /**
780
- * Resolve the paths in `<a>` elements `data` attributes.
758
+ * Resolve the paths in `<a>` elements that have a `data-path` attribute.
781
759
  *
782
760
  * @param node - The head html element.
783
761
  *
@@ -788,11 +766,8 @@ var Private;
788
766
  * @returns a promise fulfilled when the relative urls have been resolved.
789
767
  */
790
768
  async function handlePaths(node, resolver, linkHandler) {
791
- // Handle anchor elements.
792
- const anchors = node.getElementsByTagName('a');
793
- for (let i = 0; i < anchors.length; i++) {
794
- await handlePathAnchor(anchors[i], resolver, linkHandler);
795
- }
769
+ const anchors = Array.from(node.querySelectorAll('a[data-path]'));
770
+ return Promise.all(anchors.map(anchor => handlePathAnchor(anchor, resolver, linkHandler)));
796
771
  }
797
772
  Private.handlePaths = handlePaths;
798
773
  /**
@@ -846,7 +821,7 @@ var Private;
846
821
  /**
847
822
  * Handle an anchor node.
848
823
  */
849
- function handleAnchor(anchor, resolver, linkHandler) {
824
+ async function handleAnchor(anchor, resolver, linkHandler) {
850
825
  // Get the link path without the location prepended.
851
826
  // (e.g. "./foo.md#Header 1" vs "http://localhost:8888/foo.md#Header 1")
852
827
  let href = anchor.getAttribute('href') || '';
@@ -855,7 +830,7 @@ var Private;
855
830
  : URLExt.isLocal(href);
856
831
  // Bail if it is not a file-like url.
857
832
  if (!href || !isLocal) {
858
- return Promise.resolve(undefined);
833
+ return;
859
834
  }
860
835
  // Remove the hash until we can handle it.
861
836
  const hash = anchor.hash;
@@ -863,7 +838,7 @@ var Private;
863
838
  // Handle internal link in the file.
864
839
  if (hash === href) {
865
840
  anchor.target = '_self';
866
- return Promise.resolve(undefined);
841
+ return;
867
842
  }
868
843
  // For external links, remove the hash until we have hash handling.
869
844
  href = href.replace(hash, '');
@@ -913,7 +888,7 @@ var Private;
913
888
  !linkHandler ||
914
889
  !linkHandler.handlePath) {
915
890
  anchor.replaceWith(...anchor.childNodes);
916
- return Promise.resolve(undefined);
891
+ return;
917
892
  }
918
893
  try {
919
894
  // Find given path
@@ -921,7 +896,7 @@ var Private;
921
896
  if (!resolution) {
922
897
  // Bail if the file does not exist
923
898
  console.log('Path resolution bailing: does not exist');
924
- return Promise.resolve(undefined);
899
+ return;
925
900
  }
926
901
  // Handle the click override.
927
902
  linkHandler.handlePath(anchor, resolution.path, resolution.scope, locator);
@@ -1 +1 @@
1
- {"version":3,"file":"renderers.js","sourceRoot":"","sources":["../src/renderers.ts"],"names":[],"mappings":"AAAA;;;+EAG+E;AAE/E,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,OAAO,EAAe,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,MAAM,MAAM,eAAe,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,OAA4B;IACrD,sBAAsB;IACtB,IAAI,EACF,IAAI,EACJ,MAAM,EACN,OAAO,EACP,SAAS,EACT,QAAQ,EACR,WAAW,EACX,aAAa,EACb,eAAe,EACf,UAAU,EACX,GAAG,OAAO,CAAC;IAEZ,UAAU,GAAG,UAAU,IAAI,cAAc,CAAC;IAC1C,MAAM,KAAK,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7C,IAAI,cAAc,GAAG,MAAM,CAAC;IAE5B,qCAAqC;IACrC,IAAI,CAAC,MAAM,EAAE;QACX,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KACnC;IAED,6DAA6D;IAC7D,6DAA6D;IAC7D,IAAI,CAAC,OAAO,EAAE;QACZ,cAAc,GAAG,GAAG,MAAM,EAAE,CAAC;QAC7B,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;KACrC;IAED,kCAAkC;IAClC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;IAExB,IAAI,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QAClD,oEAAoE;QACpE,qEAAqE;QACrE,kCAAkC;QAClC,IAAI,OAAO,EAAE;YACX,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;SACvC;aAAM;YACL,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAChD,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC9C,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC,EAAE,CAC5B,kIAAkI,CACnI,CAAC;YACF,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACnD,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YACxC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE;gBAC1B,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC;gBAChC,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,IAAI,CAAC,UAAU,EAAE;oBACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBACnC;YACH,CAAC,CAAC;YACF,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC/B,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACjC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;SAC/C;KACF;IAED,oCAAoC;IACpC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAEvC,6CAA6C;IAC7C,IAAI,OAAsB,CAAC;IAC3B,IAAI,QAAQ,EAAE;QACZ,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;KAC3D;SAAM;QACL,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KACtC;IAED,qCAAqC;IACrC,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;QACvB,IAAI,aAAa,IAAI,eAAe,EAAE;YACpC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC/B;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAyDD;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CACzB,OAAmC;IAEnC,sBAAsB;IACtB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,GAC1E,OAAO,CAAC;IAEV,iCAAiC;IACjC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IAEtB,4BAA4B;IAC5B,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAE1C,+BAA+B;IAC/B,GAAG,CAAC,GAAG,GAAG,QAAQ,QAAQ,WAAW,MAAM,EAAE,CAAC;IAE9C,yCAAyC;IACzC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC9B,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;KACrB;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;KACnB;IAED,IAAI,eAAe,KAAK,OAAO,EAAE;QAC/B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;KAChD;SAAM,IAAI,eAAe,KAAK,MAAM,EAAE;QACrC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;KAC/C;IAED,IAAI,UAAU,KAAK,IAAI,EAAE;QACvB,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;KACxC;IAED,6BAA6B;IAC7B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAEtB,+BAA+B;IAC/B,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACpC,CAAC;AA+CD;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CACzB,OAAmC;IAEnC,sBAAsB;IACtB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;IAEjE,8BAA8B;IAC9B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;IAE1B,8BAA8B;IAC9B,IAAI,aAAa,IAAI,eAAe,EAAE;QACpC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KAC/B;IAED,+BAA+B;IAC/B,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACpC,CAAC;AAgCD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAsC;IAEtC,sBAAsB;IACtB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC;IAE5D,2CAA2C;IAC3C,IAAI,CAAC,MAAM,EAAE;QACX,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,OAAO;KACR;IAED,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,cAAc,EAAE;QAClB,2CAA2C;QAC3C,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAEjC,gCAAgC;QAChC,IAAI,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAElD,gBAAgB;QAChB,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;KACzC;SAAM;QACL,iEAAiE;QACjE,IAAI,GAAG,QAAQ,MAAM,QAAQ,CAAC;KAC/B;IAED,eAAe;IACf,MAAM,UAAU,CAAC;QACf,IAAI;QACJ,MAAM,EAAE,IAAI;QACZ,GAAG,MAAM;KACV,CAAC,CAAC;IAEH,iCAAiC;IACjC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,WAAiB,cAAc;IAwD7B;;;;;OAKG;IACH,SAAgB,cAAc,CAAC,MAAe;;QAC5C,OAAO,CAAC,MAAA,MAAM,CAAC,WAAW,mCAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACvD,CAAC;IAFe,6BAAc,iBAE7B,CAAA;AACH,CAAC,EAjEgB,cAAc,KAAd,cAAc,QAiE9B;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,OAAiC;IACzD,sBAAsB;IACtB,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAEpD,2CAA2C;IAC3C,IAAI,CAAC,MAAM,EAAE;QACX,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KACnC;IAED,kDAAkD;IAClD,IAAI,CAAC,OAAO,EAAE;QACZ,IAAI,CAAC,WAAW;YACd,kEAAkE,CAAC;QACrE,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KACnC;IAED,kDAAkD;IAClD,MAAM,IAAI,GAAG,yBAAyB,CAAC;IACvC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAC3B,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,yCAAyC,CAAC,CAAC;KAC5E;IAED,gDAAgD;IAChD,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;IACxB,GAAG,CAAC,GAAG,GAAG,sBAAsB,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;IAC7D,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAEtB,IAAI,UAAU,KAAK,IAAI,EAAE;QACvB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;KACzC;IACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;AAC3B,CAAC;AA6ED,IAAU,OAAO,CA8BhB;AA9BD,WAAU,OAAO;IACf,iCAAiC;IACjC,mJAAmJ;IACnJ,MAAM,YAAY,GAAG,gCAAgC,CAAC;IACzC,oBAAY,GAAG,IAAI,MAAM,CACpC,iEAAiE;QAC/D,YAAY;QACZ,aAAa;QACb,YAAY;QACZ,uBAAuB,EACzB,IAAI,CACL,CAAC;IACF,iCAAiC;IACjC,oIAAoI;IACpI,MAAM,eAAe,GAAG,qCAAqC,CAAC;IAC9D,MAAM,eAAe,GAAG,qCAAqC,CAAC;IAC9D,MAAM,YAAY,GAAG,IAAI,MAAM,CAC7B,IAAI,eAAe,CAAC,MAAM,IAAI,eAAe,CAAC,MAAM,GAAG,CACxD,CAAC;IACF,MAAM,cAAc,GAAG,6BAA6B,CAAC;IACrD,MAAM,eAAe,GACnB,2DAA2D,CAAC;IAC9D,2EAA2E;IAC3E,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjD,qBAAa,GAAG,IAAI,MAAM,CACrC,WAAW,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,IAChE,eAAe,CAAC,MAClB,EAAE,EACF,GAAG,CACJ,CAAC;AACJ,CAAC,EA9BS,OAAO,KAAP,OAAO,QA8BhB;AAED;;GAEG;AACH,MAAM,SAAS;IAAf;QACE,UAAK,GAAG,OAAO,CAAC,YAAY,CAAC;IAoB/B,CAAC;IAnBC,YAAY,CAAC,GAAW,EAAE,KAAa;QACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC9D,MAAM,CAAC,GAAG,GAAG,UAAU,CAAC;QACxB,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC;QACzB,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;QACnD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,WAAW,CAAC,GAAW;QACrB,iDAAiD;QACjD,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;QACvD,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACxB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,YAAY,CAAC,GAAW;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU;IAAhB;QACE,UAAK,GAAG,OAAO,CAAC,aAAa,CAAC;IAkBhC,CAAC;IAjBC,YAAY,CAAC,IAAY,EAAE,KAAa,EAAE,QAAgC;QACxE,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAE3C,6BAA6B;QAC7B,4EAA4E;QAC5E,qEAAqE;QACrE,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QAE3B,mEAAmE;QACnE,uEAAuE;QACvE,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5C,IAAI,OAAO,GAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAEjC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;QACnD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED,SAAS,QAAQ,CACf,OAAe,EACf,OAAyB;IAEzB,MAAM,OAAO,GAAc,EAAE,CAAC;IAC9B,IAAI,OAAO,CAAC,QAAQ,EAAE;QACpB,OAAO,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;KAC/B;IACD,IAAI,OAAO,CAAC,UAAU,EAAE;QACtB,OAAO,CAAC,IAAI,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC;KAChC;IACD,MAAM,KAAK,GAAoC,EAAE,CAAC;IAElD,uDAAuD;IACvD,yDAAyD;IACzD,qDAAqD;IACrD,MAAM,OAAO,GAAG,CAAC,OAAe,EAAE,UAAkB,EAAE,EAAE;QACtD,IAAI,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE;YAChC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7C,OAAO;SACR;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAEnC,IAAI,KAA6B,CAAC;QAClC,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,cAAc;QACd,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;QAEpB,OAAO,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE;YAC5C,MAAM,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YACvE,IAAI,iBAAiB,EAAE;gBACrB,OAAO,CAAC,iBAAiB,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;aAC5C;YAED,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,EAAE,GAAG,KAAK,CAAC,MAAO,CAAC;YAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACnE,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY;gBAC/B,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC/B,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACb,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;YACxD,YAAY,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;SAC3C;QACD,MAAM,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC3D,IAAI,kBAAkB,EAAE;YACtB,OAAO,CAAC,kBAAkB,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;SAC7C;IACH,CAAC,CAAC;IAEF,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACpB,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CACvB,IAAO,EACP,EAAU;;IAEV,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAO,CAAC;IAClC,GAAG,CAAC,WAAW,GAAG,MAAA,IAAI,CAAC,WAAW,0CAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAW,CAAC;IAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAO,CAAC;IACnC,IAAI,CAAC,WAAW,GAAG,MAAA,IAAI,CAAC,WAAW,0CAAE,KAAK,CAAC,EAAE,CAAW,CAAC;IACzD,OAAO;QACL,GAAG;QACH,IAAI;KACL,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,QAAQ,CAAC,CAAC,QAAQ,CAChB,KAAU;;IAEV,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,GAAG,CAAC;IACR,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;QACtB,GAAG,GAAG,KAAK,GAAG,CAAC,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,MAAM,KAAI,CAAC,CAAC,CAAC;QAC9C,MAAM;YACJ,IAAI;YACJ,KAAK;YACL,GAAG;YACH,MAAM,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS;SACzC,CAAC;QACF,KAAK,GAAG,GAAG,CAAC;KACb;AACH,CAAC;AAED;;;;;GAKG;AACH,QAAQ,CAAC,CAAC,YAAY,CACpB,CAAM,EACN,CAAM;;IAEN,IAAI,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACtB,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE;QAC3B,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;QACjB,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;QAEjB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE;YACpD,0DAA0D;YAC1D,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YACrB,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;SACnB;aAAM,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE;YAC3D,0DAA0D;YAC1D,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACrB,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;SACnB;aAAM;YACL,mEAAmE;YACnE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,EAAE;gBAC1C,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBACvB,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;gBAClB,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;aACnB;iBAAM,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE;gBACxB;;;;;kBAKE;gBACF,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC9D,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE;oBACrB,0EAA0E;oBAC1E,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,MAAA,CAAC,CAAC,IAAI,CAAC,WAAW,0CAAE,KAAK,CAC5C,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CACR,CAAC;iBACb;gBACD,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBACpB,oCAAoC;gBACpC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;gBACd,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC;gBAChB,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;aACnB;iBAAM,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE;gBACxB,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC9D,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE;oBACrB,0EAA0E;oBAC1E,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,MAAA,CAAC,CAAC,IAAI,CAAC,WAAW,0CAAE,KAAK,CAC5C,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CACR,CAAC;iBACb;gBACD,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACpB,oCAAoC;gBACpC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;gBACd,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC;gBAChB,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;aACnB;iBAAM;gBACL,MAAM,IAAI,KAAK,CACb,4BAA4B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CACrE,CAAC;aACH;SACF;KACF;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,OAAkC;IAC3D,aAAa,CAAC,OAAO,EAAE;QACrB,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,KAAK;KAClB,CAAC,CAAC;IAEH,+BAA+B;IAC/B,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CAAC,MAAc;IACpC,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC1C,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC;IACxB,OAAO,EAAE,CAAC,SAAS,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,GAAG,MAAM,CAAC;AAE1B;;;;GAIG;AACH,SAAS,aAAa,CACpB,OAAkC,EAClC,eAAiC;;IAEjC,sBAAsB;IACtB,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAE5C,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAElD,2BAA2B;IAC3B,6DAA6D;IAC7D,MAAM,OAAO,GAAG,aAAa;QAC3B,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YAC3C,WAAW,EAAE,CAAC,MAAM,CAAC;SACtB,CAAC;QACJ,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAE3B,+CAA+C;IAC/C,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC;IAExB,MAAM,cAAc,GAAG,GAAG,CAAC,WAAW,CAAC;IAEvC,MAAM,iBAAiB,GAAG,EAAE,CAAC;IAC7B,IAAI,eAAe,CAAC,QAAQ,EAAE;QAC5B,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC/B;IACD,IAAI,eAAe,CAAC,UAAU,EAAE;QAC9B,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACjC;IACD,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,IAAI,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC1D,IAAI,CAAC,UAAU,EAAE;QACf,UAAU,GAAG,IAAI,OAAO,EAAE,CAAC;QAC3B,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;KACtD;IAED,IAAI,GAAmB,CAAC;IACxB,IAAI,cAAc,EAAE;QAClB,uGAAuG;QACvG,IAAI,WAAyC,CAAC;QAC9C,IAAI,MAAA,MAAA,SAAS,CAAC,WAAW,yDAAI,mCAAI,IAAI,EAAE;YACrC,MAAM,KAAK,GAAG,sBAAsB,CAClC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EACpB,cAAc,CACf,CAAC;YACF,IAAI,KAAK,EAAE;gBACT,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;gBACpD,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;gBAC1D,MAAM,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACpD,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBAErC,IAAI,WAAW,YAAY,IAAI,IAAI,YAAY,YAAY,IAAI,EAAE;oBAC/D,MAAM,WAAW,GAAG,WAAW,CAAC;oBAChC,WAAW,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC;oBACtC,WAAW,GAAG;wBACZ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBACzB,WAAW;wBACX,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;qBACzB,CAAC;iBACH;qBAAM;oBACL,WAAW,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,YAAY,CAAC,CAAC;iBAC/C;aACF;iBAAM;gBACL,WAAW,GAAG,QAAQ,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;aACzD;YACD,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE;gBACnB,cAAc;gBACd,gFAAgF;gBAChF,uFAAuF;gBACvF,WAAW,EAAE,WAAW,CAAC,GAAG,CAC1B,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAA6B,CACzD;aACF,CAAC,CAAC;SACJ;aAAM;YACL,WAAW,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;SAClD;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAA+B,CAAC;QAC1E,GAAG,GAAG,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;KACzC;SAAM;QACL,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KACrC;IAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAqCD;;;GAGG;AACH,SAAS,sBAAsB,CAC7B,YAA6C,EAC7C,cAAsB;IAKtB,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO,IAAI,CAAC;KACb;IACD,IAAI,cAAc,CAAC,MAAM,GAAG,YAAY,CAAC,cAAc,CAAC,MAAM,EAAE;QAC9D,wDAAwD;QACxD,wDAAwD;QACxD,OAAO,IAAI,CAAC;KACb;IACD,IAAI,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC7E,IAAI,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC;IAC3C,MAAM,cAAc,GAClB,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEhE,4BAA4B;IAC5B,wCAAwC;IACxC,2CAA2C;IAC3C,yCAAyC;IACzC,IACE,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC1C,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAC1B;QACA,gEAAgE;QAChE,iDAAiD;KAClD;SAAM,IAAI,cAAc,YAAY,IAAI,EAAE;QACzC,2DAA2D;QAC3D,4DAA4D;QAC5D,6DAA6D;QAC7D,uDAAuD;QACvD,0DAA0D;QAC1D,gEAAgE;QAChE,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACvC,SAAS,GAAG,cAAc,CAAC,WAAW,GAAG,SAAS,CAAC;KACpD;SAAM;QACL,OAAO,IAAI,CAAC;KACb;IAED,yCAAyC;IACzC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE;QAC3D,OAAO,IAAI,CAAC;KACb;IACD,OAAO;QACL,WAAW;QACX,SAAS;KACV,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CACzB,OAAmC;IAEnC,sBAAsB;IACtB,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAEhD,aAAa,CAAC,OAAO,EAAE;QACrB,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;IAEH,8CAA8C;IAC9C,IAAI,OAAsB,CAAC;IAC3B,IAAI,QAAQ,EAAE;QACZ,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;KAC5D;SAAM;QACL,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KACtC;IAED,+BAA+B;IAC/B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CACjB,QAAoC,EACpC,WAAyC;IAEzC,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,eAAe,GAAG,KAAK,CAAC;IAE5B,MAAM,aAAa,GAAmD,EAAE,CAAC;IAEzE,KAAK,IAAI,KAAK,IAAI,YAAY,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE;QACrD,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACb,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC;YACvD,SAAS;SACV;aAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACpB,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,eAAe,GAAG,KAAK,CAAC;YACxB,SAAS;SACV;QACD,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC;QAEhC,MAAM,YAAY,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE7D,gFAAgF;QAChF,0FAA0F;QAC1F,qCAAqC;QACrC,IACE,eAAe;YACd,QAA8B,CAAC,IAAI;gBACjC,YAAkC,CAAC,IAAI,EAC1C;YACA,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;SACnC;aAAM;YACL,kDAAkD;YAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC;YACtD,wEAAwE;YACxE,IAAI,CAAC,QAAQ,EAAE;gBACb,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC5B,eAAe,GAAG,KAAK,CAAC;aACzB;iBAAM;gBACL,iGAAiG;gBACjG,oFAAoF;gBACpF,qCAAqC;gBACrC,QAAQ,CAAC,WAAW,GAAG,EAAE,CAAC;gBAC1B,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAC9B,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC7B,eAAe,GAAG,IAAI,CAAC;aACxB;SACF;KACF;IACD,4EAA4E;IAC5E,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE;QACjC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;KACxB;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AA0CD;;GAEG;AACH,IAAU,OAAO,CAukBhB;AAvkBD,WAAU,OAAO;IACf;;OAEG;IACU,qBAAa,GAAG,IAAI,GAAG,EAGjC,CAAC;IAEJ;;;;;;;OAOG;IACH,SAAgB,uBAAuB,CAAC,IAAiB;QACvD,iDAAiD;QACjD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEhE,8BAA8B;QAC9B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,kDAAkD;YAClD,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;gBACtB,SAAS;aACV;YAED,gDAAgD;YAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAE/C,sCAAsC;YACtC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE;gBAC5C,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACjC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aACjC;YAED,wCAAwC;YACxC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;YAEvC,wCAAwC;YACxC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;SAC/C;IACH,CAAC;IA3Be,+BAAuB,0BA2BtC,CAAA;IAED;;OAEG;IACH,SAAgB,cAAc,CAC5B,IAAiB,EACjB,QAAuC;QAEvC,0BAA0B;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACtB,6CAA6C;YAC7C,sCAAsC;YACtC,IAAI,CAAC,CAAC,EAAE,YAAY,iBAAiB,CAAC,EAAE;gBACtC,SAAS;aACV;YACD,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;YACrB,MAAM,OAAO,GACX,QAAQ,IAAI,QAAQ,CAAC,OAAO;gBAC1B,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;gBACxB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3B,8CAA8C;YAC9C,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE;gBACd,EAAE,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;aAC1C;YACD,8CAA8C;YAC9C,IAAI,CAAC,OAAO,EAAE;gBACZ,EAAE,CAAC,GAAG,GAAG,UAAU,CAAC;aACrB;SACF;QAED,yBAAyB;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;gBAChB,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC;aACvB;SACF;IACH,CAAC;IAnCe,sBAAc,iBAmC7B,CAAA;IAED;;;;;;;;;;OAUG;IACH,SAAgB,UAAU,CACxB,IAAiB,EACjB,QAA+B,EAC/B,WAA4C;QAE5C,uCAAuC;QACvC,MAAM,QAAQ,GAAoB,EAAE,CAAC;QAErC,4CAA4C;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAgB,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;SACrE;QAED,0BAA0B;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;SAChE;QAED,wBAAwB;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;SACvD;QAED,wBAAwB;QACxB,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;IA5Be,kBAAU,aA4BzB,CAAA;IAED;;;;;;;;;;OAUG;IACI,KAAK,UAAU,WAAW,CAC/B,IAAiB,EACjB,QAA+B,EAC/B,WAA4C;QAE5C,0BAA0B;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;SAC3D;IACH,CAAC;IAVqB,mBAAW,cAUhC,CAAA;IAED;;OAEG;IACH,SAAgB,aAAa,CAAC,IAAiB;QAC7C,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACzD,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YACpC,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;YACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACvC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC1B,MAAM,CAAC,EAAE,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBAC3C,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC;gBACxB,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC;gBACzB,MAAM,CAAC,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC;gBAC9B,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;gBAC9C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;aAC5B;SACF;IACH,CAAC;IAfe,qBAAa,gBAe5B,CAAA;IAED;;OAEG;IACH,KAAK,UAAU,UAAU,CACvB,IAAiB,EACjB,IAAoB,EACpB,QAA+B;QAE/B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO;YAC9B,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE;YACvB,OAAO;SACR;QACD,IAAI;YACF,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAClD,IAAI,GAAG,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YACjD,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,OAAO,EAAE;gBAC1C,oCAAoC;gBACpC,2GAA2G;gBAC3G,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;aAC5D;YACD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;SAC9B;QAAC,OAAO,GAAG,EAAE;YACZ,yCAAyC;YACzC,mDAAmD;YACnD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC5B,MAAM,GAAG,CAAC;SACX;IACH,CAAC;IAED;;OAEG;IACH,SAAS,YAAY,CACnB,MAAyB,EACzB,QAA+B,EAC/B,WAA4C;QAE5C,oDAAoD;QACpD,wEAAwE;QACxE,IAAI,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO;YAC9B,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;YACxB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzB,qCAAqC;QACrC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;YACrB,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SACnC;QACD,0CAA0C;QAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,IAAI,IAAI,EAAE;YACR,oCAAoC;YACpC,IAAI,IAAI,KAAK,IAAI,EAAE;gBACjB,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC;gBACxB,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;aACnC;YACD,mEAAmE;YACnE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;SAC/B;QACD,iCAAiC;QACjC,OAAO,QAAQ;aACZ,UAAU,CAAC,IAAI,CAAC;aAChB,IAAI,CAAC,OAAO,CAAC,EAAE;YACd,0CAA0C;YAC1C,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACzC,6BAA6B;YAC7B,IAAI,WAAW,EAAE;gBACf,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;aAC5C;YACD,0CAA0C;YAC1C,OAAO,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,EAAE;YACV,0BAA0B;YAC1B,MAAM,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC;QAC3B,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,CAAC,EAAE;YACX,yCAAyC;YACzC,8BAA8B;YAC9B,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,KAAK,UAAU,gBAAgB,CAC7B,MAAyB,EACzB,QAA+B,EAC/B,WAA4C;QAE5C,IAAI,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;QACrC,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;QAC3B,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC;QAEvB,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO;YAC9B,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;YACnC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAEpC,WAAW;QACX,+BAA+B;QAC/B,wCAAwC;QACxC,8DAA8D;QAC9D,IACE,CAAC,IAAI;YACL,CAAC,OAAO;YACR,CAAC,QAAQ,CAAC,WAAW;YACrB,CAAC,WAAW;YACZ,CAAC,WAAW,CAAC,UAAU,EACvB;YACA,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;YACzC,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SACnC;QACD,IAAI;YACF,kBAAkB;YAClB,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAEpD,IAAI,CAAC,UAAU,EAAE;gBACf,kCAAkC;gBAClC,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;gBACvD,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;aACnC;YAED,6BAA6B;YAC7B,WAAW,CAAC,UAAU,CACpB,MAAM,EACN,UAAU,CAAC,IAAI,EACf,UAAU,CAAC,KAAK,EAChB,OAAO,CACR,CAAC;YAEF,0BAA0B;YAC1B,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC;SACzC;QAAC,OAAO,GAAG,EAAE;YACZ,yCAAyC;YACzC,8BAA8B;YAC9B,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;YACxC,MAAM,CAAC,IAAI,GAAG,6BAA6B,CAAC;SAC7C;IACH,CAAC;IACD,MAAM,WAAW,GAAG;QAClB,YAAY;QACZ,UAAU;QACV,YAAY;QACZ,aAAa;QACb,WAAW;QACX,cAAc;QACd,WAAW;QACX,YAAY;QACZ,oBAAoB;QACpB,kBAAkB;QAClB,oBAAoB;QACpB,qBAAqB;QACrB,mBAAmB;QACnB,sBAAsB;QACtB,mBAAmB;QACnB,oBAAoB;KACrB,CAAC;IAEF;;;OAGG;IACH,SAAS,gBAAgB,CACvB,KAAa,EACb,EAA0B,EAC1B,EAA0B,EAC1B,IAAa,EACb,SAAkB,EAClB,OAAgB,EAChB,GAAkB;QAElB,IAAI,KAAK,EAAE;YACT,MAAM,OAAO,GAAG,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,EAAE,CAAC;YAElB,IAAI,IAAI,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE;gBACvD,EAAE,IAAI,CAAC,CAAC,CAAC,kCAAkC;aAC5C;YACD,IAAI,OAAO,EAAE;gBACX,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;aACrB;YAED,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;gBAC1B,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;aACvC;iBAAM,IAAI,EAAE,CAAC,MAAM,EAAE;gBACpB,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;aAClC;iBAAM,IAAI,OAAO,EAAE;gBAClB,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;aACzC;YAED,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;gBAC1B,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;aACvC;iBAAM,IAAI,EAAE,CAAC,MAAM,EAAE;gBACpB,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;aAC7C;iBAAM,IAAI,OAAO,EAAE;gBAClB,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;aACzC;YAED,IAAI,IAAI,EAAE;gBACR,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aAC3B;YAED,IAAI,SAAS,EAAE;gBACb,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;aAChC;YAED,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE;gBACnC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAClB,IAAI,OAAO,CAAC,MAAM,EAAE;oBAClB,GAAG,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBAC3C;gBACD,IAAI,MAAM,CAAC,MAAM,EAAE;oBACjB,GAAG,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAC3C;gBACD,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACd,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACrB;iBAAM;gBACL,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACjB;SACF;IACH,CAAC;IAED;;OAEG;IACH,SAAS,iBAAiB,CAAC,OAAsB;QAC/C,IAAI,CAAC,CAAC;QACN,IAAI,CAAC,CAAC;QACN,IAAI,CAAC,CAAC;QACN,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;YAClC,aAAa;YACb,CAAC,GAAG,OAAO,CAAC,KAAK,EAAG,CAAC;YACrB,CAAC,GAAG,OAAO,CAAC,KAAK,EAAG,CAAC;YACrB,CAAC,GAAG,OAAO,CAAC,KAAK,EAAG,CAAC;YACrB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE;gBACzC,MAAM,IAAI,UAAU,CAAC,8BAA8B,CAAC,CAAC;aACtD;SACF;aAAM,IAAI,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;YACzC,aAAa;YACb,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,EAAG,CAAC;YAC7B,IAAI,GAAG,GAAG,CAAC,EAAE;gBACX,MAAM,IAAI,UAAU,CAAC,0BAA0B,CAAC,CAAC;aAClD;iBAAM,IAAI,GAAG,GAAG,EAAE,EAAE;gBACnB,6BAA6B;gBAC7B,OAAO,GAAG,CAAC;aACZ;iBAAM,IAAI,GAAG,GAAG,GAAG,EAAE;gBACpB,oEAAoE;gBACpE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;gBAChC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5B,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACtC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5B,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;gBACnB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aAC7B;iBAAM,IAAI,GAAG,GAAG,GAAG,EAAE;gBACpB,6DAA6D;gBAC7D,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;aAClC;iBAAM;gBACL,MAAM,IAAI,UAAU,CAAC,2BAA2B,CAAC,CAAC;aACnD;SACF;aAAM;YACL,MAAM,IAAI,UAAU,CAAC,sCAAsC,CAAC,CAAC;SAC9D;QACD,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACnB,CAAC;IAED;;;;;;OAMG;IACH,SAAgB,QAAQ,CAAC,GAAW;QAClC,MAAM,MAAM,GAAG,qBAAqB,CAAC,CAAC,uCAAuC;QAC7E,IAAI,EAAE,GAA2B,EAAE,CAAC;QACpC,IAAI,EAAE,GAA2B,EAAE,CAAC;QACpC,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,KAAK,CAAC;QACV,MAAM,GAAG,GAAkB,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAElB,GAAG,IAAI,QAAQ,CAAC,CAAC,kCAAkC;QACnD,2BAA2B;QAC3B,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;YACjC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;gBACpB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACrC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACtB,IAAI,IAAI,KAAK,EAAE,EAAE;wBACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;qBACjB;yBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE;wBACtC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;qBAClC;yBAAM;wBACL,uCAAuC;wBACvC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;wBACnB,MAAM;qBACP;iBACF;aACF;iBAAM;gBACL,4BAA4B;aAC7B;YACD,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAChD,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;YAC/D,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC;YAEzB,OAAO,OAAO,CAAC,MAAM,EAAE;gBACrB,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC1B,QAAQ,CAAC,EAAE;oBACT,KAAK,CAAC;wBACJ,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;wBACb,IAAI,GAAG,KAAK,CAAC;wBACb,SAAS,GAAG,KAAK,CAAC;wBAClB,OAAO,GAAG,KAAK,CAAC;wBAChB,MAAM;oBACR,KAAK,CAAC,CAAC;oBACP,KAAK,CAAC;wBACJ,IAAI,GAAG,IAAI,CAAC;wBACZ,MAAM;oBACR,KAAK,CAAC;wBACJ,SAAS,GAAG,IAAI,CAAC;wBACjB,MAAM;oBACR,KAAK,CAAC;wBACJ,OAAO,GAAG,IAAI,CAAC;wBACf,MAAM;oBACR,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE;wBACL,IAAI,GAAG,KAAK,CAAC;wBACb,MAAM;oBACR,KAAK,EAAE;wBACL,SAAS,GAAG,KAAK,CAAC;wBAClB,MAAM;oBACR,KAAK,EAAE;wBACL,OAAO,GAAG,KAAK,CAAC;wBAChB,MAAM;oBACR,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE;wBACL,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;wBACZ,MAAM;oBACR,KAAK,EAAE;wBACL,IAAI;4BACF,EAAE,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;yBACjC;wBAAC,OAAO,CAAC,EAAE;4BACV,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;yBACpB;wBACD,MAAM;oBACR,KAAK,EAAE;wBACL,EAAE,GAAG,EAAE,CAAC;wBACR,MAAM;oBACR,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE;wBACL,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;wBACZ,MAAM;oBACR,KAAK,EAAE;wBACL,IAAI;4BACF,EAAE,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;yBACjC;wBAAC,OAAO,CAAC,EAAE;4BACV,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;yBACpB;wBACD,MAAM;oBACR,KAAK,EAAE;wBACL,EAAE,GAAG,EAAE,CAAC;wBACR,MAAM;oBACR,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE;wBACL,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;wBAChB,MAAM;oBACR,KAAK,GAAG,CAAC;oBACT,KAAK,GAAG,CAAC;oBACT,KAAK,GAAG,CAAC;oBACT,KAAK,GAAG,CAAC;oBACT,KAAK,GAAG,CAAC;oBACT,KAAK,GAAG,CAAC;oBACT,KAAK,GAAG,CAAC;oBACT,KAAK,GAAG;wBACN,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;wBACjB,MAAM;oBACR,QAAQ;oBACR,4BAA4B;iBAC7B;aACF;SACF;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC;IArIe,gBAAQ,WAqIvB,CAAA;AACH,CAAC,EAvkBS,OAAO,KAAP,OAAO,QAukBhB"}
1
+ {"version":3,"file":"renderers.js","sourceRoot":"","sources":["../src/renderers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jupyterlab/rendermime",
3
- "version": "4.3.6",
3
+ "version": "4.3.8",
4
4
  "description": "JupyterLab - RenderMime",
5
5
  "homepage": "https://github.com/jupyterlab/jupyterlab",
6
6
  "bugs": {
@@ -41,13 +41,13 @@
41
41
  "watch": "tsc -b --watch"
42
42
  },
43
43
  "dependencies": {
44
- "@jupyterlab/apputils": "^4.4.6",
45
- "@jupyterlab/coreutils": "^6.3.6",
46
- "@jupyterlab/nbformat": "^4.3.6",
47
- "@jupyterlab/observables": "^5.3.6",
48
- "@jupyterlab/rendermime-interfaces": "^3.11.6",
49
- "@jupyterlab/services": "^7.3.6",
50
- "@jupyterlab/translation": "^4.3.6",
44
+ "@jupyterlab/apputils": "^4.4.8",
45
+ "@jupyterlab/coreutils": "^6.3.8",
46
+ "@jupyterlab/nbformat": "^4.3.8",
47
+ "@jupyterlab/observables": "^5.3.8",
48
+ "@jupyterlab/rendermime-interfaces": "^3.11.8",
49
+ "@jupyterlab/services": "^7.3.8",
50
+ "@jupyterlab/translation": "^4.3.8",
51
51
  "@lumino/coreutils": "^2.2.0",
52
52
  "@lumino/messaging": "^2.0.2",
53
53
  "@lumino/signaling": "^2.1.3",
@@ -55,7 +55,7 @@
55
55
  "lodash.escape": "^4.0.1"
56
56
  },
57
57
  "devDependencies": {
58
- "@jupyterlab/testing": "^4.3.6",
58
+ "@jupyterlab/testing": "^4.3.8",
59
59
  "@types/jest": "^29.2.0",
60
60
  "@types/lodash.escape": "^4.0.6",
61
61
  "fs-extra": "^10.1.0",
package/src/renderers.ts CHANGED
@@ -16,7 +16,7 @@ import { removeMath, replaceMath } from './latex';
16
16
  *
17
17
  * @returns A promise which resolves when rendering is complete.
18
18
  */
19
- export function renderHTML(options: renderHTML.IOptions): Promise<void> {
19
+ export async function renderHTML(options: renderHTML.IOptions): Promise<void> {
20
20
  // Unpack the options.
21
21
  let {
22
22
  host,
@@ -37,7 +37,7 @@ export function renderHTML(options: renderHTML.IOptions): Promise<void> {
37
37
  // Bail early if the source is empty.
38
38
  if (!source) {
39
39
  host.textContent = '';
40
- return Promise.resolve(undefined);
40
+ return;
41
41
  }
42
42
 
43
43
  // Sanitize the source if it is not trusted. This removes all
@@ -81,19 +81,13 @@ export function renderHTML(options: renderHTML.IOptions): Promise<void> {
81
81
  Private.handleDefaults(host, resolver);
82
82
 
83
83
  // Patch the urls if a resolver is available.
84
- let promise: Promise<void>;
85
84
  if (resolver) {
86
- promise = Private.handleUrls(host, resolver, linkHandler);
87
- } else {
88
- promise = Promise.resolve(undefined);
85
+ await Private.handleUrls(host, resolver, linkHandler);
89
86
  }
90
87
 
91
- // Return the final rendered promise.
92
- return promise.then(() => {
93
- if (shouldTypeset && latexTypesetter) {
94
- latexTypesetter.typeset(host);
95
- }
96
- });
88
+ if (shouldTypeset && latexTypesetter) {
89
+ latexTypesetter.typeset(host);
90
+ }
97
91
  }
98
92
 
99
93
  /**
@@ -158,7 +152,7 @@ export namespace renderHTML {
158
152
  *
159
153
  * @returns A promise which resolves when rendering is complete.
160
154
  */
161
- export function renderImage(
155
+ export async function renderImage(
162
156
  options: renderImage.IRenderOptions
163
157
  ): Promise<void> {
164
158
  // Unpack the options.
@@ -194,9 +188,6 @@ export function renderImage(
194
188
 
195
189
  // Add the image to the host.
196
190
  host.appendChild(img);
197
-
198
- // Return the rendered promise.
199
- return Promise.resolve(undefined);
200
191
  }
201
192
 
202
193
  /**
@@ -251,7 +242,7 @@ export namespace renderImage {
251
242
  *
252
243
  * @returns A promise which resolves when rendering is complete.
253
244
  */
254
- export function renderLatex(
245
+ export async function renderLatex(
255
246
  options: renderLatex.IRenderOptions
256
247
  ): Promise<void> {
257
248
  // Unpack the options.
@@ -264,9 +255,6 @@ export function renderLatex(
264
255
  if (shouldTypeset && latexTypesetter) {
265
256
  latexTypesetter.typeset(host);
266
257
  }
267
-
268
- // Return the rendered promise.
269
- return Promise.resolve(undefined);
270
258
  }
271
259
 
272
260
  /**
@@ -421,21 +409,23 @@ export namespace renderMarkdown {
421
409
  *
422
410
  * @returns A promise which resolves when rendering is complete.
423
411
  */
424
- export function renderSVG(options: renderSVG.IRenderOptions): Promise<void> {
412
+ export async function renderSVG(
413
+ options: renderSVG.IRenderOptions
414
+ ): Promise<void> {
425
415
  // Unpack the options.
426
416
  let { host, source, trusted, unconfined } = options;
427
417
 
428
418
  // Clear the content if there is no source.
429
419
  if (!source) {
430
420
  host.textContent = '';
431
- return Promise.resolve(undefined);
421
+ return;
432
422
  }
433
423
 
434
424
  // Display a message if the source is not trusted.
435
425
  if (!trusted) {
436
426
  host.textContent =
437
427
  'Cannot display an untrusted SVG. Maybe you need to run the cell?';
438
- return Promise.resolve(undefined);
428
+ return;
439
429
  }
440
430
 
441
431
  // Add missing SVG namespace (if actually missing)
@@ -452,7 +442,6 @@ export function renderSVG(options: renderSVG.IRenderOptions): Promise<void> {
452
442
  if (unconfined === true) {
453
443
  host.classList.add('jp-mod-unconfined');
454
444
  }
455
- return Promise.resolve();
456
445
  }
457
446
 
458
447
  /**
@@ -644,6 +633,7 @@ function autolink(
644
633
 
645
634
  while (null != (match = regex.exec(content))) {
646
635
  const stringBeforeMatch = content.substring(currentIndex, match.index);
636
+
647
637
  if (stringBeforeMatch) {
648
638
  linkify(stringBeforeMatch, regexIndex + 1);
649
639
  }
@@ -786,14 +776,13 @@ function* alignedNodes<T extends Node, U extends Node>(
786
776
  *
787
777
  * @returns A promise which resolves when rendering is complete.
788
778
  */
789
- export function renderText(options: renderText.IRenderOptions): Promise<void> {
779
+ export async function renderText(
780
+ options: renderText.IRenderOptions
781
+ ): Promise<void> {
790
782
  renderTextual(options, {
791
783
  checkWeb: true,
792
784
  checkPaths: false
793
785
  });
794
-
795
- // Return the rendered promise.
796
- return Promise.resolve(undefined);
797
786
  }
798
787
 
799
788
  /**
@@ -1002,7 +991,7 @@ function getApplicableLinkCache(
1002
991
  *
1003
992
  * @returns A promise which resolves when rendering is complete.
1004
993
  */
1005
- export function renderError(
994
+ export async function renderError(
1006
995
  options: renderError.IRenderOptions
1007
996
  ): Promise<void> {
1008
997
  // Unpack the options.
@@ -1014,15 +1003,9 @@ export function renderError(
1014
1003
  });
1015
1004
 
1016
1005
  // Patch the paths if a resolver is available.
1017
- let promise: Promise<void>;
1018
1006
  if (resolver) {
1019
- promise = Private.handlePaths(host, resolver, linkHandler);
1020
- } else {
1021
- promise = Promise.resolve(undefined);
1007
+ await Private.handlePaths(host, resolver, linkHandler);
1022
1008
  }
1023
-
1024
- // Return the rendered promise.
1025
- return promise;
1026
1009
  }
1027
1010
 
1028
1011
  /**
@@ -1225,13 +1208,12 @@ namespace Private {
1225
1208
  *
1226
1209
  * @returns a promise fulfilled when the relative urls have been resolved.
1227
1210
  */
1228
- export function handleUrls(
1211
+ export async function handleUrls(
1229
1212
  node: HTMLElement,
1230
1213
  resolver: IRenderMime.IResolver,
1231
1214
  linkHandler: IRenderMime.ILinkHandler | null
1232
- ): Promise<void> {
1233
- // Set up an array to collect promises.
1234
- const promises: Promise<void>[] = [];
1215
+ ): Promise<unknown> {
1216
+ const promises = [];
1235
1217
 
1236
1218
  // Handle HTML Elements with src attributes.
1237
1219
  const nodes = node.querySelectorAll('*[src]');
@@ -1251,12 +1233,11 @@ namespace Private {
1251
1233
  promises.push(handleAttr(links[i], 'href', resolver));
1252
1234
  }
1253
1235
 
1254
- // Wait on all promises.
1255
- return Promise.all(promises).then(() => undefined);
1236
+ return Promise.all(promises);
1256
1237
  }
1257
1238
 
1258
1239
  /**
1259
- * Resolve the paths in `<a>` elements `data` attributes.
1240
+ * Resolve the paths in `<a>` elements that have a `data-path` attribute.
1260
1241
  *
1261
1242
  * @param node - The head html element.
1262
1243
  *
@@ -1270,12 +1251,13 @@ namespace Private {
1270
1251
  node: HTMLElement,
1271
1252
  resolver: IRenderMime.IResolver,
1272
1253
  linkHandler: IRenderMime.ILinkHandler | null
1273
- ): Promise<void> {
1274
- // Handle anchor elements.
1275
- const anchors = node.getElementsByTagName('a');
1276
- for (let i = 0; i < anchors.length; i++) {
1277
- await handlePathAnchor(anchors[i], resolver, linkHandler);
1278
- }
1254
+ ): Promise<unknown> {
1255
+ const anchors: HTMLAnchorElement[] = Array.from(
1256
+ node.querySelectorAll('a[data-path]')
1257
+ );
1258
+ return Promise.all(
1259
+ anchors.map(anchor => handlePathAnchor(anchor, resolver, linkHandler))
1260
+ );
1279
1261
  }
1280
1262
 
1281
1263
  /**
@@ -1333,7 +1315,7 @@ namespace Private {
1333
1315
  /**
1334
1316
  * Handle an anchor node.
1335
1317
  */
1336
- function handleAnchor(
1318
+ async function handleAnchor(
1337
1319
  anchor: HTMLAnchorElement,
1338
1320
  resolver: IRenderMime.IResolver,
1339
1321
  linkHandler: IRenderMime.ILinkHandler | null
@@ -1346,7 +1328,7 @@ namespace Private {
1346
1328
  : URLExt.isLocal(href);
1347
1329
  // Bail if it is not a file-like url.
1348
1330
  if (!href || !isLocal) {
1349
- return Promise.resolve(undefined);
1331
+ return;
1350
1332
  }
1351
1333
  // Remove the hash until we can handle it.
1352
1334
  const hash = anchor.hash;
@@ -1354,7 +1336,7 @@ namespace Private {
1354
1336
  // Handle internal link in the file.
1355
1337
  if (hash === href) {
1356
1338
  anchor.target = '_self';
1357
- return Promise.resolve(undefined);
1339
+ return;
1358
1340
  }
1359
1341
  // For external links, remove the hash until we have hash handling.
1360
1342
  href = href.replace(hash, '');
@@ -1413,7 +1395,7 @@ namespace Private {
1413
1395
  !linkHandler.handlePath
1414
1396
  ) {
1415
1397
  anchor.replaceWith(...anchor.childNodes);
1416
- return Promise.resolve(undefined);
1398
+ return;
1417
1399
  }
1418
1400
  try {
1419
1401
  // Find given path
@@ -1422,7 +1404,7 @@ namespace Private {
1422
1404
  if (!resolution) {
1423
1405
  // Bail if the file does not exist
1424
1406
  console.log('Path resolution bailing: does not exist');
1425
- return Promise.resolve(undefined);
1407
+ return;
1426
1408
  }
1427
1409
 
1428
1410
  // Handle the click override.
@@ -1442,6 +1424,7 @@ namespace Private {
1442
1424
  anchor.href = '#linking-failed-see-console';
1443
1425
  }
1444
1426
  }
1427
+
1445
1428
  const ANSI_COLORS = [
1446
1429
  'ansi-black',
1447
1430
  'ansi-red',