{"version":3,"sources":["jsdelivr-header.js","/npm/@tginternal/editor@1.15.2/dist/tolgee-editor.js"],"names":[],"mappings":"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","file":"/npm/@tginternal/editor@1.15.2/dist/tolgee-editor.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@tginternal/editor@1.15.2/dist/tolgee-editor.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","var Cs = Object.defineProperty;\nvar qs = (r, t, e) => t in r ? Cs(r, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[t] = e;\nvar Vt = (r, t, e) => (qs(r, typeof t != \"symbol\" ? t + \"\" : t, e), e);\nimport { fromCodePoint as Se, StateField as Os, RangeSetBuilder as Te, Facet as Mt, EditorState as se, StateEffect as Es, Prec as ms } from \"@codemirror/state\";\nimport { ViewPlugin as Ht, EditorView as ht, Decoration as K, hoverTooltip as As, WidgetType as Gs, Direction as Nt, logException as Ns } from \"@codemirror/view\";\nconst Ss = 1024;\nlet Bs = 0;\nclass ie {\n  constructor(t, e) {\n    this.from = t, this.to = e;\n  }\n}\nclass x {\n  /**\n  Create a new node prop type.\n  */\n  constructor(t = {}) {\n    this.id = Bs++, this.perNode = !!t.perNode, this.deserialize = t.deserialize || (() => {\n      throw new Error(\"This node type doesn't define a deserialize function\");\n    });\n  }\n  /**\n  This is meant to be used with\n  [`NodeSet.extend`](#common.NodeSet.extend) or\n  [`LRParser.configure`](#lr.ParserConfig.props) to compute\n  prop values for each node type in the set. Takes a [match\n  object](#common.NodeType^match) or function that returns undefined\n  if the node type doesn't get this prop, and the prop's value if\n  it does.\n  */\n  add(t) {\n    if (this.perNode)\n      throw new RangeError(\"Can't add per-node props to node types\");\n    return typeof t != \"function\" && (t = W.match(t)), (e) => {\n      let s = t(e);\n      return s === void 0 ? null : [this, s];\n    };\n  }\n}\nx.closedBy = new x({ deserialize: (r) => r.split(\" \") });\nx.openedBy = new x({ deserialize: (r) => r.split(\" \") });\nx.group = new x({ deserialize: (r) => r.split(\" \") });\nx.isolate = new x({ deserialize: (r) => {\n  if (r && r != \"rtl\" && r != \"ltr\" && r != \"auto\")\n    throw new RangeError(\"Invalid value for isolate: \" + r);\n  return r || \"auto\";\n} });\nx.contextHash = new x({ perNode: !0 });\nx.lookAhead = new x({ perNode: !0 });\nx.mounted = new x({ perNode: !0 });\nclass Bt {\n  constructor(t, e, s) {\n    this.tree = t, this.overlay = e, this.parser = s;\n  }\n  /**\n  @internal\n  */\n  static get(t) {\n    return t && t.props && t.props[x.mounted.id];\n  }\n}\nconst Xs = /* @__PURE__ */ Object.create(null);\nclass W {\n  /**\n  @internal\n  */\n  constructor(t, e, s, i = 0) {\n    this.name = t, this.props = e, this.id = s, this.flags = i;\n  }\n  /**\n  Define a node type.\n  */\n  static define(t) {\n    let e = t.props && t.props.length ? /* @__PURE__ */ Object.create(null) : Xs, s = (t.top ? 1 : 0) | (t.skipped ? 2 : 0) | (t.error ? 4 : 0) | (t.name == null ? 8 : 0), i = new W(t.name || \"\", e, t.id, s);\n    if (t.props) {\n      for (let n of t.props)\n        if (Array.isArray(n) || (n = n(i)), n) {\n          if (n[0].perNode)\n            throw new RangeError(\"Can't store a per-node prop on a node type\");\n          e[n[0].id] = n[1];\n        }\n    }\n    return i;\n  }\n  /**\n  Retrieves a node prop for this type. Will return `undefined` if\n  the prop isn't present on this node.\n  */\n  prop(t) {\n    return this.props[t.id];\n  }\n  /**\n  True when this is the top node of a grammar.\n  */\n  get isTop() {\n    return (this.flags & 1) > 0;\n  }\n  /**\n  True when this node is produced by a skip rule.\n  */\n  get isSkipped() {\n    return (this.flags & 2) > 0;\n  }\n  /**\n  Indicates whether this is an error node.\n  */\n  get isError() {\n    return (this.flags & 4) > 0;\n  }\n  /**\n  When true, this node type doesn't correspond to a user-declared\n  named node, for example because it is used to cache repetition.\n  */\n  get isAnonymous() {\n    return (this.flags & 8) > 0;\n  }\n  /**\n  Returns true when this node's name or one of its\n  [groups](#common.NodeProp^group) matches the given string.\n  */\n  is(t) {\n    if (typeof t == \"string\") {\n      if (this.name == t)\n        return !0;\n      let e = this.prop(x.group);\n      return e ? e.indexOf(t) > -1 : !1;\n    }\n    return this.id == t;\n  }\n  /**\n  Create a function from node types to arbitrary values by\n  specifying an object whose property names are node or\n  [group](#common.NodeProp^group) names. Often useful with\n  [`NodeProp.add`](#common.NodeProp.add). You can put multiple\n  names, separated by spaces, in a single property name to map\n  multiple node names to a single value.\n  */\n  static match(t) {\n    let e = /* @__PURE__ */ Object.create(null);\n    for (let s in t)\n      for (let i of s.split(\" \"))\n        e[i] = t[s];\n    return (s) => {\n      for (let i = s.prop(x.group), n = -1; n < (i ? i.length : 0); n++) {\n        let o = e[n < 0 ? s.name : i[n]];\n        if (o)\n          return o;\n      }\n    };\n  }\n}\nW.none = new W(\n  \"\",\n  /* @__PURE__ */ Object.create(null),\n  0,\n  8\n  /* NodeFlag.Anonymous */\n);\nclass Fe {\n  /**\n  Create a set with the given types. The `id` property of each\n  type should correspond to its position within the array.\n  */\n  constructor(t) {\n    this.types = t;\n    for (let e = 0; e < t.length; e++)\n      if (t[e].id != e)\n        throw new RangeError(\"Node type ids should correspond to array positions when creating a node set\");\n  }\n  /**\n  Create a copy of this set with some node properties added. The\n  arguments to this method can be created with\n  [`NodeProp.add`](#common.NodeProp.add).\n  */\n  extend(...t) {\n    let e = [];\n    for (let s of this.types) {\n      let i = null;\n      for (let n of t) {\n        let o = n(s);\n        o && (i || (i = Object.assign({}, s.props)), i[o[0].id] = o[1]);\n      }\n      e.push(i ? new W(s.name, i, s.id, s.flags) : s);\n    }\n    return new Fe(e);\n  }\n}\nconst vt = /* @__PURE__ */ new WeakMap(), Pe = /* @__PURE__ */ new WeakMap();\nvar v;\n(function(r) {\n  r[r.ExcludeBuffers = 1] = \"ExcludeBuffers\", r[r.IncludeAnonymous = 2] = \"IncludeAnonymous\", r[r.IgnoreMounts = 4] = \"IgnoreMounts\", r[r.IgnoreOverlays = 8] = \"IgnoreOverlays\";\n})(v || (v = {}));\nclass V {\n  /**\n  Construct a new tree. See also [`Tree.build`](#common.Tree^build).\n  */\n  constructor(t, e, s, i, n) {\n    if (this.type = t, this.children = e, this.positions = s, this.length = i, this.props = null, n && n.length) {\n      this.props = /* @__PURE__ */ Object.create(null);\n      for (let [o, l] of n)\n        this.props[typeof o == \"number\" ? o : o.id] = l;\n    }\n  }\n  /**\n  @internal\n  */\n  toString() {\n    let t = Bt.get(this);\n    if (t && !t.overlay)\n      return t.tree.toString();\n    let e = \"\";\n    for (let s of this.children) {\n      let i = s.toString();\n      i && (e && (e += \",\"), e += i);\n    }\n    return this.type.name ? (/\\W/.test(this.type.name) && !this.type.isError ? JSON.stringify(this.type.name) : this.type.name) + (e.length ? \"(\" + e + \")\" : \"\") : e;\n  }\n  /**\n  Get a [tree cursor](#common.TreeCursor) positioned at the top of\n  the tree. Mode can be used to [control](#common.IterMode) which\n  nodes the cursor visits.\n  */\n  cursor(t = 0) {\n    return new xe(this.topNode, t);\n  }\n  /**\n  Get a [tree cursor](#common.TreeCursor) pointing into this tree\n  at the given position and side (see\n  [`moveTo`](#common.TreeCursor.moveTo).\n  */\n  cursorAt(t, e = 0, s = 0) {\n    let i = vt.get(this) || this.topNode, n = new xe(i);\n    return n.moveTo(t, e), vt.set(this, n._tree), n;\n  }\n  /**\n  Get a [syntax node](#common.SyntaxNode) object for the top of the\n  tree.\n  */\n  get topNode() {\n    return new E(this, 0, 0, null);\n  }\n  /**\n  Get the [syntax node](#common.SyntaxNode) at the given position.\n  If `side` is -1, this will move into nodes that end at the\n  position. If 1, it'll move into nodes that start at the\n  position. With 0, it'll only enter nodes that cover the position\n  from both sides.\n  \n  Note that this will not enter\n  [overlays](#common.MountedTree.overlay), and you often want\n  [`resolveInner`](#common.Tree.resolveInner) instead.\n  */\n  resolve(t, e = 0) {\n    let s = Tt(vt.get(this) || this.topNode, t, e, !1);\n    return vt.set(this, s), s;\n  }\n  /**\n  Like [`resolve`](#common.Tree.resolve), but will enter\n  [overlaid](#common.MountedTree.overlay) nodes, producing a syntax node\n  pointing into the innermost overlaid tree at the given position\n  (with parent links going through all parent structure, including\n  the host trees).\n  */\n  resolveInner(t, e = 0) {\n    let s = Tt(Pe.get(this) || this.topNode, t, e, !0);\n    return Pe.set(this, s), s;\n  }\n  /**\n  In some situations, it can be useful to iterate through all\n  nodes around a position, including those in overlays that don't\n  directly cover the position. This method gives you an iterator\n  that will produce all nodes, from small to big, around the given\n  position.\n  */\n  resolveStack(t, e = 0) {\n    return Qs(this, t, e);\n  }\n  /**\n  Iterate over the tree and its children, calling `enter` for any\n  node that touches the `from`/`to` region (if given) before\n  running over such a node's children, and `leave` (if given) when\n  leaving the node. When `enter` returns `false`, that node will\n  not have its children iterated over (or `leave` called).\n  */\n  iterate(t) {\n    let { enter: e, leave: s, from: i = 0, to: n = this.length } = t, o = t.mode || 0, l = (o & v.IncludeAnonymous) > 0;\n    for (let a = this.cursor(o | v.IncludeAnonymous); ; ) {\n      let h = !1;\n      if (a.from <= n && a.to >= i && (!l && a.type.isAnonymous || e(a) !== !1)) {\n        if (a.firstChild())\n          continue;\n        h = !0;\n      }\n      for (; h && s && (l || !a.type.isAnonymous) && s(a), !a.nextSibling(); ) {\n        if (!a.parent())\n          return;\n        h = !0;\n      }\n    }\n  }\n  /**\n  Get the value of the given [node prop](#common.NodeProp) for this\n  node. Works with both per-node and per-type props.\n  */\n  prop(t) {\n    return t.perNode ? this.props ? this.props[t.id] : void 0 : this.type.prop(t);\n  }\n  /**\n  Returns the node's [per-node props](#common.NodeProp.perNode) in a\n  format that can be passed to the [`Tree`](#common.Tree)\n  constructor.\n  */\n  get propValues() {\n    let t = [];\n    if (this.props)\n      for (let e in this.props)\n        t.push([+e, this.props[e]]);\n    return t;\n  }\n  /**\n  Balance the direct children of this tree, producing a copy of\n  which may have children grouped into subtrees with type\n  [`NodeType.none`](#common.NodeType^none).\n  */\n  balance(t = {}) {\n    return this.children.length <= 8 ? this : ve(W.none, this.children, this.positions, 0, this.children.length, 0, this.length, (e, s, i) => new V(this.type, e, s, i, this.propValues), t.makeTree || ((e, s, i) => new V(W.none, e, s, i)));\n  }\n  /**\n  Build a tree from a postfix-ordered buffer of node information,\n  or a cursor over such a buffer.\n  */\n  static build(t) {\n    return Ks(t);\n  }\n}\nV.empty = new V(W.none, [], [], 0);\nclass Re {\n  constructor(t, e) {\n    this.buffer = t, this.index = e;\n  }\n  get id() {\n    return this.buffer[this.index - 4];\n  }\n  get start() {\n    return this.buffer[this.index - 3];\n  }\n  get end() {\n    return this.buffer[this.index - 2];\n  }\n  get size() {\n    return this.buffer[this.index - 1];\n  }\n  get pos() {\n    return this.index;\n  }\n  next() {\n    this.index -= 4;\n  }\n  fork() {\n    return new Re(this.buffer, this.index);\n  }\n}\nclass st {\n  /**\n  Create a tree buffer.\n  */\n  constructor(t, e, s) {\n    this.buffer = t, this.length = e, this.set = s;\n  }\n  /**\n  @internal\n  */\n  get type() {\n    return W.none;\n  }\n  /**\n  @internal\n  */\n  toString() {\n    let t = [];\n    for (let e = 0; e < this.buffer.length; )\n      t.push(this.childString(e)), e = this.buffer[e + 3];\n    return t.join(\",\");\n  }\n  /**\n  @internal\n  */\n  childString(t) {\n    let e = this.buffer[t], s = this.buffer[t + 3], i = this.set.types[e], n = i.name;\n    if (/\\W/.test(n) && !i.isError && (n = JSON.stringify(n)), t += 4, s == t)\n      return n;\n    let o = [];\n    for (; t < s; )\n      o.push(this.childString(t)), t = this.buffer[t + 3];\n    return n + \"(\" + o.join(\",\") + \")\";\n  }\n  /**\n  @internal\n  */\n  findChild(t, e, s, i, n) {\n    let { buffer: o } = this, l = -1;\n    for (let a = t; a != e && !(bs(n, i, o[a + 1], o[a + 2]) && (l = a, s > 0)); a = o[a + 3])\n      ;\n    return l;\n  }\n  /**\n  @internal\n  */\n  slice(t, e, s) {\n    let i = this.buffer, n = new Uint16Array(e - t), o = 0;\n    for (let l = t, a = 0; l < e; ) {\n      n[a++] = i[l++], n[a++] = i[l++] - s;\n      let h = n[a++] = i[l++] - s;\n      n[a++] = i[l++] - t, o = Math.max(o, h);\n    }\n    return new st(n, o, this.set);\n  }\n}\nfunction bs(r, t, e, s) {\n  switch (r) {\n    case -2:\n      return e < t;\n    case -1:\n      return s >= t && e < t;\n    case 0:\n      return e < t && s > t;\n    case 1:\n      return e <= t && s > t;\n    case 2:\n      return s > t;\n    case 4:\n      return !0;\n  }\n}\nfunction Tt(r, t, e, s) {\n  for (var i; r.from == r.to || (e < 1 ? r.from >= t : r.from > t) || (e > -1 ? r.to <= t : r.to < t); ) {\n    let o = !s && r instanceof E && r.index < 0 ? null : r.parent;\n    if (!o)\n      return r;\n    r = o;\n  }\n  let n = s ? 0 : v.IgnoreOverlays;\n  if (s)\n    for (let o = r, l = o.parent; l; o = l, l = o.parent)\n      o instanceof E && o.index < 0 && ((i = l.enter(t, e, n)) === null || i === void 0 ? void 0 : i.from) != o.from && (r = l);\n  for (; ; ) {\n    let o = r.enter(t, e, n);\n    if (!o)\n      return r;\n    r = o;\n  }\n}\nclass xs {\n  cursor(t = 0) {\n    return new xe(this, t);\n  }\n  getChild(t, e = null, s = null) {\n    let i = Ce(this, t, e, s);\n    return i.length ? i[0] : null;\n  }\n  getChildren(t, e = null, s = null) {\n    return Ce(this, t, e, s);\n  }\n  resolve(t, e = 0) {\n    return Tt(this, t, e, !1);\n  }\n  resolveInner(t, e = 0) {\n    return Tt(this, t, e, !0);\n  }\n  matchContext(t) {\n    return be(this, t);\n  }\n  enterUnfinishedNodesBefore(t) {\n    let e = this.childBefore(t), s = this;\n    for (; e; ) {\n      let i = e.lastChild;\n      if (!i || i.to != e.to)\n        break;\n      i.type.isError && i.from == i.to ? (s = e, e = i.prevSibling) : e = i;\n    }\n    return s;\n  }\n  get node() {\n    return this;\n  }\n  get next() {\n    return this.parent;\n  }\n}\nclass E extends xs {\n  constructor(t, e, s, i) {\n    super(), this._tree = t, this.from = e, this.index = s, this._parent = i;\n  }\n  get type() {\n    return this._tree.type;\n  }\n  get name() {\n    return this._tree.type.name;\n  }\n  get to() {\n    return this.from + this._tree.length;\n  }\n  nextChild(t, e, s, i, n = 0) {\n    for (let o = this; ; ) {\n      for (let { children: l, positions: a } = o._tree, h = e > 0 ? l.length : -1; t != h; t += e) {\n        let u = l[t], $ = a[t] + o.from;\n        if (bs(i, s, $, $ + u.length)) {\n          if (u instanceof st) {\n            if (n & v.ExcludeBuffers)\n              continue;\n            let f = u.findChild(0, u.buffer.length, e, s - $, i);\n            if (f > -1)\n              return new et(new _s(o, u, t, $), null, f);\n          } else if (n & v.IncludeAnonymous || !u.type.isAnonymous || Ve(u)) {\n            let f;\n            if (!(n & v.IgnoreMounts) && (f = Bt.get(u)) && !f.overlay)\n              return new E(f.tree, $, t, o);\n            let c = new E(u, $, t, o);\n            return n & v.IncludeAnonymous || !c.type.isAnonymous ? c : c.nextChild(e < 0 ? u.children.length - 1 : 0, e, s, i);\n          }\n        }\n      }\n      if (n & v.IncludeAnonymous || !o.type.isAnonymous || (o.index >= 0 ? t = o.index + e : t = e < 0 ? -1 : o._parent._tree.children.length, o = o._parent, !o))\n        return null;\n    }\n  }\n  get firstChild() {\n    return this.nextChild(\n      0,\n      1,\n      0,\n      4\n      /* Side.DontCare */\n    );\n  }\n  get lastChild() {\n    return this.nextChild(\n      this._tree.children.length - 1,\n      -1,\n      0,\n      4\n      /* Side.DontCare */\n    );\n  }\n  childAfter(t) {\n    return this.nextChild(\n      0,\n      1,\n      t,\n      2\n      /* Side.After */\n    );\n  }\n  childBefore(t) {\n    return this.nextChild(\n      this._tree.children.length - 1,\n      -1,\n      t,\n      -2\n      /* Side.Before */\n    );\n  }\n  enter(t, e, s = 0) {\n    let i;\n    if (!(s & v.IgnoreOverlays) && (i = Bt.get(this._tree)) && i.overlay) {\n      let n = t - this.from;\n      for (let { from: o, to: l } of i.overlay)\n        if ((e > 0 ? o <= n : o < n) && (e < 0 ? l >= n : l > n))\n          return new E(i.tree, i.overlay[0].from + this.from, -1, this);\n    }\n    return this.nextChild(0, 1, t, e, s);\n  }\n  nextSignificantParent() {\n    let t = this;\n    for (; t.type.isAnonymous && t._parent; )\n      t = t._parent;\n    return t;\n  }\n  get parent() {\n    return this._parent ? this._parent.nextSignificantParent() : null;\n  }\n  get nextSibling() {\n    return this._parent && this.index >= 0 ? this._parent.nextChild(\n      this.index + 1,\n      1,\n      0,\n      4\n      /* Side.DontCare */\n    ) : null;\n  }\n  get prevSibling() {\n    return this._parent && this.index >= 0 ? this._parent.nextChild(\n      this.index - 1,\n      -1,\n      0,\n      4\n      /* Side.DontCare */\n    ) : null;\n  }\n  get tree() {\n    return this._tree;\n  }\n  toTree() {\n    return this._tree;\n  }\n  /**\n  @internal\n  */\n  toString() {\n    return this._tree.toString();\n  }\n}\nfunction Ce(r, t, e, s) {\n  let i = r.cursor(), n = [];\n  if (!i.firstChild())\n    return n;\n  if (e != null) {\n    for (; !i.type.is(e); )\n      if (!i.nextSibling())\n        return n;\n  }\n  for (; ; ) {\n    if (s != null && i.type.is(s))\n      return n;\n    if (i.type.is(t) && n.push(i.node), !i.nextSibling())\n      return s == null ? n : [];\n  }\n}\nfunction be(r, t, e = t.length - 1) {\n  for (let s = r.parent; e >= 0; s = s.parent) {\n    if (!s)\n      return !1;\n    if (!s.type.isAnonymous) {\n      if (t[e] && t[e] != s.name)\n        return !1;\n      e--;\n    }\n  }\n  return !0;\n}\nclass _s {\n  constructor(t, e, s, i) {\n    this.parent = t, this.buffer = e, this.index = s, this.start = i;\n  }\n}\nclass et extends xs {\n  get name() {\n    return this.type.name;\n  }\n  get from() {\n    return this.context.start + this.context.buffer.buffer[this.index + 1];\n  }\n  get to() {\n    return this.context.start + this.context.buffer.buffer[this.index + 2];\n  }\n  constructor(t, e, s) {\n    super(), this.context = t, this._parent = e, this.index = s, this.type = t.buffer.set.types[t.buffer.buffer[s]];\n  }\n  child(t, e, s) {\n    let { buffer: i } = this.context, n = i.findChild(this.index + 4, i.buffer[this.index + 3], t, e - this.context.start, s);\n    return n < 0 ? null : new et(this.context, this, n);\n  }\n  get firstChild() {\n    return this.child(\n      1,\n      0,\n      4\n      /* Side.DontCare */\n    );\n  }\n  get lastChild() {\n    return this.child(\n      -1,\n      0,\n      4\n      /* Side.DontCare */\n    );\n  }\n  childAfter(t) {\n    return this.child(\n      1,\n      t,\n      2\n      /* Side.After */\n    );\n  }\n  childBefore(t) {\n    return this.child(\n      -1,\n      t,\n      -2\n      /* Side.Before */\n    );\n  }\n  enter(t, e, s = 0) {\n    if (s & v.ExcludeBuffers)\n      return null;\n    let { buffer: i } = this.context, n = i.findChild(this.index + 4, i.buffer[this.index + 3], e > 0 ? 1 : -1, t - this.context.start, e);\n    return n < 0 ? null : new et(this.context, this, n);\n  }\n  get parent() {\n    return this._parent || this.context.parent.nextSignificantParent();\n  }\n  externalSibling(t) {\n    return this._parent ? null : this.context.parent.nextChild(\n      this.context.index + t,\n      t,\n      0,\n      4\n      /* Side.DontCare */\n    );\n  }\n  get nextSibling() {\n    let { buffer: t } = this.context, e = t.buffer[this.index + 3];\n    return e < (this._parent ? t.buffer[this._parent.index + 3] : t.buffer.length) ? new et(this.context, this._parent, e) : this.externalSibling(1);\n  }\n  get prevSibling() {\n    let { buffer: t } = this.context, e = this._parent ? this._parent.index + 4 : 0;\n    return this.index == e ? this.externalSibling(-1) : new et(this.context, this._parent, t.findChild(\n      e,\n      this.index,\n      -1,\n      0,\n      4\n      /* Side.DontCare */\n    ));\n  }\n  get tree() {\n    return null;\n  }\n  toTree() {\n    let t = [], e = [], { buffer: s } = this.context, i = this.index + 4, n = s.buffer[this.index + 3];\n    if (n > i) {\n      let o = s.buffer[this.index + 1];\n      t.push(s.slice(i, n, o)), e.push(0);\n    }\n    return new V(this.type, t, e, this.to - this.from);\n  }\n  /**\n  @internal\n  */\n  toString() {\n    return this.context.buffer.childString(this.index);\n  }\n}\nfunction ks(r) {\n  if (!r.length)\n    return null;\n  let t = 0, e = r[0];\n  for (let n = 1; n < r.length; n++) {\n    let o = r[n];\n    (o.from > e.from || o.to < e.to) && (e = o, t = n);\n  }\n  let s = e instanceof E && e.index < 0 ? null : e.parent, i = r.slice();\n  return s ? i[t] = s : i.splice(t, 1), new Ys(i, e);\n}\nclass Ys {\n  constructor(t, e) {\n    this.heads = t, this.node = e;\n  }\n  get next() {\n    return ks(this.heads);\n  }\n}\nfunction Qs(r, t, e) {\n  let s = r.resolveInner(t, e), i = null;\n  for (let n = s instanceof E ? s : s.context.parent; n; n = n.parent)\n    if (n.index < 0) {\n      let o = n.parent;\n      (i || (i = [s])).push(o.resolve(t, e)), n = o;\n    } else {\n      let o = Bt.get(n.tree);\n      if (o && o.overlay && o.overlay[0].from <= t && o.overlay[o.overlay.length - 1].to >= t) {\n        let l = new E(o.tree, o.overlay[0].from + n.from, -1, n);\n        (i || (i = [s])).push(Tt(l, t, e, !1));\n      }\n    }\n  return i ? ks(i) : s;\n}\nclass xe {\n  /**\n  Shorthand for `.type.name`.\n  */\n  get name() {\n    return this.type.name;\n  }\n  /**\n  @internal\n  */\n  constructor(t, e = 0) {\n    if (this.mode = e, this.buffer = null, this.stack = [], this.index = 0, this.bufferNode = null, t instanceof E)\n      this.yieldNode(t);\n    else {\n      this._tree = t.context.parent, this.buffer = t.context;\n      for (let s = t._parent; s; s = s._parent)\n        this.stack.unshift(s.index);\n      this.bufferNode = t, this.yieldBuf(t.index);\n    }\n  }\n  yieldNode(t) {\n    return t ? (this._tree = t, this.type = t.type, this.from = t.from, this.to = t.to, !0) : !1;\n  }\n  yieldBuf(t, e) {\n    this.index = t;\n    let { start: s, buffer: i } = this.buffer;\n    return this.type = e || i.set.types[i.buffer[t]], this.from = s + i.buffer[t + 1], this.to = s + i.buffer[t + 2], !0;\n  }\n  /**\n  @internal\n  */\n  yield(t) {\n    return t ? t instanceof E ? (this.buffer = null, this.yieldNode(t)) : (this.buffer = t.context, this.yieldBuf(t.index, t.type)) : !1;\n  }\n  /**\n  @internal\n  */\n  toString() {\n    return this.buffer ? this.buffer.buffer.childString(this.index) : this._tree.toString();\n  }\n  /**\n  @internal\n  */\n  enterChild(t, e, s) {\n    if (!this.buffer)\n      return this.yield(this._tree.nextChild(t < 0 ? this._tree._tree.children.length - 1 : 0, t, e, s, this.mode));\n    let { buffer: i } = this.buffer, n = i.findChild(this.index + 4, i.buffer[this.index + 3], t, e - this.buffer.start, s);\n    return n < 0 ? !1 : (this.stack.push(this.index), this.yieldBuf(n));\n  }\n  /**\n  Move the cursor to this node's first child. When this returns\n  false, the node has no child, and the cursor has not been moved.\n  */\n  firstChild() {\n    return this.enterChild(\n      1,\n      0,\n      4\n      /* Side.DontCare */\n    );\n  }\n  /**\n  Move the cursor to this node's last child.\n  */\n  lastChild() {\n    return this.enterChild(\n      -1,\n      0,\n      4\n      /* Side.DontCare */\n    );\n  }\n  /**\n  Move the cursor to the first child that ends after `pos`.\n  */\n  childAfter(t) {\n    return this.enterChild(\n      1,\n      t,\n      2\n      /* Side.After */\n    );\n  }\n  /**\n  Move to the last child that starts before `pos`.\n  */\n  childBefore(t) {\n    return this.enterChild(\n      -1,\n      t,\n      -2\n      /* Side.Before */\n    );\n  }\n  /**\n  Move the cursor to the child around `pos`. If side is -1 the\n  child may end at that position, when 1 it may start there. This\n  will also enter [overlaid](#common.MountedTree.overlay)\n  [mounted](#common.NodeProp^mounted) trees unless `overlays` is\n  set to false.\n  */\n  enter(t, e, s = this.mode) {\n    return this.buffer ? s & v.ExcludeBuffers ? !1 : this.enterChild(1, t, e) : this.yield(this._tree.enter(t, e, s));\n  }\n  /**\n  Move to the node's parent node, if this isn't the top node.\n  */\n  parent() {\n    if (!this.buffer)\n      return this.yieldNode(this.mode & v.IncludeAnonymous ? this._tree._parent : this._tree.parent);\n    if (this.stack.length)\n      return this.yieldBuf(this.stack.pop());\n    let t = this.mode & v.IncludeAnonymous ? this.buffer.parent : this.buffer.parent.nextSignificantParent();\n    return this.buffer = null, this.yieldNode(t);\n  }\n  /**\n  @internal\n  */\n  sibling(t) {\n    if (!this.buffer)\n      return this._tree._parent ? this.yield(this._tree.index < 0 ? null : this._tree._parent.nextChild(this._tree.index + t, t, 0, 4, this.mode)) : !1;\n    let { buffer: e } = this.buffer, s = this.stack.length - 1;\n    if (t < 0) {\n      let i = s < 0 ? 0 : this.stack[s] + 4;\n      if (this.index != i)\n        return this.yieldBuf(e.findChild(\n          i,\n          this.index,\n          -1,\n          0,\n          4\n          /* Side.DontCare */\n        ));\n    } else {\n      let i = e.buffer[this.index + 3];\n      if (i < (s < 0 ? e.buffer.length : e.buffer[this.stack[s] + 3]))\n        return this.yieldBuf(i);\n    }\n    return s < 0 ? this.yield(this.buffer.parent.nextChild(this.buffer.index + t, t, 0, 4, this.mode)) : !1;\n  }\n  /**\n  Move to this node's next sibling, if any.\n  */\n  nextSibling() {\n    return this.sibling(1);\n  }\n  /**\n  Move to this node's previous sibling, if any.\n  */\n  prevSibling() {\n    return this.sibling(-1);\n  }\n  atLastNode(t) {\n    let e, s, { buffer: i } = this;\n    if (i) {\n      if (t > 0) {\n        if (this.index < i.buffer.buffer.length)\n          return !1;\n      } else\n        for (let n = 0; n < this.index; n++)\n          if (i.buffer.buffer[n + 3] < this.index)\n            return !1;\n      ({ index: e, parent: s } = i);\n    } else\n      ({ index: e, _parent: s } = this._tree);\n    for (; s; { index: e, _parent: s } = s)\n      if (e > -1)\n        for (let n = e + t, o = t < 0 ? -1 : s._tree.children.length; n != o; n += t) {\n          let l = s._tree.children[n];\n          if (this.mode & v.IncludeAnonymous || l instanceof st || !l.type.isAnonymous || Ve(l))\n            return !1;\n        }\n    return !0;\n  }\n  move(t, e) {\n    if (e && this.enterChild(\n      t,\n      0,\n      4\n      /* Side.DontCare */\n    ))\n      return !0;\n    for (; ; ) {\n      if (this.sibling(t))\n        return !0;\n      if (this.atLastNode(t) || !this.parent())\n        return !1;\n    }\n  }\n  /**\n  Move to the next node in a\n  [pre-order](https://en.wikipedia.org/wiki/Tree_traversal#Pre-order,_NLR)\n  traversal, going from a node to its first child or, if the\n  current node is empty or `enter` is false, its next sibling or\n  the next sibling of the first parent node that has one.\n  */\n  next(t = !0) {\n    return this.move(1, t);\n  }\n  /**\n  Move to the next node in a last-to-first pre-order traveral. A\n  node is followed by its last child or, if it has none, its\n  previous sibling or the previous sibling of the first parent\n  node that has one.\n  */\n  prev(t = !0) {\n    return this.move(-1, t);\n  }\n  /**\n  Move the cursor to the innermost node that covers `pos`. If\n  `side` is -1, it will enter nodes that end at `pos`. If it is 1,\n  it will enter nodes that start at `pos`.\n  */\n  moveTo(t, e = 0) {\n    for (; (this.from == this.to || (e < 1 ? this.from >= t : this.from > t) || (e > -1 ? this.to <= t : this.to < t)) && this.parent(); )\n      ;\n    for (; this.enterChild(1, t, e); )\n      ;\n    return this;\n  }\n  /**\n  Get a [syntax node](#common.SyntaxNode) at the cursor's current\n  position.\n  */\n  get node() {\n    if (!this.buffer)\n      return this._tree;\n    let t = this.bufferNode, e = null, s = 0;\n    if (t && t.context == this.buffer)\n      t:\n        for (let i = this.index, n = this.stack.length; n >= 0; ) {\n          for (let o = t; o; o = o._parent)\n            if (o.index == i) {\n              if (i == this.index)\n                return o;\n              e = o, s = n + 1;\n              break t;\n            }\n          i = this.stack[--n];\n        }\n    for (let i = s; i < this.stack.length; i++)\n      e = new et(this.buffer, e, this.stack[i]);\n    return this.bufferNode = new et(this.buffer, e, this.index);\n  }\n  /**\n  Get the [tree](#common.Tree) that represents the current node, if\n  any. Will return null when the node is in a [tree\n  buffer](#common.TreeBuffer).\n  */\n  get tree() {\n    return this.buffer ? null : this._tree._tree;\n  }\n  /**\n  Iterate over the current node and all its descendants, calling\n  `enter` when entering a node and `leave`, if given, when leaving\n  one. When `enter` returns `false`, any children of that node are\n  skipped, and `leave` isn't called for it.\n  */\n  iterate(t, e) {\n    for (let s = 0; ; ) {\n      let i = !1;\n      if (this.type.isAnonymous || t(this) !== !1) {\n        if (this.firstChild()) {\n          s++;\n          continue;\n        }\n        this.type.isAnonymous || (i = !0);\n      }\n      for (; i && e && e(this), i = this.type.isAnonymous, !this.nextSibling(); ) {\n        if (!s)\n          return;\n        this.parent(), s--, i = !0;\n      }\n    }\n  }\n  /**\n  Test whether the current node matches a given context—a sequence\n  of direct parent node names. Empty strings in the context array\n  are treated as wildcards.\n  */\n  matchContext(t) {\n    if (!this.buffer)\n      return be(this.node, t);\n    let { buffer: e } = this.buffer, { types: s } = e.set;\n    for (let i = t.length - 1, n = this.stack.length - 1; i >= 0; n--) {\n      if (n < 0)\n        return be(this.node, t, i);\n      let o = s[e.buffer[this.stack[n]]];\n      if (!o.isAnonymous) {\n        if (t[i] && t[i] != o.name)\n          return !1;\n        i--;\n      }\n    }\n    return !0;\n  }\n}\nfunction Ve(r) {\n  return r.children.some((t) => t instanceof st || !t.type.isAnonymous || Ve(t));\n}\nfunction Ks(r) {\n  var t;\n  let { buffer: e, nodeSet: s, maxBufferLength: i = Ss, reused: n = [], minRepeatType: o = s.types.length } = r, l = Array.isArray(e) ? new Re(e, e.length) : e, a = s.types, h = 0, u = 0;\n  function $(S, y, j, T, k, b) {\n    let { id: g, start: O, end: F, size: w } = l, D = u;\n    for (; w < 0; )\n      if (l.next(), w == -1) {\n        let Z = n[g];\n        j.push(Z), T.push(O - S);\n        return;\n      } else if (w == -3) {\n        h = g;\n        return;\n      } else if (w == -4) {\n        u = g;\n        return;\n      } else\n        throw new RangeError(`Unrecognized record size: ${w}`);\n    let it = a[g], $t, rt, De = O - S;\n    if (F - O <= i && (rt = R(l.pos - y, k))) {\n      let Z = new Uint16Array(rt.size - rt.skip), C = l.pos - rt.size, B = Z.length;\n      for (; l.pos > C; )\n        B = I(rt.start, Z, B);\n      $t = new st(Z, F - rt.start, s), De = rt.start - S;\n    } else {\n      let Z = l.pos - w;\n      l.next();\n      let C = [], B = [], nt = g >= o ? g : -1, ft = 0, Rt = F;\n      for (; l.pos > Z; )\n        nt >= 0 && l.id == nt && l.size >= 0 ? (l.end <= Rt - i && (d(C, B, O, ft, l.end, Rt, nt, D), ft = C.length, Rt = l.end), l.next()) : b > 2500 ? f(O, Z, C, B) : $(O, Z, C, B, nt, b + 1);\n      if (nt >= 0 && ft > 0 && ft < C.length && d(C, B, O, ft, O, Rt, nt, D), C.reverse(), B.reverse(), nt > -1 && ft > 0) {\n        let We = c(it);\n        $t = ve(it, C, B, 0, C.length, 0, F - O, We, We);\n      } else\n        $t = m(it, C, B, F - O, D - F);\n    }\n    j.push($t), T.push(De);\n  }\n  function f(S, y, j, T) {\n    let k = [], b = 0, g = -1;\n    for (; l.pos > y; ) {\n      let { id: O, start: F, end: w, size: D } = l;\n      if (D > 4)\n        l.next();\n      else {\n        if (g > -1 && F < g)\n          break;\n        g < 0 && (g = w - i), k.push(O, F, w), b++, l.next();\n      }\n    }\n    if (b) {\n      let O = new Uint16Array(b * 4), F = k[k.length - 2];\n      for (let w = k.length - 3, D = 0; w >= 0; w -= 3)\n        O[D++] = k[w], O[D++] = k[w + 1] - F, O[D++] = k[w + 2] - F, O[D++] = D;\n      j.push(new st(O, k[2] - F, s)), T.push(F - S);\n    }\n  }\n  function c(S) {\n    return (y, j, T) => {\n      let k = 0, b = y.length - 1, g, O;\n      if (b >= 0 && (g = y[b]) instanceof V) {\n        if (!b && g.type == S && g.length == T)\n          return g;\n        (O = g.prop(x.lookAhead)) && (k = j[b] + g.length + O);\n      }\n      return m(S, y, j, T, k);\n    };\n  }\n  function d(S, y, j, T, k, b, g, O) {\n    let F = [], w = [];\n    for (; S.length > T; )\n      F.push(S.pop()), w.push(y.pop() + j - k);\n    S.push(m(s.types[g], F, w, b - k, O - b)), y.push(k - j);\n  }\n  function m(S, y, j, T, k = 0, b) {\n    if (h) {\n      let g = [x.contextHash, h];\n      b = b ? [g].concat(b) : [g];\n    }\n    if (k > 25) {\n      let g = [x.lookAhead, k];\n      b = b ? [g].concat(b) : [g];\n    }\n    return new V(S, y, j, T, b);\n  }\n  function R(S, y) {\n    let j = l.fork(), T = 0, k = 0, b = 0, g = j.end - i, O = { size: 0, start: 0, skip: 0 };\n    t:\n      for (let F = j.pos - S; j.pos > F; ) {\n        let w = j.size;\n        if (j.id == y && w >= 0) {\n          O.size = T, O.start = k, O.skip = b, b += 4, T += 4, j.next();\n          continue;\n        }\n        let D = j.pos - w;\n        if (w < 0 || D < F || j.start < g)\n          break;\n        let it = j.id >= o ? 4 : 0, $t = j.start;\n        for (j.next(); j.pos > D; ) {\n          if (j.size < 0)\n            if (j.size == -3)\n              it += 4;\n            else\n              break t;\n          else\n            j.id >= o && (it += 4);\n          j.next();\n        }\n        k = $t, T += w, b += it;\n      }\n    return (y < 0 || T == S) && (O.size = T, O.start = k, O.skip = b), O.size > 4 ? O : void 0;\n  }\n  function I(S, y, j) {\n    let { id: T, start: k, end: b, size: g } = l;\n    if (l.next(), g >= 0 && T < o) {\n      let O = j;\n      if (g > 4) {\n        let F = l.pos - (g - 4);\n        for (; l.pos > F; )\n          j = I(S, y, j);\n      }\n      y[--j] = O, y[--j] = b - S, y[--j] = k - S, y[--j] = T;\n    } else\n      g == -3 ? h = T : g == -4 && (u = T);\n    return j;\n  }\n  let z = [], J = [];\n  for (; l.pos > 0; )\n    $(r.start || 0, r.bufferStart || 0, z, J, -1, 0);\n  let N = (t = r.length) !== null && t !== void 0 ? t : z.length ? J[0] + z[0].length : 0;\n  return new V(a[r.topID], z.reverse(), J.reverse(), N);\n}\nconst qe = /* @__PURE__ */ new WeakMap();\nfunction At(r, t) {\n  if (!r.isAnonymous || t instanceof st || t.type != r)\n    return 1;\n  let e = qe.get(t);\n  if (e == null) {\n    e = 1;\n    for (let s of t.children) {\n      if (s.type != r || !(s instanceof V)) {\n        e = 1;\n        break;\n      }\n      e += At(r, s);\n    }\n    qe.set(t, e);\n  }\n  return e;\n}\nfunction ve(r, t, e, s, i, n, o, l, a) {\n  let h = 0;\n  for (let d = s; d < i; d++)\n    h += At(r, t[d]);\n  let u = Math.ceil(\n    h * 1.5 / 8\n    /* Balance.BranchFactor */\n  ), $ = [], f = [];\n  function c(d, m, R, I, z) {\n    for (let J = R; J < I; ) {\n      let N = J, S = m[J], y = At(r, d[J]);\n      for (J++; J < I; J++) {\n        let j = At(r, d[J]);\n        if (y + j >= u)\n          break;\n        y += j;\n      }\n      if (J == N + 1) {\n        if (y > u) {\n          let j = d[N];\n          c(j.children, j.positions, 0, j.children.length, m[N] + z);\n          continue;\n        }\n        $.push(d[N]);\n      } else {\n        let j = m[J - 1] + d[J - 1].length - S;\n        $.push(ve(r, d, m, N, J, S, j, null, a));\n      }\n      f.push(S + z - n);\n    }\n  }\n  return c(t, e, s, i, 0), (l || a)($, f, o);\n}\nclass ut {\n  /**\n  Construct a tree fragment. You'll usually want to use\n  [`addTree`](#common.TreeFragment^addTree) and\n  [`applyChanges`](#common.TreeFragment^applyChanges) instead of\n  calling this directly.\n  */\n  constructor(t, e, s, i, n = !1, o = !1) {\n    this.from = t, this.to = e, this.tree = s, this.offset = i, this.open = (n ? 1 : 0) | (o ? 2 : 0);\n  }\n  /**\n  Whether the start of the fragment represents the start of a\n  parse, or the end of a change. (In the second case, it may not\n  be safe to reuse some nodes at the start, depending on the\n  parsing algorithm.)\n  */\n  get openStart() {\n    return (this.open & 1) > 0;\n  }\n  /**\n  Whether the end of the fragment represents the end of a\n  full-document parse, or the start of a change.\n  */\n  get openEnd() {\n    return (this.open & 2) > 0;\n  }\n  /**\n  Create a set of fragments from a freshly parsed tree, or update\n  an existing set of fragments by replacing the ones that overlap\n  with a tree with content from the new tree. When `partial` is\n  true, the parse is treated as incomplete, and the resulting\n  fragment has [`openEnd`](#common.TreeFragment.openEnd) set to\n  true.\n  */\n  static addTree(t, e = [], s = !1) {\n    let i = [new ut(0, t.length, t, 0, !1, s)];\n    for (let n of e)\n      n.to > t.length && i.push(n);\n    return i;\n  }\n  /**\n  Apply a set of edits to an array of fragments, removing or\n  splitting fragments as necessary to remove edited ranges, and\n  adjusting offsets for fragments that moved.\n  */\n  static applyChanges(t, e, s = 128) {\n    if (!e.length)\n      return t;\n    let i = [], n = 1, o = t.length ? t[0] : null;\n    for (let l = 0, a = 0, h = 0; ; l++) {\n      let u = l < e.length ? e[l] : null, $ = u ? u.fromA : 1e9;\n      if ($ - a >= s)\n        for (; o && o.from < $; ) {\n          let f = o;\n          if (a >= f.from || $ <= f.to || h) {\n            let c = Math.max(f.from, a) - h, d = Math.min(f.to, $) - h;\n            f = c >= d ? null : new ut(c, d, f.tree, f.offset + h, l > 0, !!u);\n          }\n          if (f && i.push(f), o.to > $)\n            break;\n          o = n < t.length ? t[n++] : null;\n        }\n      if (!u)\n        break;\n      a = u.toA, h = u.toA - u.toB;\n    }\n    return i;\n  }\n}\nclass ys {\n  /**\n  Start a parse, returning a [partial parse](#common.PartialParse)\n  object. [`fragments`](#common.TreeFragment) can be passed in to\n  make the parse incremental.\n  \n  By default, the entire input is parsed. You can pass `ranges`,\n  which should be a sorted array of non-empty, non-overlapping\n  ranges, to parse only those ranges. The tree returned in that\n  case will start at `ranges[0].from`.\n  */\n  startParse(t, e, s) {\n    return typeof t == \"string\" && (t = new Zs(t)), s = s ? s.length ? s.map((i) => new ie(i.from, i.to)) : [new ie(0, 0)] : [new ie(0, t.length)], this.createParse(t, e || [], s);\n  }\n  /**\n  Run a full parse, returning the resulting tree.\n  */\n  parse(t, e, s) {\n    let i = this.startParse(t, e, s);\n    for (; ; ) {\n      let n = i.advance();\n      if (n)\n        return n;\n    }\n  }\n}\nclass Zs {\n  constructor(t) {\n    this.string = t;\n  }\n  get length() {\n    return this.string.length;\n  }\n  chunk(t) {\n    return this.string.slice(t);\n  }\n  get lineChunks() {\n    return !1;\n  }\n  read(t, e) {\n    return this.string.slice(t, e);\n  }\n}\nnew x({ perNode: !0 });\nclass Xt {\n  /**\n  @internal\n  */\n  constructor(t, e, s, i, n, o, l, a, h, u = 0, $) {\n    this.p = t, this.stack = e, this.state = s, this.reducePos = i, this.pos = n, this.score = o, this.buffer = l, this.bufferBase = a, this.curContext = h, this.lookAhead = u, this.parent = $;\n  }\n  /**\n  @internal\n  */\n  toString() {\n    return `[${this.stack.filter((t, e) => e % 3 == 0).concat(this.state)}]@${this.pos}${this.score ? \"!\" + this.score : \"\"}`;\n  }\n  // Start an empty stack\n  /**\n  @internal\n  */\n  static start(t, e, s = 0) {\n    let i = t.parser.context;\n    return new Xt(t, [], e, s, s, 0, [], 0, i ? new Ee(i, i.start) : null, 0, null);\n  }\n  /**\n  The stack's current [context](#lr.ContextTracker) value, if\n  any. Its type will depend on the context tracker's type\n  parameter, or it will be `null` if there is no context\n  tracker.\n  */\n  get context() {\n    return this.curContext ? this.curContext.context : null;\n  }\n  // Push a state onto the stack, tracking its start position as well\n  // as the buffer base at that point.\n  /**\n  @internal\n  */\n  pushState(t, e) {\n    this.stack.push(this.state, e, this.bufferBase + this.buffer.length), this.state = t;\n  }\n  // Apply a reduce action\n  /**\n  @internal\n  */\n  reduce(t) {\n    var e;\n    let s = t >> 19, i = t & 65535, { parser: n } = this.p, o = n.dynamicPrecedence(i);\n    if (o && (this.score += o), s == 0) {\n      this.pushState(n.getGoto(this.state, i, !0), this.reducePos), i < n.minRepeatTerm && this.storeNode(i, this.reducePos, this.reducePos, 4, !0), this.reduceContext(i, this.reducePos);\n      return;\n    }\n    let l = this.stack.length - (s - 1) * 3 - (t & 262144 ? 6 : 0), a = l ? this.stack[l - 2] : this.p.ranges[0].from, h = this.reducePos - a;\n    h >= 2e3 && !(!((e = this.p.parser.nodeSet.types[i]) === null || e === void 0) && e.isAnonymous) && (a == this.p.lastBigReductionStart ? (this.p.bigReductionCount++, this.p.lastBigReductionSize = h) : this.p.lastBigReductionSize < h && (this.p.bigReductionCount = 1, this.p.lastBigReductionStart = a, this.p.lastBigReductionSize = h));\n    let u = l ? this.stack[l - 1] : 0, $ = this.bufferBase + this.buffer.length - u;\n    if (i < n.minRepeatTerm || t & 131072) {\n      let f = n.stateFlag(\n        this.state,\n        1\n        /* StateFlag.Skipped */\n      ) ? this.pos : this.reducePos;\n      this.storeNode(i, a, f, $ + 4, !0);\n    }\n    if (t & 262144)\n      this.state = this.stack[l];\n    else {\n      let f = this.stack[l - 3];\n      this.state = n.getGoto(f, i, !0);\n    }\n    for (; this.stack.length > l; )\n      this.stack.pop();\n    this.reduceContext(i, a);\n  }\n  // Shift a value into the buffer\n  /**\n  @internal\n  */\n  storeNode(t, e, s, i = 4, n = !1) {\n    if (t == 0 && (!this.stack.length || this.stack[this.stack.length - 1] < this.buffer.length + this.bufferBase)) {\n      let o = this, l = this.buffer.length;\n      if (l == 0 && o.parent && (l = o.bufferBase - o.parent.bufferBase, o = o.parent), l > 0 && o.buffer[l - 4] == 0 && o.buffer[l - 1] > -1) {\n        if (e == s)\n          return;\n        if (o.buffer[l - 2] >= e) {\n          o.buffer[l - 2] = s;\n          return;\n        }\n      }\n    }\n    if (!n || this.pos == s)\n      this.buffer.push(t, e, s, i);\n    else {\n      let o = this.buffer.length;\n      if (o > 0 && this.buffer[o - 4] != 0)\n        for (; o > 0 && this.buffer[o - 2] > s; )\n          this.buffer[o] = this.buffer[o - 4], this.buffer[o + 1] = this.buffer[o - 3], this.buffer[o + 2] = this.buffer[o - 2], this.buffer[o + 3] = this.buffer[o - 1], o -= 4, i > 4 && (i -= 4);\n      this.buffer[o] = t, this.buffer[o + 1] = e, this.buffer[o + 2] = s, this.buffer[o + 3] = i;\n    }\n  }\n  // Apply a shift action\n  /**\n  @internal\n  */\n  shift(t, e, s, i) {\n    if (t & 131072)\n      this.pushState(t & 65535, this.pos);\n    else if (t & 262144)\n      this.pos = i, this.shiftContext(e, s), e <= this.p.parser.maxNode && this.buffer.push(e, s, i, 4);\n    else {\n      let n = t, { parser: o } = this.p;\n      (i > this.pos || e <= o.maxNode) && (this.pos = i, o.stateFlag(\n        n,\n        1\n        /* StateFlag.Skipped */\n      ) || (this.reducePos = i)), this.pushState(n, s), this.shiftContext(e, s), e <= o.maxNode && this.buffer.push(e, s, i, 4);\n    }\n  }\n  // Apply an action\n  /**\n  @internal\n  */\n  apply(t, e, s, i) {\n    t & 65536 ? this.reduce(t) : this.shift(t, e, s, i);\n  }\n  // Add a prebuilt (reused) node into the buffer.\n  /**\n  @internal\n  */\n  useNode(t, e) {\n    let s = this.p.reused.length - 1;\n    (s < 0 || this.p.reused[s] != t) && (this.p.reused.push(t), s++);\n    let i = this.pos;\n    this.reducePos = this.pos = i + t.length, this.pushState(e, i), this.buffer.push(\n      s,\n      i,\n      this.reducePos,\n      -1\n      /* size == -1 means this is a reused value */\n    ), this.curContext && this.updateContext(this.curContext.tracker.reuse(this.curContext.context, t, this, this.p.stream.reset(this.pos - t.length)));\n  }\n  // Split the stack. Due to the buffer sharing and the fact\n  // that `this.stack` tends to stay quite shallow, this isn't very\n  // expensive.\n  /**\n  @internal\n  */\n  split() {\n    let t = this, e = t.buffer.length;\n    for (; e > 0 && t.buffer[e - 2] > t.reducePos; )\n      e -= 4;\n    let s = t.buffer.slice(e), i = t.bufferBase + e;\n    for (; t && i == t.bufferBase; )\n      t = t.parent;\n    return new Xt(this.p, this.stack.slice(), this.state, this.reducePos, this.pos, this.score, s, i, this.curContext, this.lookAhead, t);\n  }\n  // Try to recover from an error by 'deleting' (ignoring) one token.\n  /**\n  @internal\n  */\n  recoverByDelete(t, e) {\n    let s = t <= this.p.parser.maxNode;\n    s && this.storeNode(t, this.pos, e, 4), this.storeNode(0, this.pos, e, s ? 8 : 4), this.pos = this.reducePos = e, this.score -= 190;\n  }\n  /**\n  Check if the given term would be able to be shifted (optionally\n  after some reductions) on this stack. This can be useful for\n  external tokenizers that want to make sure they only provide a\n  given token when it applies.\n  */\n  canShift(t) {\n    for (let e = new Ls(this); ; ) {\n      let s = this.p.parser.stateSlot(\n        e.state,\n        4\n        /* ParseState.DefaultReduce */\n      ) || this.p.parser.hasAction(e.state, t);\n      if (s == 0)\n        return !1;\n      if (!(s & 65536))\n        return !0;\n      e.reduce(s);\n    }\n  }\n  // Apply up to Recover.MaxNext recovery actions that conceptually\n  // inserts some missing token or rule.\n  /**\n  @internal\n  */\n  recoverByInsert(t) {\n    if (this.stack.length >= 300)\n      return [];\n    let e = this.p.parser.nextStates(this.state);\n    if (e.length > 8 || this.stack.length >= 120) {\n      let i = [];\n      for (let n = 0, o; n < e.length; n += 2)\n        (o = e[n + 1]) != this.state && this.p.parser.hasAction(o, t) && i.push(e[n], o);\n      if (this.stack.length < 120)\n        for (let n = 0; i.length < 8 && n < e.length; n += 2) {\n          let o = e[n + 1];\n          i.some((l, a) => a & 1 && l == o) || i.push(e[n], o);\n        }\n      e = i;\n    }\n    let s = [];\n    for (let i = 0; i < e.length && s.length < 4; i += 2) {\n      let n = e[i + 1];\n      if (n == this.state)\n        continue;\n      let o = this.split();\n      o.pushState(n, this.pos), o.storeNode(0, o.pos, o.pos, 4, !0), o.shiftContext(e[i], this.pos), o.reducePos = this.pos, o.score -= 200, s.push(o);\n    }\n    return s;\n  }\n  // Force a reduce, if possible. Return false if that can't\n  // be done.\n  /**\n  @internal\n  */\n  forceReduce() {\n    let { parser: t } = this.p, e = t.stateSlot(\n      this.state,\n      5\n      /* ParseState.ForcedReduce */\n    );\n    if (!(e & 65536))\n      return !1;\n    if (!t.validAction(this.state, e)) {\n      let s = e >> 19, i = e & 65535, n = this.stack.length - s * 3;\n      if (n < 0 || t.getGoto(this.stack[n], i, !1) < 0) {\n        let o = this.findForcedReduction();\n        if (o == null)\n          return !1;\n        e = o;\n      }\n      this.storeNode(0, this.pos, this.pos, 4, !0), this.score -= 100;\n    }\n    return this.reducePos = this.pos, this.reduce(e), !0;\n  }\n  /**\n  Try to scan through the automaton to find some kind of reduction\n  that can be applied. Used when the regular ForcedReduce field\n  isn't a valid action. @internal\n  */\n  findForcedReduction() {\n    let { parser: t } = this.p, e = [], s = (i, n) => {\n      if (!e.includes(i))\n        return e.push(i), t.allActions(i, (o) => {\n          if (!(o & 393216))\n            if (o & 65536) {\n              let l = (o >> 19) - n;\n              if (l > 1) {\n                let a = o & 65535, h = this.stack.length - l * 3;\n                if (h >= 0 && t.getGoto(this.stack[h], a, !1) >= 0)\n                  return l << 19 | 65536 | a;\n              }\n            } else {\n              let l = s(o, n + 1);\n              if (l != null)\n                return l;\n            }\n        });\n    };\n    return s(this.state, 0);\n  }\n  /**\n  @internal\n  */\n  forceAll() {\n    for (; !this.p.parser.stateFlag(\n      this.state,\n      2\n      /* StateFlag.Accepting */\n    ); )\n      if (!this.forceReduce()) {\n        this.storeNode(0, this.pos, this.pos, 4, !0);\n        break;\n      }\n    return this;\n  }\n  /**\n  Check whether this state has no further actions (assumed to be a direct descendant of the\n  top state, since any other states must be able to continue\n  somehow). @internal\n  */\n  get deadEnd() {\n    if (this.stack.length != 3)\n      return !1;\n    let { parser: t } = this.p;\n    return t.data[t.stateSlot(\n      this.state,\n      1\n      /* ParseState.Actions */\n    )] == 65535 && !t.stateSlot(\n      this.state,\n      4\n      /* ParseState.DefaultReduce */\n    );\n  }\n  /**\n  Restart the stack (put it back in its start state). Only safe\n  when this.stack.length == 3 (state is directly below the top\n  state). @internal\n  */\n  restart() {\n    this.storeNode(0, this.pos, this.pos, 4, !0), this.state = this.stack[0], this.stack.length = 0;\n  }\n  /**\n  @internal\n  */\n  sameState(t) {\n    if (this.state != t.state || this.stack.length != t.stack.length)\n      return !1;\n    for (let e = 0; e < this.stack.length; e += 3)\n      if (this.stack[e] != t.stack[e])\n        return !1;\n    return !0;\n  }\n  /**\n  Get the parser used by this stack.\n  */\n  get parser() {\n    return this.p.parser;\n  }\n  /**\n  Test whether a given dialect (by numeric ID, as exported from\n  the terms file) is enabled.\n  */\n  dialectEnabled(t) {\n    return this.p.parser.dialect.flags[t];\n  }\n  shiftContext(t, e) {\n    this.curContext && this.updateContext(this.curContext.tracker.shift(this.curContext.context, t, this, this.p.stream.reset(e)));\n  }\n  reduceContext(t, e) {\n    this.curContext && this.updateContext(this.curContext.tracker.reduce(this.curContext.context, t, this, this.p.stream.reset(e)));\n  }\n  /**\n  @internal\n  */\n  emitContext() {\n    let t = this.buffer.length - 1;\n    (t < 0 || this.buffer[t] != -3) && this.buffer.push(this.curContext.hash, this.pos, this.pos, -3);\n  }\n  /**\n  @internal\n  */\n  emitLookAhead() {\n    let t = this.buffer.length - 1;\n    (t < 0 || this.buffer[t] != -4) && this.buffer.push(this.lookAhead, this.pos, this.pos, -4);\n  }\n  updateContext(t) {\n    if (t != this.curContext.context) {\n      let e = new Ee(this.curContext.tracker, t);\n      e.hash != this.curContext.hash && this.emitContext(), this.curContext = e;\n    }\n  }\n  /**\n  @internal\n  */\n  setLookAhead(t) {\n    t > this.lookAhead && (this.emitLookAhead(), this.lookAhead = t);\n  }\n  /**\n  @internal\n  */\n  close() {\n    this.curContext && this.curContext.tracker.strict && this.emitContext(), this.lookAhead > 0 && this.emitLookAhead();\n  }\n}\nclass Ee {\n  constructor(t, e) {\n    this.tracker = t, this.context = e, this.hash = t.strict ? t.hash(e) : 0;\n  }\n}\nclass Ls {\n  constructor(t) {\n    this.start = t, this.state = t.state, this.stack = t.stack, this.base = this.stack.length;\n  }\n  reduce(t) {\n    let e = t & 65535, s = t >> 19;\n    s == 0 ? (this.stack == this.start.stack && (this.stack = this.stack.slice()), this.stack.push(this.state, 0, 0), this.base += 3) : this.base -= (s - 1) * 3;\n    let i = this.start.p.parser.getGoto(this.stack[this.base - 3], e, !0);\n    this.state = i;\n  }\n}\nclass _t {\n  constructor(t, e, s) {\n    this.stack = t, this.pos = e, this.index = s, this.buffer = t.buffer, this.index == 0 && this.maybeNext();\n  }\n  static create(t, e = t.bufferBase + t.buffer.length) {\n    return new _t(t, e, e - t.bufferBase);\n  }\n  maybeNext() {\n    let t = this.stack.parent;\n    t != null && (this.index = this.stack.bufferBase - t.bufferBase, this.stack = t, this.buffer = t.buffer);\n  }\n  get id() {\n    return this.buffer[this.index - 4];\n  }\n  get start() {\n    return this.buffer[this.index - 3];\n  }\n  get end() {\n    return this.buffer[this.index - 2];\n  }\n  get size() {\n    return this.buffer[this.index - 1];\n  }\n  next() {\n    this.index -= 4, this.pos -= 4, this.index == 0 && this.maybeNext();\n  }\n  fork() {\n    return new _t(this.stack, this.pos, this.index);\n  }\n}\nfunction It(r, t = Uint16Array) {\n  if (typeof r != \"string\")\n    return r;\n  let e = null;\n  for (let s = 0, i = 0; s < r.length; ) {\n    let n = 0;\n    for (; ; ) {\n      let o = r.charCodeAt(s++), l = !1;\n      if (o == 126) {\n        n = 65535;\n        break;\n      }\n      o >= 92 && o--, o >= 34 && o--;\n      let a = o - 32;\n      if (a >= 46 && (a -= 46, l = !0), n += a, l)\n        break;\n      n *= 46;\n    }\n    e ? e[i++] = n : e = new t(n);\n  }\n  return e;\n}\nclass Gt {\n  constructor() {\n    this.start = -1, this.value = -1, this.end = -1, this.extended = -1, this.lookAhead = 0, this.mask = 0, this.context = 0;\n  }\n}\nconst Ae = new Gt();\nclass Ms {\n  /**\n  @internal\n  */\n  constructor(t, e) {\n    this.input = t, this.ranges = e, this.chunk = \"\", this.chunkOff = 0, this.chunk2 = \"\", this.chunk2Pos = 0, this.next = -1, this.token = Ae, this.rangeIndex = 0, this.pos = this.chunkPos = e[0].from, this.range = e[0], this.end = e[e.length - 1].to, this.readNext();\n  }\n  /**\n  @internal\n  */\n  resolveOffset(t, e) {\n    let s = this.range, i = this.rangeIndex, n = this.pos + t;\n    for (; n < s.from; ) {\n      if (!i)\n        return null;\n      let o = this.ranges[--i];\n      n -= s.from - o.to, s = o;\n    }\n    for (; e < 0 ? n > s.to : n >= s.to; ) {\n      if (i == this.ranges.length - 1)\n        return null;\n      let o = this.ranges[++i];\n      n += o.from - s.to, s = o;\n    }\n    return n;\n  }\n  /**\n  @internal\n  */\n  clipPos(t) {\n    if (t >= this.range.from && t < this.range.to)\n      return t;\n    for (let e of this.ranges)\n      if (e.to > t)\n        return Math.max(t, e.from);\n    return this.end;\n  }\n  /**\n  Look at a code unit near the stream position. `.peek(0)` equals\n  `.next`, `.peek(-1)` gives you the previous character, and so\n  on.\n  \n  Note that looking around during tokenizing creates dependencies\n  on potentially far-away content, which may reduce the\n  effectiveness incremental parsing—when looking forward—or even\n  cause invalid reparses when looking backward more than 25 code\n  units, since the library does not track lookbehind.\n  */\n  peek(t) {\n    let e = this.chunkOff + t, s, i;\n    if (e >= 0 && e < this.chunk.length)\n      s = this.pos + t, i = this.chunk.charCodeAt(e);\n    else {\n      let n = this.resolveOffset(t, 1);\n      if (n == null)\n        return -1;\n      if (s = n, s >= this.chunk2Pos && s < this.chunk2Pos + this.chunk2.length)\n        i = this.chunk2.charCodeAt(s - this.chunk2Pos);\n      else {\n        let o = this.rangeIndex, l = this.range;\n        for (; l.to <= s; )\n          l = this.ranges[++o];\n        this.chunk2 = this.input.chunk(this.chunk2Pos = s), s + this.chunk2.length > l.to && (this.chunk2 = this.chunk2.slice(0, l.to - s)), i = this.chunk2.charCodeAt(0);\n      }\n    }\n    return s >= this.token.lookAhead && (this.token.lookAhead = s + 1), i;\n  }\n  /**\n  Accept a token. By default, the end of the token is set to the\n  current stream position, but you can pass an offset (relative to\n  the stream position) to change that.\n  */\n  acceptToken(t, e = 0) {\n    let s = e ? this.resolveOffset(e, -1) : this.pos;\n    if (s == null || s < this.token.start)\n      throw new RangeError(\"Token end out of bounds\");\n    this.token.value = t, this.token.end = s;\n  }\n  getChunk() {\n    if (this.pos >= this.chunk2Pos && this.pos < this.chunk2Pos + this.chunk2.length) {\n      let { chunk: t, chunkPos: e } = this;\n      this.chunk = this.chunk2, this.chunkPos = this.chunk2Pos, this.chunk2 = t, this.chunk2Pos = e, this.chunkOff = this.pos - this.chunkPos;\n    } else {\n      this.chunk2 = this.chunk, this.chunk2Pos = this.chunkPos;\n      let t = this.input.chunk(this.pos), e = this.pos + t.length;\n      this.chunk = e > this.range.to ? t.slice(0, this.range.to - this.pos) : t, this.chunkPos = this.pos, this.chunkOff = 0;\n    }\n  }\n  readNext() {\n    return this.chunkOff >= this.chunk.length && (this.getChunk(), this.chunkOff == this.chunk.length) ? this.next = -1 : this.next = this.chunk.charCodeAt(this.chunkOff);\n  }\n  /**\n  Move the stream forward N (defaults to 1) code units. Returns\n  the new value of [`next`](#lr.InputStream.next).\n  */\n  advance(t = 1) {\n    for (this.chunkOff += t; this.pos + t >= this.range.to; ) {\n      if (this.rangeIndex == this.ranges.length - 1)\n        return this.setDone();\n      t -= this.range.to - this.pos, this.range = this.ranges[++this.rangeIndex], this.pos = this.range.from;\n    }\n    return this.pos += t, this.pos >= this.token.lookAhead && (this.token.lookAhead = this.pos + 1), this.readNext();\n  }\n  setDone() {\n    return this.pos = this.chunkPos = this.end, this.range = this.ranges[this.rangeIndex = this.ranges.length - 1], this.chunk = \"\", this.next = -1;\n  }\n  /**\n  @internal\n  */\n  reset(t, e) {\n    if (e ? (this.token = e, e.start = t, e.lookAhead = t + 1, e.value = e.extended = -1) : this.token = Ae, this.pos != t) {\n      if (this.pos = t, t == this.end)\n        return this.setDone(), this;\n      for (; t < this.range.from; )\n        this.range = this.ranges[--this.rangeIndex];\n      for (; t >= this.range.to; )\n        this.range = this.ranges[++this.rangeIndex];\n      t >= this.chunkPos && t < this.chunkPos + this.chunk.length ? this.chunkOff = t - this.chunkPos : (this.chunk = \"\", this.chunkOff = 0), this.readNext();\n    }\n    return this;\n  }\n  /**\n  @internal\n  */\n  read(t, e) {\n    if (t >= this.chunkPos && e <= this.chunkPos + this.chunk.length)\n      return this.chunk.slice(t - this.chunkPos, e - this.chunkPos);\n    if (t >= this.chunk2Pos && e <= this.chunk2Pos + this.chunk2.length)\n      return this.chunk2.slice(t - this.chunk2Pos, e - this.chunk2Pos);\n    if (t >= this.range.from && e <= this.range.to)\n      return this.input.read(t, e);\n    let s = \"\";\n    for (let i of this.ranges) {\n      if (i.from >= e)\n        break;\n      i.to > t && (s += this.input.read(Math.max(i.from, t), Math.min(i.to, e)));\n    }\n    return s;\n  }\n}\nclass dt {\n  constructor(t, e) {\n    this.data = t, this.id = e;\n  }\n  token(t, e) {\n    let { parser: s } = e.p;\n    Hs(this.data, t, e, this.id, s.data, s.tokenPrecTable);\n  }\n}\ndt.prototype.contextual = dt.prototype.fallback = dt.prototype.extend = !1;\ndt.prototype.fallback = dt.prototype.extend = !1;\nclass Js {\n  /**\n  Create a tokenizer. The first argument is the function that,\n  given an input stream, scans for the types of tokens it\n  recognizes at the stream's position, and calls\n  [`acceptToken`](#lr.InputStream.acceptToken) when it finds\n  one.\n  */\n  constructor(t, e = {}) {\n    this.token = t, this.contextual = !!e.contextual, this.fallback = !!e.fallback, this.extend = !!e.extend;\n  }\n}\nfunction Hs(r, t, e, s, i, n) {\n  let o = 0, l = 1 << s, { dialect: a } = e.p.parser;\n  t:\n    for (; l & r[o]; ) {\n      let h = r[o + 1];\n      for (let c = o + 3; c < h; c += 2)\n        if ((r[c + 1] & l) > 0) {\n          let d = r[c];\n          if (a.allows(d) && (t.token.value == -1 || t.token.value == d || ti(d, t.token.value, i, n))) {\n            t.acceptToken(d);\n            break;\n          }\n        }\n      let u = t.next, $ = 0, f = r[o + 2];\n      if (t.next < 0 && f > $ && r[h + f * 3 - 3] == 65535) {\n        o = r[h + f * 3 - 1];\n        continue t;\n      }\n      for (; $ < f; ) {\n        let c = $ + f >> 1, d = h + c + (c << 1), m = r[d], R = r[d + 1] || 65536;\n        if (u < m)\n          f = c;\n        else if (u >= R)\n          $ = c + 1;\n        else {\n          o = r[d + 2], t.advance();\n          continue t;\n        }\n      }\n      break;\n    }\n}\nfunction Ge(r, t, e) {\n  for (let s = t, i; (i = r[s]) != 65535; s++)\n    if (i == e)\n      return s - t;\n  return -1;\n}\nfunction ti(r, t, e, s) {\n  let i = Ge(e, s, t);\n  return i < 0 || Ge(e, s, r) < i;\n}\nconst P = typeof process < \"u\" && process.env && /\\bparse\\b/.test(process.env.LOG);\nlet re = null;\nfunction Ne(r, t, e) {\n  let s = r.cursor(v.IncludeAnonymous);\n  for (s.moveTo(t); ; )\n    if (!(e < 0 ? s.childBefore(t) : s.childAfter(t)))\n      for (; ; ) {\n        if ((e < 0 ? s.to < t : s.from > t) && !s.type.isError)\n          return e < 0 ? Math.max(0, Math.min(\n            s.to - 1,\n            t - 25\n            /* Safety.Margin */\n          )) : Math.min(r.length, Math.max(\n            s.from + 1,\n            t + 25\n            /* Safety.Margin */\n          ));\n        if (e < 0 ? s.prevSibling() : s.nextSibling())\n          break;\n        if (!s.parent())\n          return e < 0 ? 0 : r.length;\n      }\n}\nclass ei {\n  constructor(t, e) {\n    this.fragments = t, this.nodeSet = e, this.i = 0, this.fragment = null, this.safeFrom = -1, this.safeTo = -1, this.trees = [], this.start = [], this.index = [], this.nextFragment();\n  }\n  nextFragment() {\n    let t = this.fragment = this.i == this.fragments.length ? null : this.fragments[this.i++];\n    if (t) {\n      for (this.safeFrom = t.openStart ? Ne(t.tree, t.from + t.offset, 1) - t.offset : t.from, this.safeTo = t.openEnd ? Ne(t.tree, t.to + t.offset, -1) - t.offset : t.to; this.trees.length; )\n        this.trees.pop(), this.start.pop(), this.index.pop();\n      this.trees.push(t.tree), this.start.push(-t.offset), this.index.push(0), this.nextStart = this.safeFrom;\n    } else\n      this.nextStart = 1e9;\n  }\n  // `pos` must be >= any previously given `pos` for this cursor\n  nodeAt(t) {\n    if (t < this.nextStart)\n      return null;\n    for (; this.fragment && this.safeTo <= t; )\n      this.nextFragment();\n    if (!this.fragment)\n      return null;\n    for (; ; ) {\n      let e = this.trees.length - 1;\n      if (e < 0)\n        return this.nextFragment(), null;\n      let s = this.trees[e], i = this.index[e];\n      if (i == s.children.length) {\n        this.trees.pop(), this.start.pop(), this.index.pop();\n        continue;\n      }\n      let n = s.children[i], o = this.start[e] + s.positions[i];\n      if (o > t)\n        return this.nextStart = o, null;\n      if (n instanceof V) {\n        if (o == t) {\n          if (o < this.safeFrom)\n            return null;\n          let l = o + n.length;\n          if (l <= this.safeTo) {\n            let a = n.prop(x.lookAhead);\n            if (!a || l + a < this.fragment.to)\n              return n;\n          }\n        }\n        this.index[e]++, o + n.length >= Math.max(this.safeFrom, t) && (this.trees.push(n), this.start.push(o), this.index.push(0));\n      } else\n        this.index[e]++, this.nextStart = o + n.length;\n    }\n  }\n}\nclass si {\n  constructor(t, e) {\n    this.stream = e, this.tokens = [], this.mainToken = null, this.actions = [], this.tokens = t.tokenizers.map((s) => new Gt());\n  }\n  getActions(t) {\n    let e = 0, s = null, { parser: i } = t.p, { tokenizers: n } = i, o = i.stateSlot(\n      t.state,\n      3\n      /* ParseState.TokenizerMask */\n    ), l = t.curContext ? t.curContext.hash : 0, a = 0;\n    for (let h = 0; h < n.length; h++) {\n      if (!(1 << h & o))\n        continue;\n      let u = n[h], $ = this.tokens[h];\n      if (!(s && !u.fallback) && ((u.contextual || $.start != t.pos || $.mask != o || $.context != l) && (this.updateCachedToken($, u, t), $.mask = o, $.context = l), $.lookAhead > $.end + 25 && (a = Math.max($.lookAhead, a)), $.value != 0)) {\n        let f = e;\n        if ($.extended > -1 && (e = this.addActions(t, $.extended, $.end, e)), e = this.addActions(t, $.value, $.end, e), !u.extend && (s = $, e > f))\n          break;\n      }\n    }\n    for (; this.actions.length > e; )\n      this.actions.pop();\n    return a && t.setLookAhead(a), !s && t.pos == this.stream.end && (s = new Gt(), s.value = t.p.parser.eofTerm, s.start = s.end = t.pos, e = this.addActions(t, s.value, s.end, e)), this.mainToken = s, this.actions;\n  }\n  getMainToken(t) {\n    if (this.mainToken)\n      return this.mainToken;\n    let e = new Gt(), { pos: s, p: i } = t;\n    return e.start = s, e.end = Math.min(s + 1, i.stream.end), e.value = s == i.stream.end ? i.parser.eofTerm : 0, e;\n  }\n  updateCachedToken(t, e, s) {\n    let i = this.stream.clipPos(s.pos);\n    if (e.token(this.stream.reset(i, t), s), t.value > -1) {\n      let { parser: n } = s.p;\n      for (let o = 0; o < n.specialized.length; o++)\n        if (n.specialized[o] == t.value) {\n          let l = n.specializers[o](this.stream.read(t.start, t.end), s);\n          if (l >= 0 && s.p.parser.dialect.allows(l >> 1)) {\n            l & 1 ? t.extended = l >> 1 : t.value = l >> 1;\n            break;\n          }\n        }\n    } else\n      t.value = 0, t.end = this.stream.clipPos(i + 1);\n  }\n  putAction(t, e, s, i) {\n    for (let n = 0; n < i; n += 3)\n      if (this.actions[n] == t)\n        return i;\n    return this.actions[i++] = t, this.actions[i++] = e, this.actions[i++] = s, i;\n  }\n  addActions(t, e, s, i) {\n    let { state: n } = t, { parser: o } = t.p, { data: l } = o;\n    for (let a = 0; a < 2; a++)\n      for (let h = o.stateSlot(\n        n,\n        a ? 2 : 1\n        /* ParseState.Actions */\n      ); ; h += 3) {\n        if (l[h] == 65535)\n          if (l[h + 1] == 1)\n            h = L(l, h + 2);\n          else {\n            i == 0 && l[h + 1] == 2 && (i = this.putAction(L(l, h + 2), e, s, i));\n            break;\n          }\n        l[h] == e && (i = this.putAction(L(l, h + 1), e, s, i));\n      }\n    return i;\n  }\n}\nclass ii {\n  constructor(t, e, s, i) {\n    this.parser = t, this.input = e, this.ranges = i, this.recovering = 0, this.nextStackID = 9812, this.minStackPos = 0, this.reused = [], this.stoppedAt = null, this.lastBigReductionStart = -1, this.lastBigReductionSize = 0, this.bigReductionCount = 0, this.stream = new Ms(e, i), this.tokens = new si(t, this.stream), this.topTerm = t.top[1];\n    let { from: n } = i[0];\n    this.stacks = [Xt.start(this, t.top[0], n)], this.fragments = s.length && this.stream.end - n > t.bufferLength * 4 ? new ei(s, t.nodeSet) : null;\n  }\n  get parsedPos() {\n    return this.minStackPos;\n  }\n  // Move the parser forward. This will process all parse stacks at\n  // `this.pos` and try to advance them to a further position. If no\n  // stack for such a position is found, it'll start error-recovery.\n  //\n  // When the parse is finished, this will return a syntax tree. When\n  // not, it returns `null`.\n  advance() {\n    let t = this.stacks, e = this.minStackPos, s = this.stacks = [], i, n;\n    if (this.bigReductionCount > 300 && t.length == 1) {\n      let [o] = t;\n      for (; o.forceReduce() && o.stack.length && o.stack[o.stack.length - 2] >= this.lastBigReductionStart; )\n        ;\n      this.bigReductionCount = this.lastBigReductionSize = 0;\n    }\n    for (let o = 0; o < t.length; o++) {\n      let l = t[o];\n      for (; ; ) {\n        if (this.tokens.mainToken = null, l.pos > e)\n          s.push(l);\n        else {\n          if (this.advanceStack(l, s, t))\n            continue;\n          {\n            i || (i = [], n = []), i.push(l);\n            let a = this.tokens.getMainToken(l);\n            n.push(a.value, a.end);\n          }\n        }\n        break;\n      }\n    }\n    if (!s.length) {\n      let o = i && ni(i);\n      if (o)\n        return P && console.log(\"Finish with \" + this.stackID(o)), this.stackToTree(o);\n      if (this.parser.strict)\n        throw P && i && console.log(\"Stuck with token \" + (this.tokens.mainToken ? this.parser.getName(this.tokens.mainToken.value) : \"none\")), new SyntaxError(\"No parse at \" + e);\n      this.recovering || (this.recovering = 5);\n    }\n    if (this.recovering && i) {\n      let o = this.stoppedAt != null && i[0].pos > this.stoppedAt ? i[0] : this.runRecovery(i, n, s);\n      if (o)\n        return P && console.log(\"Force-finish \" + this.stackID(o)), this.stackToTree(o.forceAll());\n    }\n    if (this.recovering) {\n      let o = this.recovering == 1 ? 1 : this.recovering * 3;\n      if (s.length > o)\n        for (s.sort((l, a) => a.score - l.score); s.length > o; )\n          s.pop();\n      s.some((l) => l.reducePos > e) && this.recovering--;\n    } else if (s.length > 1) {\n      t:\n        for (let o = 0; o < s.length - 1; o++) {\n          let l = s[o];\n          for (let a = o + 1; a < s.length; a++) {\n            let h = s[a];\n            if (l.sameState(h) || l.buffer.length > 500 && h.buffer.length > 500)\n              if ((l.score - h.score || l.buffer.length - h.buffer.length) > 0)\n                s.splice(a--, 1);\n              else {\n                s.splice(o--, 1);\n                continue t;\n              }\n          }\n        }\n      s.length > 12 && s.splice(\n        12,\n        s.length - 12\n        /* Rec.MaxStackCount */\n      );\n    }\n    this.minStackPos = s[0].pos;\n    for (let o = 1; o < s.length; o++)\n      s[o].pos < this.minStackPos && (this.minStackPos = s[o].pos);\n    return null;\n  }\n  stopAt(t) {\n    if (this.stoppedAt != null && this.stoppedAt < t)\n      throw new RangeError(\"Can't move stoppedAt forward\");\n    this.stoppedAt = t;\n  }\n  // Returns an updated version of the given stack, or null if the\n  // stack can't advance normally. When `split` and `stacks` are\n  // given, stacks split off by ambiguous operations will be pushed to\n  // `split`, or added to `stacks` if they move `pos` forward.\n  advanceStack(t, e, s) {\n    let i = t.pos, { parser: n } = this, o = P ? this.stackID(t) + \" -> \" : \"\";\n    if (this.stoppedAt != null && i > this.stoppedAt)\n      return t.forceReduce() ? t : null;\n    if (this.fragments) {\n      let h = t.curContext && t.curContext.tracker.strict, u = h ? t.curContext.hash : 0;\n      for (let $ = this.fragments.nodeAt(i); $; ) {\n        let f = this.parser.nodeSet.types[$.type.id] == $.type ? n.getGoto(t.state, $.type.id) : -1;\n        if (f > -1 && $.length && (!h || ($.prop(x.contextHash) || 0) == u))\n          return t.useNode($, f), P && console.log(o + this.stackID(t) + ` (via reuse of ${n.getName($.type.id)})`), !0;\n        if (!($ instanceof V) || $.children.length == 0 || $.positions[0] > 0)\n          break;\n        let c = $.children[0];\n        if (c instanceof V && $.positions[0] == 0)\n          $ = c;\n        else\n          break;\n      }\n    }\n    let l = n.stateSlot(\n      t.state,\n      4\n      /* ParseState.DefaultReduce */\n    );\n    if (l > 0)\n      return t.reduce(l), P && console.log(o + this.stackID(t) + ` (via always-reduce ${n.getName(\n        l & 65535\n        /* Action.ValueMask */\n      )})`), !0;\n    if (t.stack.length >= 8400)\n      for (; t.stack.length > 6e3 && t.forceReduce(); )\n        ;\n    let a = this.tokens.getActions(t);\n    for (let h = 0; h < a.length; ) {\n      let u = a[h++], $ = a[h++], f = a[h++], c = h == a.length || !s, d = c ? t : t.split(), m = this.tokens.mainToken;\n      if (d.apply(u, $, m ? m.start : d.pos, f), P && console.log(o + this.stackID(d) + ` (via ${u & 65536 ? `reduce of ${n.getName(\n        u & 65535\n        /* Action.ValueMask */\n      )}` : \"shift\"} for ${n.getName($)} @ ${i}${d == t ? \"\" : \", split\"})`), c)\n        return !0;\n      d.pos > i ? e.push(d) : s.push(d);\n    }\n    return !1;\n  }\n  // Advance a given stack forward as far as it will go. Returns the\n  // (possibly updated) stack if it got stuck, or null if it moved\n  // forward and was given to `pushStackDedup`.\n  advanceFully(t, e) {\n    let s = t.pos;\n    for (; ; ) {\n      if (!this.advanceStack(t, null, null))\n        return !1;\n      if (t.pos > s)\n        return Be(t, e), !0;\n    }\n  }\n  runRecovery(t, e, s) {\n    let i = null, n = !1;\n    for (let o = 0; o < t.length; o++) {\n      let l = t[o], a = e[o << 1], h = e[(o << 1) + 1], u = P ? this.stackID(l) + \" -> \" : \"\";\n      if (l.deadEnd && (n || (n = !0, l.restart(), P && console.log(u + this.stackID(l) + \" (restarted)\"), this.advanceFully(l, s))))\n        continue;\n      let $ = l.split(), f = u;\n      for (let c = 0; $.forceReduce() && c < 10 && (P && console.log(f + this.stackID($) + \" (via force-reduce)\"), !this.advanceFully($, s)); c++)\n        P && (f = this.stackID($) + \" -> \");\n      for (let c of l.recoverByInsert(a))\n        P && console.log(u + this.stackID(c) + \" (via recover-insert)\"), this.advanceFully(c, s);\n      this.stream.end > l.pos ? (h == l.pos && (h++, a = 0), l.recoverByDelete(a, h), P && console.log(u + this.stackID(l) + ` (via recover-delete ${this.parser.getName(a)})`), Be(l, s)) : (!i || i.score < l.score) && (i = l);\n    }\n    return i;\n  }\n  // Convert the stack's buffer to a syntax tree.\n  stackToTree(t) {\n    return t.close(), V.build({\n      buffer: _t.create(t),\n      nodeSet: this.parser.nodeSet,\n      topID: this.topTerm,\n      maxBufferLength: this.parser.bufferLength,\n      reused: this.reused,\n      start: this.ranges[0].from,\n      length: t.pos - this.ranges[0].from,\n      minRepeatType: this.parser.minRepeatTerm\n    });\n  }\n  stackID(t) {\n    let e = (re || (re = /* @__PURE__ */ new WeakMap())).get(t);\n    return e || re.set(t, e = String.fromCodePoint(this.nextStackID++)), e + t;\n  }\n}\nfunction Be(r, t) {\n  for (let e = 0; e < t.length; e++) {\n    let s = t[e];\n    if (s.pos == r.pos && s.sameState(r)) {\n      t[e].score < r.score && (t[e] = r);\n      return;\n    }\n  }\n  t.push(r);\n}\nclass ri {\n  constructor(t, e, s) {\n    this.source = t, this.flags = e, this.disabled = s;\n  }\n  allows(t) {\n    return !this.disabled || this.disabled[t] == 0;\n  }\n}\nclass Yt extends ys {\n  /**\n  @internal\n  */\n  constructor(t) {\n    if (super(), this.wrappers = [], t.version != 14)\n      throw new RangeError(`Parser version (${t.version}) doesn't match runtime version (14)`);\n    let e = t.nodeNames.split(\" \");\n    this.minRepeatTerm = e.length;\n    for (let l = 0; l < t.repeatNodeCount; l++)\n      e.push(\"\");\n    let s = Object.keys(t.topRules).map((l) => t.topRules[l][1]), i = [];\n    for (let l = 0; l < e.length; l++)\n      i.push([]);\n    function n(l, a, h) {\n      i[l].push([a, a.deserialize(String(h))]);\n    }\n    if (t.nodeProps)\n      for (let l of t.nodeProps) {\n        let a = l[0];\n        typeof a == \"string\" && (a = x[a]);\n        for (let h = 1; h < l.length; ) {\n          let u = l[h++];\n          if (u >= 0)\n            n(u, a, l[h++]);\n          else {\n            let $ = l[h + -u];\n            for (let f = -u; f > 0; f--)\n              n(l[h++], a, $);\n            h++;\n          }\n        }\n      }\n    this.nodeSet = new Fe(e.map((l, a) => W.define({\n      name: a >= this.minRepeatTerm ? void 0 : l,\n      id: a,\n      props: i[a],\n      top: s.indexOf(a) > -1,\n      error: a == 0,\n      skipped: t.skippedNodes && t.skippedNodes.indexOf(a) > -1\n    }))), t.propSources && (this.nodeSet = this.nodeSet.extend(...t.propSources)), this.strict = !1, this.bufferLength = Ss;\n    let o = It(t.tokenData);\n    this.context = t.context, this.specializerSpecs = t.specialized || [], this.specialized = new Uint16Array(this.specializerSpecs.length);\n    for (let l = 0; l < this.specializerSpecs.length; l++)\n      this.specialized[l] = this.specializerSpecs[l].term;\n    this.specializers = this.specializerSpecs.map(Xe), this.states = It(t.states, Uint32Array), this.data = It(t.stateData), this.goto = It(t.goto), this.maxTerm = t.maxTerm, this.tokenizers = t.tokenizers.map((l) => typeof l == \"number\" ? new dt(o, l) : l), this.topRules = t.topRules, this.dialects = t.dialects || {}, this.dynamicPrecedences = t.dynamicPrecedences || null, this.tokenPrecTable = t.tokenPrec, this.termNames = t.termNames || null, this.maxNode = this.nodeSet.types.length - 1, this.dialect = this.parseDialect(), this.top = this.topRules[Object.keys(this.topRules)[0]];\n  }\n  createParse(t, e, s) {\n    let i = new ii(this, t, e, s);\n    for (let n of this.wrappers)\n      i = n(i, t, e, s);\n    return i;\n  }\n  /**\n  Get a goto table entry @internal\n  */\n  getGoto(t, e, s = !1) {\n    let i = this.goto;\n    if (e >= i[0])\n      return -1;\n    for (let n = i[e + 1]; ; ) {\n      let o = i[n++], l = o & 1, a = i[n++];\n      if (l && s)\n        return a;\n      for (let h = n + (o >> 1); n < h; n++)\n        if (i[n] == t)\n          return a;\n      if (l)\n        return -1;\n    }\n  }\n  /**\n  Check if this state has an action for a given terminal @internal\n  */\n  hasAction(t, e) {\n    let s = this.data;\n    for (let i = 0; i < 2; i++)\n      for (let n = this.stateSlot(\n        t,\n        i ? 2 : 1\n        /* ParseState.Actions */\n      ), o; ; n += 3) {\n        if ((o = s[n]) == 65535)\n          if (s[n + 1] == 1)\n            o = s[n = L(s, n + 2)];\n          else {\n            if (s[n + 1] == 2)\n              return L(s, n + 2);\n            break;\n          }\n        if (o == e || o == 0)\n          return L(s, n + 1);\n      }\n    return 0;\n  }\n  /**\n  @internal\n  */\n  stateSlot(t, e) {\n    return this.states[t * 6 + e];\n  }\n  /**\n  @internal\n  */\n  stateFlag(t, e) {\n    return (this.stateSlot(\n      t,\n      0\n      /* ParseState.Flags */\n    ) & e) > 0;\n  }\n  /**\n  @internal\n  */\n  validAction(t, e) {\n    return !!this.allActions(t, (s) => s == e ? !0 : null);\n  }\n  /**\n  @internal\n  */\n  allActions(t, e) {\n    let s = this.stateSlot(\n      t,\n      4\n      /* ParseState.DefaultReduce */\n    ), i = s ? e(s) : void 0;\n    for (let n = this.stateSlot(\n      t,\n      1\n      /* ParseState.Actions */\n    ); i == null; n += 3) {\n      if (this.data[n] == 65535)\n        if (this.data[n + 1] == 1)\n          n = L(this.data, n + 2);\n        else\n          break;\n      i = e(L(this.data, n + 1));\n    }\n    return i;\n  }\n  /**\n  Get the states that can follow this one through shift actions or\n  goto jumps. @internal\n  */\n  nextStates(t) {\n    let e = [];\n    for (let s = this.stateSlot(\n      t,\n      1\n      /* ParseState.Actions */\n    ); ; s += 3) {\n      if (this.data[s] == 65535)\n        if (this.data[s + 1] == 1)\n          s = L(this.data, s + 2);\n        else\n          break;\n      if (!(this.data[s + 2] & 1)) {\n        let i = this.data[s + 1];\n        e.some((n, o) => o & 1 && n == i) || e.push(this.data[s], i);\n      }\n    }\n    return e;\n  }\n  /**\n  Configure the parser. Returns a new parser instance that has the\n  given settings modified. Settings not provided in `config` are\n  kept from the original parser.\n  */\n  configure(t) {\n    let e = Object.assign(Object.create(Yt.prototype), this);\n    if (t.props && (e.nodeSet = this.nodeSet.extend(...t.props)), t.top) {\n      let s = this.topRules[t.top];\n      if (!s)\n        throw new RangeError(`Invalid top rule name ${t.top}`);\n      e.top = s;\n    }\n    return t.tokenizers && (e.tokenizers = this.tokenizers.map((s) => {\n      let i = t.tokenizers.find((n) => n.from == s);\n      return i ? i.to : s;\n    })), t.specializers && (e.specializers = this.specializers.slice(), e.specializerSpecs = this.specializerSpecs.map((s, i) => {\n      let n = t.specializers.find((l) => l.from == s.external);\n      if (!n)\n        return s;\n      let o = Object.assign(Object.assign({}, s), { external: n.to });\n      return e.specializers[i] = Xe(o), o;\n    })), t.contextTracker && (e.context = t.contextTracker), t.dialect && (e.dialect = this.parseDialect(t.dialect)), t.strict != null && (e.strict = t.strict), t.wrap && (e.wrappers = e.wrappers.concat(t.wrap)), t.bufferLength != null && (e.bufferLength = t.bufferLength), e;\n  }\n  /**\n  Tells you whether any [parse wrappers](#lr.ParserConfig.wrap)\n  are registered for this parser.\n  */\n  hasWrappers() {\n    return this.wrappers.length > 0;\n  }\n  /**\n  Returns the name associated with a given term. This will only\n  work for all terms when the parser was generated with the\n  `--names` option. By default, only the names of tagged terms are\n  stored.\n  */\n  getName(t) {\n    return this.termNames ? this.termNames[t] : String(t <= this.maxNode && this.nodeSet.types[t].name || t);\n  }\n  /**\n  The eof term id is always allocated directly after the node\n  types. @internal\n  */\n  get eofTerm() {\n    return this.maxNode + 1;\n  }\n  /**\n  The type of top node produced by the parser.\n  */\n  get topNode() {\n    return this.nodeSet.types[this.top[1]];\n  }\n  /**\n  @internal\n  */\n  dynamicPrecedence(t) {\n    let e = this.dynamicPrecedences;\n    return e == null ? 0 : e[t] || 0;\n  }\n  /**\n  @internal\n  */\n  parseDialect(t) {\n    let e = Object.keys(this.dialects), s = e.map(() => !1);\n    if (t)\n      for (let n of t.split(\" \")) {\n        let o = e.indexOf(n);\n        o >= 0 && (s[o] = !0);\n      }\n    let i = null;\n    for (let n = 0; n < e.length; n++)\n      if (!s[n])\n        for (let o = this.dialects[e[n]], l; (l = this.data[o++]) != 65535; )\n          (i || (i = new Uint8Array(this.maxTerm + 1)))[l] = 1;\n    return new ri(t, s, i);\n  }\n  /**\n  Used by the output of the parser generator. Not available to\n  user code. @hide\n  */\n  static deserialize(t) {\n    return new Yt(t);\n  }\n}\nfunction L(r, t) {\n  return r[t] | r[t + 1] << 16;\n}\nfunction ni(r) {\n  let t = null;\n  for (let e of r) {\n    let s = e.p.stoppedAt;\n    (e.pos == e.p.stream.end || s != null && e.pos > s) && e.p.parser.stateFlag(\n      e.state,\n      2\n      /* StateFlag.Accepting */\n    ) && (!t || t.score < e.score) && (t = e);\n  }\n  return t;\n}\nfunction Xe(r) {\n  if (r.external) {\n    let t = r.extend ? 1 : 0;\n    return (e, s) => r.external(e, s) << 1 | t;\n  }\n  return r.get;\n}\nconst ws = 1, Ts = 2, Ie = 4, oi = 7, te = 8, li = 9, ai = 10, hi = 11, ze = 12, Fs = 14, ui = 16, $i = 17, zt = \"'\", Dt = 0, _e = 1, Ye = 2;\nfunction fi(r, t, e, s = Dt, i) {\n  let n = s;\n  const o = [];\n  let l;\n  t:\n    for (; (l = r.next) !== -1; ) {\n      const a = Se(l);\n      if (i != null && i.has(a))\n        break t;\n      switch (n) {\n        case Dt:\n          if (a === zt)\n            n = Ye;\n          else if (e.has(a))\n            break t;\n          o.push(a);\n          break;\n        case Ye:\n          t.has(a) ? n = _e : n = Dt, o.push(a);\n          break;\n        case _e:\n          a === zt && (Se(r.peek(1)) === zt ? (r.advance(), o.push(zt)) : n = Dt), o.push(a);\n          break;\n      }\n      r.advance();\n    }\n  return o.join(\"\");\n}\nfunction ci(r, t, e, s) {\n  const i = r.pos;\n  fi(r, t, e), i < r.pos && r.acceptToken(s);\n}\nfunction Rs(r) {\n  const t = /* @__PURE__ */ new Set([\"{\", \"}\"]);\n  return r && t.add(\"#\"), t;\n}\nfunction Vs(r) {\n  const t = /* @__PURE__ */ new Set([\"{\"]);\n  return r && (t.add(\"#\"), t.add(\"}\")), t;\n}\nfunction vs({ input: r, escapable: t, ending: e, textToken: s }) {\n  return ci(r, t, e, s);\n}\nconst pi = new Js((r) => vs({\n  input: r,\n  escapable: Rs(!1),\n  ending: Vs(!1),\n  textToken: ws\n})), di = new Js((r) => vs({\n  input: r,\n  escapable: Rs(!0),\n  ending: Vs(!0),\n  textToken: Ts\n})), Ft = Yt.deserialize({\n  version: 14,\n  states: \"/SQQOTOOQ]OUOOOOOO'#Ca'#CaOOOR'#Cm'#CmOhOSO'#C`OpOTO'#CtQOOOOOO!OOUO'#C}OOOO'#Cd'#CdO!aOSO'#CcOkOSO'#CcO!lOSO,58zOOOO,59`,59`OOOO,59i,59iO!qOWO,58}O!|OSO,58}O#UOSO,58}OOOR'#Co'#CoOOOR1G.f1G.fOOOO'#Ce'#CeO#aOSO1G.iO!tOWO1G.iOOOO'#Ch'#ChO#lOSO1G.mO#tOWO1G.iO$POSO1G.iO$XO`O7+$TO$aOSO7+$TO$iOSO7+$TO$tOSO7+$XO$|OpO7+$XO$wOSO7+$XO!tOWO7+$TO%XOWO7+$TOOOO'#Cf'#CfOOOO'#Cq'#CqO$[O`O'#CqO%dO`O<<GoO$XO`O<<GoO%oOSO<<GoO%wOpO<<GsO&SOSO<<GsOOOO'#Ci'#CiOOOO'#Ck'#CkO&XOSO'#CjOOOO'#Cr'#CrO%POpO<<GsO&aOpO<<GsO&lOpO<<GsO&tOSO<<GoO'POSO<<GsO!tOWO<<GoOOOO,59],59]O'XO`OAN=ZOOOO-E6o-E6oO'aO`OAN=ZO$XO`OAN=ZO%POpOAN=_O'lOpOAN=_O&lOpOAN=_O'wOpOAN=_O(SOUO,59UO(bOSO,59UOOOO,59^,59^O'oOpOAN=_OOOO-E6p-E6pO%SOpO'#CrO(gOSOAN=ZO(oOSOAN=_O(tOSOAN=ZO)POSOAN=_O)XO`OG22uO)aO`OG22uO&lOpOG22yO)lOpOG22yO)tOpOG22yO%POpOG22yOOOO'#Cl'#ClO*POSO1G.pO(SOUO1G.pO$XO`OG22uO*UOpOG22yO*aOSOG22uO*iOSOG22yO*nO`OLD(aO*vOpOLD(eO*yOpOLD(eO&lOpOLD(eOOOO7+$[7+$[O+ROSO7+$[O+WO`OLD(aO%POpOLD(eO$XO`OLD(aO+cOpOLD(eO+nOpO!$'LPO+vOpO!$'LPOOOO<<Gv<<GvO,RO`O!$'K{O&lOpO!$'LPO,ZO`O!$'K{O%POpO!$'LPO,fOpO!)9AkO,nOpO!)9AkO,yO`O!)9AgO&lOpO!)9AkO-ROpO!.K7VO-ZOpO!.K7VO-fOpO!4/,q\",\n  stateData: \"-q~OPTOUQOrRO~OQVOUQOrRO~OiYOjWO~OPTOUQOrROghX~OQVOUQOrROgqXbqX~Oi_Ok^ObVX~ObaO~OieOlcOnfO~OkhObVa~OiiOkhObVa~OikOkjObVi~OioOknO~OipOlcOnfO~OkqObVi~OitOmrO~OkvObVq~OiwOkvObVq~OiyOkxO~Oi!OOozOp{O~Oi!TOlcOnfO~Oi!VOmrObVy~Ok!YObVy~Oi!ZOozOp{O~Ok!^O~OU!_Oi!`O~Oi!bOp{ObZy~Oi!dOp{O~Oi!eOk!YObVy~Oi!fOk!^O~OmrObV!R~Oi!iOmrObV!R~Oi!lOp{ObZ!R~Oi!nOozOp{O~OQVOUQOrROb`P~OU!qO~Ok!rObV!R~Ok!sO~Oi!tOk!rObV!R~Oi!uOk!sO~OmrObV!Z~Oi!vOmrObV!Z~Op{ObZ!Z~Oi!xOp{ObZ!Z~Ob!zO~Oi!}OozOp{O~Ok#OObV!Z~Ok#PO~OmrObV!c~Oi#QOp{ObZ!c~Ob#SO~Oi#TOmrObV!c~Oi#WOozOp{O~Op{ObZ!k~Oi#XOp{ObZ!k~OmrObV!k~Oi#ZOmrObV!k~Op{ObZ!s~Oi#]Op{ObZ!s~OmrObV!s~Op{ObZ!{~Oi#_Op{ObZ!{~Op{ObZ#T~Oop~\",\n  goto: \"'TrPPPPs}P!V!Y!`!n!V#S#b#x$m%`sP%fP%i&PP&sPPPPPPPP&ySTOTXVPV!_!q]SOPTV!_!qRZSQXSR`YQd^SlehS!RpqR!g!Tdsjuv!X!Y!j!r!|#O#V]!Ut!V!i!v#T#ZQg^SmehS!SpqR!h!TQ!QnS!]x!OS!k!Z!^S!y!n!sS#U!}#PR#[#Wt}nx!P!Q![!]!^!k!m!s!w!y#P#R#U#Y#[#^k!a!O!Z!b!d!l!n!x!}#Q#W#X#]#_!a|nx!O!P!Q!Z![!]!^!b!d!k!l!m!n!s!w!x!y!}#P#Q#R#U#W#X#Y#[#]#^#_Q!p!_R!{!qRbZQujY!Wu!X!j!|#VQ!XvQ!j!YQ!|!rR#V#OQ!PnS![x!Q^!c!P![!m!w#R#Y#^S!m!]!^S!w!k!sS#R!y#PQ#Y#UR#^#[QUOR[TQUPQ]VT!o!_!q\",\n  nodeNames: \"⚠ Text TextNested Root Expression ExpressionOpen { FormatExpression Param FormatFunction FormatStyle SelectExpression SelectFunction Offset SelectVariant VariantDescriptor VariantContent PluralPlaceholder } ExpressionClose Nested\",\n  maxTerm: 34,\n  skippedNodes: [0],\n  repeatNodeCount: 2,\n  tokenData: \"$Mn~R#POX'UX^,z^p'Upq,zqs+jst-ot{+j{|.u|}7o}!O.u!O!Q+j!Q!['U![!_+j!_!`7t!`!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#W'U#W#X<[#X#b'U#b#cNa#c#d!7X#d#e#(`#e#g'U#g#h#Ck#h#i$C]#i#o'U#o#p$Lc#p#q+j#q#r$Mi#r#s+j#s#y'U#y#z,z#z$f'U$f$g,z$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BY#BZ,z#BZ$IS'U$IS$I_,z$I_$Id'U$Id$I|+j$I|$JO,z$JO$JT'U$JT$JU,z$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KV$KW,z$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FU&FV,z&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'U]'_!cmSjPpWOX'U^p'Uq|+j}!Q+j!Q!['U![!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#o'U#o#q+j#r#s+j#s#y'U#z$f'U$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BZ$IS'U$I_$Id'U$Id$I|+j$JO$JT'U$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'US+o_mSOX+j^p+jq|+j}#q+j#r#y+j#z$f+j$g#BY+j#BZ$IS+j$I_$I|+j$JO$JT+j$JU$KV+j$KW&FU+j&FV;'S+j;'S;=`,n<%lO+jS,qP;=`<%l+j],wP;=`<%l'U~-PYi~X^,zpq,z#y#z,z$f$g,z#BY#BZ,z$IS$I_,z$I|$JO,z$JT$JU,z$KV$KW,z&FU&FV,zT-v_mSrPOX+j^p+jq|+j}#q+j#r#y+j#z$f+j$g#BY+j#BZ$IS+j$I_$I|+j$JO$JT+j$JU$KV+j$KW&FU+j&FV;'S+j;'S;=`,n<%lO+j[.z!cmSOX3V^p3Vq|+j}!Q+j!Q![3V![!c+j!c!}3V!}#R+j#R#S3V#S#T+j#T#o3V#o#q+j#r#s+j#s#y3V#z$f3V$g$n+j$n$o3V$o$p+j$p$q3V$q$s+j$s$t3V$t$u+j$u$v3V$v$x+j$x$|3V$|$}+j$}%R3V%R%S+j%S%V3V%V%W+j%W%o3V%o%p+j%p&a3V&a&b+j&b#BY3V#BZ$IS3V$I_$Id3V$Id$I|+j$JO$JT3V$JU$Je+j$Je$Jg3V$Jg$Jz+j$Jz$J{3V$J{$KV+j$KW%#t3V%#t%3d+j%3d%6z3V%6z%Dl+j%Dl%E[3V%E[&/x+j&/x&;O3V&;O&=t+j&=t&FU3V&FV&FY+j&FY&F^3V&F^&Fw+j&Fw&GW3V&GW&GX+j&GX;'S3V;'S;=`7i<%l?>`3V?>`?>b+j?>b?DR3V?DR?DT+j?DTO3V[3^!cmSpWOX3V^p3Vq|+j}!Q+j!Q![3V![!c+j!c!}3V!}#R+j#R#S3V#S#T+j#T#o3V#o#q+j#r#s+j#s#y3V#z$f3V$g$n+j$n$o3V$o$p+j$p$q3V$q$s+j$s$t3V$t$u+j$u$v3V$v$x+j$x$|3V$|$}+j$}%R3V%R%S+j%S%V3V%V%W+j%W%o3V%o%p+j%p&a3V&a&b+j&b#BY3V#BZ$IS3V$I_$Id3V$Id$I|+j$JO$JT3V$JU$Je+j$Je$Jg3V$Jg$Jz+j$Jz$J{3V$J{$KV+j$KW%#t3V%#t%3d+j%3d%6z3V%6z%Dl+j%Dl%E[3V%E[&/x+j&/x&;O3V&;O&=t+j&=t&FU3V&FV&FY+j&FY&F^3V&F^&Fw+j&Fw&GW3V&GW&GX+j&GX;'S3V;'S;=`7i<%l?>`3V?>`?>b+j?>b?DR3V?DR?DT+j?DTO3V[7lP;=`<%l3V~7tOk~[7y!emSOX3V^p3Vq{+j{|.u}!O.u!O!Q+j!Q![3V![!c+j!c!}3V!}#R+j#R#S3V#S#T+j#T#o3V#o#q+j#r#s+j#s#y3V#z$f3V$g$n+j$n$o3V$o$p+j$p$q3V$q$s+j$s$t3V$t$u+j$u$v3V$v$x+j$x$|3V$|$}+j$}%R3V%R%S+j%S%V3V%V%W+j%W%o3V%o%p+j%p&a3V&a&b+j&b#BY3V#BZ$IS3V$I_$Id3V$Id$I|+j$JO$JT3V$JU$Je+j$Je$Jg3V$Jg$Jz+j$Jz$J{3V$J{$KV+j$KW%#t3V%#t%3d+j%3d%6z3V%6z%Dl+j%Dl%E[3V%E[&/x+j&/x&;O3V&;O&=t+j&=t&FU3V&FV&FY+j&FY&F^3V&F^&Fw+j&Fw&GW3V&GW&GX+j&GX;'S3V;'S;=`7i<%l?>`3V?>`?>b+j?>b?DR3V?DR?DT+j?DTO3V_<e!dmSjPpWOX'U^p'Uq|+j}!Q+j!Q!['U![!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#U@s#U#o'U#o#q+j#r#s+j#s#y'U#z$f'U$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BZ$IS'U$I_$Id'U$Id$I|+j$JO$JT'U$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'U_@|!emSjPpWOX'U^p'Uq|+j}!Q+j!Q!['U![!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#h'U#h#iE_#i#o'U#o#q+j#r#s+j#s#y'U#z$f'U$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BZ$IS'U$I_$Id'U$Id$I|+j$JO$JT'U$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'U_Eh!emSjPpWOX'U^p'Uq|+j}!Q+j!Q!['U![!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#X'U#X#YIy#Y#o'U#o#q+j#r#s+j#s#y'U#z$f'U$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BZ$IS'U$I_$Id'U$Id$I|+j$JO$JT'U$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'U_JU!clQmSjPpWOX'U^p'Uq|+j}!Q+j!Q!['U![!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#o'U#o#q+j#r#s+j#s#y'U#z$f'U$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BZ$IS'U$I_$Id'U$Id$I|+j$JO$JT'U$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'U_Nj!emSjPpWOX'U^p'Uq|+j}!Q+j!Q!['U![!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#i'U#i#j!${#j#o'U#o#q+j#r#s+j#s#y'U#z$f'U$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BZ$IS'U$I_$Id'U$Id$I|+j$JO$JT'U$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'U_!%U!emSjPpWOX'U^p'Uq|+j}!Q+j!Q!['U![!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#a'U#a#b!)g#b#o'U#o#q+j#r#s+j#s#y'U#z$f'U$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BZ$IS'U$I_$Id'U$Id$I|+j$JO$JT'U$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'U_!)p!emSjPpWOX'U^p'Uq|+j}!Q+j!Q!['U![!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#U'U#U#V!.R#V#o'U#o#q+j#r#s+j#s#y'U#z$f'U$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BZ$IS'U$I_$Id'U$Id$I|+j$JO$JT'U$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'U_!.[!emSjPpWOX'U^p'Uq|+j}!Q+j!Q!['U![!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#X'U#X#Y!2m#Y#o'U#o#q+j#r#s+j#s#y'U#z$f'U$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BZ$IS'U$I_$Id'U$Id$I|+j$JO$JT'U$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'U_!2v!emSjPpWOX'U^p'Uq|+j}!Q+j!Q!['U![!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#f'U#f#gIy#g#o'U#o#q+j#r#s+j#s#y'U#z$f'U$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BZ$IS'U$I_$Id'U$Id$I|+j$JO$JT'U$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'U]!7b!emSjPpWOX'U^p'Uq|+j}!Q+j!Q!['U![!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#Y'U#Y#Z!;s#Z#o'U#o#q+j#r#s+j#s#y'U#z$f'U$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BZ$IS'U$I_$Id'U$Id$I|+j$JO$JT'U$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'U]!;|!emSjPpWOX'U^p'Uq|+j}!Q+j!Q!['U![!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#Y'U#Y#Z!@_#Z#o'U#o#q+j#r#s+j#s#y'U#z$f'U$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BZ$IS'U$I_$Id'U$Id$I|+j$JO$JT'U$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'U]!@h!emSjPpWOX'U^p'Uq|+j}!Q+j!Q!['U![!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#g'U#g#h!Dy#h#o'U#o#q+j#r#s+j#s#y'U#z$f'U$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BZ$IS'U$I_$Id'U$Id$I|+j$JO$JT'U$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'U]!ES!emSjPpWOX'U^p'Uq|+j}!Q+j!Q!['U![!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#X'U#X#Y!Ie#Y#o'U#o#q+j#r#s+j#s#y'U#z$f'U$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BZ$IS'U$I_$Id'U$Id$I|+j$JO$JT'U$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'U]!In!emSjPpWOX'U^p'Uq|+j}!Q+j!Q!['U![!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#h'U#h#i!NP#i#o'U#o#q+j#r#s+j#s#y'U#z$f'U$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BZ$IS'U$I_$Id'U$Id$I|+j$JO$JT'U$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'U]!NY!dmSjPpWOX'U^p'Uq|+j}!Q+j!Q!['U![!]#$h!]!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#o'U#o#q+j#r#s+j#s#y'U#z$f'U$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BZ$IS'U$I_$Id'U$Id$I|+j$JO$JT'U$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'U[#$mcmSOX+j^p+jq{+j{|#%x}!O#%x!O!Q+j!Q![#'S![#q+j#r#y+j#z$f+j$g#BY+j#BZ$IS+j$I_$I|+j$JO$JT+j$JU$KV+j$KW&FU+j&FV;'S+j;'S;=`,n<%lO+j[#%}amSOX+j^p+jq|+j}!Q+j!Q![#'S![#q+j#r#y+j#z$f+j$g#BY+j#BZ$IS+j$I_$I|+j$JO$JT+j$JU$KV+j$KW&FU+j&FV;'S+j;'S;=`,n<%lO+j[#'ZamSoWOX+j^p+jq|+j}!Q+j!Q![#'S![#q+j#r#y+j#z$f+j$g#BY+j#BZ$IS+j$I_$I|+j$JO$JT+j$JU$KV+j$KW&FU+j&FV;'S+j;'S;=`,n<%lO+j_#(i!emSjPpWOX'U^p'Uq|+j}!Q+j!Q!['U![!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#`'U#`#a#,z#a#o'U#o#q+j#r#s+j#s#y'U#z$f'U$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BZ$IS'U$I_$Id'U$Id$I|+j$JO$JT'U$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'U_#-T!emSjPpWOX'U^p'Uq|+j}!Q+j!Q!['U![!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#i'U#i#j#1f#j#o'U#o#q+j#r#s+j#s#y'U#z$f'U$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BZ$IS'U$I_$Id'U$Id$I|+j$JO$JT'U$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'U_#1o!emSjPpWOX'U^p'Uq|+j}!Q+j!Q!['U![!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#f'U#f#g#6Q#g#o'U#o#q+j#r#s+j#s#y'U#z$f'U$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BZ$IS'U$I_$Id'U$Id$I|+j$JO$JT'U$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'U_#6Z!dmSjPpWOX'U^p'Uq|+j}!Q+j!Q!['U![!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#U#:i#U#o'U#o#q+j#r#s+j#s#y'U#z$f'U$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BZ$IS'U$I_$Id'U$Id$I|+j$JO$JT'U$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'U_#:r!emSjPpWOX'U^p'Uq|+j}!Q+j!Q!['U![!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#`'U#`#a#?T#a#o'U#o#q+j#r#s+j#s#y'U#z$f'U$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BZ$IS'U$I_$Id'U$Id$I|+j$JO$JT'U$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'U_#?`!cmSjPnQpWOX'U^p'Uq|+j}!Q+j!Q!['U![!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#o'U#o#q+j#r#s+j#s#y'U#z$f'U$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BZ$IS'U$I_$Id'U$Id$I|+j$JO$JT'U$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'U_#Ct!emSjPpWOX'U^p'Uq|+j}!Q+j!Q!['U![!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#X'U#X#Y#HV#Y#o'U#o#q+j#r#s+j#s#y'U#z$f'U$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BZ$IS'U$I_$Id'U$Id$I|+j$JO$JT'U$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'U_#H`!emSjPpWOX'U^p'Uq|+j}!Q+j!Q!['U![!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#`'U#`#a#Lq#a#o'U#o#q+j#r#s+j#s#y'U#z$f'U$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BZ$IS'U$I_$Id'U$Id$I|+j$JO$JT'U$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'U_#Lz!emSjPpWOX'U^p'Uq|+j}!Q+j!Q!['U![!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#X'U#X#Y$#]#Y#o'U#o#q+j#r#s+j#s#y'U#z$f'U$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BZ$IS'U$I_$Id'U$Id$I|+j$JO$JT'U$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'U_$#f!emSjPpWOX'U^p'Uq|+j}!Q+j!Q!['U![!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#V'U#V#W$'w#W#o'U#o#q+j#r#s+j#s#y'U#z$f'U$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BZ$IS'U$I_$Id'U$Id$I|+j$JO$JT'U$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'U_$(Q!emSjPpWOX'U^p'Uq|+j}!Q+j!Q!['U![!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#h'U#h#i$,c#i#o'U#o#q+j#r#s+j#s#y'U#z$f'U$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BZ$IS'U$I_$Id'U$Id$I|+j$JO$JT'U$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'U_$,n!emSjPnQpWOX'U^p'Uq|+j}!Q+j!Q!['U![!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#c'U#c#d$1P#d#o'U#o#q+j#r#s+j#s#y'U#z$f'U$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BZ$IS'U$I_$Id'U$Id$I|+j$JO$JT'U$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'U_$1Y!emSjPpWOX'U^p'Uq|+j}!Q+j!Q!['U![!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#f'U#f#g$5k#g#o'U#o#q+j#r#s+j#s#y'U#z$f'U$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BZ$IS'U$I_$Id'U$Id$I|+j$JO$JT'U$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'U_$5t!emSjPpWOX'U^p'Uq|+j}!Q+j!Q!['U![!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#W'U#W#X$:V#X#o'U#o#q+j#r#s+j#s#y'U#z$f'U$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BZ$IS'U$I_$Id'U$Id$I|+j$JO$JT'U$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'U_$:`!emSjPpWOX'U^p'Uq|+j}!Q+j!Q!['U![!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#]'U#]#^$>q#^#o'U#o#q+j#r#s+j#s#y'U#z$f'U$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BZ$IS'U$I_$Id'U$Id$I|+j$JO$JT'U$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'U_$>z!emSjPpWOX'U^p'Uq|+j}!Q+j!Q!['U![!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#b'U#b#c#6Q#c#o'U#o#q+j#r#s+j#s#y'U#z$f'U$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BZ$IS'U$I_$Id'U$Id$I|+j$JO$JT'U$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'U_$Cf!emSjPpWOX'U^p'Uq|+j}!Q+j!Q!['U![!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#]'U#]#^$Gw#^#o'U#o#q+j#r#s+j#s#y'U#z$f'U$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BZ$IS'U$I_$Id'U$Id$I|+j$JO$JT'U$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'U_$HQ!emSjPpWOX'U^p'Uq|+j}!Q+j!Q!['U![!c+j!c!}'U!}#R+j#R#S'U#S#T+j#T#a'U#a#bE_#b#o'U#o#q+j#r#s+j#s#y'U#z$f'U$g$n+j$n$o'U$o$p+j$p$q'U$q$s+j$s$t'U$t$u+j$u$v'U$v$x+j$x$|'U$|$}+j$}%R'U%R%S+j%S%V'U%V%W+j%W%o'U%o%p+j%p&a'U&a&b+j&b#BY'U#BZ$IS'U$I_$Id'U$Id$I|+j$JO$JT'U$JU$Je+j$Je$Jg'U$Jg$Jz+j$Jz$J{'U$J{$KV+j$KW%#t'U%#t%3d+j%3d%6z'U%6z%Dl+j%Dl%E['U%E[&/x+j&/x&;O'U&;O&=t+j&=t&FU'U&FV&FY+j&FY&F^'U&F^&Fw+j&Fw&GW'U&GW&GX+j&GX;'S'U;'S;=`,t<%l?>`'U?>`?>b+j?>b?DR'U?DR?DT+j?DTO'UT$Lj_UPmSOX+j^p+jq|+j}#q+j#r#y+j#z$f+j$g#BY+j#BZ$IS+j$I_$I|+j$JO$JT+j$JU$KV+j$KW&FU+j&FV;'S+j;'S;=`,n<%lO+j~$MnOb~\",\n  tokenizers: [pi, di, 0, 1, 2, 3],\n  topRules: { Root: [0, 3], Nested: [1, 20] },\n  tokenPrec: 582\n}), Ui = (r) => {\n  let t = 0;\n  return {\n    get next() {\n      return r[t] ? r.charCodeAt(t) : -1;\n    },\n    get pos() {\n      return t;\n    },\n    peek(s) {\n      return r[t + s] ? r.charCodeAt(t + s) : -1;\n    },\n    advance(s = 1) {\n      t += s;\n    }\n  };\n};\nfunction gt(r) {\n  return r === 45 || r === 46 || r >= 48 && r <= 57 || r === 95 || r >= 97 && r <= 122 || r >= 65 && r <= 90 || r == 183 || r >= 192 && r <= 214 || r >= 216 && r <= 246 || r >= 248 && r <= 893 || r >= 895 && r <= 8191 || r >= 8204 && r <= 8205 || r >= 8255 && r <= 8256 || r >= 8304 && r <= 8591 || r >= 11264 && r <= 12271 || r >= 12289 && r <= 55295 || r >= 63744 && r <= 64975 || r >= 65008 && r <= 65533 || r >= 65536 && r <= 983039;\n}\nfunction Wt(r) {\n  return r >= 9 && r <= 13 || r === 32 || r === 133 || r >= 8206 && r <= 8207 || r === 8232 || r === 8233;\n}\nconst Qe = 0, Ke = 1, ne = 2, ot = 4, Ot = 5, oe = 6, le = 7, Ze = 8, ae = 9, Le = 10;\nfunction ji(r) {\n  let t = Qe, e = \"open\", s = \"\", i = \"\", n = \"\", o = \"'\", l;\n  const a = { start: 0, end: 0 }, h = {};\n  t:\n    for (; (l = r.next) !== -1; ) {\n      const u = Se(l);\n      switch (t) {\n        case Qe:\n          u === \"<\" && (t = Ke, a.start = r.pos);\n          break;\n        case Ke:\n          if (u === \"/\")\n            e = \"close\", t = ne;\n          else if (gt(l))\n            s += u, t = ne;\n          else\n            break t;\n          break;\n        case ne:\n          if (u === \">\") {\n            if (s === \"\")\n              break t;\n            t = ot;\n          } else if (u === \"/\") {\n            if (s === \"\")\n              break t;\n            e = \"self-closed\", t = Ot;\n          } else if (Wt(l)) {\n            if (s === \"\")\n              break t;\n            t = oe;\n          } else if (gt(l))\n            s += u;\n          else\n            break t;\n          break;\n        case oe:\n          gt(l) ? (i += u, t = le) : u === \"/\" ? (e = \"self-closed\", t = Ot) : u === \">\" && (t = ot);\n          break;\n        case le:\n          if (gt(l))\n            i += u;\n          else if (u === \">\" || u === \"/\" || u === \"=\" || Wt(l))\n            h[i] = !0, u === \">\" ? t = ot : u === \"/\" ? t = Ot : u === \"=\" ? t = ae : t = Ze;\n          else\n            break t;\n          break;\n        case Ze:\n          if (u === \">\")\n            t = ot;\n          else if (u === \"/\")\n            t = Ot;\n          else if (u === \"=\")\n            t = ae;\n          else if (gt(l))\n            t = le, i = u;\n          else if (!Wt(l))\n            break t;\n          break;\n        case ae:\n          if (u === \"'\" || u === '\"')\n            t = Le, o = u;\n          else if (!Wt(l))\n            break t;\n          break;\n        case Le:\n          u === o ? (h[i] = `${o}${n}${o}`, i = \"\", n = \"\", t = oe) : n += u;\n          break;\n        case Ot: {\n          if (u === \">\")\n            t = ot;\n          else\n            break t;\n          break;\n        }\n        case ot:\n          break t;\n      }\n      r.advance();\n    }\n  return t === ot && s ? (a.end = r.pos, {\n    isTag: !0,\n    type: e,\n    name: s,\n    params: h,\n    position: a\n  }) : null;\n}\nconst gi = (r) => {\n  const t = Ui(r), e = [];\n  for (; t.next !== -1; ) {\n    const s = ji(t);\n    s && e.push(s);\n  }\n  return e;\n};\nfunction Oi(r) {\n  const t = [];\n  let e = r.firstChild;\n  for (; e; )\n    t.push(e), e = e.nextSibling;\n  return t;\n}\nconst mi = (r, t) => {\n  let e;\n  try {\n    e = Ft.configure({\n      strict: !0,\n      top: t ? \"Nested\" : \"Root\"\n    }).parse(r);\n  } catch {\n    return null;\n  }\n  const s = [], i = /* @__PURE__ */ new Map();\n  function n(f) {\n    return r.substring(f.from, f.to);\n  }\n  function o(f) {\n    const c = f.parent;\n    let d = \"\", m;\n    const R = [];\n    Oi(f).forEach((z) => {\n      const J = n(z);\n      switch (z.type.id) {\n        case te:\n          d = J;\n          break;\n        case li:\n          m = J;\n          break;\n        case ai:\n          R.push(J);\n          break;\n      }\n    });\n    const I = [\"{\", d];\n    return m && (I.push(\", \"), I.push(m)), R.length && I.push(`, ${R.join(\" \")}`), I.push(\"}\"), {\n      position: { start: c.from, end: c.to },\n      type: \"variable\",\n      name: d,\n      normalizedValue: I.join(\"\")\n    };\n  }\n  function l(f) {\n    let c = \"<\";\n    return f.type === \"close\" && (c += \"/\"), c += f.name, Object.entries(f.params).forEach(([d, m]) => {\n      c += ` ${d}`, m !== !0 && (c += `=${m}`);\n    }), f.type === \"self-closed\" ? c += \" />\" : c += \">\", c;\n  }\n  function a(f) {\n    return {\n      position: f.position,\n      type: f.type === \"open\" ? \"tagOpen\" : f.type === \"close\" ? \"tagClose\" : \"tagSelfClosed\",\n      name: f.name,\n      normalizedValue: l(f)\n    };\n  }\n  function h(f) {\n    if (!r.substring(\n      f.position.start,\n      f.position.end\n    ).includes(`\n`)) {\n      if (f.type === \"tagOpen\") {\n        const d = i.get(f.name) ?? [];\n        d.push(f), i.set(f.name, d);\n      } else if (f.type === \"tagClose\") {\n        const d = i.get(f.name);\n        d ? (d.pop(), d.length === 0 && i.delete(f.name)) : f.error = \"missing_open_tag\";\n      }\n      s.push(f);\n    }\n  }\n  const u = e.cursor();\n  let $;\n  do {\n    const f = u.node;\n    switch ($ = !0, f.type.id) {\n      case $i:\n        h({\n          name: \"#\",\n          type: \"hash\",\n          position: { start: u.from, end: u.to },\n          normalizedValue: \"#\"\n        }), $ = !1;\n        break;\n      case Ie: {\n        const c = f.firstChild.nextSibling;\n        (c == null ? void 0 : c.type.id) === oi && h(o(c)), $ = !1;\n        break;\n      }\n      case ws:\n      case Ts: {\n        gi(n(f)).forEach((c) => h(\n          a({\n            ...c,\n            position: {\n              start: c.position.start + f.from,\n              end: c.position.end + f.from\n            }\n          })\n        )), $ = !1;\n        break;\n      }\n    }\n  } while (u.next($));\n  return i.forEach(\n    (f) => f.forEach((c) => {\n      c.error = \"missing_close_tag\";\n    })\n  ), s;\n};\nclass Si extends Gs {\n  constructor(t, e) {\n    super(), this.value = t, this.examplePluralNum = e;\n  }\n  toDOM() {\n    const t = document.createElement(\"span\");\n    let e = `placeholder-widget placeholder-${this.value.type}`;\n    this.value.error && (e = e + ` placeholder-error placeholder-error-${this.value.error}`), t.className = e;\n    const s = document.createElement(\"span\");\n    return s.textContent = this.value.type !== \"hash\" ? this.value.name : `#${this.examplePluralNum ?? \"\"}`, t.appendChild(s), t;\n  }\n}\nfunction Me(r, t, e) {\n  const s = mi(r, e);\n  return s === null ? null : s.filter((i) => {\n    if (t) {\n      const [n] = t;\n      if (n > i.position.start && n < i.position.end)\n        return !1;\n    }\n    return !0;\n  });\n}\nfunction He(r, t) {\n  const e = new Te();\n  return r.forEach((s) => {\n    e.add(\n      s.position.start,\n      s.position.end,\n      K.widget({\n        widget: new Si(s, t),\n        side: 1\n      })\n    );\n  }), e.finish();\n}\nfunction bi(r, t) {\n  return t.find((e) => e.name === r.name && e.type === e.type);\n}\nfunction xi(r, t) {\n  return t.find(\n    (e) => e.name === r.name && e.type === r.type && e.position.start === e.position.start && e.position.end === e.position.end\n  );\n}\nfunction ki(r, t, e) {\n  return t.filter((s) => !!(xi(s, r) || bi(s, e)));\n}\nfunction yi(r, t, e, s, i) {\n  const n = e - t, l = i - s - n;\n  return r.filter((a) => t < a.position.end && e > a.position.start ? !1 : (e < a.position.start && (a.position.start += l, a.position.end += l), !0));\n}\nfunction he(r, t) {\n  let e = r;\n  return t.iterChanges((s, i, n, o) => {\n    e = yi(e, s, i, n, o);\n  }), e;\n}\nconst pr = (r) => {\n  const { noUpdates: t, allowedNewPlaceholders: e, nested: s, tooltips: i } = r;\n  return Os.define({\n    create(n) {\n      try {\n        return Me(n.doc.toString(), void 0, s) || [];\n      } catch {\n        return [];\n      }\n    },\n    update(n, o) {\n      if (t)\n        return he(n, o.changes);\n      if (o.docChanged && !t) {\n        let l;\n        o.changes.iterChanges((h, u, $, f) => {\n          const c = u - h;\n          f - $ - c <= 1 && (l = [$, f]);\n        });\n        const a = Me(\n          o.state.doc.toString(),\n          l,\n          s\n        );\n        return a === null ? he(n, o.changes) : e ? ki(\n          n,\n          he(n, o.changes),\n          e\n        ) : a;\n      }\n      return n;\n    },\n    provide(n) {\n      const o = [\n        Ht.fromClass(\n          class {\n            constructor(l) {\n              Vt(this, \"decorationSet\");\n              this.decorationSet = He(\n                l.state.field(n),\n                r == null ? void 0 : r.examplePluralNum\n              );\n            }\n            update(l) {\n              this.decorationSet = He(\n                l.state.field(n),\n                r == null ? void 0 : r.examplePluralNum\n              );\n            }\n          },\n          {\n            decorations: (l) => l.decorationSet,\n            provide: (l) => ht.atomicRanges.of((a) => {\n              var h;\n              return ((h = a.plugin(l)) == null ? void 0 : h.decorationSet) || K.none;\n            })\n          }\n        )\n      ];\n      return i && o.push(\n        As((l, a, h) => {\n          const $ = l.state.field(n).find(({ position: f }) => a === f.start && h > 0);\n          return $ ? {\n            pos: $.position.start,\n            end: $.position.end,\n            create() {\n              const f = document.createElement(\"div\");\n              return f.textContent = $.normalizedValue, { dom: f };\n            }\n          } : null;\n        })\n      ), o;\n    }\n  });\n};\nlet Ji = 0;\nclass Q {\n  /**\n  @internal\n  */\n  constructor(t, e, s) {\n    this.set = t, this.base = e, this.modified = s, this.id = Ji++;\n  }\n  /**\n  Define a new tag. If `parent` is given, the tag is treated as a\n  sub-tag of that parent, and\n  [highlighters](#highlight.tagHighlighter) that don't mention\n  this tag will try to fall back to the parent tag (or grandparent\n  tag, etc).\n  */\n  static define(t) {\n    if (t != null && t.base)\n      throw new Error(\"Can not derive from a modified tag\");\n    let e = new Q([], null, []);\n    if (e.set.push(e), t)\n      for (let s of t.set)\n        e.set.push(s);\n    return e;\n  }\n  /**\n  Define a tag _modifier_, which is a function that, given a tag,\n  will return a tag that is a subtag of the original. Applying the\n  same modifier to a twice tag will return the same value (`m1(t1)\n  == m1(t1)`) and applying multiple modifiers will, regardless or\n  order, produce the same tag (`m1(m2(t1)) == m2(m1(t1))`).\n  \n  When multiple modifiers are applied to a given base tag, each\n  smaller set of modifiers is registered as a parent, so that for\n  example `m1(m2(m3(t1)))` is a subtype of `m1(m2(t1))`,\n  `m1(m3(t1)`, and so on.\n  */\n  static defineModifier() {\n    let t = new Qt();\n    return (e) => e.modified.indexOf(t) > -1 ? e : Qt.get(e.base || e, e.modified.concat(t).sort((s, i) => s.id - i.id));\n  }\n}\nlet wi = 0;\nclass Qt {\n  constructor() {\n    this.instances = [], this.id = wi++;\n  }\n  static get(t, e) {\n    if (!e.length)\n      return t;\n    let s = e[0].instances.find((l) => l.base == t && Ti(e, l.modified));\n    if (s)\n      return s;\n    let i = [], n = new Q(i, t, e);\n    for (let l of e)\n      l.instances.push(n);\n    let o = Fi(e);\n    for (let l of t.set)\n      if (!l.modified.length)\n        for (let a of o)\n          i.push(Qt.get(l, a));\n    return n;\n  }\n}\nfunction Ti(r, t) {\n  return r.length == t.length && r.every((e, s) => e == t[s]);\n}\nfunction Fi(r) {\n  let t = [[]];\n  for (let e = 0; e < r.length; e++)\n    for (let s = 0, i = t.length; s < i; s++)\n      t.push(t[s].concat(r[e]));\n  return t.sort((e, s) => s.length - e.length);\n}\nfunction Is(r) {\n  let t = /* @__PURE__ */ Object.create(null);\n  for (let e in r) {\n    let s = r[e];\n    Array.isArray(s) || (s = [s]);\n    for (let i of e.split(\" \"))\n      if (i) {\n        let n = [], o = 2, l = i;\n        for (let $ = 0; ; ) {\n          if (l == \"...\" && $ > 0 && $ + 3 == i.length) {\n            o = 1;\n            break;\n          }\n          let f = /^\"(?:[^\"\\\\]|\\\\.)*?\"|[^\\/!]+/.exec(l);\n          if (!f)\n            throw new RangeError(\"Invalid path: \" + i);\n          if (n.push(f[0] == \"*\" ? \"\" : f[0][0] == '\"' ? JSON.parse(f[0]) : f[0]), $ += f[0].length, $ == i.length)\n            break;\n          let c = i[$++];\n          if ($ == i.length && c == \"!\") {\n            o = 0;\n            break;\n          }\n          if (c != \"/\")\n            throw new RangeError(\"Invalid path: \" + i);\n          l = i.slice($);\n        }\n        let a = n.length - 1, h = n[a];\n        if (!h)\n          throw new RangeError(\"Invalid path: \" + i);\n        let u = new Kt(s, o, a > 0 ? n.slice(0, a) : null);\n        t[h] = u.sort(t[h]);\n      }\n  }\n  return zs.add(t);\n}\nconst zs = new x();\nclass Kt {\n  constructor(t, e, s, i) {\n    this.tags = t, this.mode = e, this.context = s, this.next = i;\n  }\n  get opaque() {\n    return this.mode == 0;\n  }\n  get inherit() {\n    return this.mode == 1;\n  }\n  sort(t) {\n    return !t || t.depth < this.depth ? (this.next = t, this) : (t.next = this.sort(t.next), t);\n  }\n  get depth() {\n    return this.context ? this.context.length : 0;\n  }\n}\nKt.empty = new Kt([], 2, null);\nfunction Ds(r, t) {\n  let e = /* @__PURE__ */ Object.create(null);\n  for (let n of r)\n    if (!Array.isArray(n.tag))\n      e[n.tag.id] = n.class;\n    else\n      for (let o of n.tag)\n        e[o.id] = n.class;\n  let { scope: s, all: i = null } = t || {};\n  return {\n    style: (n) => {\n      let o = i;\n      for (let l of n)\n        for (let a of l.set) {\n          let h = e[a.id];\n          if (h) {\n            o = o ? o + \" \" + h : h;\n            break;\n          }\n        }\n      return o;\n    },\n    scope: s\n  };\n}\nfunction Ri(r, t) {\n  let e = null;\n  for (let s of r) {\n    let i = s.style(t);\n    i && (e = e ? e + \" \" + i : i);\n  }\n  return e;\n}\nfunction Vi(r, t, e, s = 0, i = r.length) {\n  let n = new vi(s, Array.isArray(t) ? t : [t], e);\n  n.highlightRange(r.cursor(), s, i, \"\", n.highlighters), n.flush(i);\n}\nclass vi {\n  constructor(t, e, s) {\n    this.at = t, this.highlighters = e, this.span = s, this.class = \"\";\n  }\n  startSpan(t, e) {\n    e != this.class && (this.flush(t), t > this.at && (this.at = t), this.class = e);\n  }\n  flush(t) {\n    t > this.at && this.class && this.span(this.at, t, this.class);\n  }\n  highlightRange(t, e, s, i, n) {\n    let { type: o, from: l, to: a } = t;\n    if (l >= s || a <= e)\n      return;\n    o.isTop && (n = this.highlighters.filter((c) => !c.scope || c.scope(o)));\n    let h = i, u = Ii(t) || Kt.empty, $ = Ri(n, u.tags);\n    if ($ && (h && (h += \" \"), h += $, u.mode == 1 && (i += (i ? \" \" : \"\") + $)), this.startSpan(Math.max(e, l), h), u.opaque)\n      return;\n    let f = t.tree && t.tree.prop(x.mounted);\n    if (f && f.overlay) {\n      let c = t.node.enter(f.overlay[0].from + l, 1), d = this.highlighters.filter((R) => !R.scope || R.scope(f.tree.type)), m = t.firstChild();\n      for (let R = 0, I = l; ; R++) {\n        let z = R < f.overlay.length ? f.overlay[R] : null, J = z ? z.from + l : a, N = Math.max(e, I), S = Math.min(s, J);\n        if (N < S && m)\n          for (; t.from < S && (this.highlightRange(t, N, S, i, n), this.startSpan(Math.min(S, t.to), h), !(t.to >= J || !t.nextSibling())); )\n            ;\n        if (!z || J > s)\n          break;\n        I = z.to + l, I > e && (this.highlightRange(c.cursor(), Math.max(e, z.from + l), Math.min(s, I), \"\", d), this.startSpan(Math.min(s, I), h));\n      }\n      m && t.parent();\n    } else if (t.firstChild()) {\n      f && (i = \"\");\n      do\n        if (!(t.to <= e)) {\n          if (t.from >= s)\n            break;\n          this.highlightRange(t, e, s, i, n), this.startSpan(Math.min(s, t.to), h);\n        }\n      while (t.nextSibling());\n      t.parent();\n    }\n  }\n}\nfunction Ii(r) {\n  let t = r.type.prop(zs);\n  for (; t && t.context && !r.matchContext(t.context); )\n    t = t.next;\n  return t || null;\n}\nconst p = Q.define, Pt = p(), H = p(), ts = p(H), es = p(H), tt = p(), Ct = p(tt), ue = p(tt), Y = p(), lt = p(Y), X = p(), _ = p(), ke = p(), mt = p(ke), qt = p(), U = {\n  /**\n  A comment.\n  */\n  comment: Pt,\n  /**\n  A line [comment](#highlight.tags.comment).\n  */\n  lineComment: p(Pt),\n  /**\n  A block [comment](#highlight.tags.comment).\n  */\n  blockComment: p(Pt),\n  /**\n  A documentation [comment](#highlight.tags.comment).\n  */\n  docComment: p(Pt),\n  /**\n  Any kind of identifier.\n  */\n  name: H,\n  /**\n  The [name](#highlight.tags.name) of a variable.\n  */\n  variableName: p(H),\n  /**\n  A type [name](#highlight.tags.name).\n  */\n  typeName: ts,\n  /**\n  A tag name (subtag of [`typeName`](#highlight.tags.typeName)).\n  */\n  tagName: p(ts),\n  /**\n  A property or field [name](#highlight.tags.name).\n  */\n  propertyName: es,\n  /**\n  An attribute name (subtag of [`propertyName`](#highlight.tags.propertyName)).\n  */\n  attributeName: p(es),\n  /**\n  The [name](#highlight.tags.name) of a class.\n  */\n  className: p(H),\n  /**\n  A label [name](#highlight.tags.name).\n  */\n  labelName: p(H),\n  /**\n  A namespace [name](#highlight.tags.name).\n  */\n  namespace: p(H),\n  /**\n  The [name](#highlight.tags.name) of a macro.\n  */\n  macroName: p(H),\n  /**\n  A literal value.\n  */\n  literal: tt,\n  /**\n  A string [literal](#highlight.tags.literal).\n  */\n  string: Ct,\n  /**\n  A documentation [string](#highlight.tags.string).\n  */\n  docString: p(Ct),\n  /**\n  A character literal (subtag of [string](#highlight.tags.string)).\n  */\n  character: p(Ct),\n  /**\n  An attribute value (subtag of [string](#highlight.tags.string)).\n  */\n  attributeValue: p(Ct),\n  /**\n  A number [literal](#highlight.tags.literal).\n  */\n  number: ue,\n  /**\n  An integer [number](#highlight.tags.number) literal.\n  */\n  integer: p(ue),\n  /**\n  A floating-point [number](#highlight.tags.number) literal.\n  */\n  float: p(ue),\n  /**\n  A boolean [literal](#highlight.tags.literal).\n  */\n  bool: p(tt),\n  /**\n  Regular expression [literal](#highlight.tags.literal).\n  */\n  regexp: p(tt),\n  /**\n  An escape [literal](#highlight.tags.literal), for example a\n  backslash escape in a string.\n  */\n  escape: p(tt),\n  /**\n  A color [literal](#highlight.tags.literal).\n  */\n  color: p(tt),\n  /**\n  A URL [literal](#highlight.tags.literal).\n  */\n  url: p(tt),\n  /**\n  A language keyword.\n  */\n  keyword: X,\n  /**\n  The [keyword](#highlight.tags.keyword) for the self or this\n  object.\n  */\n  self: p(X),\n  /**\n  The [keyword](#highlight.tags.keyword) for null.\n  */\n  null: p(X),\n  /**\n  A [keyword](#highlight.tags.keyword) denoting some atomic value.\n  */\n  atom: p(X),\n  /**\n  A [keyword](#highlight.tags.keyword) that represents a unit.\n  */\n  unit: p(X),\n  /**\n  A modifier [keyword](#highlight.tags.keyword).\n  */\n  modifier: p(X),\n  /**\n  A [keyword](#highlight.tags.keyword) that acts as an operator.\n  */\n  operatorKeyword: p(X),\n  /**\n  A control-flow related [keyword](#highlight.tags.keyword).\n  */\n  controlKeyword: p(X),\n  /**\n  A [keyword](#highlight.tags.keyword) that defines something.\n  */\n  definitionKeyword: p(X),\n  /**\n  A [keyword](#highlight.tags.keyword) related to defining or\n  interfacing with modules.\n  */\n  moduleKeyword: p(X),\n  /**\n  An operator.\n  */\n  operator: _,\n  /**\n  An [operator](#highlight.tags.operator) that dereferences something.\n  */\n  derefOperator: p(_),\n  /**\n  Arithmetic-related [operator](#highlight.tags.operator).\n  */\n  arithmeticOperator: p(_),\n  /**\n  Logical [operator](#highlight.tags.operator).\n  */\n  logicOperator: p(_),\n  /**\n  Bit [operator](#highlight.tags.operator).\n  */\n  bitwiseOperator: p(_),\n  /**\n  Comparison [operator](#highlight.tags.operator).\n  */\n  compareOperator: p(_),\n  /**\n  [Operator](#highlight.tags.operator) that updates its operand.\n  */\n  updateOperator: p(_),\n  /**\n  [Operator](#highlight.tags.operator) that defines something.\n  */\n  definitionOperator: p(_),\n  /**\n  Type-related [operator](#highlight.tags.operator).\n  */\n  typeOperator: p(_),\n  /**\n  Control-flow [operator](#highlight.tags.operator).\n  */\n  controlOperator: p(_),\n  /**\n  Program or markup punctuation.\n  */\n  punctuation: ke,\n  /**\n  [Punctuation](#highlight.tags.punctuation) that separates\n  things.\n  */\n  separator: p(ke),\n  /**\n  Bracket-style [punctuation](#highlight.tags.punctuation).\n  */\n  bracket: mt,\n  /**\n  Angle [brackets](#highlight.tags.bracket) (usually `<` and `>`\n  tokens).\n  */\n  angleBracket: p(mt),\n  /**\n  Square [brackets](#highlight.tags.bracket) (usually `[` and `]`\n  tokens).\n  */\n  squareBracket: p(mt),\n  /**\n  Parentheses (usually `(` and `)` tokens). Subtag of\n  [bracket](#highlight.tags.bracket).\n  */\n  paren: p(mt),\n  /**\n  Braces (usually `{` and `}` tokens). Subtag of\n  [bracket](#highlight.tags.bracket).\n  */\n  brace: p(mt),\n  /**\n  Content, for example plain text in XML or markup documents.\n  */\n  content: Y,\n  /**\n  [Content](#highlight.tags.content) that represents a heading.\n  */\n  heading: lt,\n  /**\n  A level 1 [heading](#highlight.tags.heading).\n  */\n  heading1: p(lt),\n  /**\n  A level 2 [heading](#highlight.tags.heading).\n  */\n  heading2: p(lt),\n  /**\n  A level 3 [heading](#highlight.tags.heading).\n  */\n  heading3: p(lt),\n  /**\n  A level 4 [heading](#highlight.tags.heading).\n  */\n  heading4: p(lt),\n  /**\n  A level 5 [heading](#highlight.tags.heading).\n  */\n  heading5: p(lt),\n  /**\n  A level 6 [heading](#highlight.tags.heading).\n  */\n  heading6: p(lt),\n  /**\n  A prose separator (such as a horizontal rule).\n  */\n  contentSeparator: p(Y),\n  /**\n  [Content](#highlight.tags.content) that represents a list.\n  */\n  list: p(Y),\n  /**\n  [Content](#highlight.tags.content) that represents a quote.\n  */\n  quote: p(Y),\n  /**\n  [Content](#highlight.tags.content) that is emphasized.\n  */\n  emphasis: p(Y),\n  /**\n  [Content](#highlight.tags.content) that is styled strong.\n  */\n  strong: p(Y),\n  /**\n  [Content](#highlight.tags.content) that is part of a link.\n  */\n  link: p(Y),\n  /**\n  [Content](#highlight.tags.content) that is styled as code or\n  monospace.\n  */\n  monospace: p(Y),\n  /**\n  [Content](#highlight.tags.content) that has a strike-through\n  style.\n  */\n  strikethrough: p(Y),\n  /**\n  Inserted text in a change-tracking format.\n  */\n  inserted: p(),\n  /**\n  Deleted text.\n  */\n  deleted: p(),\n  /**\n  Changed text.\n  */\n  changed: p(),\n  /**\n  An invalid or unsyntactic element.\n  */\n  invalid: p(),\n  /**\n  Metadata or meta-instruction.\n  */\n  meta: qt,\n  /**\n  [Metadata](#highlight.tags.meta) that applies to the entire\n  document.\n  */\n  documentMeta: p(qt),\n  /**\n  [Metadata](#highlight.tags.meta) that annotates or adds\n  attributes to a given syntactic element.\n  */\n  annotation: p(qt),\n  /**\n  Processing instruction or preprocessor directive. Subtag of\n  [meta](#highlight.tags.meta).\n  */\n  processingInstruction: p(qt),\n  /**\n  [Modifier](#highlight.Tag^defineModifier) that indicates that a\n  given element is being defined. Expected to be used with the\n  various [name](#highlight.tags.name) tags.\n  */\n  definition: Q.defineModifier(),\n  /**\n  [Modifier](#highlight.Tag^defineModifier) that indicates that\n  something is constant. Mostly expected to be used with\n  [variable names](#highlight.tags.variableName).\n  */\n  constant: Q.defineModifier(),\n  /**\n  [Modifier](#highlight.Tag^defineModifier) used to indicate that\n  a [variable](#highlight.tags.variableName) or [property\n  name](#highlight.tags.propertyName) is being called or defined\n  as a function.\n  */\n  function: Q.defineModifier(),\n  /**\n  [Modifier](#highlight.Tag^defineModifier) that can be applied to\n  [names](#highlight.tags.name) to indicate that they belong to\n  the language's standard environment.\n  */\n  standard: Q.defineModifier(),\n  /**\n  [Modifier](#highlight.Tag^defineModifier) that indicates a given\n  [names](#highlight.tags.name) is local to some scope.\n  */\n  local: Q.defineModifier(),\n  /**\n  A generic variant [modifier](#highlight.Tag^defineModifier) that\n  can be used to tag language-specific alternative variants of\n  some common tag. It is recommended for themes to define special\n  forms of at least the [string](#highlight.tags.string) and\n  [variable name](#highlight.tags.variableName) tags, since those\n  come up a lot.\n  */\n  special: Q.defineModifier()\n};\nDs([\n  { tag: U.link, class: \"tok-link\" },\n  { tag: U.heading, class: \"tok-heading\" },\n  { tag: U.emphasis, class: \"tok-emphasis\" },\n  { tag: U.strong, class: \"tok-strong\" },\n  { tag: U.keyword, class: \"tok-keyword\" },\n  { tag: U.atom, class: \"tok-atom\" },\n  { tag: U.bool, class: \"tok-bool\" },\n  { tag: U.url, class: \"tok-url\" },\n  { tag: U.labelName, class: \"tok-labelName\" },\n  { tag: U.inserted, class: \"tok-inserted\" },\n  { tag: U.deleted, class: \"tok-deleted\" },\n  { tag: U.literal, class: \"tok-literal\" },\n  { tag: U.string, class: \"tok-string\" },\n  { tag: U.number, class: \"tok-number\" },\n  { tag: [U.regexp, U.escape, U.special(U.string)], class: \"tok-string2\" },\n  { tag: U.variableName, class: \"tok-variableName\" },\n  { tag: U.local(U.variableName), class: \"tok-variableName tok-local\" },\n  { tag: U.definition(U.variableName), class: \"tok-variableName tok-definition\" },\n  { tag: U.special(U.variableName), class: \"tok-variableName2\" },\n  { tag: U.definition(U.propertyName), class: \"tok-propertyName tok-definition\" },\n  { tag: U.typeName, class: \"tok-typeName\" },\n  { tag: U.namespace, class: \"tok-namespace\" },\n  { tag: U.className, class: \"tok-className\" },\n  { tag: U.macroName, class: \"tok-macroName\" },\n  { tag: U.propertyName, class: \"tok-propertyName\" },\n  { tag: U.operator, class: \"tok-operator\" },\n  { tag: U.comment, class: \"tok-comment\" },\n  { tag: U.meta, class: \"tok-meta\" },\n  { tag: U.invalid, class: \"tok-invalid\" },\n  { tag: U.punctuation, class: \"tok-punctuation\" }\n]);\nconst ye = \"ͼ\", ss = typeof Symbol > \"u\" ? \"__\" + ye : Symbol.for(ye), Je = typeof Symbol > \"u\" ? \"__styleSet\" + Math.floor(Math.random() * 1e8) : Symbol(\"styleSet\"), is = typeof globalThis < \"u\" ? globalThis : typeof window < \"u\" ? window : {};\nclass rs {\n  // :: (Object<Style>, ?{finish: ?(string) → string})\n  // Create a style module from the given spec.\n  //\n  // When `finish` is given, it is called on regular (non-`@`)\n  // selectors (after `&` expansion) to compute the final selector.\n  constructor(t, e) {\n    this.rules = [];\n    let { finish: s } = e || {};\n    function i(o) {\n      return /^@/.test(o) ? [o] : o.split(/,\\s*/);\n    }\n    function n(o, l, a, h) {\n      let u = [], $ = /^@(\\w+)\\b/.exec(o[0]), f = $ && $[1] == \"keyframes\";\n      if ($ && l == null)\n        return a.push(o[0] + \";\");\n      for (let c in l) {\n        let d = l[c];\n        if (/&/.test(c))\n          n(\n            c.split(/,\\s*/).map((m) => o.map((R) => m.replace(/&/, R))).reduce((m, R) => m.concat(R)),\n            d,\n            a\n          );\n        else if (d && typeof d == \"object\") {\n          if (!$)\n            throw new RangeError(\"The value of a property (\" + c + \") should be a primitive value.\");\n          n(i(c), d, u, f);\n        } else\n          d != null && u.push(c.replace(/_.*/, \"\").replace(/[A-Z]/g, (m) => \"-\" + m.toLowerCase()) + \": \" + d + \";\");\n      }\n      (u.length || f) && a.push((s && !$ && !h ? o.map(s) : o).join(\", \") + \" {\" + u.join(\" \") + \"}\");\n    }\n    for (let o in t)\n      n(i(o), t[o], this.rules);\n  }\n  // :: () → string\n  // Returns a string containing the module's CSS rules.\n  getRules() {\n    return this.rules.join(`\n`);\n  }\n  // :: () → string\n  // Generate a new unique CSS class name.\n  static newName() {\n    let t = is[ss] || 1;\n    return is[ss] = t + 1, ye + t.toString(36);\n  }\n  // :: (union<Document, ShadowRoot>, union<[StyleModule], StyleModule>, ?{nonce: ?string})\n  //\n  // Mount the given set of modules in the given DOM root, which ensures\n  // that the CSS rules defined by the module are available in that\n  // context.\n  //\n  // Rules are only added to the document once per root.\n  //\n  // Rule order will follow the order of the modules, so that rules from\n  // modules later in the array take precedence of those from earlier\n  // modules. If you call this function multiple times for the same root\n  // in a way that changes the order of already mounted modules, the old\n  // order will be changed.\n  //\n  // If a Content Security Policy nonce is provided, it is added to\n  // the `<style>` tag generated by the library.\n  static mount(t, e, s) {\n    let i = t[Je], n = s && s.nonce;\n    i ? n && i.setNonce(n) : i = new zi(t, n), i.mount(Array.isArray(e) ? e : [e]);\n  }\n}\nlet ns = /* @__PURE__ */ new Map();\nclass zi {\n  constructor(t, e) {\n    let s = t.ownerDocument || t, i = s.defaultView;\n    if (!t.head && t.adoptedStyleSheets && i.CSSStyleSheet) {\n      let n = ns.get(s);\n      if (n)\n        return t.adoptedStyleSheets = [n.sheet, ...t.adoptedStyleSheets], t[Je] = n;\n      this.sheet = new i.CSSStyleSheet(), t.adoptedStyleSheets = [this.sheet, ...t.adoptedStyleSheets], ns.set(s, this);\n    } else {\n      this.styleTag = s.createElement(\"style\"), e && this.styleTag.setAttribute(\"nonce\", e);\n      let n = t.head || t;\n      n.insertBefore(this.styleTag, n.firstChild);\n    }\n    this.modules = [], t[Je] = this;\n  }\n  mount(t) {\n    let e = this.sheet, s = 0, i = 0;\n    for (let n = 0; n < t.length; n++) {\n      let o = t[n], l = this.modules.indexOf(o);\n      if (l < i && l > -1 && (this.modules.splice(l, 1), i--, l = -1), l == -1) {\n        if (this.modules.splice(i++, 0, o), e)\n          for (let a = 0; a < o.rules.length; a++)\n            e.insertRule(o.rules[a], s++);\n      } else {\n        for (; i < l; )\n          s += this.modules[i++].rules.length;\n        s += o.rules.length, i++;\n      }\n    }\n    if (!e) {\n      let n = \"\";\n      for (let o = 0; o < this.modules.length; o++)\n        n += this.modules[o].getRules() + `\n`;\n      this.styleTag.textContent = n;\n    }\n  }\n  setNonce(t) {\n    this.styleTag && this.styleTag.getAttribute(\"nonce\") != t && this.styleTag.setAttribute(\"nonce\", t);\n  }\n}\nvar $e;\nconst pt = /* @__PURE__ */ new x();\nfunction Di(r) {\n  return Mt.define({\n    combine: r ? (t) => t.concat(r) : void 0\n  });\n}\nconst Wi = /* @__PURE__ */ new x();\nclass G {\n  /**\n  Construct a language object. If you need to invoke this\n  directly, first define a data facet with\n  [`defineLanguageFacet`](https://codemirror.net/6/docs/ref/#language.defineLanguageFacet), and then\n  configure your parser to [attach](https://codemirror.net/6/docs/ref/#language.languageDataProp) it\n  to the language's outer syntax node.\n  */\n  constructor(t, e, s = [], i = \"\") {\n    this.data = t, this.name = i, se.prototype.hasOwnProperty(\"tree\") || Object.defineProperty(se.prototype, \"tree\", { get() {\n      return M(this);\n    } }), this.parser = e, this.extension = [\n      jt.of(this),\n      se.languageData.of((n, o, l) => {\n        let a = os(n, o, l), h = a.type.prop(pt);\n        if (!h)\n          return [];\n        let u = n.facet(h), $ = a.type.prop(Wi);\n        if ($) {\n          let f = a.resolve(o - a.from, l);\n          for (let c of $)\n            if (c.test(f, n)) {\n              let d = n.facet(c.facet);\n              return c.type == \"replace\" ? d : d.concat(u);\n            }\n        }\n        return u;\n      })\n    ].concat(s);\n  }\n  /**\n  Query whether this language is active at the given position.\n  */\n  isActiveAt(t, e, s = -1) {\n    return os(t, e, s).type.prop(pt) == this.data;\n  }\n  /**\n  Find the document regions that were parsed using this language.\n  The returned regions will _include_ any nested languages rooted\n  in this language, when those exist.\n  */\n  findRegions(t) {\n    let e = t.facet(jt);\n    if ((e == null ? void 0 : e.data) == this.data)\n      return [{ from: 0, to: t.doc.length }];\n    if (!e || !e.allowsNesting)\n      return [];\n    let s = [], i = (n, o) => {\n      if (n.prop(pt) == this.data) {\n        s.push({ from: o, to: o + n.length });\n        return;\n      }\n      let l = n.prop(x.mounted);\n      if (l) {\n        if (l.tree.prop(pt) == this.data) {\n          if (l.overlay)\n            for (let a of l.overlay)\n              s.push({ from: a.from + o, to: a.to + o });\n          else\n            s.push({ from: o, to: o + n.length });\n          return;\n        } else if (l.overlay) {\n          let a = s.length;\n          if (i(l.tree, l.overlay[0].from + o), s.length > a)\n            return;\n        }\n      }\n      for (let a = 0; a < n.children.length; a++) {\n        let h = n.children[a];\n        h instanceof V && i(h, n.positions[a] + o);\n      }\n    };\n    return i(M(t), 0), s;\n  }\n  /**\n  Indicates whether this language allows nested languages. The\n  default implementation returns true.\n  */\n  get allowsNesting() {\n    return !0;\n  }\n}\nG.setState = /* @__PURE__ */ Es.define();\nfunction os(r, t, e) {\n  let s = r.facet(jt), i = M(r).topNode;\n  if (!s || s.allowsNesting)\n    for (let n = i; n; n = n.enter(t, e, v.ExcludeBuffers))\n      n.type.isTop && (i = n);\n  return i;\n}\nclass Zt extends G {\n  constructor(t, e, s) {\n    super(t, e, [], s), this.parser = e;\n  }\n  /**\n  Define a language from a parser.\n  */\n  static define(t) {\n    let e = Di(t.languageData);\n    return new Zt(e, t.parser.configure({\n      props: [pt.add((s) => s.isTop ? e : void 0)]\n    }), t.name);\n  }\n  /**\n  Create a new instance of this language with a reconfigured\n  version of its parser and optionally a new name.\n  */\n  configure(t, e) {\n    return new Zt(this.data, this.parser.configure(t), e || this.name);\n  }\n  get allowsNesting() {\n    return this.parser.hasWrappers();\n  }\n}\nfunction M(r) {\n  let t = r.field(G.state, !1);\n  return t ? t.tree : V.empty;\n}\nclass Pi {\n  /**\n  Create an input object for the given document.\n  */\n  constructor(t) {\n    this.doc = t, this.cursorPos = 0, this.string = \"\", this.cursor = t.iter();\n  }\n  get length() {\n    return this.doc.length;\n  }\n  syncTo(t) {\n    return this.string = this.cursor.next(t - this.cursorPos).value, this.cursorPos = t + this.string.length, this.cursorPos - this.string.length;\n  }\n  chunk(t) {\n    return this.syncTo(t), this.string;\n  }\n  get lineChunks() {\n    return !0;\n  }\n  read(t, e) {\n    let s = this.cursorPos - this.string.length;\n    return t < s || e >= this.cursorPos ? this.doc.sliceString(t, e) : this.string.slice(t - s, e - s);\n  }\n}\nlet St = null;\nclass Lt {\n  constructor(t, e, s = [], i, n, o, l, a) {\n    this.parser = t, this.state = e, this.fragments = s, this.tree = i, this.treeLen = n, this.viewport = o, this.skipped = l, this.scheduleOn = a, this.parse = null, this.tempSkipped = [];\n  }\n  /**\n  @internal\n  */\n  static create(t, e, s) {\n    return new Lt(t, e, [], V.empty, 0, s, [], null);\n  }\n  startParse() {\n    return this.parser.startParse(new Pi(this.state.doc), this.fragments);\n  }\n  /**\n  @internal\n  */\n  work(t, e) {\n    return e != null && e >= this.state.doc.length && (e = void 0), this.tree != V.empty && this.isDone(e ?? this.state.doc.length) ? (this.takeTree(), !0) : this.withContext(() => {\n      var s;\n      if (typeof t == \"number\") {\n        let i = Date.now() + t;\n        t = () => Date.now() > i;\n      }\n      for (this.parse || (this.parse = this.startParse()), e != null && (this.parse.stoppedAt == null || this.parse.stoppedAt > e) && e < this.state.doc.length && this.parse.stopAt(e); ; ) {\n        let i = this.parse.advance();\n        if (i)\n          if (this.fragments = this.withoutTempSkipped(ut.addTree(i, this.fragments, this.parse.stoppedAt != null)), this.treeLen = (s = this.parse.stoppedAt) !== null && s !== void 0 ? s : this.state.doc.length, this.tree = i, this.parse = null, this.treeLen < (e ?? this.state.doc.length))\n            this.parse = this.startParse();\n          else\n            return !0;\n        if (t())\n          return !1;\n      }\n    });\n  }\n  /**\n  @internal\n  */\n  takeTree() {\n    let t, e;\n    this.parse && (t = this.parse.parsedPos) >= this.treeLen && ((this.parse.stoppedAt == null || this.parse.stoppedAt > t) && this.parse.stopAt(t), this.withContext(() => {\n      for (; !(e = this.parse.advance()); )\n        ;\n    }), this.treeLen = t, this.tree = e, this.fragments = this.withoutTempSkipped(ut.addTree(this.tree, this.fragments, !0)), this.parse = null);\n  }\n  withContext(t) {\n    let e = St;\n    St = this;\n    try {\n      return t();\n    } finally {\n      St = e;\n    }\n  }\n  withoutTempSkipped(t) {\n    for (let e; e = this.tempSkipped.pop(); )\n      t = ls(t, e.from, e.to);\n    return t;\n  }\n  /**\n  @internal\n  */\n  changes(t, e) {\n    let { fragments: s, tree: i, treeLen: n, viewport: o, skipped: l } = this;\n    if (this.takeTree(), !t.empty) {\n      let a = [];\n      if (t.iterChangedRanges((h, u, $, f) => a.push({ fromA: h, toA: u, fromB: $, toB: f })), s = ut.applyChanges(s, a), i = V.empty, n = 0, o = { from: t.mapPos(o.from, -1), to: t.mapPos(o.to, 1) }, this.skipped.length) {\n        l = [];\n        for (let h of this.skipped) {\n          let u = t.mapPos(h.from, 1), $ = t.mapPos(h.to, -1);\n          u < $ && l.push({ from: u, to: $ });\n        }\n      }\n    }\n    return new Lt(this.parser, e, s, i, n, o, l, this.scheduleOn);\n  }\n  /**\n  @internal\n  */\n  updateViewport(t) {\n    if (this.viewport.from == t.from && this.viewport.to == t.to)\n      return !1;\n    this.viewport = t;\n    let e = this.skipped.length;\n    for (let s = 0; s < this.skipped.length; s++) {\n      let { from: i, to: n } = this.skipped[s];\n      i < t.to && n > t.from && (this.fragments = ls(this.fragments, i, n), this.skipped.splice(s--, 1));\n    }\n    return this.skipped.length >= e ? !1 : (this.reset(), !0);\n  }\n  /**\n  @internal\n  */\n  reset() {\n    this.parse && (this.takeTree(), this.parse = null);\n  }\n  /**\n  Notify the parse scheduler that the given region was skipped\n  because it wasn't in view, and the parse should be restarted\n  when it comes into view.\n  */\n  skipUntilInView(t, e) {\n    this.skipped.push({ from: t, to: e });\n  }\n  /**\n  Returns a parser intended to be used as placeholder when\n  asynchronously loading a nested parser. It'll skip its input and\n  mark it as not-really-parsed, so that the next update will parse\n  it again.\n  \n  When `until` is given, a reparse will be scheduled when that\n  promise resolves.\n  */\n  static getSkippingParser(t) {\n    return new class extends ys {\n      createParse(e, s, i) {\n        let n = i[0].from, o = i[i.length - 1].to;\n        return {\n          parsedPos: n,\n          advance() {\n            let a = St;\n            if (a) {\n              for (let h of i)\n                a.tempSkipped.push(h);\n              t && (a.scheduleOn = a.scheduleOn ? Promise.all([a.scheduleOn, t]) : t);\n            }\n            return this.parsedPos = o, new V(W.none, [], [], o - n);\n          },\n          stoppedAt: null,\n          stopAt() {\n          }\n        };\n      }\n    }();\n  }\n  /**\n  @internal\n  */\n  isDone(t) {\n    t = Math.min(t, this.state.doc.length);\n    let e = this.fragments;\n    return this.treeLen >= t && e.length && e[0].from == 0 && e[0].to >= t;\n  }\n  /**\n  Get the context for the current parse, or `null` if no editor\n  parse is in progress.\n  */\n  static get() {\n    return St;\n  }\n}\nfunction ls(r, t, e) {\n  return ut.applyChanges(r, [{ fromA: t, toA: e, fromB: t, toB: e }]);\n}\nclass Ut {\n  constructor(t) {\n    this.context = t, this.tree = t.tree;\n  }\n  apply(t) {\n    if (!t.docChanged && this.tree == this.context.tree)\n      return this;\n    let e = this.context.changes(t.changes, t.state), s = this.context.treeLen == t.startState.doc.length ? void 0 : Math.max(t.changes.mapPos(this.context.treeLen), e.viewport.to);\n    return e.work(20, s) || e.takeTree(), new Ut(e);\n  }\n  static init(t) {\n    let e = Math.min(3e3, t.doc.length), s = Lt.create(t.facet(jt).parser, t, { from: 0, to: e });\n    return s.work(20, e) || s.takeTree(), new Ut(s);\n  }\n}\nG.state = /* @__PURE__ */ Os.define({\n  create: Ut.init,\n  update(r, t) {\n    for (let e of t.effects)\n      if (e.is(G.setState))\n        return e.value;\n    return t.startState.facet(jt) != t.state.facet(jt) ? Ut.init(t.state) : r.apply(t);\n  }\n});\nlet Ws = (r) => {\n  let t = setTimeout(\n    () => r(),\n    500\n    /* Work.MaxPause */\n  );\n  return () => clearTimeout(t);\n};\ntypeof requestIdleCallback < \"u\" && (Ws = (r) => {\n  let t = -1, e = setTimeout(\n    () => {\n      t = requestIdleCallback(r, {\n        timeout: 400\n        /* Work.MinPause */\n      });\n    },\n    100\n    /* Work.MinPause */\n  );\n  return () => t < 0 ? clearTimeout(e) : cancelIdleCallback(t);\n});\nconst fe = typeof navigator < \"u\" && (!(($e = navigator.scheduling) === null || $e === void 0) && $e.isInputPending) ? () => navigator.scheduling.isInputPending() : null, Ci = /* @__PURE__ */ Ht.fromClass(class {\n  constructor(t) {\n    this.view = t, this.working = null, this.workScheduled = 0, this.chunkEnd = -1, this.chunkBudget = -1, this.work = this.work.bind(this), this.scheduleWork();\n  }\n  update(t) {\n    let e = this.view.state.field(G.state).context;\n    (e.updateViewport(t.view.viewport) || this.view.viewport.to > e.treeLen) && this.scheduleWork(), (t.docChanged || t.selectionSet) && (this.view.hasFocus && (this.chunkBudget += 50), this.scheduleWork()), this.checkAsyncSchedule(e);\n  }\n  scheduleWork() {\n    if (this.working)\n      return;\n    let { state: t } = this.view, e = t.field(G.state);\n    (e.tree != e.context.tree || !e.context.isDone(t.doc.length)) && (this.working = Ws(this.work));\n  }\n  work(t) {\n    this.working = null;\n    let e = Date.now();\n    if (this.chunkEnd < e && (this.chunkEnd < 0 || this.view.hasFocus) && (this.chunkEnd = e + 3e4, this.chunkBudget = 3e3), this.chunkBudget <= 0)\n      return;\n    let { state: s, viewport: { to: i } } = this.view, n = s.field(G.state);\n    if (n.tree == n.context.tree && n.context.isDone(\n      i + 1e5\n      /* Work.MaxParseAhead */\n    ))\n      return;\n    let o = Date.now() + Math.min(this.chunkBudget, 100, t && !fe ? Math.max(25, t.timeRemaining() - 5) : 1e9), l = n.context.treeLen < i && s.doc.length > i + 1e3, a = n.context.work(() => fe && fe() || Date.now() > o, i + (l ? 0 : 1e5));\n    this.chunkBudget -= Date.now() - e, (a || this.chunkBudget <= 0) && (n.context.takeTree(), this.view.dispatch({ effects: G.setState.of(new Ut(n.context)) })), this.chunkBudget > 0 && !(a && !l) && this.scheduleWork(), this.checkAsyncSchedule(n.context);\n  }\n  checkAsyncSchedule(t) {\n    t.scheduleOn && (this.workScheduled++, t.scheduleOn.then(() => this.scheduleWork()).catch((e) => Ns(this.view.state, e)).then(() => this.workScheduled--), t.scheduleOn = null);\n  }\n  destroy() {\n    this.working && this.working();\n  }\n  isWorking() {\n    return !!(this.working || this.workScheduled > 0);\n  }\n}, {\n  eventHandlers: { focus() {\n    this.scheduleWork();\n  } }\n}), jt = /* @__PURE__ */ Mt.define({\n  combine(r) {\n    return r.length ? r[0] : null;\n  },\n  enables: (r) => [\n    G.state,\n    Ci,\n    ht.contentAttributes.compute([r], (t) => {\n      let e = t.facet(r);\n      return e && e.name ? { \"data-language\": e.name } : {};\n    })\n  ]\n});\nclass qi {\n  /**\n  Create a language support object.\n  */\n  constructor(t, e = []) {\n    this.language = t, this.support = e, this.extension = [t, e];\n  }\n}\nclass ee {\n  constructor(t, e) {\n    this.specs = t;\n    let s;\n    function i(l) {\n      let a = rs.newName();\n      return (s || (s = /* @__PURE__ */ Object.create(null)))[\".\" + a] = l, a;\n    }\n    const n = typeof e.all == \"string\" ? e.all : e.all ? i(e.all) : void 0, o = e.scope;\n    this.scope = o instanceof G ? (l) => l.prop(pt) == o.data : o ? (l) => l == o : void 0, this.style = Ds(t.map((l) => ({\n      tag: l.tag,\n      class: l.class || i(Object.assign({}, l, { tag: null }))\n    })), {\n      all: n\n    }).style, this.module = s ? new rs(s) : null, this.themeType = e.themeType;\n  }\n  /**\n  Create a highlighter style that associates the given styles to\n  the given tags. The specs must be objects that hold a style tag\n  or array of tags in their `tag` property, and either a single\n  `class` property providing a static CSS class (for highlighter\n  that rely on external styling), or a\n  [`style-mod`](https://github.com/marijnh/style-mod#documentation)-style\n  set of CSS properties (which define the styling for those tags).\n  \n  The CSS rules created for a highlighter will be emitted in the\n  order of the spec's properties. That means that for elements that\n  have multiple tags associated with them, styles defined further\n  down in the list will have a higher CSS precedence than styles\n  defined earlier.\n  */\n  static define(t, e) {\n    return new ee(t, e || {});\n  }\n}\nconst we = /* @__PURE__ */ Mt.define(), Ps = /* @__PURE__ */ Mt.define({\n  combine(r) {\n    return r.length ? [r[0]] : null;\n  }\n});\nfunction ce(r) {\n  let t = r.facet(we);\n  return t.length ? t : r.facet(Ps);\n}\nfunction Ei(r, t) {\n  let e = [Gi], s;\n  return r instanceof ee && (r.module && e.push(ht.styleModule.of(r.module)), s = r.themeType), t != null && t.fallback ? e.push(Ps.of(r)) : s ? e.push(we.computeN([ht.darkTheme], (i) => i.facet(ht.darkTheme) == (s == \"dark\") ? [r] : [])) : e.push(we.of(r)), e;\n}\nclass Ai {\n  constructor(t) {\n    this.markCache = /* @__PURE__ */ Object.create(null), this.tree = M(t.state), this.decorations = this.buildDeco(t, ce(t.state));\n  }\n  update(t) {\n    let e = M(t.state), s = ce(t.state), i = s != ce(t.startState);\n    e.length < t.view.viewport.to && !i && e.type == this.tree.type ? this.decorations = this.decorations.map(t.changes) : (e != this.tree || t.viewportChanged || i) && (this.tree = e, this.decorations = this.buildDeco(t.view, s));\n  }\n  buildDeco(t, e) {\n    if (!e || !this.tree.length)\n      return K.none;\n    let s = new Te();\n    for (let { from: i, to: n } of t.visibleRanges)\n      Vi(this.tree, e, (o, l, a) => {\n        s.add(o, l, this.markCache[a] || (this.markCache[a] = K.mark({ class: a })));\n      }, i, n);\n    return s.finish();\n  }\n}\nconst Gi = /* @__PURE__ */ ms.high(/* @__PURE__ */ Ht.fromClass(Ai, {\n  decorations: (r) => r.decorations\n})), Ni = /* @__PURE__ */ Object.create(null), as = [W.none], hs = [], us = /* @__PURE__ */ Object.create(null), Bi = /* @__PURE__ */ Object.create(null);\nfor (let [r, t] of [\n  [\"variable\", \"variableName\"],\n  [\"variable-2\", \"variableName.special\"],\n  [\"string-2\", \"string.special\"],\n  [\"def\", \"variableName.definition\"],\n  [\"tag\", \"tagName\"],\n  [\"attribute\", \"attributeName\"],\n  [\"type\", \"typeName\"],\n  [\"builtin\", \"variableName.standard\"],\n  [\"qualifier\", \"modifier\"],\n  [\"error\", \"invalid\"],\n  [\"header\", \"heading\"],\n  [\"property\", \"propertyName\"]\n])\n  Bi[r] = /* @__PURE__ */ Xi(Ni, t);\nfunction pe(r, t) {\n  hs.indexOf(r) > -1 || (hs.push(r), console.warn(t));\n}\nfunction Xi(r, t) {\n  let e = [];\n  for (let l of t.split(\" \")) {\n    let a = [];\n    for (let h of l.split(\".\")) {\n      let u = r[h] || U[h];\n      u ? typeof u == \"function\" ? a.length ? a = a.map(u) : pe(h, `Modifier ${h} used at start of tag`) : a.length ? pe(h, `Tag ${h} used as modifier`) : a = Array.isArray(u) ? u : [u] : pe(h, `Unknown highlighting tag ${h}`);\n    }\n    for (let h of a)\n      e.push(h);\n  }\n  if (!e.length)\n    return 0;\n  let s = t.replace(/ /g, \"_\"), i = s + \" \" + e.map((l) => l.id), n = us[i];\n  if (n)\n    return n.id;\n  let o = us[i] = W.define({\n    id: as.length,\n    name: s,\n    props: [Is({ [s]: e })]\n  });\n  return as.push(o), o.id;\n}\nNt.RTL, Nt.LTR;\nconst _i = (r) => Zt.define({\n  name: \"icu-tolgee\",\n  parser: Ft.configure({\n    top: r ? \"Nested\" : \"Root\",\n    props: [\n      Is({\n        TextRoot: U.string,\n        Text: U.string,\n        PluralPlaceholder: U.keyword,\n        VariantDescriptor: U.keyword,\n        FormatFunction: U.keyword,\n        SelectFunction: U.keyword,\n        Param: U.variableName,\n        FormatStyle: U.variableName,\n        \"{ }\": U.paren,\n        Sep: U.separator,\n        \"< >\": U.tagName,\n        Slash: U.tagName,\n        TagName: U.tagName\n      })\n    ]\n  })\n});\nfunction Ur(r) {\n  return new qi(_i(r));\n}\nconst jr = (r) => Ei(\n  ee.define([\n    { tag: U.variableName, color: r.other },\n    { tag: U.keyword, color: r.function },\n    { tag: U.bracket, color: r.other },\n    { tag: U.tagName, color: r.other },\n    { tag: U.content, color: r.main },\n    { tag: U.string, color: r.main }\n  ])\n), gr = Ht.fromClass(\n  class {\n    constructor(r) {\n      Vt(this, \"isolates\");\n      Vt(this, \"tree\");\n      this.isolates = $s(r), this.tree = M(r.state);\n    }\n    update(r) {\n      (r.docChanged || r.viewportChanged || M(r.state) != this.tree) && (this.isolates = $s(r.view), this.tree = M(r.state));\n    }\n  },\n  {\n    provide: (r) => {\n      function t(e) {\n        var s;\n        return ((s = e.plugin(r)) == null ? void 0 : s.isolates) ?? K.none;\n      }\n      return ms.lowest([\n        ht.decorations.of(t),\n        ht.bidiIsolatedRanges.of(t)\n      ]);\n    }\n  }\n), Yi = K.mark({\n  attributes: { style: \"direction: ltr; unicode-bidi: isolate\" },\n  bidiIsolate: Nt.LTR\n}), Qi = K.mark({\n  attributes: { style: \"direction: rtl; unicode-bidi: isolate\" },\n  bidiIsolate: Nt.RTL\n});\nfunction $s(r) {\n  const t = new Te();\n  for (const { from: e, to: s } of r.visibleRanges)\n    M(r.state).iterate({\n      from: e,\n      to: s,\n      enter(i) {\n        (i.name === \"HtmlTagOpen\" || i.name === \"HtmlTagClose\" || i.name === \"Expression\") && t.add(i.from, i.to, Yi), (i.name === \"TextRoot\" || i.name === \"Text\") && t.add(i.from, i.to, Qi);\n      }\n    });\n  return t.finish();\n}\nconst Ki = {\n  variable: {\n    border: \"#7AD3C1\",\n    background: \"#BEF3E9\",\n    text: \"#008371\"\n  },\n  tag: {\n    border: \"#F27FA6\",\n    background: \"#F9C4D6\",\n    text: \"#822343\"\n  },\n  variant: {\n    border: \"#BBC2CB\",\n    background: \"#F0F2F4\",\n    text: \"#4D5B6E\"\n  }\n}, Or = ({\n  styled: r,\n  colors: t = Ki,\n  component: e = \"div\"\n}) => r(e)`\n    white-space: pre-wrap;\n    & .placeholder-widget {\n      display: inline-flex;\n      vertical-align: text-top;\n      align-items: center;\n      justify-content: center;\n      min-width: 15px;\n      border: 1px solid ${t.variable.border};\n      background-color: ${t.variable.background};\n      color: ${t.variable.text};\n      border-radius: 10px;\n      padding: 0px 7px;\n      font-size: 12px;\n      user-select: none;\n      margin: 0px 1px;\n      overflow: hidden;\n\n      & > * {\n        display: grid;\n      }\n    }\n    & .placeholder-error {\n      background: #ff000054;\n    }\n\n    & .placeholder-tagOpen {\n      border: 1px solid ${t.tag.border};\n      background-color: ${t.tag.background};\n      color: ${t.tag.text};\n      border-radius: 10px 0px 0px 10px;\n      padding-right: 6px;\n    }\n\n    & .placeholder-tagClose {\n      border: 1px solid ${t.tag.border};\n      background-color: ${t.tag.background};\n      color: ${t.tag.text};\n      border-radius: 0px 10px 10px 0px;\n      padding-left: 6px;\n    }\n\n    & .placeholder-tagSelfClosed {\n      border: 1px solid ${t.tag.border};\n      background-color: ${t.tag.background};\n      color: ${t.tag.text};\n    }\n\n    // in rtl mode, revert the placeholders direction\n    &[dir=\"rtl\"] .placeholder-tagOpen {\n      border-radius: 0px 10px 10px 0px;\n      padding-left: 6px;\n    }\n    &[dir=\"rtl\"] .placeholder-tagClose {\n      border-radius: 10px 0px 0px 10px;\n      padding-right: 6px;\n    }\n  `, Zi = (r) => /^[^\\p{White_Space}\\p{Pattern_Syntax}]*$/uy.test(r), bt = 0, de = 1, Et = 2, Ue = /* @__PURE__ */ new Set([\"{\", \"}\", \"#\"]), q = \"'\", Li = (r) => {\n  let t = bt;\n  const e = [];\n  for (const s of r)\n    switch (t) {\n      case bt:\n        s === q ? (e.push(s), t = de) : Ue.has(s) ? (e.push(q), e.push(s), t = Et) : e.push(s);\n        break;\n      case de:\n        Ue.has(s) ? (e.push(q), e.push(q), e.push(s), t = Et) : s === q ? (e.push(q), e.push(s), e.push(q), t = bt) : (e.push(s), t = bt);\n        break;\n      case Et:\n        Ue.has(s) ? e.push(s) : s === q ? (e.push(q), e.push(q)) : (e.push(q), e.push(s), t = bt);\n    }\n  return [de, Et].includes(t) && e.push(q), e.join(\"\");\n}, xt = 0, kt = 1, je = 2, ge = 3, fs = 4, cs = 5, ps = /* @__PURE__ */ new Set([\"{\", \"}\", \"#\"]), ds = /* @__PURE__ */ new Set([\"{\", \"}\"]), A = \"'\", Mi = (r) => {\n  let t = xt;\n  const e = [];\n  let s;\n  for (const i of r)\n    switch (t) {\n      case xt:\n        i === A ? t = je : ds.has(i) && (e.push(A), s = e.length, t = ge), e.push(i);\n        break;\n      case je:\n        ps.has(i) ? (s = e.length, t = kt) : t = xt, e.push(i);\n        break;\n      case kt:\n        i === A ? t = fs : ps.has(i) && (s = e.length), e.push(i);\n        break;\n      case fs:\n        i === A ? (t = kt, e.push(A)) : (e.push(i), t = xt);\n        break;\n      case ge:\n        i === A ? t = cs : ds.has(i) && (s = e.length), e.push(i);\n        break;\n      case cs:\n        i === A ? (t = kt, e.push(A)) : (e.splice(s + 1, 0, A), e.push(i), t = xt);\n        break;\n    }\n  return [kt, ge].includes(t) ? e.splice(s + 1, 0, A) : t === je && e.push(A), e.join(\"\");\n};\nfunction Hi(r) {\n  return Ft.configure({ strict: !0 }).parse(r);\n}\nconst mr = (r, t) => {\n  const { parameter: e, variants: s } = r;\n  if (!e)\n    return s.other ?? \"\";\n  if (!Zi(e))\n    throw new Error(`Parameter name \"${e}\" is invalid`);\n  const i = [`{${e}, plural,`];\n  s.other || (s.other = \"\");\n  let n = !0;\n  for (const [o, l] of Object.entries(s)) {\n    const a = l || \"\";\n    if (n && a && (n = !1), t)\n      i.push(` ${o} {${Li(a)}}`);\n    else\n      try {\n        Hi(`{${e}, plural, other {${a}}}`), i.push(` ${o} {${a}}`);\n      } catch {\n        i.push(` ${o} {${Mi(a)}}`);\n      }\n  }\n  return n ? \"\" : (i.push(\"}\"), i.join(\"\"));\n}, yt = 0, Oe = 1, me = 2, Us = 3, tr = /* @__PURE__ */ new Set([\"{\", \"}\", \"#\"]), at = \"'\", er = (r) => {\n  let t = yt;\n  const e = [];\n  for (const s of r)\n    switch (t) {\n      case yt:\n        s === at ? t = Oe : e.push(s);\n        break;\n      case Oe:\n        tr.has(s) ? t = me : (s === at || e.push(at), t = yt), e.push(s);\n        break;\n      case me:\n        s === at ? t = Us : e.push(s);\n        break;\n      case Us:\n        s === at ? (t = me, e.push(at)) : (e.push(s), t = yt);\n    }\n  return t === Oe && e.push(at), e.join(\"\");\n}, js = {\n  0: Ie,\n  4: te,\n  5: ze,\n  // this also excludes 'offset:x'\n  6: Fs\n};\nfunction wt(r, t) {\n  return t.substring(r.from, r.to);\n}\nfunction sr(r, t, e) {\n  let s = r.firstChild;\n  do\n    if ((s == null ? void 0 : s.type.id) === ui)\n      return e ? er(wt(s, t)) : wt(s, t);\n  while (s = s == null ? void 0 : s.nextSibling);\n  return \"\";\n}\nfunction Jt(r) {\n  return { variants: { other: r } };\n}\nconst ir = (r, t) => {\n  let e;\n  try {\n    e = Ft.configure({ strict: !0 }).parse(r);\n  } catch {\n    return Jt(r);\n  }\n  const s = e.cursor(), i = {}, n = {}, o = Object.keys(js), l = Number(o[o.length - 1]);\n  for (let h = 0; h <= l; h++) {\n    s.next();\n    const u = s.node, $ = js[h];\n    if ($ !== void 0)\n      if ($ === u.type.id)\n        i[u.type.id] = u;\n      else\n        return Jt(r);\n  }\n  if (i[Ie].nextSibling || wt(i[ze], r) !== \"plural\")\n    return Jt(r);\n  let a = i[Fs];\n  do {\n    const h = wt(a.firstChild, r), u = sr(a, r, t);\n    if (n[h] !== void 0)\n      return Jt(r);\n    n[h] = u;\n  } while (a = a.nextSibling);\n  return {\n    parameter: wt(i[te], r),\n    variants: n\n  };\n}, Sr = (r, t, e) => t ? ir(r || \"\", e) : { variants: { other: r } };\nfunction gs(r) {\n  const t = [];\n  let e = r.firstChild;\n  for (; e; )\n    t.push(e), e = e.nextSibling;\n  return t;\n}\nconst br = (r) => {\n  let t;\n  try {\n    t = Ft.configure({ strict: !0 }).parse(r);\n  } catch {\n    return;\n  }\n  function e(l) {\n    return r.substring(l.from, l.to);\n  }\n  function s(l) {\n    const a = gs(l).find(\n      (h) => h.type.id === ze\n    );\n    return a ? e(a) : void 0;\n  }\n  function i(l) {\n    const a = gs(l).find((h) => h.type.id === te);\n    return a ? e(a) : void 0;\n  }\n  const n = t.cursor();\n  let o = !1;\n  do {\n    const l = n.node;\n    switch (l.type.id) {\n      case hi: {\n        if (s(l) === \"plural\")\n          return i(l);\n        o = !1;\n        break;\n      }\n      default:\n        o = !0;\n        break;\n    }\n  } while (n.next(o));\n}, rr = [\n  \"zero\",\n  \"one\",\n  \"two\",\n  \"few\",\n  \"many\",\n  \"other\"\n], nr = (r) => {\n  try {\n    return new Intl.PluralRules(r).resolvedOptions().pluralCategories;\n  } catch {\n    return rr;\n  }\n}, or = (r, t) => {\n  try {\n    return new Intl.PluralRules(r).select(t);\n  } catch {\n    return \"other\";\n  }\n}, lr = [6, 7, 8, 11, 20, 21, 1e6, 0.5, 0.1, 0], ar = [0, 2, 3, 4, 6], hr = [10, 11, 20, 100, 0, 0, 0.1, 2, 3, 4], ur = [\n  \"zero\",\n  \"one\",\n  \"two\",\n  \"few\",\n  \"many\",\n  \"other\"\n], xr = (r) => {\n  const t = new Set(nr(r));\n  return ur.filter((e) => t.has(e));\n}, ct = (r, t, e) => e.find((s) => or(t, s) === r), kr = (r, t) => {\n  switch (t) {\n    case \"zero\":\n      return ct(\"zero\", r, [0]);\n    case \"one\":\n      return ct(\"one\", r, [1]);\n    case \"two\":\n      return ct(\"two\", r, [2]);\n    case \"few\":\n      return ct(\"few\", r, ar);\n    case \"many\":\n      return ct(\"many\", r, lr);\n    case \"other\":\n      return ct(\"other\", r, hr);\n  }\n  const e = Number(t.substring(1));\n  return Number.isNaN(e) ? void 0 : e;\n}, yr = (r) => {\n  const t = [\n    \"ar\",\n    \"arc\",\n    \"dv\",\n    \"fa\",\n    \"ha\",\n    \"he\",\n    \"khw\",\n    \"ks\",\n    \"ku\",\n    \"ps\",\n    \"ur\",\n    \"yi\"\n  ], e = r.replace(/^([a-zA-Z]+)(.*?)$/, \"$1\");\n  return t.indexOf(e) > -1 ? \"rtl\" : \"ltr\";\n};\nexport {\n  pr as PlaceholderPlugin,\n  jr as TolgeeHighlight,\n  Zi as checkParamNameIsValid,\n  Or as generatePlaceholdersStyle,\n  br as getFirstPluralParameter,\n  yr as getLanguageDirection,\n  mi as getPlaceholders,\n  nr as getPluralRules,\n  xr as getPluralVariants,\n  Sr as getTolgeeFormat,\n  ir as getTolgeePlurals,\n  kr as getVariantExample,\n  gr as htmlIsolatesPlugin,\n  or as selectPluralRule,\n  mr as tolgeeFormatGenerateIcu,\n  Ft as tolgeeParser,\n  Ur as tolgeeSyntax\n};\n"]}