@scalar/api-client 0.12.8 → 0.12.10

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.
Files changed (3) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/index.js +2407 -185
  3. package/package.json +5 -5
package/dist/index.js CHANGED
@@ -16,7 +16,7 @@ var __publicField = (obj, key, value) => {
16
16
  __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
17
17
  return value;
18
18
  };
19
- import { defineComponent, openBlock, createBlock, resolveDynamicComponent, withCtx, createTextVNode, toDisplayString, unref, createCommentVNode, reactive, readonly, ref, computed, normalizeStyle, renderSlot, normalizeProps, guardReactiveProps, watch, onBeforeUnmount, toValue as toValue$1, toRef, createElementBlock, createElementVNode, createVNode, normalizeClass, Fragment, renderList, createStaticVNode, pushScopeId, popScopeId, withDirectives, withModifiers, vModelSelect, vModelText, vModelCheckbox, defineAsyncComponent, h, vShow, toRaw, withKeys } from "vue";
19
+ import { defineComponent, openBlock, createBlock, resolveDynamicComponent, withCtx, createTextVNode, toDisplayString, unref, createCommentVNode, reactive, readonly, ref, computed, normalizeStyle, renderSlot, normalizeProps, guardReactiveProps, watch, onBeforeUnmount, toValue as toValue$1, toRef, createElementBlock, createElementVNode, createVNode, normalizeClass, Fragment, renderList, createStaticVNode, pushScopeId, popScopeId, withDirectives, withModifiers, vModelSelect, vModelText, vModelCheckbox, defineAsyncComponent, nextTick, onMounted, h, vShow, toRaw, withKeys } from "vue";
20
20
  import { Dialog, DialogPanel, DialogTitle, DialogDescription, Disclosure, DisclosureButton, DisclosurePanel, TabGroup, TabList, Tab, TabPanels, TabPanel } from "@headlessui/vue";
21
21
  import { useMagicKeys, whenever, useMediaQuery } from "@vueuse/core";
22
22
  import axios from "axios";
@@ -2531,7 +2531,7 @@ class Facet {
2531
2531
  }
2532
2532
  from(field, get) {
2533
2533
  if (!get)
2534
- get = (x) => x;
2534
+ get = (x2) => x2;
2535
2535
  return this.compute([field], (state2) => get(state2.field(field)));
2536
2536
  }
2537
2537
  }
@@ -3508,11 +3508,11 @@ class EditorState {
3508
3508
  break;
3509
3509
  }
3510
3510
  if (insert2.length)
3511
- phrase = phrase.replace(/\$(\$|\d*)/g, (m2, i) => {
3511
+ phrase = phrase.replace(/\$(\$|\d*)/g, (m, i) => {
3512
3512
  if (i == "$")
3513
3513
  return "$";
3514
3514
  let n = +(i || 1);
3515
- return !n || n > insert2.length ? m2 : insert2[n - 1];
3515
+ return !n || n > insert2.length ? m : insert2[n - 1];
3516
3516
  });
3517
3517
  return phrase;
3518
3518
  }
@@ -4710,8 +4710,8 @@ function maxOffset(node) {
4710
4710
  return node.nodeType == 3 ? node.nodeValue.length : node.childNodes.length;
4711
4711
  }
4712
4712
  function flattenRect(rect, left) {
4713
- let x = left ? rect.left : rect.right;
4714
- return { left: x, right: x, top: rect.top, bottom: rect.bottom };
4713
+ let x2 = left ? rect.left : rect.right;
4714
+ return { left: x2, right: x2, top: rect.top, bottom: rect.bottom };
4715
4715
  }
4716
4716
  function windowRect(win) {
4717
4717
  return {
@@ -4730,7 +4730,7 @@ function getScale(elt, rect) {
4730
4730
  scaleY = 1;
4731
4731
  return { scaleX, scaleY };
4732
4732
  }
4733
- function scrollRectIntoView(dom, rect, side, x, y, xMargin, yMargin, ltr) {
4733
+ function scrollRectIntoView(dom, rect, side, x2, y, xMargin, yMargin, ltr) {
4734
4734
  let doc2 = dom.ownerDocument, win = doc2.defaultView || window;
4735
4735
  for (let cur = dom, stop = false; cur && !stop; ) {
4736
4736
  if (cur.nodeType == 1) {
@@ -4770,7 +4770,7 @@ function scrollRectIntoView(dom, rect, side, x, y, xMargin, yMargin, ltr) {
4770
4770
  let targetTop = y == "center" && rectHeight <= boundingHeight ? rect.top + rectHeight / 2 - boundingHeight / 2 : y == "start" || y == "center" && side < 0 ? rect.top - yMargin : rect.bottom - boundingHeight + yMargin;
4771
4771
  moveY = targetTop - bounding.top;
4772
4772
  }
4773
- if (x == "nearest") {
4773
+ if (x2 == "nearest") {
4774
4774
  if (rect.left < bounding.left) {
4775
4775
  moveX = -(bounding.left - rect.left + xMargin);
4776
4776
  if (side > 0 && rect.right > bounding.right + moveX)
@@ -4781,7 +4781,7 @@ function scrollRectIntoView(dom, rect, side, x, y, xMargin, yMargin, ltr) {
4781
4781
  moveX = -(bounding.left + moveX - rect.left + xMargin);
4782
4782
  }
4783
4783
  } else {
4784
- let targetLeft = x == "center" ? rect.left + (rect.right - rect.left) / 2 - (bounding.right - bounding.left) / 2 : x == "start" == ltr ? rect.left - xMargin : rect.right - (bounding.right - bounding.left) + xMargin;
4784
+ let targetLeft = x2 == "center" ? rect.left + (rect.right - rect.left) / 2 - (bounding.right - bounding.left) / 2 : x2 == "start" == ltr ? rect.left - xMargin : rect.right - (bounding.right - bounding.left) + xMargin;
4785
4785
  moveX = targetLeft - bounding.left;
4786
4786
  }
4787
4787
  if (moveX || moveY) {
@@ -4806,7 +4806,7 @@ function scrollRectIntoView(dom, rect, side, x, y, xMargin, yMargin, ltr) {
4806
4806
  bottom: rect.bottom - movedY
4807
4807
  };
4808
4808
  if (movedX && Math.abs(movedX - moveX) < 1)
4809
- x = "nearest";
4809
+ x2 = "nearest";
4810
4810
  if (movedY && Math.abs(movedY - moveY) < 1)
4811
4811
  y = "nearest";
4812
4812
  }
@@ -6752,16 +6752,16 @@ const updateListener = /* @__PURE__ */ Facet.define();
6752
6752
  const inputHandler = /* @__PURE__ */ Facet.define();
6753
6753
  const focusChangeEffect = /* @__PURE__ */ Facet.define();
6754
6754
  const perLineTextDirection = /* @__PURE__ */ Facet.define({
6755
- combine: (values2) => values2.some((x) => x)
6755
+ combine: (values2) => values2.some((x2) => x2)
6756
6756
  });
6757
6757
  const nativeSelectionHidden = /* @__PURE__ */ Facet.define({
6758
- combine: (values2) => values2.some((x) => x)
6758
+ combine: (values2) => values2.some((x2) => x2)
6759
6759
  });
6760
6760
  class ScrollTarget {
6761
- constructor(range, y = "nearest", x = "nearest", yMargin = 5, xMargin = 5, isSnapshot = false) {
6761
+ constructor(range, y = "nearest", x2 = "nearest", yMargin = 5, xMargin = 5, isSnapshot = false) {
6762
6762
  this.range = range;
6763
6763
  this.y = y;
6764
- this.x = x;
6764
+ this.x = x2;
6765
6765
  this.yMargin = yMargin;
6766
6766
  this.xMargin = xMargin;
6767
6767
  this.isSnapshot = isSnapshot;
@@ -6910,16 +6910,16 @@ const scrollMargins = /* @__PURE__ */ Facet.define();
6910
6910
  function getScrollMargins(view) {
6911
6911
  let left = 0, right = 0, top2 = 0, bottom = 0;
6912
6912
  for (let source of view.state.facet(scrollMargins)) {
6913
- let m2 = source(view);
6914
- if (m2) {
6915
- if (m2.left != null)
6916
- left = Math.max(left, m2.left);
6917
- if (m2.right != null)
6918
- right = Math.max(right, m2.right);
6919
- if (m2.top != null)
6920
- top2 = Math.max(top2, m2.top);
6921
- if (m2.bottom != null)
6922
- bottom = Math.max(bottom, m2.bottom);
6913
+ let m = source(view);
6914
+ if (m) {
6915
+ if (m.left != null)
6916
+ left = Math.max(left, m.left);
6917
+ if (m.right != null)
6918
+ right = Math.max(right, m.right);
6919
+ if (m.top != null)
6920
+ top2 = Math.max(top2, m.top);
6921
+ if (m.bottom != null)
6922
+ bottom = Math.max(bottom, m.bottom);
6923
6923
  }
6924
6924
  }
6925
6925
  return { left, right, top: top2, bottom };
@@ -6936,17 +6936,17 @@ class ChangedRange {
6936
6936
  return new ChangedRange(Math.min(this.fromA, other.fromA), Math.max(this.toA, other.toA), Math.min(this.fromB, other.fromB), Math.max(this.toB, other.toB));
6937
6937
  }
6938
6938
  addToSet(set) {
6939
- let i = set.length, me2 = this;
6939
+ let i = set.length, me = this;
6940
6940
  for (; i > 0; i--) {
6941
6941
  let range = set[i - 1];
6942
- if (range.fromA > me2.toA)
6942
+ if (range.fromA > me.toA)
6943
6943
  continue;
6944
- if (range.toA < me2.fromA)
6944
+ if (range.toA < me.fromA)
6945
6945
  break;
6946
- me2 = me2.join(range);
6946
+ me = me.join(range);
6947
6947
  set.splice(i - 1, 1);
6948
6948
  }
6949
- set.splice(i, 0, me2);
6949
+ set.splice(i, 0, me);
6950
6950
  return set;
6951
6951
  }
6952
6952
  static extendWithRanges(diff, ranges) {
@@ -7182,7 +7182,7 @@ class DocView extends ContentView {
7182
7182
  fixCompositionDOM(composition) {
7183
7183
  let fix = (dom, cView2) => {
7184
7184
  cView2.flags |= 8 | (cView2.children.some(
7185
- (c2) => c2.flags & 7
7185
+ (c) => c.flags & 7
7186
7186
  /* ViewFlag.Dirty */
7187
7187
  ) ? 1 : 0);
7188
7188
  this.markedForComposition.add(cView2);
@@ -7675,8 +7675,8 @@ function groupAt(state2, pos, bias = 1) {
7675
7675
  }
7676
7676
  return EditorSelection.range(from + line.from, to + line.from);
7677
7677
  }
7678
- function getdx(x, rect) {
7679
- return rect.left > x ? rect.left - x : Math.max(0, x - rect.right);
7678
+ function getdx(x2, rect) {
7679
+ return rect.left > x2 ? rect.left - x2 : Math.max(0, x2 - rect.right);
7680
7680
  }
7681
7681
  function getdy(y, rect) {
7682
7682
  return rect.top > y ? rect.top - y : Math.max(0, y - rect.bottom);
@@ -7690,7 +7690,7 @@ function upTop(rect, top2) {
7690
7690
  function upBot(rect, bottom) {
7691
7691
  return bottom > rect.bottom ? { top: rect.top, left: rect.left, right: rect.right, bottom } : rect;
7692
7692
  }
7693
- function domPosAtCoords(parent, x, y) {
7693
+ function domPosAtCoords(parent, x2, y) {
7694
7694
  let closest, closestRect, closestX, closestY, closestOverlap = false;
7695
7695
  let above, below, aboveRect, belowRect;
7696
7696
  for (let child = parent.firstChild; child; child = child.nextSibling) {
@@ -7699,15 +7699,15 @@ function domPosAtCoords(parent, x, y) {
7699
7699
  let rect = rects[i];
7700
7700
  if (closestRect && yOverlap(closestRect, rect))
7701
7701
  rect = upTop(upBot(rect, closestRect.bottom), closestRect.top);
7702
- let dx = getdx(x, rect), dy = getdy(y, rect);
7702
+ let dx = getdx(x2, rect), dy = getdy(y, rect);
7703
7703
  if (dx == 0 && dy == 0)
7704
- return child.nodeType == 3 ? domPosInText(child, x, y) : domPosAtCoords(child, x, y);
7704
+ return child.nodeType == 3 ? domPosInText(child, x2, y) : domPosAtCoords(child, x2, y);
7705
7705
  if (!closest || closestY > dy || closestY == dy && closestX > dx) {
7706
7706
  closest = child;
7707
7707
  closestRect = rect;
7708
7708
  closestX = dx;
7709
7709
  closestY = dy;
7710
- let side = dy ? y < rect.top ? -1 : 1 : dx ? x < rect.left ? -1 : 1 : 0;
7710
+ let side = dy ? y < rect.top ? -1 : 1 : dx ? x2 < rect.left ? -1 : 1 : 0;
7711
7711
  closestOverlap = !side || (side > 0 ? i < rects.length - 1 : i > 0);
7712
7712
  }
7713
7713
  if (dx == 0) {
@@ -7734,15 +7734,15 @@ function domPosAtCoords(parent, x, y) {
7734
7734
  }
7735
7735
  if (!closest)
7736
7736
  return { node: parent, offset: 0 };
7737
- let clipX = Math.max(closestRect.left, Math.min(closestRect.right, x));
7737
+ let clipX = Math.max(closestRect.left, Math.min(closestRect.right, x2));
7738
7738
  if (closest.nodeType == 3)
7739
7739
  return domPosInText(closest, clipX, y);
7740
7740
  if (closestOverlap && closest.contentEditable != "false")
7741
7741
  return domPosAtCoords(closest, clipX, y);
7742
- let offset = Array.prototype.indexOf.call(parent.childNodes, closest) + (x >= (closestRect.left + closestRect.right) / 2 ? 1 : 0);
7742
+ let offset = Array.prototype.indexOf.call(parent.childNodes, closest) + (x2 >= (closestRect.left + closestRect.right) / 2 ? 1 : 0);
7743
7743
  return { node: parent, offset };
7744
7744
  }
7745
- function domPosInText(node, x, y) {
7745
+ function domPosInText(node, x2, y) {
7746
7746
  let len = node.nodeValue.length;
7747
7747
  let closestOffset = -1, closestDY = 1e9, generalSide = 0;
7748
7748
  for (let i = 0; i < len; i++) {
@@ -7752,10 +7752,10 @@ function domPosInText(node, x, y) {
7752
7752
  if (rect.top == rect.bottom)
7753
7753
  continue;
7754
7754
  if (!generalSide)
7755
- generalSide = x - rect.left;
7755
+ generalSide = x2 - rect.left;
7756
7756
  let dy = (rect.top > y ? rect.top - y : y - rect.bottom) - 1;
7757
- if (rect.left - 1 <= x && rect.right + 1 >= x && dy < closestDY) {
7758
- let right = x >= (rect.left + rect.right) / 2, after = right;
7757
+ if (rect.left - 1 <= x2 && rect.right + 1 >= x2 && dy < closestDY) {
7758
+ let right = x2 >= (rect.left + rect.right) / 2, after = right;
7759
7759
  if (browser.chrome || browser.gecko) {
7760
7760
  let rectBefore = textRange(node, i).getBoundingClientRect();
7761
7761
  if (rectBefore.left == rect.right)
@@ -7774,7 +7774,7 @@ function posAtCoords(view, coords, precise, bias = -1) {
7774
7774
  var _a2, _b;
7775
7775
  let content2 = view.contentDOM.getBoundingClientRect(), docTop = content2.top + view.viewState.paddingTop;
7776
7776
  let block, { docHeight } = view.viewState;
7777
- let { x, y } = coords, yOffset = y - docTop;
7777
+ let { x: x2, y } = coords, yOffset = y - docTop;
7778
7778
  if (yOffset < 0)
7779
7779
  return 0;
7780
7780
  if (yOffset > docHeight)
@@ -7796,31 +7796,31 @@ function posAtCoords(view, coords, precise, bias = -1) {
7796
7796
  y = docTop + yOffset;
7797
7797
  let lineStart = block.from;
7798
7798
  if (lineStart < view.viewport.from)
7799
- return view.viewport.from == 0 ? 0 : precise ? null : posAtCoordsImprecise(view, content2, block, x, y);
7799
+ return view.viewport.from == 0 ? 0 : precise ? null : posAtCoordsImprecise(view, content2, block, x2, y);
7800
7800
  if (lineStart > view.viewport.to)
7801
- return view.viewport.to == view.state.doc.length ? view.state.doc.length : precise ? null : posAtCoordsImprecise(view, content2, block, x, y);
7801
+ return view.viewport.to == view.state.doc.length ? view.state.doc.length : precise ? null : posAtCoordsImprecise(view, content2, block, x2, y);
7802
7802
  let doc2 = view.dom.ownerDocument;
7803
7803
  let root = view.root.elementFromPoint ? view.root : doc2;
7804
- let element = root.elementFromPoint(x, y);
7804
+ let element = root.elementFromPoint(x2, y);
7805
7805
  if (element && !view.contentDOM.contains(element))
7806
7806
  element = null;
7807
7807
  if (!element) {
7808
- x = Math.max(content2.left + 1, Math.min(content2.right - 1, x));
7809
- element = root.elementFromPoint(x, y);
7808
+ x2 = Math.max(content2.left + 1, Math.min(content2.right - 1, x2));
7809
+ element = root.elementFromPoint(x2, y);
7810
7810
  if (element && !view.contentDOM.contains(element))
7811
7811
  element = null;
7812
7812
  }
7813
7813
  let node, offset = -1;
7814
7814
  if (element && ((_a2 = view.docView.nearest(element)) === null || _a2 === void 0 ? void 0 : _a2.isEditable) != false) {
7815
7815
  if (doc2.caretPositionFromPoint) {
7816
- let pos = doc2.caretPositionFromPoint(x, y);
7816
+ let pos = doc2.caretPositionFromPoint(x2, y);
7817
7817
  if (pos)
7818
7818
  ({ offsetNode: node, offset } = pos);
7819
7819
  } else if (doc2.caretRangeFromPoint) {
7820
- let range = doc2.caretRangeFromPoint(x, y);
7820
+ let range = doc2.caretRangeFromPoint(x2, y);
7821
7821
  if (range) {
7822
7822
  ({ startContainer: node, startOffset: offset } = range);
7823
- if (!view.contentDOM.contains(node) || browser.safari && isSuspiciousSafariCaretResult(node, offset, x) || browser.chrome && isSuspiciousChromeCaretResult(node, offset, x))
7823
+ if (!view.contentDOM.contains(node) || browser.safari && isSuspiciousSafariCaretResult(node, offset, x2) || browser.chrome && isSuspiciousChromeCaretResult(node, offset, x2))
7824
7824
  node = void 0;
7825
7825
  }
7826
7826
  }
@@ -7829,7 +7829,7 @@ function posAtCoords(view, coords, precise, bias = -1) {
7829
7829
  let line = LineView.find(view.docView, lineStart);
7830
7830
  if (!line)
7831
7831
  return yOffset > block.top + block.height / 2 ? block.to : block.from;
7832
- ({ node, offset } = domPosAtCoords(line.dom, x, y));
7832
+ ({ node, offset } = domPosAtCoords(line.dom, x2, y));
7833
7833
  }
7834
7834
  let nearest = view.docView.nearest(node);
7835
7835
  if (!nearest)
@@ -7841,8 +7841,8 @@ function posAtCoords(view, coords, precise, bias = -1) {
7841
7841
  return nearest.localPosFromDOM(node, offset) + nearest.posAtStart;
7842
7842
  }
7843
7843
  }
7844
- function posAtCoordsImprecise(view, contentRect, block, x, y) {
7845
- let into = Math.round((x - contentRect.left) * view.defaultCharacterWidth);
7844
+ function posAtCoordsImprecise(view, contentRect, block, x2, y) {
7845
+ let into = Math.round((x2 - contentRect.left) * view.defaultCharacterWidth);
7846
7846
  if (view.lineWrapping && block.height > view.defaultLineHeight * 1.5) {
7847
7847
  let textHeight = view.viewState.heightOracle.textHeight;
7848
7848
  let line = Math.floor((y - block.top - (view.defaultLineHeight - textHeight) * 0.5) / textHeight);
@@ -7851,16 +7851,16 @@ function posAtCoordsImprecise(view, contentRect, block, x, y) {
7851
7851
  let content2 = view.state.sliceDoc(block.from, block.to);
7852
7852
  return block.from + findColumn(content2, into, view.state.tabSize);
7853
7853
  }
7854
- function isSuspiciousSafariCaretResult(node, offset, x) {
7854
+ function isSuspiciousSafariCaretResult(node, offset, x2) {
7855
7855
  let len;
7856
7856
  if (node.nodeType != 3 || offset != (len = node.nodeValue.length))
7857
7857
  return false;
7858
7858
  for (let next = node.nextSibling; next; next = next.nextSibling)
7859
7859
  if (next.nodeType != 1 || next.nodeName != "BR")
7860
7860
  return false;
7861
- return textRange(node, len - 1, len).getBoundingClientRect().left > x;
7861
+ return textRange(node, len - 1, len).getBoundingClientRect().left > x2;
7862
7862
  }
7863
- function isSuspiciousChromeCaretResult(node, offset, x) {
7863
+ function isSuspiciousChromeCaretResult(node, offset, x2) {
7864
7864
  if (offset != 0)
7865
7865
  return false;
7866
7866
  for (let cur = node; ; ) {
@@ -7872,7 +7872,7 @@ function isSuspiciousChromeCaretResult(node, offset, x) {
7872
7872
  cur = parent;
7873
7873
  }
7874
7874
  let rect = node.nodeType == 1 ? node.getBoundingClientRect() : textRange(node, 0, Math.max(node.nodeValue.length, 1)).getBoundingClientRect();
7875
- return x - rect.left > 5;
7875
+ return x2 - rect.left > 5;
7876
7876
  }
7877
7877
  function blockAt(view, pos) {
7878
7878
  let line = view.lineBlockAt(pos);
@@ -8411,8 +8411,8 @@ function rangeForClick(view, pos, bias, type) {
8411
8411
  }
8412
8412
  }
8413
8413
  let insideY = (y, rect) => y >= rect.top && y <= rect.bottom;
8414
- let inside = (x, y, rect) => insideY(y, rect) && x >= rect.left && x <= rect.right;
8415
- function findPositionSide(view, pos, x, y) {
8414
+ let inside = (x2, y, rect) => insideY(y, rect) && x2 >= rect.left && x2 <= rect.right;
8415
+ function findPositionSide(view, pos, x2, y) {
8416
8416
  let line = LineView.find(view.docView, pos);
8417
8417
  if (!line)
8418
8418
  return 1;
@@ -8422,10 +8422,10 @@ function findPositionSide(view, pos, x, y) {
8422
8422
  if (off == line.length)
8423
8423
  return -1;
8424
8424
  let before = line.coordsAt(off, -1);
8425
- if (before && inside(x, y, before))
8425
+ if (before && inside(x2, y, before))
8426
8426
  return -1;
8427
8427
  let after = line.coordsAt(off, 1);
8428
- if (after && inside(x, y, after))
8428
+ if (after && inside(x2, y, after))
8429
8429
  return 1;
8430
8430
  return before && insideY(y, before) ? -1 : 1;
8431
8431
  }
@@ -8879,11 +8879,11 @@ class HeightMap {
8879
8879
  result.push(this);
8880
8880
  }
8881
8881
  applyChanges(decorations2, oldDoc, oracle, changes) {
8882
- let me2 = this, doc2 = oracle.doc;
8882
+ let me = this, doc2 = oracle.doc;
8883
8883
  for (let i = changes.length - 1; i >= 0; i--) {
8884
8884
  let { fromA, toA, fromB, toB } = changes[i];
8885
- let start = me2.lineAt(fromA, QueryType.ByPosNoHeight, oracle.setDoc(oldDoc), 0, 0);
8886
- let end = start.to >= toA ? start : me2.lineAt(toA, QueryType.ByPosNoHeight, oracle, 0, 0);
8885
+ let start = me.lineAt(fromA, QueryType.ByPosNoHeight, oracle.setDoc(oldDoc), 0, 0);
8886
+ let end = start.to >= toA ? start : me.lineAt(toA, QueryType.ByPosNoHeight, oracle, 0, 0);
8887
8887
  toB += end.to - toA;
8888
8888
  toA = end.to;
8889
8889
  while (i > 0 && start.from <= changes[i - 1].toA) {
@@ -8891,14 +8891,14 @@ class HeightMap {
8891
8891
  fromB = changes[i - 1].fromB;
8892
8892
  i--;
8893
8893
  if (fromA < start.from)
8894
- start = me2.lineAt(fromA, QueryType.ByPosNoHeight, oracle, 0, 0);
8894
+ start = me.lineAt(fromA, QueryType.ByPosNoHeight, oracle, 0, 0);
8895
8895
  }
8896
8896
  fromB += start.from - fromA;
8897
8897
  fromA = start.from;
8898
8898
  let nodes = NodeBuilder.build(oracle.setDoc(doc2), decorations2, fromB, toB);
8899
- me2 = me2.replace(fromA, toA, nodes);
8899
+ me = me.replace(fromA, toA, nodes);
8900
8900
  }
8901
- return me2.updateHeight(oracle, 0);
8901
+ return me.updateHeight(oracle, 0);
8902
8902
  }
8903
8903
  static empty() {
8904
8904
  return new HeightMapText(0, 0);
@@ -9968,12 +9968,12 @@ const lightDarkIDs = { "&light": "." + baseLightID, "&dark": "." + baseDarkID };
9968
9968
  function buildTheme(main, spec, scopes) {
9969
9969
  return new StyleModule(spec, {
9970
9970
  finish(sel) {
9971
- return /&/.test(sel) ? sel.replace(/&\w*/, (m2) => {
9972
- if (m2 == "&")
9971
+ return /&/.test(sel) ? sel.replace(/&\w*/, (m) => {
9972
+ if (m == "&")
9973
9973
  return main;
9974
- if (!scopes || !scopes[m2])
9975
- throw new RangeError(`Unsupported selector: ${m2}`);
9976
- return scopes[m2];
9974
+ if (!scopes || !scopes[m])
9975
+ throw new RangeError(`Unsupported selector: ${m}`);
9976
+ return scopes[m];
9977
9977
  }) : main + " " + sel;
9978
9978
  }
9979
9979
  });
@@ -10265,14 +10265,14 @@ class DOMReader {
10265
10265
  for (let point of this.points)
10266
10266
  if (point.node == node)
10267
10267
  point.pos = this.text.length + Math.min(point.offset, text.length);
10268
- for (let off = 0, re2 = this.lineSeparator ? null : /\r\n?|\n/g; ; ) {
10269
- let nextBreak = -1, breakSize = 1, m2;
10268
+ for (let off = 0, re = this.lineSeparator ? null : /\r\n?|\n/g; ; ) {
10269
+ let nextBreak = -1, breakSize = 1, m;
10270
10270
  if (this.lineSeparator) {
10271
10271
  nextBreak = text.indexOf(this.lineSeparator, off);
10272
10272
  breakSize = this.lineSeparator.length;
10273
- } else if (m2 = re2.exec(text)) {
10274
- nextBreak = m2.index;
10275
- breakSize = m2[0].length;
10273
+ } else if (m = re.exec(text)) {
10274
+ nextBreak = m.index;
10275
+ breakSize = m[0].length;
10276
10276
  }
10277
10277
  this.append(text.slice(off, nextBreak < 0 ? text.length : nextBreak));
10278
10278
  if (nextBreak < 0)
@@ -10569,7 +10569,7 @@ class DOMObserver {
10569
10569
  this.observer = new MutationObserver((mutations) => {
10570
10570
  for (let mut of mutations)
10571
10571
  this.queue.push(mut);
10572
- if ((browser.ie && browser.ie_version <= 11 || browser.ios && view.composing) && mutations.some((m2) => m2.type == "childList" && m2.removedNodes.length || m2.type == "characterData" && m2.oldValue.length > m2.target.nodeValue.length))
10572
+ if ((browser.ie && browser.ie_version <= 11 || browser.ios && view.composing) && mutations.some((m) => m.type == "childList" && m.removedNodes.length || m.type == "characterData" && m.oldValue.length > m.target.nodeValue.length))
10573
10573
  this.flushSoon();
10574
10574
  else
10575
10575
  this.flush();
@@ -11265,9 +11265,9 @@ class EditorView {
11265
11265
  let measuring = [];
11266
11266
  if (!(changed & 4))
11267
11267
  [this.measureRequests, measuring] = [measuring, this.measureRequests];
11268
- let measured = measuring.map((m2) => {
11268
+ let measured = measuring.map((m) => {
11269
11269
  try {
11270
- return m2.read(this);
11270
+ return m.read(this);
11271
11271
  } catch (e) {
11272
11272
  logException(this.state, e);
11273
11273
  return BadMeasure;
@@ -11289,9 +11289,9 @@ class EditorView {
11289
11289
  for (let i2 = 0; i2 < measuring.length; i2++)
11290
11290
  if (measured[i2] != BadMeasure) {
11291
11291
  try {
11292
- let m2 = measuring[i2];
11293
- if (m2.write)
11294
- m2.write(measured[i2], this);
11292
+ let m = measuring[i2];
11293
+ if (m.write)
11294
+ m.write(measured[i2], this);
11295
11295
  } catch (e) {
11296
11296
  logException(this.state, e);
11297
11297
  }
@@ -11853,7 +11853,7 @@ class CachedOrder {
11853
11853
  this.order = order;
11854
11854
  }
11855
11855
  static update(cache2, changes) {
11856
- if (changes.empty && !cache2.some((c2) => c2.fresh))
11856
+ if (changes.empty && !cache2.some((c) => c.fresh))
11857
11857
  return cache2;
11858
11858
  let result = [], lastDir = cache2.length ? cache2[cache2.length - 1].dir : Direction.LTR;
11859
11859
  for (let i = Math.max(0, cache2.length - 10); i < cache2.length; i++) {
@@ -12065,12 +12065,12 @@ if (CanHidePrimary) {
12065
12065
  themeSpec[".cm-line"].caretColor = "transparent !important";
12066
12066
  themeSpec[".cm-content"] = { caretColor: "transparent !important" };
12067
12067
  }
12068
- function iterMatches(doc2, re2, from, to, f) {
12069
- re2.lastIndex = 0;
12070
- for (let cursor = doc2.iterRange(from, to), pos = from, m2; !cursor.next().done; pos += cursor.value.length) {
12068
+ function iterMatches(doc2, re, from, to, f) {
12069
+ re.lastIndex = 0;
12070
+ for (let cursor = doc2.iterRange(from, to), pos = from, m; !cursor.next().done; pos += cursor.value.length) {
12071
12071
  if (!cursor.lineBreak)
12072
- while (m2 = re2.exec(cursor.value))
12073
- f(pos + m2.index, m2);
12072
+ while (m = re.exec(cursor.value))
12073
+ f(pos + m.index, m);
12074
12074
  }
12075
12075
  }
12076
12076
  function matchRanges(view, maxLength) {
@@ -12121,7 +12121,7 @@ class MatchDecorator {
12121
12121
  createDeco(view) {
12122
12122
  let build = new RangeSetBuilder(), add = build.add.bind(build);
12123
12123
  for (let { from, to } of matchRanges(view, this.maxLength))
12124
- iterMatches(view.state.doc, this.regexp, from, to, (from2, m2) => this.addMatch(m2, view, from2, add));
12124
+ iterMatches(view.state.doc, this.regexp, from, to, (from2, m) => this.addMatch(m, view, from2, add));
12125
12125
  return build.finish();
12126
12126
  }
12127
12127
  /**
@@ -12162,14 +12162,14 @@ class MatchDecorator {
12162
12162
  break;
12163
12163
  }
12164
12164
  }
12165
- let ranges = [], m2;
12165
+ let ranges = [], m;
12166
12166
  let add = (from2, to2, deco2) => ranges.push(deco2.range(from2, to2));
12167
12167
  if (fromLine == toLine) {
12168
12168
  this.regexp.lastIndex = start - fromLine.from;
12169
- while ((m2 = this.regexp.exec(fromLine.text)) && m2.index < end - fromLine.from)
12170
- this.addMatch(m2, view, m2.index + fromLine.from, add);
12169
+ while ((m = this.regexp.exec(fromLine.text)) && m.index < end - fromLine.from)
12170
+ this.addMatch(m, view, m.index + fromLine.from, add);
12171
12171
  } else {
12172
- iterMatches(view.state.doc, this.regexp, start, end, (from2, m3) => this.addMatch(m3, view, from2, add));
12172
+ iterMatches(view.state.doc, this.regexp, start, end, (from2, m2) => this.addMatch(m2, view, from2, add));
12173
12173
  }
12174
12174
  deco = deco.update({ filterFrom: start, filterTo: end, filter: (from2, to2) => from2 < start || to2 > end, add: ranges });
12175
12175
  }
@@ -12205,7 +12205,7 @@ GutterMarker.prototype.point = true;
12205
12205
  const gutterLineClass = /* @__PURE__ */ Facet.define();
12206
12206
  const activeGutters = /* @__PURE__ */ Facet.define();
12207
12207
  const unfixGutters = /* @__PURE__ */ Facet.define({
12208
- combine: (values2) => values2.some((x) => x)
12208
+ combine: (values2) => values2.some((x2) => x2)
12209
12209
  });
12210
12210
  function gutters(config) {
12211
12211
  let result = [
@@ -12454,9 +12454,9 @@ class GutterElement {
12454
12454
  for (let iNew = 0, iOld = 0; ; ) {
12455
12455
  let skipTo = iOld, marker = iNew < markers.length ? markers[iNew++] : null, matched = false;
12456
12456
  if (marker) {
12457
- let c2 = marker.elementClass;
12458
- if (c2)
12459
- cls += " " + c2;
12457
+ let c = marker.elementClass;
12458
+ if (c)
12459
+ cls += " " + c;
12460
12460
  for (let i = iOld; i < this.markers.length; i++)
12461
12461
  if (this.markers[i].compare(marker)) {
12462
12462
  skipTo = i;
@@ -12538,7 +12538,7 @@ const lineNumberGutter = /* @__PURE__ */ activeGutters.compute([lineNumberConfig
12538
12538
  return view.state.facet(lineNumberMarkers);
12539
12539
  },
12540
12540
  lineMarker(view, line, others) {
12541
- if (others.some((m2) => m2.toDOM))
12541
+ if (others.some((m) => m.toDOM))
12542
12542
  return null;
12543
12543
  return new NumberMarker(formatNumber(view, view.state.doc.lineAt(line.from).number));
12544
12544
  },
@@ -12883,19 +12883,19 @@ class Tree {
12883
12883
  iterate(spec) {
12884
12884
  let { enter, leave, from = 0, to = this.length } = spec;
12885
12885
  let mode = spec.mode || 0, anon = (mode & IterMode.IncludeAnonymous) > 0;
12886
- for (let c2 = this.cursor(mode | IterMode.IncludeAnonymous); ; ) {
12886
+ for (let c = this.cursor(mode | IterMode.IncludeAnonymous); ; ) {
12887
12887
  let entered = false;
12888
- if (c2.from <= to && c2.to >= from && (!anon && c2.type.isAnonymous || enter(c2) !== false)) {
12889
- if (c2.firstChild())
12888
+ if (c.from <= to && c.to >= from && (!anon && c.type.isAnonymous || enter(c) !== false)) {
12889
+ if (c.firstChild())
12890
12890
  continue;
12891
12891
  entered = true;
12892
12892
  }
12893
12893
  for (; ; ) {
12894
- if (entered && leave && (anon || !c2.type.isAnonymous))
12895
- leave(c2);
12896
- if (c2.nextSibling())
12894
+ if (entered && leave && (anon || !c.type.isAnonymous))
12895
+ leave(c);
12896
+ if (c.nextSibling())
12897
12897
  break;
12898
- if (!c2.parent())
12898
+ if (!c.parent())
12899
12899
  return;
12900
12900
  entered = true;
12901
12901
  }
@@ -13716,11 +13716,11 @@ class TreeCursor {
13716
13716
  if (cache2 && cache2.context == this.buffer) {
13717
13717
  scan:
13718
13718
  for (let index = this.index, d = this.stack.length; d >= 0; ) {
13719
- for (let c2 = cache2; c2; c2 = c2._parent)
13720
- if (c2.index == index) {
13719
+ for (let c = cache2; c; c = c._parent)
13720
+ if (c.index == index) {
13721
13721
  if (index == this.index)
13722
- return c2;
13723
- result = c2;
13722
+ return c;
13723
+ result = c;
13724
13724
  depth = d + 1;
13725
13725
  break scan;
13726
13726
  }
@@ -14321,7 +14321,7 @@ class MixedParse {
14321
14321
  enter = false;
14322
14322
  } else if (fragmentCursor.hasNode(cursor)) {
14323
14323
  if (overlay) {
14324
- let match = overlay.mounts.find((m2) => m2.frag.from <= cursor.from && m2.frag.to >= cursor.to && m2.mount.overlay);
14324
+ let match = overlay.mounts.find((m) => m.frag.from <= cursor.from && m.frag.to >= cursor.to && m.mount.overlay);
14325
14325
  if (match)
14326
14326
  for (let r2 of match.mount.overlay) {
14327
14327
  let from = r2.from + match.pos, to = r2.to + match.pos;
@@ -14652,8 +14652,8 @@ class Modifier {
14652
14652
  if (exists)
14653
14653
  return exists;
14654
14654
  let set = [], tag = new Tag(set, base2, mods);
14655
- for (let m2 of mods)
14656
- m2.instances.push(tag);
14655
+ for (let m of mods)
14656
+ m.instances.push(tag);
14657
14657
  let configs = powerSet(mods);
14658
14658
  for (let parent of base2.set)
14659
14659
  if (!parent.modified.length)
@@ -14663,7 +14663,7 @@ class Modifier {
14663
14663
  }
14664
14664
  }
14665
14665
  function sameArray(a, b) {
14666
- return a.length == b.length && a.every((x, i) => x == b[i]);
14666
+ return a.length == b.length && a.every((x2, i) => x2 == b[i]);
14667
14667
  }
14668
14668
  function powerSet(array) {
14669
14669
  let sets = [[]];
@@ -14688,11 +14688,11 @@ function styleTags(spec) {
14688
14688
  mode = 1;
14689
14689
  break;
14690
14690
  }
14691
- let m2 = /^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(rest);
14692
- if (!m2)
14691
+ let m = /^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(rest);
14692
+ if (!m)
14693
14693
  throw new RangeError("Invalid path: " + part);
14694
- pieces.push(m2[0] == "*" ? "" : m2[0][0] == '"' ? JSON.parse(m2[0]) : m2[0]);
14695
- pos += m2[0].length;
14694
+ pieces.push(m[0] == "*" ? "" : m[0][0] == '"' ? JSON.parse(m[0]) : m[0]);
14695
+ pos += m[0].length;
14696
14696
  if (pos == part.length)
14697
14697
  break;
14698
14698
  let next = part[pos++];
@@ -16154,15 +16154,15 @@ const IndentedFrom = /* @__PURE__ */ new WeakMap();
16154
16154
  class StreamLanguage extends Language {
16155
16155
  constructor(parser2) {
16156
16156
  let data = defineLanguageFacet(parser2.languageData);
16157
- let p = fullParser(parser2), self;
16157
+ let p = fullParser(parser2), self2;
16158
16158
  let impl = new class extends Parser {
16159
16159
  createParse(input, fragments, ranges) {
16160
- return new Parse$1(self, input, fragments, ranges);
16160
+ return new Parse$1(self2, input, fragments, ranges);
16161
16161
  }
16162
16162
  }();
16163
16163
  super(data, impl, [indentService.of((cx, pos) => this.getIndent(cx, pos))], parser2.name);
16164
16164
  this.topNode = docID(data);
16165
- self = this;
16165
+ self2 = this;
16166
16166
  this.streamParser = p;
16167
16167
  this.stateAfter = new NodeProp({ perNode: true });
16168
16168
  this.tokenTable = parser2.tokenTable ? new TokenTable(p.tokenTable) : defaultTokenTable;
@@ -17908,7 +17908,7 @@ class Dialect {
17908
17908
  return !this.disabled || this.disabled[term] == 0;
17909
17909
  }
17910
17910
  }
17911
- const id = (x) => x;
17911
+ const id = (x2) => x2;
17912
17912
  class ContextTracker {
17913
17913
  /**
17914
17914
  Define a context tracker.
@@ -18243,7 +18243,7 @@ function getSpecializer(spec) {
18243
18243
  }
18244
18244
  return spec.get;
18245
18245
  }
18246
- const scriptText = 54, StartCloseScriptTag = 1, styleText = 55, StartCloseStyleTag = 2, textareaText = 56, StartCloseTextareaTag = 3, EndTag = 4, SelfClosingEndTag = 5, StartTag = 6, StartScriptTag = 7, StartStyleTag = 8, StartTextareaTag = 9, StartSelfClosingTag = 10, StartCloseTag = 11, NoMatchStartCloseTag = 12, MismatchedStartCloseTag = 13, missingCloseTag = 57, IncompleteCloseTag = 14, commentContent$1 = 58, Element = 20, TagName = 22, Attribute = 23, AttributeName = 24, AttributeValue = 26, UnquotedAttributeValue = 27, ScriptText = 28, StyleText = 31, TextareaText = 34, OpenTag = 36, CloseTag = 37, Dialect_noMatch = 0, Dialect_selfClosing = 1;
18246
+ const scriptText = 54, StartCloseScriptTag = 1, styleText = 55, StartCloseStyleTag = 2, textareaText = 56, StartCloseTextareaTag = 3, EndTag = 4, SelfClosingEndTag = 5, StartTag = 6, StartScriptTag = 7, StartStyleTag = 8, StartTextareaTag = 9, StartSelfClosingTag = 10, StartCloseTag = 11, NoMatchStartCloseTag = 12, MismatchedStartCloseTag = 13, missingCloseTag = 57, IncompleteCloseTag = 14, commentContent$1 = 58, Element$1 = 20, TagName = 22, Attribute = 23, AttributeName = 24, AttributeValue = 26, UnquotedAttributeValue = 27, ScriptText = 28, StyleText = 31, TextareaText = 34, OpenTag = 36, CloseTag = 37, Dialect_noMatch = 0, Dialect_selfClosing = 1;
18247
18247
  const selfClosers$1 = {
18248
18248
  area: true,
18249
18249
  base: true,
@@ -18362,7 +18362,7 @@ const elementContext = new ContextTracker({
18362
18362
  return startTagTerms.indexOf(term) > -1 ? new ElementContext(tagNameAfter(input, 1) || "", context) : context;
18363
18363
  },
18364
18364
  reduce(context, term) {
18365
- return term == Element && context ? context.parent : context;
18365
+ return term == Element$1 && context ? context.parent : context;
18366
18366
  },
18367
18367
  reuse(context, node, stack, input) {
18368
18368
  let type = node.type.id;
@@ -18554,7 +18554,7 @@ function configureNesting(tags2 = [], attributes = []) {
18554
18554
  return maybeNest(node, input, style);
18555
18555
  if (id2 == TextareaText)
18556
18556
  return maybeNest(node, input, textarea);
18557
- if (id2 == Element && other.length) {
18557
+ if (id2 == Element$1 && other.length) {
18558
18558
  let n = node.node, open = n.firstChild, tagName = open && findTagName(open, input), attrs2;
18559
18559
  if (tagName)
18560
18560
  for (let tag of other) {
@@ -19901,10 +19901,10 @@ class Snippet {
19901
19901
  }
19902
19902
  static parse(template) {
19903
19903
  let fields = [];
19904
- let lines = [], positions = [], m2;
19904
+ let lines = [], positions = [], m;
19905
19905
  for (let line of template.split(/\r\n?|\n/)) {
19906
- while (m2 = /[#$]\{(?:(\d+)(?::([^}]*))?|([^}]*))\}/.exec(line)) {
19907
- let seq = m2[1] ? +m2[1] : null, name2 = m2[2] || m2[3] || "", found = -1;
19906
+ while (m = /[#$]\{(?:(\d+)(?::([^}]*))?|([^}]*))\}/.exec(line)) {
19907
+ let seq = m[1] ? +m[1] : null, name2 = m[2] || m[3] || "", found = -1;
19908
19908
  for (let i = 0; i < fields.length; i++) {
19909
19909
  if (seq != null ? fields[i].seq == seq : name2 ? fields[i].name == name2 : false)
19910
19910
  found = i;
@@ -19919,8 +19919,8 @@ class Snippet {
19919
19919
  if (pos.field >= found)
19920
19920
  pos.field++;
19921
19921
  }
19922
- positions.push(new FieldPos(found, lines.length, m2.index, m2.index + name2.length));
19923
- line = line.slice(0, m2.index) + name2 + line.slice(m2.index + m2[0].length);
19922
+ positions.push(new FieldPos(found, lines.length, m.index, m.index + name2.length));
19923
+ line = line.slice(0, m.index) + name2 + line.slice(m.index + m[0].length);
19924
19924
  }
19925
19925
  for (let esc; esc = /\\([{}])/.exec(line); ) {
19926
19926
  line = line.slice(0, esc.index) + esc[1] + line.slice(esc.index + esc[0].length);
@@ -20194,8 +20194,8 @@ function getScope(doc2, node) {
20194
20194
  if (gather && gather(node2, def) || ScopeNodes.has(node2.name))
20195
20195
  return false;
20196
20196
  } else if (node2.to - node2.from > 8192) {
20197
- for (let c2 of getScope(doc2, node2.node))
20198
- completions.push(c2);
20197
+ for (let c of getScope(doc2, node2.node))
20198
+ completions.push(c);
20199
20199
  return false;
20200
20200
  }
20201
20201
  });
@@ -21428,6 +21428,16 @@ const variables = () => ViewPlugin.fromClass(
21428
21428
  }
21429
21429
  );
21430
21430
  const hasProvider = (params) => "provider" in params && !!toValue$1(params.provider);
21431
+ const selectAllKeyBinding = {
21432
+ key: "Mod-a",
21433
+ run: (view) => {
21434
+ view.dispatch({
21435
+ selection: { anchor: 0, head: view.state.doc.length },
21436
+ scrollIntoView: false
21437
+ });
21438
+ return true;
21439
+ }
21440
+ };
21431
21441
  const useCodeMirror = (params) => {
21432
21442
  const codeMirror = ref(null);
21433
21443
  watch(
@@ -21554,6 +21564,7 @@ function getCodeMirrorExtensions({
21554
21564
  additionalExtensions = []
21555
21565
  }) {
21556
21566
  const extensions = [
21567
+ keymap.of([selectAllKeyBinding]),
21557
21568
  EditorView.theme({
21558
21569
  ".cm-line": {
21559
21570
  lineHeight: "20px"
@@ -25282,19 +25293,1479 @@ function mergeConfigProperties(baseObject, mergeObject) {
25282
25293
  function extendTailwindMerge(configExtension, ...createConfig) {
25283
25294
  return typeof configExtension === "function" ? createTailwindMerge(getDefaultConfig, configExtension, ...createConfig) : createTailwindMerge(() => mergeConfigs(getDefaultConfig(), configExtension), ...createConfig);
25284
25295
  }
25285
- const M = "scalar-component", re = extendTailwindMerge({
25296
+ var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
25297
+ function getDefaultExportFromCjs(x2) {
25298
+ return x2 && x2.__esModule && Object.prototype.hasOwnProperty.call(x2, "default") ? x2["default"] : x2;
25299
+ }
25300
+ var prism = { exports: {} };
25301
+ (function(module) {
25302
+ var _self = typeof window !== "undefined" ? window : typeof WorkerGlobalScope !== "undefined" && self instanceof WorkerGlobalScope ? self : {};
25303
+ /**
25304
+ * Prism: Lightweight, robust, elegant syntax highlighting
25305
+ *
25306
+ * @license MIT <https://opensource.org/licenses/MIT>
25307
+ * @author Lea Verou <https://lea.verou.me>
25308
+ * @namespace
25309
+ * @public
25310
+ */
25311
+ var Prism2 = function(_self2) {
25312
+ var lang = /(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i;
25313
+ var uniqueId = 0;
25314
+ var plainTextGrammar = {};
25315
+ var _ = {
25316
+ /**
25317
+ * By default, Prism will attempt to highlight all code elements (by calling {@link Prism.highlightAll}) on the
25318
+ * current page after the page finished loading. This might be a problem if e.g. you wanted to asynchronously load
25319
+ * additional languages or plugins yourself.
25320
+ *
25321
+ * By setting this value to `true`, Prism will not automatically highlight all code elements on the page.
25322
+ *
25323
+ * You obviously have to change this value before the automatic highlighting started. To do this, you can add an
25324
+ * empty Prism object into the global scope before loading the Prism script like this:
25325
+ *
25326
+ * ```js
25327
+ * window.Prism = window.Prism || {};
25328
+ * Prism.manual = true;
25329
+ * // add a new <script> to load Prism's script
25330
+ * ```
25331
+ *
25332
+ * @default false
25333
+ * @type {boolean}
25334
+ * @memberof Prism
25335
+ * @public
25336
+ */
25337
+ manual: _self2.Prism && _self2.Prism.manual,
25338
+ /**
25339
+ * By default, if Prism is in a web worker, it assumes that it is in a worker it created itself, so it uses
25340
+ * `addEventListener` to communicate with its parent instance. However, if you're using Prism manually in your
25341
+ * own worker, you don't want it to do this.
25342
+ *
25343
+ * By setting this value to `true`, Prism will not add its own listeners to the worker.
25344
+ *
25345
+ * You obviously have to change this value before Prism executes. To do this, you can add an
25346
+ * empty Prism object into the global scope before loading the Prism script like this:
25347
+ *
25348
+ * ```js
25349
+ * window.Prism = window.Prism || {};
25350
+ * Prism.disableWorkerMessageHandler = true;
25351
+ * // Load Prism's script
25352
+ * ```
25353
+ *
25354
+ * @default false
25355
+ * @type {boolean}
25356
+ * @memberof Prism
25357
+ * @public
25358
+ */
25359
+ disableWorkerMessageHandler: _self2.Prism && _self2.Prism.disableWorkerMessageHandler,
25360
+ /**
25361
+ * A namespace for utility methods.
25362
+ *
25363
+ * All function in this namespace that are not explicitly marked as _public_ are for __internal use only__ and may
25364
+ * change or disappear at any time.
25365
+ *
25366
+ * @namespace
25367
+ * @memberof Prism
25368
+ */
25369
+ util: {
25370
+ encode: function encode(tokens) {
25371
+ if (tokens instanceof Token) {
25372
+ return new Token(tokens.type, encode(tokens.content), tokens.alias);
25373
+ } else if (Array.isArray(tokens)) {
25374
+ return tokens.map(encode);
25375
+ } else {
25376
+ return tokens.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/\u00a0/g, " ");
25377
+ }
25378
+ },
25379
+ /**
25380
+ * Returns the name of the type of the given value.
25381
+ *
25382
+ * @param {any} o
25383
+ * @returns {string}
25384
+ * @example
25385
+ * type(null) === 'Null'
25386
+ * type(undefined) === 'Undefined'
25387
+ * type(123) === 'Number'
25388
+ * type('foo') === 'String'
25389
+ * type(true) === 'Boolean'
25390
+ * type([1, 2]) === 'Array'
25391
+ * type({}) === 'Object'
25392
+ * type(String) === 'Function'
25393
+ * type(/abc+/) === 'RegExp'
25394
+ */
25395
+ type: function(o) {
25396
+ return Object.prototype.toString.call(o).slice(8, -1);
25397
+ },
25398
+ /**
25399
+ * Returns a unique number for the given object. Later calls will still return the same number.
25400
+ *
25401
+ * @param {Object} obj
25402
+ * @returns {number}
25403
+ */
25404
+ objId: function(obj) {
25405
+ if (!obj["__id"]) {
25406
+ Object.defineProperty(obj, "__id", { value: ++uniqueId });
25407
+ }
25408
+ return obj["__id"];
25409
+ },
25410
+ /**
25411
+ * Creates a deep clone of the given object.
25412
+ *
25413
+ * The main intended use of this function is to clone language definitions.
25414
+ *
25415
+ * @param {T} o
25416
+ * @param {Record<number, any>} [visited]
25417
+ * @returns {T}
25418
+ * @template T
25419
+ */
25420
+ clone: function deepClone(o, visited) {
25421
+ visited = visited || {};
25422
+ var clone;
25423
+ var id2;
25424
+ switch (_.util.type(o)) {
25425
+ case "Object":
25426
+ id2 = _.util.objId(o);
25427
+ if (visited[id2]) {
25428
+ return visited[id2];
25429
+ }
25430
+ clone = /** @type {Record<string, any>} */
25431
+ {};
25432
+ visited[id2] = clone;
25433
+ for (var key in o) {
25434
+ if (o.hasOwnProperty(key)) {
25435
+ clone[key] = deepClone(o[key], visited);
25436
+ }
25437
+ }
25438
+ return (
25439
+ /** @type {any} */
25440
+ clone
25441
+ );
25442
+ case "Array":
25443
+ id2 = _.util.objId(o);
25444
+ if (visited[id2]) {
25445
+ return visited[id2];
25446
+ }
25447
+ clone = [];
25448
+ visited[id2] = clone;
25449
+ /** @type {Array} */
25450
+ /** @type {any} */
25451
+ o.forEach(function(v, i) {
25452
+ clone[i] = deepClone(v, visited);
25453
+ });
25454
+ return (
25455
+ /** @type {any} */
25456
+ clone
25457
+ );
25458
+ default:
25459
+ return o;
25460
+ }
25461
+ },
25462
+ /**
25463
+ * Returns the Prism language of the given element set by a `language-xxxx` or `lang-xxxx` class.
25464
+ *
25465
+ * If no language is set for the element or the element is `null` or `undefined`, `none` will be returned.
25466
+ *
25467
+ * @param {Element} element
25468
+ * @returns {string}
25469
+ */
25470
+ getLanguage: function(element) {
25471
+ while (element) {
25472
+ var m = lang.exec(element.className);
25473
+ if (m) {
25474
+ return m[1].toLowerCase();
25475
+ }
25476
+ element = element.parentElement;
25477
+ }
25478
+ return "none";
25479
+ },
25480
+ /**
25481
+ * Sets the Prism `language-xxxx` class of the given element.
25482
+ *
25483
+ * @param {Element} element
25484
+ * @param {string} language
25485
+ * @returns {void}
25486
+ */
25487
+ setLanguage: function(element, language2) {
25488
+ element.className = element.className.replace(RegExp(lang, "gi"), "");
25489
+ element.classList.add("language-" + language2);
25490
+ },
25491
+ /**
25492
+ * Returns the script element that is currently executing.
25493
+ *
25494
+ * This does __not__ work for line script element.
25495
+ *
25496
+ * @returns {HTMLScriptElement | null}
25497
+ */
25498
+ currentScript: function() {
25499
+ if (typeof document === "undefined") {
25500
+ return null;
25501
+ }
25502
+ if ("currentScript" in document && 1 < 2) {
25503
+ return (
25504
+ /** @type {any} */
25505
+ document.currentScript
25506
+ );
25507
+ }
25508
+ try {
25509
+ throw new Error();
25510
+ } catch (err) {
25511
+ var src = (/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(err.stack) || [])[1];
25512
+ if (src) {
25513
+ var scripts = document.getElementsByTagName("script");
25514
+ for (var i in scripts) {
25515
+ if (scripts[i].src == src) {
25516
+ return scripts[i];
25517
+ }
25518
+ }
25519
+ }
25520
+ return null;
25521
+ }
25522
+ },
25523
+ /**
25524
+ * Returns whether a given class is active for `element`.
25525
+ *
25526
+ * The class can be activated if `element` or one of its ancestors has the given class and it can be deactivated
25527
+ * if `element` or one of its ancestors has the negated version of the given class. The _negated version_ of the
25528
+ * given class is just the given class with a `no-` prefix.
25529
+ *
25530
+ * Whether the class is active is determined by the closest ancestor of `element` (where `element` itself is
25531
+ * closest ancestor) that has the given class or the negated version of it. If neither `element` nor any of its
25532
+ * ancestors have the given class or the negated version of it, then the default activation will be returned.
25533
+ *
25534
+ * In the paradoxical situation where the closest ancestor contains __both__ the given class and the negated
25535
+ * version of it, the class is considered active.
25536
+ *
25537
+ * @param {Element} element
25538
+ * @param {string} className
25539
+ * @param {boolean} [defaultActivation=false]
25540
+ * @returns {boolean}
25541
+ */
25542
+ isActive: function(element, className, defaultActivation) {
25543
+ var no = "no-" + className;
25544
+ while (element) {
25545
+ var classList = element.classList;
25546
+ if (classList.contains(className)) {
25547
+ return true;
25548
+ }
25549
+ if (classList.contains(no)) {
25550
+ return false;
25551
+ }
25552
+ element = element.parentElement;
25553
+ }
25554
+ return !!defaultActivation;
25555
+ }
25556
+ },
25557
+ /**
25558
+ * This namespace contains all currently loaded languages and the some helper functions to create and modify languages.
25559
+ *
25560
+ * @namespace
25561
+ * @memberof Prism
25562
+ * @public
25563
+ */
25564
+ languages: {
25565
+ /**
25566
+ * The grammar for plain, unformatted text.
25567
+ */
25568
+ plain: plainTextGrammar,
25569
+ plaintext: plainTextGrammar,
25570
+ text: plainTextGrammar,
25571
+ txt: plainTextGrammar,
25572
+ /**
25573
+ * Creates a deep copy of the language with the given id and appends the given tokens.
25574
+ *
25575
+ * If a token in `redef` also appears in the copied language, then the existing token in the copied language
25576
+ * will be overwritten at its original position.
25577
+ *
25578
+ * ## Best practices
25579
+ *
25580
+ * Since the position of overwriting tokens (token in `redef` that overwrite tokens in the copied language)
25581
+ * doesn't matter, they can technically be in any order. However, this can be confusing to others that trying to
25582
+ * understand the language definition because, normally, the order of tokens matters in Prism grammars.
25583
+ *
25584
+ * Therefore, it is encouraged to order overwriting tokens according to the positions of the overwritten tokens.
25585
+ * Furthermore, all non-overwriting tokens should be placed after the overwriting ones.
25586
+ *
25587
+ * @param {string} id The id of the language to extend. This has to be a key in `Prism.languages`.
25588
+ * @param {Grammar} redef The new tokens to append.
25589
+ * @returns {Grammar} The new language created.
25590
+ * @public
25591
+ * @example
25592
+ * Prism.languages['css-with-colors'] = Prism.languages.extend('css', {
25593
+ * // Prism.languages.css already has a 'comment' token, so this token will overwrite CSS' 'comment' token
25594
+ * // at its original position
25595
+ * 'comment': { ... },
25596
+ * // CSS doesn't have a 'color' token, so this token will be appended
25597
+ * 'color': /\b(?:red|green|blue)\b/
25598
+ * });
25599
+ */
25600
+ extend: function(id2, redef) {
25601
+ var lang2 = _.util.clone(_.languages[id2]);
25602
+ for (var key in redef) {
25603
+ lang2[key] = redef[key];
25604
+ }
25605
+ return lang2;
25606
+ },
25607
+ /**
25608
+ * Inserts tokens _before_ another token in a language definition or any other grammar.
25609
+ *
25610
+ * ## Usage
25611
+ *
25612
+ * This helper method makes it easy to modify existing languages. For example, the CSS language definition
25613
+ * not only defines CSS highlighting for CSS documents, but also needs to define highlighting for CSS embedded
25614
+ * in HTML through `<style>` elements. To do this, it needs to modify `Prism.languages.markup` and add the
25615
+ * appropriate tokens. However, `Prism.languages.markup` is a regular JavaScript object literal, so if you do
25616
+ * this:
25617
+ *
25618
+ * ```js
25619
+ * Prism.languages.markup.style = {
25620
+ * // token
25621
+ * };
25622
+ * ```
25623
+ *
25624
+ * then the `style` token will be added (and processed) at the end. `insertBefore` allows you to insert tokens
25625
+ * before existing tokens. For the CSS example above, you would use it like this:
25626
+ *
25627
+ * ```js
25628
+ * Prism.languages.insertBefore('markup', 'cdata', {
25629
+ * 'style': {
25630
+ * // token
25631
+ * }
25632
+ * });
25633
+ * ```
25634
+ *
25635
+ * ## Special cases
25636
+ *
25637
+ * If the grammars of `inside` and `insert` have tokens with the same name, the tokens in `inside`'s grammar
25638
+ * will be ignored.
25639
+ *
25640
+ * This behavior can be used to insert tokens after `before`:
25641
+ *
25642
+ * ```js
25643
+ * Prism.languages.insertBefore('markup', 'comment', {
25644
+ * 'comment': Prism.languages.markup.comment,
25645
+ * // tokens after 'comment'
25646
+ * });
25647
+ * ```
25648
+ *
25649
+ * ## Limitations
25650
+ *
25651
+ * The main problem `insertBefore` has to solve is iteration order. Since ES2015, the iteration order for object
25652
+ * properties is guaranteed to be the insertion order (except for integer keys) but some browsers behave
25653
+ * differently when keys are deleted and re-inserted. So `insertBefore` can't be implemented by temporarily
25654
+ * deleting properties which is necessary to insert at arbitrary positions.
25655
+ *
25656
+ * To solve this problem, `insertBefore` doesn't actually insert the given tokens into the target object.
25657
+ * Instead, it will create a new object and replace all references to the target object with the new one. This
25658
+ * can be done without temporarily deleting properties, so the iteration order is well-defined.
25659
+ *
25660
+ * However, only references that can be reached from `Prism.languages` or `insert` will be replaced. I.e. if
25661
+ * you hold the target object in a variable, then the value of the variable will not change.
25662
+ *
25663
+ * ```js
25664
+ * var oldMarkup = Prism.languages.markup;
25665
+ * var newMarkup = Prism.languages.insertBefore('markup', 'comment', { ... });
25666
+ *
25667
+ * assert(oldMarkup !== Prism.languages.markup);
25668
+ * assert(newMarkup === Prism.languages.markup);
25669
+ * ```
25670
+ *
25671
+ * @param {string} inside The property of `root` (e.g. a language id in `Prism.languages`) that contains the
25672
+ * object to be modified.
25673
+ * @param {string} before The key to insert before.
25674
+ * @param {Grammar} insert An object containing the key-value pairs to be inserted.
25675
+ * @param {Object<string, any>} [root] The object containing `inside`, i.e. the object that contains the
25676
+ * object to be modified.
25677
+ *
25678
+ * Defaults to `Prism.languages`.
25679
+ * @returns {Grammar} The new grammar object.
25680
+ * @public
25681
+ */
25682
+ insertBefore: function(inside2, before, insert2, root) {
25683
+ root = root || /** @type {any} */
25684
+ _.languages;
25685
+ var grammar = root[inside2];
25686
+ var ret = {};
25687
+ for (var token in grammar) {
25688
+ if (grammar.hasOwnProperty(token)) {
25689
+ if (token == before) {
25690
+ for (var newToken in insert2) {
25691
+ if (insert2.hasOwnProperty(newToken)) {
25692
+ ret[newToken] = insert2[newToken];
25693
+ }
25694
+ }
25695
+ }
25696
+ if (!insert2.hasOwnProperty(token)) {
25697
+ ret[token] = grammar[token];
25698
+ }
25699
+ }
25700
+ }
25701
+ var old = root[inside2];
25702
+ root[inside2] = ret;
25703
+ _.languages.DFS(_.languages, function(key, value) {
25704
+ if (value === old && key != inside2) {
25705
+ this[key] = ret;
25706
+ }
25707
+ });
25708
+ return ret;
25709
+ },
25710
+ // Traverse a language definition with Depth First Search
25711
+ DFS: function DFS(o, callback, type, visited) {
25712
+ visited = visited || {};
25713
+ var objId = _.util.objId;
25714
+ for (var i in o) {
25715
+ if (o.hasOwnProperty(i)) {
25716
+ callback.call(o, i, o[i], type || i);
25717
+ var property = o[i];
25718
+ var propertyType = _.util.type(property);
25719
+ if (propertyType === "Object" && !visited[objId(property)]) {
25720
+ visited[objId(property)] = true;
25721
+ DFS(property, callback, null, visited);
25722
+ } else if (propertyType === "Array" && !visited[objId(property)]) {
25723
+ visited[objId(property)] = true;
25724
+ DFS(property, callback, i, visited);
25725
+ }
25726
+ }
25727
+ }
25728
+ }
25729
+ },
25730
+ plugins: {},
25731
+ /**
25732
+ * This is the most high-level function in Prism’s API.
25733
+ * It fetches all the elements that have a `.language-xxxx` class and then calls {@link Prism.highlightElement} on
25734
+ * each one of them.
25735
+ *
25736
+ * This is equivalent to `Prism.highlightAllUnder(document, async, callback)`.
25737
+ *
25738
+ * @param {boolean} [async=false] Same as in {@link Prism.highlightAllUnder}.
25739
+ * @param {HighlightCallback} [callback] Same as in {@link Prism.highlightAllUnder}.
25740
+ * @memberof Prism
25741
+ * @public
25742
+ */
25743
+ highlightAll: function(async, callback) {
25744
+ _.highlightAllUnder(document, async, callback);
25745
+ },
25746
+ /**
25747
+ * Fetches all the descendants of `container` that have a `.language-xxxx` class and then calls
25748
+ * {@link Prism.highlightElement} on each one of them.
25749
+ *
25750
+ * The following hooks will be run:
25751
+ * 1. `before-highlightall`
25752
+ * 2. `before-all-elements-highlight`
25753
+ * 3. All hooks of {@link Prism.highlightElement} for each element.
25754
+ *
25755
+ * @param {ParentNode} container The root element, whose descendants that have a `.language-xxxx` class will be highlighted.
25756
+ * @param {boolean} [async=false] Whether each element is to be highlighted asynchronously using Web Workers.
25757
+ * @param {HighlightCallback} [callback] An optional callback to be invoked on each element after its highlighting is done.
25758
+ * @memberof Prism
25759
+ * @public
25760
+ */
25761
+ highlightAllUnder: function(container, async, callback) {
25762
+ var env = {
25763
+ callback,
25764
+ container,
25765
+ selector: 'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'
25766
+ };
25767
+ _.hooks.run("before-highlightall", env);
25768
+ env.elements = Array.prototype.slice.apply(env.container.querySelectorAll(env.selector));
25769
+ _.hooks.run("before-all-elements-highlight", env);
25770
+ for (var i = 0, element; element = env.elements[i++]; ) {
25771
+ _.highlightElement(element, async === true, env.callback);
25772
+ }
25773
+ },
25774
+ /**
25775
+ * Highlights the code inside a single element.
25776
+ *
25777
+ * The following hooks will be run:
25778
+ * 1. `before-sanity-check`
25779
+ * 2. `before-highlight`
25780
+ * 3. All hooks of {@link Prism.highlight}. These hooks will be run by an asynchronous worker if `async` is `true`.
25781
+ * 4. `before-insert`
25782
+ * 5. `after-highlight`
25783
+ * 6. `complete`
25784
+ *
25785
+ * Some the above hooks will be skipped if the element doesn't contain any text or there is no grammar loaded for
25786
+ * the element's language.
25787
+ *
25788
+ * @param {Element} element The element containing the code.
25789
+ * It must have a class of `language-xxxx` to be processed, where `xxxx` is a valid language identifier.
25790
+ * @param {boolean} [async=false] Whether the element is to be highlighted asynchronously using Web Workers
25791
+ * to improve performance and avoid blocking the UI when highlighting very large chunks of code. This option is
25792
+ * [disabled by default](https://prismjs.com/faq.html#why-is-asynchronous-highlighting-disabled-by-default).
25793
+ *
25794
+ * Note: All language definitions required to highlight the code must be included in the main `prism.js` file for
25795
+ * asynchronous highlighting to work. You can build your own bundle on the
25796
+ * [Download page](https://prismjs.com/download.html).
25797
+ * @param {HighlightCallback} [callback] An optional callback to be invoked after the highlighting is done.
25798
+ * Mostly useful when `async` is `true`, since in that case, the highlighting is done asynchronously.
25799
+ * @memberof Prism
25800
+ * @public
25801
+ */
25802
+ highlightElement: function(element, async, callback) {
25803
+ var language2 = _.util.getLanguage(element);
25804
+ var grammar = _.languages[language2];
25805
+ _.util.setLanguage(element, language2);
25806
+ var parent = element.parentElement;
25807
+ if (parent && parent.nodeName.toLowerCase() === "pre") {
25808
+ _.util.setLanguage(parent, language2);
25809
+ }
25810
+ var code = element.textContent;
25811
+ var env = {
25812
+ element,
25813
+ language: language2,
25814
+ grammar,
25815
+ code
25816
+ };
25817
+ function insertHighlightedCode(highlightedCode) {
25818
+ env.highlightedCode = highlightedCode;
25819
+ _.hooks.run("before-insert", env);
25820
+ env.element.innerHTML = env.highlightedCode;
25821
+ _.hooks.run("after-highlight", env);
25822
+ _.hooks.run("complete", env);
25823
+ callback && callback.call(env.element);
25824
+ }
25825
+ _.hooks.run("before-sanity-check", env);
25826
+ parent = env.element.parentElement;
25827
+ if (parent && parent.nodeName.toLowerCase() === "pre" && !parent.hasAttribute("tabindex")) {
25828
+ parent.setAttribute("tabindex", "0");
25829
+ }
25830
+ if (!env.code) {
25831
+ _.hooks.run("complete", env);
25832
+ callback && callback.call(env.element);
25833
+ return;
25834
+ }
25835
+ _.hooks.run("before-highlight", env);
25836
+ if (!env.grammar) {
25837
+ insertHighlightedCode(_.util.encode(env.code));
25838
+ return;
25839
+ }
25840
+ if (async && _self2.Worker) {
25841
+ var worker = new Worker(_.filename);
25842
+ worker.onmessage = function(evt) {
25843
+ insertHighlightedCode(evt.data);
25844
+ };
25845
+ worker.postMessage(JSON.stringify({
25846
+ language: env.language,
25847
+ code: env.code,
25848
+ immediateClose: true
25849
+ }));
25850
+ } else {
25851
+ insertHighlightedCode(_.highlight(env.code, env.grammar, env.language));
25852
+ }
25853
+ },
25854
+ /**
25855
+ * Low-level function, only use if you know what you’re doing. It accepts a string of text as input
25856
+ * and the language definitions to use, and returns a string with the HTML produced.
25857
+ *
25858
+ * The following hooks will be run:
25859
+ * 1. `before-tokenize`
25860
+ * 2. `after-tokenize`
25861
+ * 3. `wrap`: On each {@link Token}.
25862
+ *
25863
+ * @param {string} text A string with the code to be highlighted.
25864
+ * @param {Grammar} grammar An object containing the tokens to use.
25865
+ *
25866
+ * Usually a language definition like `Prism.languages.markup`.
25867
+ * @param {string} language The name of the language definition passed to `grammar`.
25868
+ * @returns {string} The highlighted HTML.
25869
+ * @memberof Prism
25870
+ * @public
25871
+ * @example
25872
+ * Prism.highlight('var foo = true;', Prism.languages.javascript, 'javascript');
25873
+ */
25874
+ highlight: function(text, grammar, language2) {
25875
+ var env = {
25876
+ code: text,
25877
+ grammar,
25878
+ language: language2
25879
+ };
25880
+ _.hooks.run("before-tokenize", env);
25881
+ if (!env.grammar) {
25882
+ throw new Error('The language "' + env.language + '" has no grammar.');
25883
+ }
25884
+ env.tokens = _.tokenize(env.code, env.grammar);
25885
+ _.hooks.run("after-tokenize", env);
25886
+ return Token.stringify(_.util.encode(env.tokens), env.language);
25887
+ },
25888
+ /**
25889
+ * This is the heart of Prism, and the most low-level function you can use. It accepts a string of text as input
25890
+ * and the language definitions to use, and returns an array with the tokenized code.
25891
+ *
25892
+ * When the language definition includes nested tokens, the function is called recursively on each of these tokens.
25893
+ *
25894
+ * This method could be useful in other contexts as well, as a very crude parser.
25895
+ *
25896
+ * @param {string} text A string with the code to be highlighted.
25897
+ * @param {Grammar} grammar An object containing the tokens to use.
25898
+ *
25899
+ * Usually a language definition like `Prism.languages.markup`.
25900
+ * @returns {TokenStream} An array of strings and tokens, a token stream.
25901
+ * @memberof Prism
25902
+ * @public
25903
+ * @example
25904
+ * let code = `var foo = 0;`;
25905
+ * let tokens = Prism.tokenize(code, Prism.languages.javascript);
25906
+ * tokens.forEach(token => {
25907
+ * if (token instanceof Prism.Token && token.type === 'number') {
25908
+ * console.log(`Found numeric literal: ${token.content}`);
25909
+ * }
25910
+ * });
25911
+ */
25912
+ tokenize: function(text, grammar) {
25913
+ var rest = grammar.rest;
25914
+ if (rest) {
25915
+ for (var token in rest) {
25916
+ grammar[token] = rest[token];
25917
+ }
25918
+ delete grammar.rest;
25919
+ }
25920
+ var tokenList = new LinkedList();
25921
+ addAfter(tokenList, tokenList.head, text);
25922
+ matchGrammar(text, tokenList, grammar, tokenList.head, 0);
25923
+ return toArray(tokenList);
25924
+ },
25925
+ /**
25926
+ * @namespace
25927
+ * @memberof Prism
25928
+ * @public
25929
+ */
25930
+ hooks: {
25931
+ all: {},
25932
+ /**
25933
+ * Adds the given callback to the list of callbacks for the given hook.
25934
+ *
25935
+ * The callback will be invoked when the hook it is registered for is run.
25936
+ * Hooks are usually directly run by a highlight function but you can also run hooks yourself.
25937
+ *
25938
+ * One callback function can be registered to multiple hooks and the same hook multiple times.
25939
+ *
25940
+ * @param {string} name The name of the hook.
25941
+ * @param {HookCallback} callback The callback function which is given environment variables.
25942
+ * @public
25943
+ */
25944
+ add: function(name2, callback) {
25945
+ var hooks = _.hooks.all;
25946
+ hooks[name2] = hooks[name2] || [];
25947
+ hooks[name2].push(callback);
25948
+ },
25949
+ /**
25950
+ * Runs a hook invoking all registered callbacks with the given environment variables.
25951
+ *
25952
+ * Callbacks will be invoked synchronously and in the order in which they were registered.
25953
+ *
25954
+ * @param {string} name The name of the hook.
25955
+ * @param {Object<string, any>} env The environment variables of the hook passed to all callbacks registered.
25956
+ * @public
25957
+ */
25958
+ run: function(name2, env) {
25959
+ var callbacks = _.hooks.all[name2];
25960
+ if (!callbacks || !callbacks.length) {
25961
+ return;
25962
+ }
25963
+ for (var i = 0, callback; callback = callbacks[i++]; ) {
25964
+ callback(env);
25965
+ }
25966
+ }
25967
+ },
25968
+ Token
25969
+ };
25970
+ _self2.Prism = _;
25971
+ function Token(type, content2, alias, matchedStr) {
25972
+ this.type = type;
25973
+ this.content = content2;
25974
+ this.alias = alias;
25975
+ this.length = (matchedStr || "").length | 0;
25976
+ }
25977
+ Token.stringify = function stringify(o, language2) {
25978
+ if (typeof o == "string") {
25979
+ return o;
25980
+ }
25981
+ if (Array.isArray(o)) {
25982
+ var s = "";
25983
+ o.forEach(function(e) {
25984
+ s += stringify(e, language2);
25985
+ });
25986
+ return s;
25987
+ }
25988
+ var env = {
25989
+ type: o.type,
25990
+ content: stringify(o.content, language2),
25991
+ tag: "span",
25992
+ classes: ["token", o.type],
25993
+ attributes: {},
25994
+ language: language2
25995
+ };
25996
+ var aliases = o.alias;
25997
+ if (aliases) {
25998
+ if (Array.isArray(aliases)) {
25999
+ Array.prototype.push.apply(env.classes, aliases);
26000
+ } else {
26001
+ env.classes.push(aliases);
26002
+ }
26003
+ }
26004
+ _.hooks.run("wrap", env);
26005
+ var attributes = "";
26006
+ for (var name2 in env.attributes) {
26007
+ attributes += " " + name2 + '="' + (env.attributes[name2] || "").replace(/"/g, "&quot;") + '"';
26008
+ }
26009
+ return "<" + env.tag + ' class="' + env.classes.join(" ") + '"' + attributes + ">" + env.content + "</" + env.tag + ">";
26010
+ };
26011
+ function matchPattern(pattern, pos, text, lookbehind) {
26012
+ pattern.lastIndex = pos;
26013
+ var match = pattern.exec(text);
26014
+ if (match && lookbehind && match[1]) {
26015
+ var lookbehindLength = match[1].length;
26016
+ match.index += lookbehindLength;
26017
+ match[0] = match[0].slice(lookbehindLength);
26018
+ }
26019
+ return match;
26020
+ }
26021
+ function matchGrammar(text, tokenList, grammar, startNode, startPos, rematch) {
26022
+ for (var token in grammar) {
26023
+ if (!grammar.hasOwnProperty(token) || !grammar[token]) {
26024
+ continue;
26025
+ }
26026
+ var patterns = grammar[token];
26027
+ patterns = Array.isArray(patterns) ? patterns : [patterns];
26028
+ for (var j = 0; j < patterns.length; ++j) {
26029
+ if (rematch && rematch.cause == token + "," + j) {
26030
+ return;
26031
+ }
26032
+ var patternObj = patterns[j];
26033
+ var inside2 = patternObj.inside;
26034
+ var lookbehind = !!patternObj.lookbehind;
26035
+ var greedy = !!patternObj.greedy;
26036
+ var alias = patternObj.alias;
26037
+ if (greedy && !patternObj.pattern.global) {
26038
+ var flags = patternObj.pattern.toString().match(/[imsuy]*$/)[0];
26039
+ patternObj.pattern = RegExp(patternObj.pattern.source, flags + "g");
26040
+ }
26041
+ var pattern = patternObj.pattern || patternObj;
26042
+ for (var currentNode = startNode.next, pos = startPos; currentNode !== tokenList.tail; pos += currentNode.value.length, currentNode = currentNode.next) {
26043
+ if (rematch && pos >= rematch.reach) {
26044
+ break;
26045
+ }
26046
+ var str = currentNode.value;
26047
+ if (tokenList.length > text.length) {
26048
+ return;
26049
+ }
26050
+ if (str instanceof Token) {
26051
+ continue;
26052
+ }
26053
+ var removeCount = 1;
26054
+ var match;
26055
+ if (greedy) {
26056
+ match = matchPattern(pattern, pos, text, lookbehind);
26057
+ if (!match || match.index >= text.length) {
26058
+ break;
26059
+ }
26060
+ var from = match.index;
26061
+ var to = match.index + match[0].length;
26062
+ var p = pos;
26063
+ p += currentNode.value.length;
26064
+ while (from >= p) {
26065
+ currentNode = currentNode.next;
26066
+ p += currentNode.value.length;
26067
+ }
26068
+ p -= currentNode.value.length;
26069
+ pos = p;
26070
+ if (currentNode.value instanceof Token) {
26071
+ continue;
26072
+ }
26073
+ for (var k = currentNode; k !== tokenList.tail && (p < to || typeof k.value === "string"); k = k.next) {
26074
+ removeCount++;
26075
+ p += k.value.length;
26076
+ }
26077
+ removeCount--;
26078
+ str = text.slice(pos, p);
26079
+ match.index -= pos;
26080
+ } else {
26081
+ match = matchPattern(pattern, 0, str, lookbehind);
26082
+ if (!match) {
26083
+ continue;
26084
+ }
26085
+ }
26086
+ var from = match.index;
26087
+ var matchStr = match[0];
26088
+ var before = str.slice(0, from);
26089
+ var after = str.slice(from + matchStr.length);
26090
+ var reach = pos + str.length;
26091
+ if (rematch && reach > rematch.reach) {
26092
+ rematch.reach = reach;
26093
+ }
26094
+ var removeFrom = currentNode.prev;
26095
+ if (before) {
26096
+ removeFrom = addAfter(tokenList, removeFrom, before);
26097
+ pos += before.length;
26098
+ }
26099
+ removeRange(tokenList, removeFrom, removeCount);
26100
+ var wrapped = new Token(token, inside2 ? _.tokenize(matchStr, inside2) : matchStr, alias, matchStr);
26101
+ currentNode = addAfter(tokenList, removeFrom, wrapped);
26102
+ if (after) {
26103
+ addAfter(tokenList, currentNode, after);
26104
+ }
26105
+ if (removeCount > 1) {
26106
+ var nestedRematch = {
26107
+ cause: token + "," + j,
26108
+ reach
26109
+ };
26110
+ matchGrammar(text, tokenList, grammar, currentNode.prev, pos, nestedRematch);
26111
+ if (rematch && nestedRematch.reach > rematch.reach) {
26112
+ rematch.reach = nestedRematch.reach;
26113
+ }
26114
+ }
26115
+ }
26116
+ }
26117
+ }
26118
+ }
26119
+ function LinkedList() {
26120
+ var head = { value: null, prev: null, next: null };
26121
+ var tail = { value: null, prev: head, next: null };
26122
+ head.next = tail;
26123
+ this.head = head;
26124
+ this.tail = tail;
26125
+ this.length = 0;
26126
+ }
26127
+ function addAfter(list, node, value) {
26128
+ var next = node.next;
26129
+ var newNode = { value, prev: node, next };
26130
+ node.next = newNode;
26131
+ next.prev = newNode;
26132
+ list.length++;
26133
+ return newNode;
26134
+ }
26135
+ function removeRange(list, node, count) {
26136
+ var next = node.next;
26137
+ for (var i = 0; i < count && next !== list.tail; i++) {
26138
+ next = next.next;
26139
+ }
26140
+ node.next = next;
26141
+ next.prev = node;
26142
+ list.length -= i;
26143
+ }
26144
+ function toArray(list) {
26145
+ var array = [];
26146
+ var node = list.head.next;
26147
+ while (node !== list.tail) {
26148
+ array.push(node.value);
26149
+ node = node.next;
26150
+ }
26151
+ return array;
26152
+ }
26153
+ if (!_self2.document) {
26154
+ if (!_self2.addEventListener) {
26155
+ return _;
26156
+ }
26157
+ if (!_.disableWorkerMessageHandler) {
26158
+ _self2.addEventListener("message", function(evt) {
26159
+ var message = JSON.parse(evt.data);
26160
+ var lang2 = message.language;
26161
+ var code = message.code;
26162
+ var immediateClose = message.immediateClose;
26163
+ _self2.postMessage(_.highlight(code, _.languages[lang2], lang2));
26164
+ if (immediateClose) {
26165
+ _self2.close();
26166
+ }
26167
+ }, false);
26168
+ }
26169
+ return _;
26170
+ }
26171
+ var script = _.util.currentScript();
26172
+ if (script) {
26173
+ _.filename = script.src;
26174
+ if (script.hasAttribute("data-manual")) {
26175
+ _.manual = true;
26176
+ }
26177
+ }
26178
+ function highlightAutomaticallyCallback() {
26179
+ if (!_.manual) {
26180
+ _.highlightAll();
26181
+ }
26182
+ }
26183
+ if (!_.manual) {
26184
+ var readyState = document.readyState;
26185
+ if (readyState === "loading" || readyState === "interactive" && script && script.defer) {
26186
+ document.addEventListener("DOMContentLoaded", highlightAutomaticallyCallback);
26187
+ } else {
26188
+ if (window.requestAnimationFrame) {
26189
+ window.requestAnimationFrame(highlightAutomaticallyCallback);
26190
+ } else {
26191
+ window.setTimeout(highlightAutomaticallyCallback, 16);
26192
+ }
26193
+ }
26194
+ }
26195
+ return _;
26196
+ }(_self);
26197
+ if (module.exports) {
26198
+ module.exports = Prism2;
26199
+ }
26200
+ if (typeof commonjsGlobal !== "undefined") {
26201
+ commonjsGlobal.Prism = Prism2;
26202
+ }
26203
+ Prism2.languages.markup = {
26204
+ "comment": {
26205
+ pattern: /<!--(?:(?!<!--)[\s\S])*?-->/,
26206
+ greedy: true
26207
+ },
26208
+ "prolog": {
26209
+ pattern: /<\?[\s\S]+?\?>/,
26210
+ greedy: true
26211
+ },
26212
+ "doctype": {
26213
+ // https://www.w3.org/TR/xml/#NT-doctypedecl
26214
+ pattern: /<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,
26215
+ greedy: true,
26216
+ inside: {
26217
+ "internal-subset": {
26218
+ pattern: /(^[^\[]*\[)[\s\S]+(?=\]>$)/,
26219
+ lookbehind: true,
26220
+ greedy: true,
26221
+ inside: null
26222
+ // see below
26223
+ },
26224
+ "string": {
26225
+ pattern: /"[^"]*"|'[^']*'/,
26226
+ greedy: true
26227
+ },
26228
+ "punctuation": /^<!|>$|[[\]]/,
26229
+ "doctype-tag": /^DOCTYPE/i,
26230
+ "name": /[^\s<>'"]+/
26231
+ }
26232
+ },
26233
+ "cdata": {
26234
+ pattern: /<!\[CDATA\[[\s\S]*?\]\]>/i,
26235
+ greedy: true
26236
+ },
26237
+ "tag": {
26238
+ pattern: /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,
26239
+ greedy: true,
26240
+ inside: {
26241
+ "tag": {
26242
+ pattern: /^<\/?[^\s>\/]+/,
26243
+ inside: {
26244
+ "punctuation": /^<\/?/,
26245
+ "namespace": /^[^\s>\/:]+:/
26246
+ }
26247
+ },
26248
+ "special-attr": [],
26249
+ "attr-value": {
26250
+ pattern: /=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,
26251
+ inside: {
26252
+ "punctuation": [
26253
+ {
26254
+ pattern: /^=/,
26255
+ alias: "attr-equals"
26256
+ },
26257
+ {
26258
+ pattern: /^(\s*)["']|["']$/,
26259
+ lookbehind: true
26260
+ }
26261
+ ]
26262
+ }
26263
+ },
26264
+ "punctuation": /\/?>/,
26265
+ "attr-name": {
26266
+ pattern: /[^\s>\/]+/,
26267
+ inside: {
26268
+ "namespace": /^[^\s>\/:]+:/
26269
+ }
26270
+ }
26271
+ }
26272
+ },
26273
+ "entity": [
26274
+ {
26275
+ pattern: /&[\da-z]{1,8};/i,
26276
+ alias: "named-entity"
26277
+ },
26278
+ /&#x?[\da-f]{1,8};/i
26279
+ ]
26280
+ };
26281
+ Prism2.languages.markup["tag"].inside["attr-value"].inside["entity"] = Prism2.languages.markup["entity"];
26282
+ Prism2.languages.markup["doctype"].inside["internal-subset"].inside = Prism2.languages.markup;
26283
+ Prism2.hooks.add("wrap", function(env) {
26284
+ if (env.type === "entity") {
26285
+ env.attributes["title"] = env.content.replace(/&amp;/, "&");
26286
+ }
26287
+ });
26288
+ Object.defineProperty(Prism2.languages.markup.tag, "addInlined", {
26289
+ /**
26290
+ * Adds an inlined language to markup.
26291
+ *
26292
+ * An example of an inlined language is CSS with `<style>` tags.
26293
+ *
26294
+ * @param {string} tagName The name of the tag that contains the inlined language. This name will be treated as
26295
+ * case insensitive.
26296
+ * @param {string} lang The language key.
26297
+ * @example
26298
+ * addInlined('style', 'css');
26299
+ */
26300
+ value: function addInlined(tagName, lang) {
26301
+ var includedCdataInside = {};
26302
+ includedCdataInside["language-" + lang] = {
26303
+ pattern: /(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,
26304
+ lookbehind: true,
26305
+ inside: Prism2.languages[lang]
26306
+ };
26307
+ includedCdataInside["cdata"] = /^<!\[CDATA\[|\]\]>$/i;
26308
+ var inside2 = {
26309
+ "included-cdata": {
26310
+ pattern: /<!\[CDATA\[[\s\S]*?\]\]>/i,
26311
+ inside: includedCdataInside
26312
+ }
26313
+ };
26314
+ inside2["language-" + lang] = {
26315
+ pattern: /[\s\S]+/,
26316
+ inside: Prism2.languages[lang]
26317
+ };
26318
+ var def = {};
26319
+ def[tagName] = {
26320
+ pattern: RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g, function() {
26321
+ return tagName;
26322
+ }), "i"),
26323
+ lookbehind: true,
26324
+ greedy: true,
26325
+ inside: inside2
26326
+ };
26327
+ Prism2.languages.insertBefore("markup", "cdata", def);
26328
+ }
26329
+ });
26330
+ Object.defineProperty(Prism2.languages.markup.tag, "addAttribute", {
26331
+ /**
26332
+ * Adds an pattern to highlight languages embedded in HTML attributes.
26333
+ *
26334
+ * An example of an inlined language is CSS with `style` attributes.
26335
+ *
26336
+ * @param {string} attrName The name of the tag that contains the inlined language. This name will be treated as
26337
+ * case insensitive.
26338
+ * @param {string} lang The language key.
26339
+ * @example
26340
+ * addAttribute('style', 'css');
26341
+ */
26342
+ value: function(attrName, lang) {
26343
+ Prism2.languages.markup.tag.inside["special-attr"].push({
26344
+ pattern: RegExp(
26345
+ /(^|["'\s])/.source + "(?:" + attrName + ")" + /\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,
26346
+ "i"
26347
+ ),
26348
+ lookbehind: true,
26349
+ inside: {
26350
+ "attr-name": /^[^\s=]+/,
26351
+ "attr-value": {
26352
+ pattern: /=[\s\S]+/,
26353
+ inside: {
26354
+ "value": {
26355
+ pattern: /(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,
26356
+ lookbehind: true,
26357
+ alias: [lang, "language-" + lang],
26358
+ inside: Prism2.languages[lang]
26359
+ },
26360
+ "punctuation": [
26361
+ {
26362
+ pattern: /^=/,
26363
+ alias: "attr-equals"
26364
+ },
26365
+ /"|'/
26366
+ ]
26367
+ }
26368
+ }
26369
+ }
26370
+ });
26371
+ }
26372
+ });
26373
+ Prism2.languages.html = Prism2.languages.markup;
26374
+ Prism2.languages.mathml = Prism2.languages.markup;
26375
+ Prism2.languages.svg = Prism2.languages.markup;
26376
+ Prism2.languages.xml = Prism2.languages.extend("markup", {});
26377
+ Prism2.languages.ssml = Prism2.languages.xml;
26378
+ Prism2.languages.atom = Prism2.languages.xml;
26379
+ Prism2.languages.rss = Prism2.languages.xml;
26380
+ (function(Prism3) {
26381
+ var string2 = /(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;
26382
+ Prism3.languages.css = {
26383
+ "comment": /\/\*[\s\S]*?\*\//,
26384
+ "atrule": {
26385
+ pattern: RegExp("@[\\w-](?:" + /[^;{\s"']|\s+(?!\s)/.source + "|" + string2.source + ")*?" + /(?:;|(?=\s*\{))/.source),
26386
+ inside: {
26387
+ "rule": /^@[\w-]+/,
26388
+ "selector-function-argument": {
26389
+ pattern: /(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,
26390
+ lookbehind: true,
26391
+ alias: "selector"
26392
+ },
26393
+ "keyword": {
26394
+ pattern: /(^|[^\w-])(?:and|not|only|or)(?![\w-])/,
26395
+ lookbehind: true
26396
+ }
26397
+ // See rest below
26398
+ }
26399
+ },
26400
+ "url": {
26401
+ // https://drafts.csswg.org/css-values-3/#urls
26402
+ pattern: RegExp("\\burl\\((?:" + string2.source + "|" + /(?:[^\\\r\n()"']|\\[\s\S])*/.source + ")\\)", "i"),
26403
+ greedy: true,
26404
+ inside: {
26405
+ "function": /^url/i,
26406
+ "punctuation": /^\(|\)$/,
26407
+ "string": {
26408
+ pattern: RegExp("^" + string2.source + "$"),
26409
+ alias: "url"
26410
+ }
26411
+ }
26412
+ },
26413
+ "selector": {
26414
+ pattern: RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|` + string2.source + ")*(?=\\s*\\{)"),
26415
+ lookbehind: true
26416
+ },
26417
+ "string": {
26418
+ pattern: string2,
26419
+ greedy: true
26420
+ },
26421
+ "property": {
26422
+ pattern: /(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,
26423
+ lookbehind: true
26424
+ },
26425
+ "important": /!important\b/i,
26426
+ "function": {
26427
+ pattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,
26428
+ lookbehind: true
26429
+ },
26430
+ "punctuation": /[(){};:,]/
26431
+ };
26432
+ Prism3.languages.css["atrule"].inside.rest = Prism3.languages.css;
26433
+ var markup = Prism3.languages.markup;
26434
+ if (markup) {
26435
+ markup.tag.addInlined("style", "css");
26436
+ markup.tag.addAttribute("style", "css");
26437
+ }
26438
+ })(Prism2);
26439
+ Prism2.languages.clike = {
26440
+ "comment": [
26441
+ {
26442
+ pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,
26443
+ lookbehind: true,
26444
+ greedy: true
26445
+ },
26446
+ {
26447
+ pattern: /(^|[^\\:])\/\/.*/,
26448
+ lookbehind: true,
26449
+ greedy: true
26450
+ }
26451
+ ],
26452
+ "string": {
26453
+ pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
26454
+ greedy: true
26455
+ },
26456
+ "class-name": {
26457
+ pattern: /(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,
26458
+ lookbehind: true,
26459
+ inside: {
26460
+ "punctuation": /[.\\]/
26461
+ }
26462
+ },
26463
+ "keyword": /\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,
26464
+ "boolean": /\b(?:false|true)\b/,
26465
+ "function": /\b\w+(?=\()/,
26466
+ "number": /\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,
26467
+ "operator": /[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,
26468
+ "punctuation": /[{}[\];(),.:]/
26469
+ };
26470
+ Prism2.languages.javascript = Prism2.languages.extend("clike", {
26471
+ "class-name": [
26472
+ Prism2.languages.clike["class-name"],
26473
+ {
26474
+ pattern: /(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,
26475
+ lookbehind: true
26476
+ }
26477
+ ],
26478
+ "keyword": [
26479
+ {
26480
+ pattern: /((?:^|\})\s*)catch\b/,
26481
+ lookbehind: true
26482
+ },
26483
+ {
26484
+ pattern: /(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,
26485
+ lookbehind: true
26486
+ }
26487
+ ],
26488
+ // Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)
26489
+ "function": /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,
26490
+ "number": {
26491
+ pattern: RegExp(
26492
+ /(^|[^\w$])/.source + "(?:" + // constant
26493
+ (/NaN|Infinity/.source + "|" + // binary integer
26494
+ /0[bB][01]+(?:_[01]+)*n?/.source + "|" + // octal integer
26495
+ /0[oO][0-7]+(?:_[0-7]+)*n?/.source + "|" + // hexadecimal integer
26496
+ /0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source + "|" + // decimal bigint
26497
+ /\d+(?:_\d+)*n/.source + "|" + // decimal number (integer or float) but no bigint
26498
+ /(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source) + ")" + /(?![\w$])/.source
26499
+ ),
26500
+ lookbehind: true
26501
+ },
26502
+ "operator": /--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/
26503
+ });
26504
+ Prism2.languages.javascript["class-name"][0].pattern = /(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/;
26505
+ Prism2.languages.insertBefore("javascript", "keyword", {
26506
+ "regex": {
26507
+ pattern: RegExp(
26508
+ // lookbehind
26509
+ // eslint-disable-next-line regexp/no-dupe-characters-character-class
26510
+ /((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source + // Regex pattern:
26511
+ // There are 2 regex patterns here. The RegExp set notation proposal added support for nested character
26512
+ // classes if the `v` flag is present. Unfortunately, nested CCs are both context-free and incompatible
26513
+ // with the only syntax, so we have to define 2 different regex patterns.
26514
+ /\//.source + "(?:" + /(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source + "|" + // `v` flag syntax. This supports 3 levels of nested character classes.
26515
+ /(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source + ")" + // lookahead
26516
+ /(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source
26517
+ ),
26518
+ lookbehind: true,
26519
+ greedy: true,
26520
+ inside: {
26521
+ "regex-source": {
26522
+ pattern: /^(\/)[\s\S]+(?=\/[a-z]*$)/,
26523
+ lookbehind: true,
26524
+ alias: "language-regex",
26525
+ inside: Prism2.languages.regex
26526
+ },
26527
+ "regex-delimiter": /^\/|\/$/,
26528
+ "regex-flags": /^[a-z]+$/
26529
+ }
26530
+ },
26531
+ // This must be declared before keyword because we use "function" inside the look-forward
26532
+ "function-variable": {
26533
+ pattern: /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,
26534
+ alias: "function"
26535
+ },
26536
+ "parameter": [
26537
+ {
26538
+ pattern: /(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,
26539
+ lookbehind: true,
26540
+ inside: Prism2.languages.javascript
26541
+ },
26542
+ {
26543
+ pattern: /(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,
26544
+ lookbehind: true,
26545
+ inside: Prism2.languages.javascript
26546
+ },
26547
+ {
26548
+ pattern: /(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,
26549
+ lookbehind: true,
26550
+ inside: Prism2.languages.javascript
26551
+ },
26552
+ {
26553
+ pattern: /((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,
26554
+ lookbehind: true,
26555
+ inside: Prism2.languages.javascript
26556
+ }
26557
+ ],
26558
+ "constant": /\b[A-Z](?:[A-Z_]|\dx?)*\b/
26559
+ });
26560
+ Prism2.languages.insertBefore("javascript", "string", {
26561
+ "hashbang": {
26562
+ pattern: /^#!.*/,
26563
+ greedy: true,
26564
+ alias: "comment"
26565
+ },
26566
+ "template-string": {
26567
+ pattern: /`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,
26568
+ greedy: true,
26569
+ inside: {
26570
+ "template-punctuation": {
26571
+ pattern: /^`|`$/,
26572
+ alias: "string"
26573
+ },
26574
+ "interpolation": {
26575
+ pattern: /((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,
26576
+ lookbehind: true,
26577
+ inside: {
26578
+ "interpolation-punctuation": {
26579
+ pattern: /^\$\{|\}$/,
26580
+ alias: "punctuation"
26581
+ },
26582
+ rest: Prism2.languages.javascript
26583
+ }
26584
+ },
26585
+ "string": /[\s\S]+/
26586
+ }
26587
+ },
26588
+ "string-property": {
26589
+ pattern: /((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,
26590
+ lookbehind: true,
26591
+ greedy: true,
26592
+ alias: "property"
26593
+ }
26594
+ });
26595
+ Prism2.languages.insertBefore("javascript", "operator", {
26596
+ "literal-property": {
26597
+ pattern: /((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,
26598
+ lookbehind: true,
26599
+ alias: "property"
26600
+ }
26601
+ });
26602
+ if (Prism2.languages.markup) {
26603
+ Prism2.languages.markup.tag.addInlined("script", "javascript");
26604
+ Prism2.languages.markup.tag.addAttribute(
26605
+ /on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,
26606
+ "javascript"
26607
+ );
26608
+ }
26609
+ Prism2.languages.js = Prism2.languages.javascript;
26610
+ (function() {
26611
+ if (typeof Prism2 === "undefined" || typeof document === "undefined") {
26612
+ return;
26613
+ }
26614
+ if (!Element.prototype.matches) {
26615
+ Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;
26616
+ }
26617
+ var LOADING_MESSAGE = "Loading…";
26618
+ var FAILURE_MESSAGE = function(status, message) {
26619
+ return "✖ Error " + status + " while fetching file: " + message;
26620
+ };
26621
+ var FAILURE_EMPTY_MESSAGE = "✖ Error: File does not exist or is empty";
26622
+ var EXTENSIONS = {
26623
+ "js": "javascript",
26624
+ "py": "python",
26625
+ "rb": "ruby",
26626
+ "ps1": "powershell",
26627
+ "psm1": "powershell",
26628
+ "sh": "bash",
26629
+ "bat": "batch",
26630
+ "h": "c",
26631
+ "tex": "latex"
26632
+ };
26633
+ var STATUS_ATTR = "data-src-status";
26634
+ var STATUS_LOADING = "loading";
26635
+ var STATUS_LOADED = "loaded";
26636
+ var STATUS_FAILED = "failed";
26637
+ var SELECTOR = "pre[data-src]:not([" + STATUS_ATTR + '="' + STATUS_LOADED + '"]):not([' + STATUS_ATTR + '="' + STATUS_LOADING + '"])';
26638
+ function loadFile(src, success, error) {
26639
+ var xhr = new XMLHttpRequest();
26640
+ xhr.open("GET", src, true);
26641
+ xhr.onreadystatechange = function() {
26642
+ if (xhr.readyState == 4) {
26643
+ if (xhr.status < 400 && xhr.responseText) {
26644
+ success(xhr.responseText);
26645
+ } else {
26646
+ if (xhr.status >= 400) {
26647
+ error(FAILURE_MESSAGE(xhr.status, xhr.statusText));
26648
+ } else {
26649
+ error(FAILURE_EMPTY_MESSAGE);
26650
+ }
26651
+ }
26652
+ }
26653
+ };
26654
+ xhr.send(null);
26655
+ }
26656
+ function parseRange(range) {
26657
+ var m = /^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(range || "");
26658
+ if (m) {
26659
+ var start = Number(m[1]);
26660
+ var comma = m[2];
26661
+ var end = m[3];
26662
+ if (!comma) {
26663
+ return [start, start];
26664
+ }
26665
+ if (!end) {
26666
+ return [start, void 0];
26667
+ }
26668
+ return [start, Number(end)];
26669
+ }
26670
+ return void 0;
26671
+ }
26672
+ Prism2.hooks.add("before-highlightall", function(env) {
26673
+ env.selector += ", " + SELECTOR;
26674
+ });
26675
+ Prism2.hooks.add("before-sanity-check", function(env) {
26676
+ var pre = (
26677
+ /** @type {HTMLPreElement} */
26678
+ env.element
26679
+ );
26680
+ if (pre.matches(SELECTOR)) {
26681
+ env.code = "";
26682
+ pre.setAttribute(STATUS_ATTR, STATUS_LOADING);
26683
+ var code = pre.appendChild(document.createElement("CODE"));
26684
+ code.textContent = LOADING_MESSAGE;
26685
+ var src = pre.getAttribute("data-src");
26686
+ var language2 = env.language;
26687
+ if (language2 === "none") {
26688
+ var extension = (/\.(\w+)$/.exec(src) || [, "none"])[1];
26689
+ language2 = EXTENSIONS[extension] || extension;
26690
+ }
26691
+ Prism2.util.setLanguage(code, language2);
26692
+ Prism2.util.setLanguage(pre, language2);
26693
+ var autoloader = Prism2.plugins.autoloader;
26694
+ if (autoloader) {
26695
+ autoloader.loadLanguages(language2);
26696
+ }
26697
+ loadFile(
26698
+ src,
26699
+ function(text) {
26700
+ pre.setAttribute(STATUS_ATTR, STATUS_LOADED);
26701
+ var range = parseRange(pre.getAttribute("data-range"));
26702
+ if (range) {
26703
+ var lines = text.split(/\r\n?|\n/g);
26704
+ var start = range[0];
26705
+ var end = range[1] == null ? lines.length : range[1];
26706
+ if (start < 0) {
26707
+ start += lines.length;
26708
+ }
26709
+ start = Math.max(0, Math.min(start - 1, lines.length));
26710
+ if (end < 0) {
26711
+ end += lines.length;
26712
+ }
26713
+ end = Math.max(0, Math.min(end, lines.length));
26714
+ text = lines.slice(start, end).join("\n");
26715
+ if (!pre.hasAttribute("data-start")) {
26716
+ pre.setAttribute("data-start", String(start + 1));
26717
+ }
26718
+ }
26719
+ code.textContent = text;
26720
+ Prism2.highlightElement(code);
26721
+ },
26722
+ function(error) {
26723
+ pre.setAttribute(STATUS_ATTR, STATUS_FAILED);
26724
+ code.textContent = error;
26725
+ }
26726
+ );
26727
+ }
26728
+ });
26729
+ Prism2.plugins.fileHighlight = {
26730
+ /**
26731
+ * Executes the File Highlight plugin for all matching `pre` elements under the given container.
26732
+ *
26733
+ * Note: Elements which are already loaded or currently loading will not be touched by this method.
26734
+ *
26735
+ * @param {ParentNode} [container=document]
26736
+ */
26737
+ highlight: function highlight(container) {
26738
+ var elements = (container || document).querySelectorAll(SELECTOR);
26739
+ for (var i = 0, element; element = elements[i++]; ) {
26740
+ Prism2.highlightElement(element);
26741
+ }
26742
+ }
26743
+ };
26744
+ var logged = false;
26745
+ Prism2.fileHighlight = function() {
26746
+ if (!logged) {
26747
+ console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead.");
26748
+ logged = true;
26749
+ }
26750
+ Prism2.plugins.fileHighlight.highlight.apply(this, arguments);
26751
+ };
26752
+ })();
26753
+ })(prism);
26754
+ var prismExports = prism.exports;
26755
+ const de = /* @__PURE__ */ getDefaultExportFromCjs(prismExports);
26756
+ const R = "scalar-component", fe = extendTailwindMerge({
25286
26757
  extend: {
25287
26758
  classGroups: {
25288
26759
  // Add the scalar class prefix as a custom class to be deduped by tailwind-merge
25289
- [M]: [M]
26760
+ [R]: [R]
25290
26761
  }
25291
26762
  }
25292
- }), { cva: m, cx: c, compose: et } = defineConfig({
26763
+ }), { cva: N, cx: x, compose: vt } = defineConfig({
25293
26764
  hooks: {
25294
- onComplete: (o) => `${re(o, M)}`
26765
+ onComplete: (r2) => `${fe(r2, R)}`
25295
26766
  }
25296
26767
  });
25297
- const F = {
26768
+ const K = {
25298
26769
  solid: [
25299
26770
  "scalar-button-solid",
25300
26771
  "bg-back-btn-1 text-fore-btn-1 shadow-sm active:bg-back-btn-1 active:shadow-none hocus:bg-hover-btn-1"
@@ -25312,7 +26783,7 @@ const F = {
25312
26783
  "bg-error text-white active:brightness-90 hocus:brightness-90"
25313
26784
  ]
25314
26785
  };
25315
- m({
26786
+ N({
25316
26787
  base: "scalar-button row cursor-pointer items-center justify-center rounded font-medium",
25317
26788
  variants: {
25318
26789
  disabled: {
@@ -25320,7 +26791,7 @@ m({
25320
26791
  },
25321
26792
  fullWidth: { true: "w-full" },
25322
26793
  size: { md: "h-10 px-6 text-sm" },
25323
- variant: F
26794
+ variant: K
25324
26795
  },
25325
26796
  compoundVariants: [
25326
26797
  {
@@ -25330,58 +26801,810 @@ m({
25330
26801
  }
25331
26802
  ]
25332
26803
  });
25333
- const he = (o) => Object.fromEntries(Array.from(o).map((t2) => [t2.name, t2.value])), ve = (o) => ({ raw: t2 }) => {
25334
- const n = new o().parseFromString(t2, "image/svg+xml");
25335
- if (n.getElementsByTagName("parsererror").length)
26804
+ (function(r2) {
26805
+ var t2 = "\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b", e = {
26806
+ pattern: /(^(["']?)\w+\2)[ \t]+\S.*/,
26807
+ lookbehind: true,
26808
+ alias: "punctuation",
26809
+ // this looks reasonably well in all themes
26810
+ inside: null
26811
+ // see below
26812
+ }, l = {
26813
+ bash: e,
26814
+ environment: {
26815
+ pattern: RegExp("\\$" + t2),
26816
+ alias: "constant"
26817
+ },
26818
+ variable: [
26819
+ // [0]: Arithmetic Environment
26820
+ {
26821
+ pattern: /\$?\(\([\s\S]+?\)\)/,
26822
+ greedy: true,
26823
+ inside: {
26824
+ // If there is a $ sign at the beginning highlight $(( and )) as variable
26825
+ variable: [
26826
+ {
26827
+ pattern: /(^\$\(\([\s\S]+)\)\)/,
26828
+ lookbehind: true
26829
+ },
26830
+ /^\$\(\(/
26831
+ ],
26832
+ number: /\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,
26833
+ // Operators according to https://www.gnu.org/software/bash/manual/bashref.html#Shell-Arithmetic
26834
+ operator: /--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,
26835
+ // If there is no $ sign at the beginning highlight (( and )) as punctuation
26836
+ punctuation: /\(\(?|\)\)?|,|;/
26837
+ }
26838
+ },
26839
+ // [1]: Command Substitution
26840
+ {
26841
+ pattern: /\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,
26842
+ greedy: true,
26843
+ inside: {
26844
+ variable: /^\$\(|^`|\)$|`$/
26845
+ }
26846
+ },
26847
+ // [2]: Brace expansion
26848
+ {
26849
+ pattern: /\$\{[^}]+\}/,
26850
+ greedy: true,
26851
+ inside: {
26852
+ operator: /:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,
26853
+ punctuation: /[\[\]]/,
26854
+ environment: {
26855
+ pattern: RegExp("(\\{)" + t2),
26856
+ lookbehind: true,
26857
+ alias: "constant"
26858
+ }
26859
+ }
26860
+ },
26861
+ /\$(?:\w+|[#?*!@$])/
26862
+ ],
26863
+ // Escape sequences from echo and printf's manuals, and escaped quotes.
26864
+ entity: /\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/
26865
+ };
26866
+ r2.languages.bash = {
26867
+ shebang: {
26868
+ pattern: /^#!\s*\/.*/,
26869
+ alias: "important"
26870
+ },
26871
+ comment: {
26872
+ pattern: /(^|[^"{\\$])#.*/,
26873
+ lookbehind: true
26874
+ },
26875
+ "function-name": [
26876
+ // a) function foo {
26877
+ // b) foo() {
26878
+ // c) function foo() {
26879
+ // but not “foo {”
26880
+ {
26881
+ // a) and c)
26882
+ pattern: /(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,
26883
+ lookbehind: true,
26884
+ alias: "function"
26885
+ },
26886
+ {
26887
+ // b)
26888
+ pattern: /\b[\w-]+(?=\s*\(\s*\)\s*\{)/,
26889
+ alias: "function"
26890
+ }
26891
+ ],
26892
+ // Highlight variable names as variables in for and select beginnings.
26893
+ "for-or-select": {
26894
+ pattern: /(\b(?:for|select)\s+)\w+(?=\s+in\s)/,
26895
+ alias: "variable",
26896
+ lookbehind: true
26897
+ },
26898
+ // Highlight variable names as variables in the left-hand part
26899
+ // of assignments (“=” and “+=”).
26900
+ "assign-left": {
26901
+ pattern: /(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,
26902
+ inside: {
26903
+ environment: {
26904
+ pattern: RegExp("(^|[\\s;|&]|[<>]\\()" + t2),
26905
+ lookbehind: true,
26906
+ alias: "constant"
26907
+ }
26908
+ },
26909
+ alias: "variable",
26910
+ lookbehind: true
26911
+ },
26912
+ // Highlight parameter names as variables
26913
+ parameter: {
26914
+ pattern: /(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,
26915
+ alias: "variable",
26916
+ lookbehind: true
26917
+ },
26918
+ string: [
26919
+ // Support for Here-documents https://en.wikipedia.org/wiki/Here_document
26920
+ {
26921
+ pattern: /((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,
26922
+ lookbehind: true,
26923
+ greedy: true,
26924
+ inside: l
26925
+ },
26926
+ // Here-document with quotes around the tag
26927
+ // → No expansion (so no “inside”).
26928
+ {
26929
+ pattern: /((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,
26930
+ lookbehind: true,
26931
+ greedy: true,
26932
+ inside: {
26933
+ bash: e
26934
+ }
26935
+ },
26936
+ // “Normal” string
26937
+ {
26938
+ // https://www.gnu.org/software/bash/manual/html_node/Double-Quotes.html
26939
+ pattern: /(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,
26940
+ lookbehind: true,
26941
+ greedy: true,
26942
+ inside: l
26943
+ },
26944
+ {
26945
+ // https://www.gnu.org/software/bash/manual/html_node/Single-Quotes.html
26946
+ pattern: /(^|[^$\\])'[^']*'/,
26947
+ lookbehind: true,
26948
+ greedy: true
26949
+ },
26950
+ {
26951
+ // https://www.gnu.org/software/bash/manual/html_node/ANSI_002dC-Quoting.html
26952
+ pattern: /\$'(?:[^'\\]|\\[\s\S])*'/,
26953
+ greedy: true,
26954
+ inside: {
26955
+ entity: l.entity
26956
+ }
26957
+ }
26958
+ ],
26959
+ environment: {
26960
+ pattern: RegExp("\\$?" + t2),
26961
+ alias: "constant"
26962
+ },
26963
+ variable: l.variable,
26964
+ function: {
26965
+ pattern: /(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,
26966
+ lookbehind: true
26967
+ },
26968
+ keyword: {
26969
+ pattern: /(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,
26970
+ lookbehind: true
26971
+ },
26972
+ // https://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html
26973
+ builtin: {
26974
+ pattern: /(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,
26975
+ lookbehind: true,
26976
+ // Alias added to make those easier to distinguish from strings.
26977
+ alias: "class-name"
26978
+ },
26979
+ boolean: {
26980
+ pattern: /(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,
26981
+ lookbehind: true
26982
+ },
26983
+ "file-descriptor": {
26984
+ pattern: /\B&\d\b/,
26985
+ alias: "important"
26986
+ },
26987
+ operator: {
26988
+ // Lots of redirections here, but not just that.
26989
+ pattern: /\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,
26990
+ inside: {
26991
+ "file-descriptor": {
26992
+ pattern: /^\d/,
26993
+ alias: "important"
26994
+ }
26995
+ }
26996
+ },
26997
+ punctuation: /\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,
26998
+ number: {
26999
+ pattern: /(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,
27000
+ lookbehind: true
27001
+ }
27002
+ }, e.inside = r2.languages.bash;
27003
+ for (var c = [
27004
+ "comment",
27005
+ "function-name",
27006
+ "for-or-select",
27007
+ "assign-left",
27008
+ "parameter",
27009
+ "string",
27010
+ "environment",
27011
+ "function",
27012
+ "keyword",
27013
+ "builtin",
27014
+ "boolean",
27015
+ "file-descriptor",
27016
+ "operator",
27017
+ "punctuation",
27018
+ "number"
27019
+ ], b = l.variable[1].inside, n = 0; n < c.length; n++)
27020
+ b[c[n]] = r2.languages.bash[c[n]];
27021
+ r2.languages.sh = r2.languages.bash, r2.languages.shell = r2.languages.bash;
27022
+ })(Prism);
27023
+ Prism.languages.json = {
27024
+ property: {
27025
+ pattern: /(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,
27026
+ lookbehind: true,
27027
+ greedy: true
27028
+ },
27029
+ string: {
27030
+ pattern: /(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,
27031
+ lookbehind: true,
27032
+ greedy: true
27033
+ },
27034
+ comment: {
27035
+ pattern: /\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,
27036
+ greedy: true
27037
+ },
27038
+ number: /-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,
27039
+ punctuation: /[{}[\],]/,
27040
+ operator: /:/,
27041
+ boolean: /\b(?:false|true)\b/,
27042
+ null: {
27043
+ pattern: /\bnull\b/,
27044
+ alias: "keyword"
27045
+ }
27046
+ };
27047
+ Prism.languages.webmanifest = Prism.languages.json;
27048
+ (function() {
27049
+ if (typeof Prism > "u" || typeof document > "u")
27050
+ return;
27051
+ var r2 = (
27052
+ /*dependencies_placeholder[*/
27053
+ {
27054
+ javascript: "clike",
27055
+ actionscript: "javascript",
27056
+ apex: [
27057
+ "clike",
27058
+ "sql"
27059
+ ],
27060
+ arduino: "cpp",
27061
+ aspnet: [
27062
+ "markup",
27063
+ "csharp"
27064
+ ],
27065
+ birb: "clike",
27066
+ bison: "c",
27067
+ c: "clike",
27068
+ csharp: "clike",
27069
+ cpp: "c",
27070
+ cfscript: "clike",
27071
+ chaiscript: [
27072
+ "clike",
27073
+ "cpp"
27074
+ ],
27075
+ cilkc: "c",
27076
+ cilkcpp: "cpp",
27077
+ coffeescript: "javascript",
27078
+ crystal: "ruby",
27079
+ "css-extras": "css",
27080
+ d: "clike",
27081
+ dart: "clike",
27082
+ django: "markup-templating",
27083
+ ejs: [
27084
+ "javascript",
27085
+ "markup-templating"
27086
+ ],
27087
+ etlua: [
27088
+ "lua",
27089
+ "markup-templating"
27090
+ ],
27091
+ erb: [
27092
+ "ruby",
27093
+ "markup-templating"
27094
+ ],
27095
+ fsharp: "clike",
27096
+ "firestore-security-rules": "clike",
27097
+ flow: "javascript",
27098
+ ftl: "markup-templating",
27099
+ gml: "clike",
27100
+ glsl: "c",
27101
+ go: "clike",
27102
+ gradle: "clike",
27103
+ groovy: "clike",
27104
+ haml: "ruby",
27105
+ handlebars: "markup-templating",
27106
+ haxe: "clike",
27107
+ hlsl: "c",
27108
+ idris: "haskell",
27109
+ java: "clike",
27110
+ javadoc: [
27111
+ "markup",
27112
+ "java",
27113
+ "javadoclike"
27114
+ ],
27115
+ jolie: "clike",
27116
+ jsdoc: [
27117
+ "javascript",
27118
+ "javadoclike",
27119
+ "typescript"
27120
+ ],
27121
+ "js-extras": "javascript",
27122
+ json5: "json",
27123
+ jsonp: "json",
27124
+ "js-templates": "javascript",
27125
+ kotlin: "clike",
27126
+ latte: [
27127
+ "clike",
27128
+ "markup-templating",
27129
+ "php"
27130
+ ],
27131
+ less: "css",
27132
+ lilypond: "scheme",
27133
+ liquid: "markup-templating",
27134
+ markdown: "markup",
27135
+ "markup-templating": "markup",
27136
+ mongodb: "javascript",
27137
+ n4js: "javascript",
27138
+ objectivec: "c",
27139
+ opencl: "c",
27140
+ parser: "markup",
27141
+ php: "markup-templating",
27142
+ phpdoc: [
27143
+ "php",
27144
+ "javadoclike"
27145
+ ],
27146
+ "php-extras": "php",
27147
+ plsql: "sql",
27148
+ processing: "clike",
27149
+ protobuf: "clike",
27150
+ pug: [
27151
+ "markup",
27152
+ "javascript"
27153
+ ],
27154
+ purebasic: "clike",
27155
+ purescript: "haskell",
27156
+ qsharp: "clike",
27157
+ qml: "javascript",
27158
+ qore: "clike",
27159
+ racket: "scheme",
27160
+ cshtml: [
27161
+ "markup",
27162
+ "csharp"
27163
+ ],
27164
+ jsx: [
27165
+ "markup",
27166
+ "javascript"
27167
+ ],
27168
+ tsx: [
27169
+ "jsx",
27170
+ "typescript"
27171
+ ],
27172
+ reason: "clike",
27173
+ ruby: "clike",
27174
+ sass: "css",
27175
+ scss: "css",
27176
+ scala: "java",
27177
+ "shell-session": "bash",
27178
+ smarty: "markup-templating",
27179
+ solidity: "clike",
27180
+ soy: "markup-templating",
27181
+ sparql: "turtle",
27182
+ sqf: "clike",
27183
+ squirrel: "clike",
27184
+ stata: [
27185
+ "mata",
27186
+ "java",
27187
+ "python"
27188
+ ],
27189
+ "t4-cs": [
27190
+ "t4-templating",
27191
+ "csharp"
27192
+ ],
27193
+ "t4-vb": [
27194
+ "t4-templating",
27195
+ "vbnet"
27196
+ ],
27197
+ tap: "yaml",
27198
+ tt2: [
27199
+ "clike",
27200
+ "markup-templating"
27201
+ ],
27202
+ textile: "markup",
27203
+ twig: "markup-templating",
27204
+ typescript: "javascript",
27205
+ v: "clike",
27206
+ vala: "clike",
27207
+ vbnet: "basic",
27208
+ velocity: "markup",
27209
+ wiki: "markup",
27210
+ xeora: "markup",
27211
+ "xml-doc": "markup",
27212
+ xquery: "markup"
27213
+ }
27214
+ ), t2 = (
27215
+ /*aliases_placeholder[*/
27216
+ {
27217
+ html: "markup",
27218
+ xml: "markup",
27219
+ svg: "markup",
27220
+ mathml: "markup",
27221
+ ssml: "markup",
27222
+ atom: "markup",
27223
+ rss: "markup",
27224
+ js: "javascript",
27225
+ g4: "antlr4",
27226
+ ino: "arduino",
27227
+ "arm-asm": "armasm",
27228
+ art: "arturo",
27229
+ adoc: "asciidoc",
27230
+ avs: "avisynth",
27231
+ avdl: "avro-idl",
27232
+ gawk: "awk",
27233
+ sh: "bash",
27234
+ shell: "bash",
27235
+ shortcode: "bbcode",
27236
+ rbnf: "bnf",
27237
+ oscript: "bsl",
27238
+ cs: "csharp",
27239
+ dotnet: "csharp",
27240
+ cfc: "cfscript",
27241
+ "cilk-c": "cilkc",
27242
+ "cilk-cpp": "cilkcpp",
27243
+ cilk: "cilkcpp",
27244
+ coffee: "coffeescript",
27245
+ conc: "concurnas",
27246
+ jinja2: "django",
27247
+ "dns-zone": "dns-zone-file",
27248
+ dockerfile: "docker",
27249
+ gv: "dot",
27250
+ eta: "ejs",
27251
+ xlsx: "excel-formula",
27252
+ xls: "excel-formula",
27253
+ gamemakerlanguage: "gml",
27254
+ po: "gettext",
27255
+ gni: "gn",
27256
+ ld: "linker-script",
27257
+ "go-mod": "go-module",
27258
+ hbs: "handlebars",
27259
+ mustache: "handlebars",
27260
+ hs: "haskell",
27261
+ idr: "idris",
27262
+ gitignore: "ignore",
27263
+ hgignore: "ignore",
27264
+ npmignore: "ignore",
27265
+ webmanifest: "json",
27266
+ kt: "kotlin",
27267
+ kts: "kotlin",
27268
+ kum: "kumir",
27269
+ tex: "latex",
27270
+ context: "latex",
27271
+ ly: "lilypond",
27272
+ emacs: "lisp",
27273
+ elisp: "lisp",
27274
+ "emacs-lisp": "lisp",
27275
+ md: "markdown",
27276
+ moon: "moonscript",
27277
+ n4jsd: "n4js",
27278
+ nani: "naniscript",
27279
+ objc: "objectivec",
27280
+ qasm: "openqasm",
27281
+ objectpascal: "pascal",
27282
+ px: "pcaxis",
27283
+ pcode: "peoplecode",
27284
+ plantuml: "plant-uml",
27285
+ pq: "powerquery",
27286
+ mscript: "powerquery",
27287
+ pbfasm: "purebasic",
27288
+ purs: "purescript",
27289
+ py: "python",
27290
+ qs: "qsharp",
27291
+ rkt: "racket",
27292
+ razor: "cshtml",
27293
+ rpy: "renpy",
27294
+ res: "rescript",
27295
+ robot: "robotframework",
27296
+ rb: "ruby",
27297
+ "sh-session": "shell-session",
27298
+ shellsession: "shell-session",
27299
+ smlnj: "sml",
27300
+ sol: "solidity",
27301
+ sln: "solution-file",
27302
+ rq: "sparql",
27303
+ sclang: "supercollider",
27304
+ t4: "t4-cs",
27305
+ trickle: "tremor",
27306
+ troy: "tremor",
27307
+ trig: "turtle",
27308
+ ts: "typescript",
27309
+ tsconfig: "typoscript",
27310
+ uscript: "unrealscript",
27311
+ uc: "unrealscript",
27312
+ url: "uri",
27313
+ vb: "visual-basic",
27314
+ vba: "visual-basic",
27315
+ webidl: "web-idl",
27316
+ mathematica: "wolfram",
27317
+ nb: "wolfram",
27318
+ wl: "wolfram",
27319
+ xeoracube: "xeora",
27320
+ yml: "yaml"
27321
+ }
27322
+ ), e = {}, l = "none", c = "components/", b = Prism.util.currentScript();
27323
+ if (b) {
27324
+ var n = /\bplugins\/autoloader\/prism-autoloader\.(?:min\.)?js(?:\?[^\r\n/]*)?$/i, h2 = /(^|\/)[\w-]+\.(?:min\.)?js(?:\?[^\r\n/]*)?$/i, o = b.getAttribute("data-autoloader-path");
27325
+ if (o != null)
27326
+ c = o.trim().replace(/\/?$/, "/");
27327
+ else {
27328
+ var d = b.src;
27329
+ n.test(d) ? c = d.replace(n, "components/") : h2.test(d) && (c = d.replace(h2, "$1components/"));
27330
+ }
27331
+ }
27332
+ var u = Prism.plugins.autoloader = {
27333
+ languages_path: c,
27334
+ use_minified: true,
27335
+ loadLanguages: I
27336
+ };
27337
+ function i(a, p, g) {
27338
+ var m = document.createElement("script");
27339
+ m.src = a, m.async = true, m.onload = function() {
27340
+ document.body.removeChild(m), p && p();
27341
+ }, m.onerror = function() {
27342
+ document.body.removeChild(m), g && g();
27343
+ }, document.body.appendChild(m);
27344
+ }
27345
+ function s(a) {
27346
+ var p = (a.getAttribute("data-dependencies") || "").trim();
27347
+ if (!p) {
27348
+ var g = a.parentElement;
27349
+ g && g.tagName.toLowerCase() === "pre" && (p = (g.getAttribute("data-dependencies") || "").trim());
27350
+ }
27351
+ return p ? p.split(/\s*,\s*/g) : [];
27352
+ }
27353
+ function f(a) {
27354
+ if (a.indexOf("!") >= 0)
27355
+ return false;
27356
+ if (a = t2[a] || a, a in Prism.languages)
27357
+ return true;
27358
+ var p = e[a];
27359
+ return p && !p.error && p.loading === false;
27360
+ }
27361
+ function C2(a) {
27362
+ return u.languages_path + "prism-" + a + (u.use_minified ? ".min" : "") + ".js";
27363
+ }
27364
+ function I(a, p, g) {
27365
+ typeof a == "string" && (a = [a]);
27366
+ var m = a.length, E = 0, S2 = false;
27367
+ if (m === 0) {
27368
+ p && setTimeout(p, 0);
27369
+ return;
27370
+ }
27371
+ function _() {
27372
+ S2 || (E++, E === m && p && p(a));
27373
+ }
27374
+ a.forEach(function(G) {
27375
+ J(G, _, function() {
27376
+ S2 || (S2 = true, g && g(G));
27377
+ });
27378
+ });
27379
+ }
27380
+ function J(a, p, g) {
27381
+ var m = a.indexOf("!") >= 0;
27382
+ a = a.replace("!", ""), a = t2[a] || a;
27383
+ function E() {
27384
+ var _ = e[a];
27385
+ _ || (_ = e[a] = {
27386
+ callbacks: []
27387
+ }), _.callbacks.push({
27388
+ success: p,
27389
+ error: g
27390
+ }), !m && f(a) ? j(a, "success") : !m && _.error ? j(a, "error") : (m || !_.loading) && (_.loading = true, _.error = false, i(C2(a), function() {
27391
+ _.loading = false, j(a, "success");
27392
+ }, function() {
27393
+ _.loading = false, _.error = true, j(a, "error");
27394
+ }));
27395
+ }
27396
+ var S2 = r2[a];
27397
+ S2 && S2.length ? I(S2, E, g) : E();
27398
+ }
27399
+ function j(a, p) {
27400
+ if (e[a]) {
27401
+ for (var g = e[a].callbacks, m = 0, E = g.length; m < E; m++) {
27402
+ var S2 = g[m][p];
27403
+ S2 && setTimeout(S2, 0);
27404
+ }
27405
+ g.length = 0;
27406
+ }
27407
+ }
27408
+ Prism.hooks.add("complete", function(a) {
27409
+ var p = a.element, g = a.language;
27410
+ if (!(!p || !g || g === l)) {
27411
+ var m = s(p);
27412
+ /^diff-./i.test(g) ? (m.push("diff"), m.push(g.substr(5))) : m.push(g), m.every(f) || I(m, function() {
27413
+ Prism.highlightElement(p);
27414
+ });
27415
+ }
27416
+ });
27417
+ })();
27418
+ (function() {
27419
+ if (typeof Prism > "u" || typeof document > "u")
27420
+ return;
27421
+ var r2 = "line-numbers", t2 = /\n(?!$)/g, e = Prism.plugins.lineNumbers = {
27422
+ /**
27423
+ * Get node for provided line number
27424
+ *
27425
+ * @param {Element} element pre element
27426
+ * @param {number} number line number
27427
+ * @returns {Element|undefined}
27428
+ */
27429
+ getLine: function(n, h2) {
27430
+ if (!(n.tagName !== "PRE" || !n.classList.contains(r2))) {
27431
+ var o = n.querySelector(".line-numbers-rows");
27432
+ if (o) {
27433
+ var d = parseInt(n.getAttribute("data-start"), 10) || 1, u = d + (o.children.length - 1);
27434
+ h2 < d && (h2 = d), h2 > u && (h2 = u);
27435
+ var i = h2 - d;
27436
+ return o.children[i];
27437
+ }
27438
+ }
27439
+ },
27440
+ /**
27441
+ * Resizes the line numbers of the given element.
27442
+ *
27443
+ * This function will not add line numbers. It will only resize existing ones.
27444
+ *
27445
+ * @param {HTMLElement} element A `<pre>` element with line numbers.
27446
+ * @returns {void}
27447
+ */
27448
+ resize: function(n) {
27449
+ l([n]);
27450
+ },
27451
+ /**
27452
+ * Whether the plugin can assume that the units font sizes and margins are not depended on the size of
27453
+ * the current viewport.
27454
+ *
27455
+ * Setting this to `true` will allow the plugin to do certain optimizations for better performance.
27456
+ *
27457
+ * Set this to `false` if you use any of the following CSS units: `vh`, `vw`, `vmin`, `vmax`.
27458
+ *
27459
+ * @type {boolean}
27460
+ */
27461
+ assumeViewportIndependence: true
27462
+ };
27463
+ function l(n) {
27464
+ if (n = n.filter(function(o) {
27465
+ var d = c(o), u = d["white-space"];
27466
+ return u === "pre-wrap" || u === "pre-line";
27467
+ }), n.length != 0) {
27468
+ var h2 = n.map(function(o) {
27469
+ var d = o.querySelector("code"), u = o.querySelector(".line-numbers-rows");
27470
+ if (!(!d || !u)) {
27471
+ var i = o.querySelector(".line-numbers-sizer"), s = d.textContent.split(t2);
27472
+ i || (i = document.createElement("span"), i.className = "line-numbers-sizer", d.appendChild(i)), i.innerHTML = "0", i.style.display = "block";
27473
+ var f = i.getBoundingClientRect().height;
27474
+ return i.innerHTML = "", {
27475
+ element: o,
27476
+ lines: s,
27477
+ lineHeights: [],
27478
+ oneLinerHeight: f,
27479
+ sizer: i
27480
+ };
27481
+ }
27482
+ }).filter(Boolean);
27483
+ h2.forEach(function(o) {
27484
+ var d = o.sizer, u = o.lines, i = o.lineHeights, s = o.oneLinerHeight;
27485
+ i[u.length - 1] = void 0, u.forEach(function(f, C2) {
27486
+ if (f && f.length > 1) {
27487
+ var I = d.appendChild(document.createElement("span"));
27488
+ I.style.display = "block", I.textContent = f;
27489
+ } else
27490
+ i[C2] = s;
27491
+ });
27492
+ }), h2.forEach(function(o) {
27493
+ for (var d = o.sizer, u = o.lineHeights, i = 0, s = 0; s < u.length; s++)
27494
+ u[s] === void 0 && (u[s] = d.children[i++].getBoundingClientRect().height);
27495
+ }), h2.forEach(function(o) {
27496
+ var d = o.sizer, u = o.element.querySelector(".line-numbers-rows");
27497
+ d.style.display = "none", d.innerHTML = "", o.lineHeights.forEach(function(i, s) {
27498
+ u.children[s].style.height = i + "px";
27499
+ });
27500
+ });
27501
+ }
27502
+ }
27503
+ function c(n) {
27504
+ return n ? window.getComputedStyle ? getComputedStyle(n) : n.currentStyle || null : null;
27505
+ }
27506
+ var b = void 0;
27507
+ window.addEventListener("resize", function() {
27508
+ e.assumeViewportIndependence && b === window.innerWidth || (b = window.innerWidth, l(Array.prototype.slice.call(document.querySelectorAll("pre." + r2))));
27509
+ }), Prism.hooks.add("complete", function(n) {
27510
+ if (n.code) {
27511
+ var h2 = (
27512
+ /** @type {Element} */
27513
+ n.element
27514
+ ), o = (
27515
+ /** @type {HTMLElement} */
27516
+ h2.parentNode
27517
+ );
27518
+ if (!(!o || !/pre/i.test(o.nodeName)) && !h2.querySelector(".line-numbers-rows") && Prism.util.isActive(h2, r2)) {
27519
+ h2.classList.remove(r2), o.classList.add(r2);
27520
+ var d = n.code.match(t2), u = d ? d.length + 1 : 1, i, s = new Array(u + 1).join("<span></span>");
27521
+ i = document.createElement("span"), i.setAttribute("aria-hidden", "true"), i.className = "line-numbers-rows", i.innerHTML = s, o.hasAttribute("data-start") && (o.style.counterReset = "linenumber " + (parseInt(o.getAttribute("data-start"), 10) - 1)), n.element.appendChild(i), l([o]), Prism.hooks.run("line-numbers", n);
27522
+ }
27523
+ }
27524
+ }), Prism.hooks.add("line-numbers", function(n) {
27525
+ n.plugins = n.plugins || {}, n.plugins.lineNumbers = true;
27526
+ });
27527
+ })();
27528
+ const ft = /* @__PURE__ */ defineComponent({
27529
+ __name: "ScalarCodeBlock",
27530
+ props: {
27531
+ content: {},
27532
+ lang: { default: "js" },
27533
+ lineNumbers: { type: Boolean, default: false }
27534
+ },
27535
+ setup(r2) {
27536
+ const t2 = r2, { plugins: e, highlightElement: l } = de, c = ref(null), b = computed(() => t2.lang === "node" ? "js" : t2.lang);
27537
+ return e.autoloader.languages_path = "https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/", watch(
27538
+ () => [t2.lang, t2.content],
27539
+ () => {
27540
+ c.value && nextTick(() => l(c.value));
27541
+ }
27542
+ ), onMounted(() => {
27543
+ c.value && l(c.value);
27544
+ }), (n, h2) => (openBlock(), createElementBlock("pre", {
27545
+ class: normalizeClass(["scalar-component scalar-codeblock-pre", {
27546
+ "line-numbers": n.lineNumbers
27547
+ }])
27548
+ }, [
27549
+ createElementVNode("code", {
27550
+ ref_key: "el",
27551
+ ref: c,
27552
+ class: normalizeClass(`scalar-codeblock-code lang-${b.value}`)
27553
+ }, toDisplayString(n.content), 3)
27554
+ ], 2));
27555
+ }
27556
+ }), Ee = (r2) => Object.fromEntries(Array.from(r2).map((t2) => [t2.name, t2.value])), Le = (r2) => ({ raw: t2 }) => {
27557
+ const l = new r2().parseFromString(t2, "image/svg+xml");
27558
+ if (l.getElementsByTagName("parsererror").length)
25336
27559
  return;
25337
- const i = n.documentElement, p = he(i.attributes), { width: f, height: w, ...b } = p;
25338
- return h("svg", { ...b, innerHTML: i.innerHTML });
25339
- }, ge = defineAsyncComponent(async () => {
25340
- const o = typeof DOMParser > "u" ? (await import("./index-C5vzTwLa.js").then((n) => n.i)).DOMParser : DOMParser, t2 = ve(o);
27560
+ const c = l.documentElement, b = Ee(c.attributes), { width: n, height: h$1, ...o } = b;
27561
+ return h("svg", { ...o, innerHTML: c.innerHTML });
27562
+ }, Ae = defineAsyncComponent(async () => {
27563
+ const r2 = typeof DOMParser > "u" ? (await import("./index-C5vzTwLa.js").then((n) => n.i)).DOMParser : DOMParser, t2 = Le(r2);
25341
27564
  return t2.props = {
25342
27565
  raw: {
25343
27566
  type: String,
25344
27567
  required: true
25345
27568
  }
25346
27569
  }, t2;
25347
- }), pe = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48">
27570
+ }), Te = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48">
25348
27571
  <path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="3.429"
25349
27572
  d="M24 1.714v44.572M1.714 24h44.572" />
25350
- </svg>`, me = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32.5 23.5" fill="currentColor">
27573
+ </svg>`, Ie = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32.5 23.5" fill="currentColor">
25351
27574
  <path d="M11.2 23.5 0 12.3l2.15-2.15 9.05 9.05L30.4 0l2.15 2.15z" />
25352
- </svg>`, fe = `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
27575
+ </svg>`, Me = `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
25353
27576
  <path d="M4.5 8.25L12 15.75L19.5 8.25" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
25354
27577
  </svg>
25355
- `, we = `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
27578
+ `, Ne = `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
25356
27579
  <path d="M15.75 19.5L8.25 12L15.75 4.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
25357
27580
  </svg>
25358
- `, be = `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
27581
+ `, je = `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
25359
27582
  <path d="M8.25 19.5L15.75 12L8.25 4.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
25360
- </svg>`, _e = `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
27583
+ </svg>`, Oe = `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
25361
27584
  <path d="M19.5 15.75L12 8.25L4.5 15.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
25362
27585
  </svg>
25363
- `, ke = `<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 16 16">
27586
+ `, Be = `<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 16 16">
25364
27587
  <path d="M6,5h4c1.7,0,2-1.3,2-3c1.1,0,2,0.9,2,2v10c0,1.1-0.9,2-2,2H4c-1.1,0-2-0.9-2-2V4c0-1.1,0.9-2,2-2C4,3.7,4.3,5,6,5z M6,2V1
25365
27588
  c0-0.6,0.5-1,1-1h2c0.5,0,1,0.4,1,1v1.3C10,2.9,9.6,3,9,3H7C6.4,3,6,2.6,6,2z" />
25366
- </svg>`, xe = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 14 14">
27589
+ </svg>`, De = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 14 14">
25367
27590
  <path stroke="currentColor" d="m12.5 1.5-11 11m0-11 11 11" />
25368
- </svg>`, Ce = `<svg viewBox="0 0 10 10" xmlns="http://www.w3.org/2000/svg">
27591
+ </svg>`, Pe = `<svg viewBox="0 0 10 10" xmlns="http://www.w3.org/2000/svg">
25369
27592
  <path
25370
27593
  d="M9.557,7.243A.456.456,0,0,0,9.1,6.991C9.023,7,8.951,7,8.877,7A4,4,0,0,1,5.546.781.5.5,0,0,0,5.564.256.476.476,0,0,0,5.1,0,5,5,0,1,0,9.539,7.767.5.5,0,0,0,9.557,7.243Z"
25371
27594
  fill="currentColor" stroke="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="0"></path>
25372
- </svg>`, ye = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
27595
+ </svg>`, ze = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
25373
27596
  <path
25374
27597
  d="M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z" />
25375
- </svg>`, Le = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 9 9">
27598
+ </svg>`, Re = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 9 9">
25376
27599
  <g fill="none" fill-rule="evenodd" transform="translate(.67 .67)">
25377
27600
  <rect transform="rotate(180 4 4)" />
25378
27601
  <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width=".5"
25379
27602
  d="M2.85 1.73h3.4v3.4m0-3.4L1.74 6.24" />
25380
27603
  </g>
25381
- </svg>`, Me = `<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 1024 1024">
27604
+ </svg>`, He = `<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 1024 1024">
25382
27605
  <path
25383
27606
  d="M512 0a512 512 0 0 0-162 998c26 4 35-11 35-25l-1-95c-128 23-161-32-172-60-6-15-31-61-52-73-18-10-44-33-1-33 40-1 69 37 78 52 46 78 120 56 149 43 5-33 18-56 33-69-114-13-234-56-234-253 0-56 20-101 53-137-5-13-23-65 5-136 0 0 43-13 141 53a487 487 0 0 1 256 0c98-66 141-53 141-53 28 71 10 123 5 136 33 36 53 81 53 137 0 197-120 240-234 253 18 16 35 47 35 95l-1 140c0 14 9 30 35 25A512 512 0 0 0 512 0z" />
25384
- </svg>`, ze = `<svg
27607
+ </svg>`, $e = `<svg
25385
27608
  height="24"
25386
27609
  viewBox="0 0 24 24"
25387
27610
  width="24"
@@ -25390,7 +27613,7 @@ const he = (o) => Object.fromEntries(Array.from(o).map((t2) => [t2.name, t2.valu
25390
27613
  d="M24 12a1 1 0 0 0 -1 -1h-3.91a0.51 0.51 0 0 1 -0.49 -0.4 6.83 6.83 0 0 0 -0.94 -2.28 0.5 0.5 0 0 1 0.06 -0.63l2.77 -2.76a1 1 0 1 0 -1.42 -1.42l-2.76 2.77a0.5 0.5 0 0 1 -0.63 0.06 6.83 6.83 0 0 0 -2.28 -0.94 0.5 0.5 0 0 1 -0.4 -0.49V1a1 1 0 0 0 -2 0v3.91a0.51 0.51 0 0 1 -0.4 0.49 6.83 6.83 0 0 0 -2.28 0.94 0.5 0.5 0 0 1 -0.63 -0.06L4.93 3.51a1 1 0 0 0 -1.42 1.42l2.77 2.76a0.5 0.5 0 0 1 0.06 0.63 6.83 6.83 0 0 0 -0.94 2.28 0.5 0.5 0 0 1 -0.49 0.4H1a1 1 0 0 0 0 2h3.91a0.51 0.51 0 0 1 0.49 0.4 6.83 6.83 0 0 0 0.94 2.28 0.5 0.5 0 0 1 -0.06 0.63l-2.77 2.76a1 1 0 1 0 1.42 1.42l2.76 -2.77a0.5 0.5 0 0 1 0.63 -0.06 6.83 6.83 0 0 0 2.28 0.94 0.5 0.5 0 0 1 0.4 0.49V23a1 1 0 0 0 2 0v-3.91a0.51 0.51 0 0 1 0.4 -0.49 6.83 6.83 0 0 0 2.28 -0.94 0.5 0.5 0 0 1 0.63 0.06l2.76 2.77a1 1 0 1 0 1.42 -1.42l-2.77 -2.76a0.5 0.5 0 0 1 -0.06 -0.63 6.83 6.83 0 0 0 0.94 -2.28 0.5 0.5 0 0 1 0.49 -0.4H23a1 1 0 0 0 1 -1Zm-8.74 2.5A5.76 5.76 0 0 1 9.5 8.74a5.66 5.66 0 0 1 0.16 -1.31 0.49 0.49 0 0 1 0.34 -0.36 5.36 5.36 0 0 1 1.8 -0.31 5.47 5.47 0 0 1 5.46 5.46 5.36 5.36 0 0 1 -0.31 1.8 0.49 0.49 0 0 1 -0.35 0.32 5.53 5.53 0 0 1 -1.34 0.16Z"
25391
27614
  fill="currentColor"
25392
27615
  stroke-width="1"></path>
25393
- </svg>`, Se = `<svg viewBox="0 0 10 10" xmlns="http://www.w3.org/2000/svg">
27616
+ </svg>`, Ge = `<svg viewBox="0 0 10 10" xmlns="http://www.w3.org/2000/svg">
25394
27617
  <path d="M3.500 5.000 A1.500 1.500 0 1 0 6.500 5.000 A1.500 1.500 0 1 0 3.500 5.000 Z" fill="currentColor"
25395
27618
  stroke="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="0"></path>
25396
27619
  <path d="M5,2.25a.625.625,0,0,1-.625-.625v-1a.625.625,0,0,1,1.25,0v1A.625.625,0,0,1,5,2.25Z" fill="currentColor"
@@ -25411,41 +27634,41 @@ const he = (o) => Object.fromEntries(Array.from(o).map((t2) => [t2.name, t2.valu
25411
27634
  <path
25412
27635
  d="M3.055,3.055a.623.623,0,0,1-.883,0l-.708-.707a.625.625,0,0,1,.884-.884l.707.708A.623.623,0,0,1,3.055,3.055Z"
25413
27636
  fill="currentColor" stroke="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="0"></path>
25414
- </svg>`, Be = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 593 593">
27637
+ </svg>`, qe = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 593 593">
25415
27638
  <path fill="currentColor" fill-rule="evenodd"
25416
27639
  d="M347 0c6 0 12 5 12 12v134l94-95c5-5 13-5 17 0l72 72c4 4 5 12 0 16v1l-95 94h134c7 0 12 5 12 12v101c0 7-5 12-12 12H447l95 94c4 5 5 13 0 17l-72 72c-4 4-12 5-16 0h-1l-94-95v134c0 7-5 12-12 12H246c-7 0-12-5-12-12v-70c0-22 9-43 24-59l130-130c14-14 14-37 0-51L259 142a84 84 0 0 1-25-59V12c0-7 5-12 12-12h101ZM138 52h1l219 219c14 14 14 37 0 51L139 542c-4 5-12 5-17 0l-71-70c-4-5-5-12 0-17l95-96H12c-7 0-12-5-12-12V246c0-7 5-12 12-12h134l-95-94c-4-5-4-12 0-17l71-71c4-5 12-5 16 0Z" />
25417
- </svg>`, Ae = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 662 662">
27640
+ </svg>`, Ve = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 662 662">
25418
27641
  <path fill-rule="evenodd" fill="currentColor"
25419
27642
  d="M331 0a331 331 0 1 1 0 662 331 331 0 0 1 0-662Zm148.5 109 .6.9a187 187 0 1 1-297.6-.9 267 267 0 1 0 297 0Z" />
25420
- </svg>`, Ve = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 620 620">
27643
+ </svg>`, Fe = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 620 620">
25421
27644
  <path fill="currentColor"
25422
27645
  d="M-.653 309.29c-.078 82.272 31.848 159.735 89.739 218.178l.283.283c122.379 121.247 319.824 121.184 440.16-.283 119.967-121.1 119.409-316.933-.998-437.339l-.99-.99C468.681 30.845 390.716-1.017 307.893-.67c-82.83.354-160.443 32.994-218.814 91.79C31.209 149.555-.724 227.025-.653 309.29Zm469.271-160.789.778.778c87.9 87.9 88.325 231.005.707 319.33-77.753 78.46-199.786 87.412-288.959 26.862l198.513-198.513-.007 166.361 83.68-.07v-306.22H157.11l-.008 83.6h160.584L121.994 436.323c-59.347-87.689-50.536-208.59 26.51-286.343C236.34 61.294 379.94 60.67 468.61 148.494Z" />
25423
- </svg>`, $e = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 642 642" fill="currentColor">
27646
+ </svg>`, Ue = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 642 642" fill="currentColor">
25424
27647
  <path
25425
27648
  d="M321 0a321 321 0 1 1 0 642 321 321 0 0 1 0-642Zm51.3 63L321 189.5 269.7 63l1 136.5-95.8-97.2L228 228l-125.7-53.1 97.2 95.8-136.5-1L189.5 321 63 372.3l136.5-1-97.2 95.8 125.7-53-53.1 125.6 95.8-97.2-1 136.5L321 452.5 372.3 579l-1-136.5 95.8 97.2-53-125.7 125.6 53.1-97.2-95.8 136.5 1L452.5 321 579 269.7l-136.5 1 97.2-95.8L414 228l53.1-125.7-95.8 97.2 1-136.5Z" />
25426
- </svg>`, je = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 620 620" fill="currentColor">
27649
+ </svg>`, Ze = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 620 620" fill="currentColor">
25427
27650
  <path
25428
27651
  d="M529.2 90.8A310 310 0 1 0 90.8 529.2 310 310 0 0 0 529.2 90.8M122.4 498.2c-54.9-55-15.4-183.5 88.2-287 103.6-103.7 232.1-143.2 287-88.3 54.9 54.8 15.4 183.4-88.3 287-103.5 103.6-232 143.1-286.9 88.3m261.8-262.7A104.7 104.7 0 1 1 236 383.7a104.7 104.7 0 0 1 148.2-148.2" />
25429
- </svg>`, Te = `<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 14 14">
27652
+ </svg>`, We = `<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 14 14">
25430
27653
  <path fill="none" stroke="currentColor" d="M14 3.4H0m14 7.2H0" />
25431
- </svg>`, Ze = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 14 14">
27654
+ </svg>`, Xe = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 14 14">
25432
27655
  <path fill="currentColor" fill-rule="evenodd"
25433
27656
  d="M11.8214 0.0977942C12.1097 -0.00745677 12.4219 -0.0286524 12.7219 0.0367783C13.0248 0.102864 13.3024 0.254542 13.5216 0.47378C13.7408 0.693018 13.8925 0.970598 13.9586 1.27352C14.024 1.57344 14.0028 1.88572 13.8976 2.17395L10.3236 12.8859L10.3234 12.8866C10.2363 13.1501 10.083 13.3868 9.8781 13.574C9.6738 13.7606 9.42509 13.8918 9.15572 13.9549C8.8863 14.0206 8.60441 14.0151 8.33774 13.9389C8.07131 13.8628 7.82926 13.7187 7.63529 13.5209L5.71795 11.6124L3.70389 12.6538C3.54684 12.7351 3.35857 12.7273 3.20874 12.6334C3.05892 12.5395 2.96981 12.3735 2.9744 12.1967L3.05697 9.013L10.1019 3.8956C10.3812 3.69273 10.4432 3.30188 10.2403 3.02261C10.0374 2.74333 9.64659 2.68139 9.36731 2.88425L2.20283 8.08846L0.473125 6.35875L0.473067 6.3587L0.472941 6.35857C0.285618 6.17138 0.147716 5.9406 0.0716193 5.68694C-0.00393616 5.43509 -0.0162115 5.16853 0.0358379 4.91085C0.0879545 4.62934 0.213796 4.36664 0.400577 4.14957C0.588637 3.93101 0.83165 3.76664 1.1045 3.67345L1.10787 3.6723L1.10787 3.67231L11.8214 0.0977942Z"
25434
27657
  clip-rule="evenodd"></path>
25435
- </svg>`, De = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor">
27658
+ </svg>`, Ke = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor">
25436
27659
  <path fill-rule="evenodd"
25437
27660
  d="M12.6 11.2h.1l3 3a1 1 0 1 1-1.4 1.5l-3-3a1 1 0 0 1-.1-.1 7 7 0 1 1 1.4-1.4zM7 12A5 5 0 1 0 7 2a5 5 0 0 0 0 10z" />
25438
- </svg>`, A = /* @__PURE__ */ Object.assign({ "./Add.svg": pe, "./CheckMark.svg": me, "./ChevronDown.svg": fe, "./ChevronLeft.svg": we, "./ChevronRight.svg": be, "./ChevronUp.svg": _e, "./Clipboard.svg": ke, "./Close.svg": xe, "./DarkMode.svg": Ce, "./Ellipses.svg": ye, "./ExternalLink.svg": Le, "./GitHub.svg": Me, "./LightDarkModeToggle.svg": ze, "./LightMode.svg": Se, "./Logo.svg": Be, "./LogoAPI.svg": Ae, "./LogoClient.svg": Ve, "./LogoMarket.svg": $e, "./LogoSwagger.svg": je, "./Menu.svg": Te, "./PaperAirplane.svg": Ze, "./Search.svg": De }), Fe = (o) => {
25439
- const t2 = `./${o}.svg`;
25440
- return A[t2] === void 0 ? (console.warn(`Could not find icon: ${o}`), "") : A[t2];
25441
- }, I = /* @__PURE__ */ defineComponent({
27661
+ </svg>`, q = /* @__PURE__ */ Object.assign({ "./Add.svg": Te, "./CheckMark.svg": Ie, "./ChevronDown.svg": Me, "./ChevronLeft.svg": Ne, "./ChevronRight.svg": je, "./ChevronUp.svg": Oe, "./Clipboard.svg": Be, "./Close.svg": De, "./DarkMode.svg": Pe, "./Ellipses.svg": ze, "./ExternalLink.svg": Re, "./GitHub.svg": He, "./LightDarkModeToggle.svg": $e, "./LightMode.svg": Ge, "./Logo.svg": qe, "./LogoAPI.svg": Ve, "./LogoClient.svg": Fe, "./LogoMarket.svg": Ue, "./LogoSwagger.svg": Ze, "./Menu.svg": We, "./PaperAirplane.svg": Xe, "./Search.svg": Ke }), Ye = (r2) => {
27662
+ const t2 = `./${r2}.svg`;
27663
+ return q[t2] === void 0 ? (console.warn(`Could not find icon: ${r2}`), "") : q[t2];
27664
+ }, Y = /* @__PURE__ */ defineComponent({
25442
27665
  __name: "ScalarIcon",
25443
27666
  props: {
25444
27667
  icon: {},
25445
27668
  size: {}
25446
27669
  },
25447
- setup(o) {
25448
- const t2 = o, e = m({
27670
+ setup(r2) {
27671
+ const t2 = r2, e = N({
25449
27672
  variants: {
25450
27673
  size: {
25451
27674
  xs: "h-3 w-3",
@@ -25459,11 +27682,11 @@ const he = (o) => Object.fromEntries(Array.from(o).map((t2) => [t2.name, t2.valu
25459
27682
  defaultVariants: {
25460
27683
  size: "full"
25461
27684
  }
25462
- }), n = computed(() => Fe(t2.icon));
25463
- return (i, p) => n.value ? (openBlock(), createBlock(unref(ge), {
27685
+ }), l = computed(() => Ye(t2.icon));
27686
+ return (c, b) => l.value ? (openBlock(), createBlock(unref(Ae), {
25464
27687
  key: 0,
25465
- class: normalizeClass(unref(c)("scalar-icon", unref(e)({ size: i.size }))),
25466
- raw: n.value
27688
+ class: normalizeClass(unref(x)("scalar-icon", unref(e)({ size: c.size }))),
27689
+ raw: l.value
25467
27690
  }, null, 8, ["class", "raw"])) : createCommentVNode("", true);
25468
27691
  }
25469
27692
  });
@@ -25624,7 +27847,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
25624
27847
  onClick: addHandler
25625
27848
  }, [
25626
27849
  createElementVNode("i", _hoisted_24, [
25627
- createVNode(unref(I), { icon: "Add" })
27850
+ createVNode(unref(Y), { icon: "Add" })
25628
27851
  ]),
25629
27852
  createTextVNode(" " + toDisplayString(_ctx.addLabel), 1)
25630
27853
  ])) : createCommentVNode("", true),
@@ -25636,7 +27859,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
25636
27859
  }, [
25637
27860
  createTextVNode(" Show More "),
25638
27861
  createElementVNode("i", _hoisted_25, [
25639
- createVNode(unref(I), { icon: "ChevronDown" })
27862
+ createVNode(unref(Y), { icon: "ChevronDown" })
25640
27863
  ])
25641
27864
  ])) : createCommentVNode("", true)
25642
27865
  ])
@@ -26083,12 +28306,11 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
26083
28306
  return openBlock(), createBlock(unref(_sfc_main$j), { title: "Body" }, {
26084
28307
  default: withCtx(() => [
26085
28308
  _ctx.active ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
26086
- codeMirrorLanguage.value ? (openBlock(), createBlock(unref(CodeMirror), {
28309
+ codeMirrorLanguage.value ? (openBlock(), createBlock(unref(ft), {
26087
28310
  key: 0,
26088
28311
  content: _ctx.data,
26089
- language: codeMirrorLanguage.value,
26090
- readOnly: ""
26091
- }, null, 8, ["content", "language"])) : (openBlock(), createElementBlock("div", _hoisted_1$7, [
28312
+ lang: codeMirrorLanguage.value
28313
+ }, null, 8, ["content", "lang"])) : (openBlock(), createElementBlock("div", _hoisted_1$7, [
26092
28314
  mediaType.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
26093
28315
  createTextVNode(" No Preview Available (" + toDisplayString(mediaType.value) + ") ", 1)
26094
28316
  ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [