PageSourceSearch

https://siriusmart.github.io/bitscript/highlight.js

js siriusmart.github.io collected 2026-10-03 09:57:44 UTC 206,396 bytes, 5,479 lines download raw bytes

1/*
2  Highlight.js 10.1.1 (93fd0d73)
3  License: BSD-3-Clause
4  Copyright (c) 2006-2020, Ivan Sagalaev
5*/
6var hljs = (function () {
7  "use strict";
8  function e(n) {
9    Object.freeze(n);
10    var t = "function" == typeof n;
11    return (
12      Object.getOwnPropertyNames(n).forEach(function (r) {
13        !Object.hasOwnProperty.call(n, r) ||
14          null === n[r] ||
15          ("object" != typeof n[r] && "function" != typeof n[r]) ||
16          (t && ("caller" === r || "callee" === r || "arguments" === r)) ||
17          Object.isFrozen(n[r]) ||
18          e(n[r]);
19      }),
20      n
21    );
22  }
23  class n {
24    constructor(e) {
25      void 0 === e.data && (e.data = {}), (this.data = e.data);
26    }
27    ignoreMatch() {
28      this.ignore = !0;
29    }
30  }
31  function t(e) {
32    return e
33      .replace(/&/g, "&")
34      .replace(/</g, "&lt;")
35      .replace(/>/g, "&gt;")
36      .replace(/"/g, "&quot;")
37      .replace(/'/g, "&#x27;");
38  }
39  function r(e, ...n) {
40    var t = {};
41    for (const n in e) t[n] = e[n];
42    return (
43      n.forEach(function (e) {
44        for (const n in e) t[n] = e[n];
45      }),
46      t
47    );
48  }
49  function a(e) {
50    return e.nodeName.toLowerCase();
51  }
52  var i = Object.freeze({
53    __proto__: null,
54    escapeHTML: t,
55    inherit: r,
56    nodeStream: function (e) {
57      var n = [];
58      return (
59        (function e(t, r) {
60          for (var i = t.firstChild; i; i = i.nextSibling)
61            3 === i.nodeType
62              ? (r += i.nodeValue.length)
63              : 1 === i.nodeType &&
64                (n.push({ event: "start", offset: r, node: i }),
65                (r = e(i, r)),
66                a(i).match(/br|hr|img|input/) ||
67                  n.push({ event: "stop", offset: r, node: i }));
68          return r;
69        })(e, 0),
70        n
71      );
72    },
73    mergeStreams: function (e, n, r) {
74      var i = 0,
75        s = "",
76        o = [];
77      function l() {
78        return e.length && n.length
79          ? e[0].offset !== n[0].offset
80            ? e[0].offset < n[0].offset
81              ? e
82              : n
83            : "start" === n[0].event
84            ? e
85            : n
86          : e.length
87          ? e
88          : n;
89      }
90      function c(e) {
91        s +=
92          "<" +
93          a(e) +
94          [].map
95            .call(e.attributes, function (e) {
96              return " " + e.nodeName + '="' + t(e.value) + '"';
97            })
98            .join("") +
99          ">";
100      }
101      function u(e) {
102        s += "</" + a(e) + ">";
103      }
104      function d(e) {
105        ("start" === e.event ? c : u)(e.node);
106      }
107      for (; e.length || n.length; ) {
108        var g = l();
109        if (
110          ((s += t(r.substring(i, g[0].offset))), (i = g[0].offset), g === e)
111        ) {
112          o.reverse().forEach(u);
113          do {
114            d(g.splice(0, 1)[0]), (g = l());
115          } while (g === e && g.length && g[0].offset === i);
116          o.reverse().forEach(c);
117        } else
118          "start" === g[0].event ? o.push(g[0].node) : o.pop(),
119            d(g.splice(0, 1)[0]);
120      }
121      return s + t(r.substr(i));
122    },
123  });
124  const s = "</span>",
125    o = (e) => !!e.kind;
126  class l {
127    constructor(e, n) {
128      (this.buffer = ""), (this.classPrefix = n.classPrefix), e.walk(this);
129    }
130    addText(e) {
131      this.buffer += t(e);
132    }
133    openNode(e) {
134      if (!o(e)) return;
135      let n = e.kind;
136      e.sublanguage || (n = `${this.classPrefix}${n}`), this.span(n);
137    }
138    closeNode(e) {
139      o(e) && (this.buffer += s);
140    }
141    value() {
142      return this.buffer;
143    }
144    span(e) {
145      this.buffer += `<span class="${e}">`;
146    }
147  }
148  class c {
149    constructor() {
150      (this.rootNode = { children: [] }), (this.stack = [this.rootNode]);
151    }
152    get top() {
153      return this.stack[this.stack.length - 1];
154    }
155    get root() {
156      return this.rootNode;
157    }
158    add(e) {
159      this.top.children.push(e);
160    }
161    openNode(e) {
162      const n = { kind: e, children: [] };
163      this.add(n), this.stack.push(n);
164    }
165    closeNode() {
166      if (this.stack.length > 1) return this.stack.pop();
167    }
168    closeAllNodes() {
169      for (; this.closeNode(); );
170    }
171    toJSON() {
172      return JSON.stringify(this.rootNode, null, 4);
173    }
174    walk(e) {
175      return this.constructor._walk(e, this.rootNode);
176    }
177    static _walk(e, n) {
178      return (
179        "string" == typeof n
180          ? e.addText(n)
181          : n.children &&
182            (e.openNode(n),
183            n.children.forEach((n) => this._walk(e, n)),
184            e.closeNode(n)),
185        e
186      );
187    }
188    static _collapse(e) {
189      "string" != typeof e &&
190        e.children &&
191        (e.children.every((e) => "string" == typeof e)
192          ? (e.children = [e.children.join("")])
193          : e.children.forEach((e) => {
194              c._collapse(e);
195            }));
196    }
197  }
198  class u extends c {
199    constructor(e) {
200      super(), (this.options = e);
201    }
202    addKeyword(e, n) {
203      "" !== e && (this.openNode(n), this.addText(e), this.closeNode());
204    }
205    addText(e) {
206      "" !== e && this.add(e);
207    }
208    addSublanguage(e, n) {
209      const t = e.root;
210      (t.kind = n), (t.sublanguage = !0), this.add(t);
211    }
212    toHTML() {
213      return new l(this, this.options).value();
214    }
215    finalize() {
216      return !0;
217    }
218  }
219  function d(e) {
220    return e ? ("string" == typeof e ? e : e.source) : null;
221  }
222  const g =
223      "(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",
224    h = { begin: "\\\\[\\s\\S]", relevance: 0 },
225    f = {
226      className: "string",
227      begin: "'",
228      end: "'",
229      illegal: "\\n",
230      contains: [h],
231    },
232    p = {
233      className: "string",
234      begin: '"',
235      end: '"',
236      illegal: "\\n",
237      contains: [h],
238    },
239    b = {
240      begin:
241        /\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/,
242    },
243    m = function (e, n, t = {}) {
244      var a = r({ className: "comment", begin: e, end: n, contains: [] }, t);
245      return (
246        a.contains.push(b),
247        a.contains.push({
248          className: "doctag",
249          begin: "(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",
250          relevance: 0,
251        }),
252        a
253      );
254    },
255    v = m("//", "$"),
256    x = m("/\\*", "\\*/"),
257    E = m("#", "$");
258  var _ = Object.freeze({
259      __proto__: null,
260      IDENT_RE: "[a-zA-Z]\\w*",
261      UNDERSCORE_IDENT_RE: "[a-zA-Z_]\\w*",
262      NUMBER_RE: "\\b\\d+(\\.\\d+)?",
263      C_NUMBER_RE: g,
264      BINARY_NUMBER_RE: "\\b(0b[01]+)",
265      RE_STARTERS_RE:
266        "!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",
267      SHEBANG: (e = {}) => {
268        const n = /^#![ ]*\//;
269        return (
270          e.binary &&
271            (e.begin = (function (...e) {
272              return e.map((e) => d(e)).join("");
273            })(n, /.*\b/, e.binary, /\b.*/)),
274          r(
275            {
276              className: "meta",
277              begin: n,
278              end: /$/,
279              relevance: 0,
280              "on:begin": (e, n) => {
281                0 !== e.index && n.ignoreMatch();
282              },
283            },
284            e
285          )
286        );
287      },
288      BACKSLASH_ESCAPE: h,
289      APOS_STRING_MODE: f,
290      QUOTE_STRING_MODE: p,
291      PHRASAL_WORDS_MODE: b,
292      COMMENT: m,
293      C_LINE_COMMENT_MODE: v,
294      C_BLOCK_COMMENT_MODE: x,
295      HASH_COMMENT_MODE: E,
296      NUMBER_MODE: {
297        className: "number",
298        begin: "\\b\\d+(\\.\\d+)?",
299        relevance: 0,
300      },
301      C_NUMBER_MODE: { className: "number", begin: g, relevance: 0 },
302      BINARY_NUMBER_MODE: {
303        className: "number",
304        begin: "\\b(0b[01]+)",
305        relevance: 0,
306      },
307      CSS_NUMBER_MODE: {
308        className: "number",
309        begin:
310          "\\b\\d+(\\.\\d+)?(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",
311        relevance: 0,
312      },
313      REGEXP_MODE: {
314        begin: /(?=\/[^/\n]*\/)/,
315        contains: [
316          {
317            className: "regexp",
318            begin: /\//,
319            end: /\/[gimuy]*/,
320            illegal: /\n/,
321            contains: [
322              h,
323              { begin: /\[/, end: /\]/, relevance: 0, contains: [h] },
324            ],
325          },
326        ],
327      },
328      TITLE_MODE: { className: "title", begin: "[a-zA-Z]\\w*", relevance: 0 },
329      UNDERSCORE_TITLE_MODE: {
330        className: "title",
331        begin: "[a-zA-Z_]\\w*",
332        relevance: 0,
333      },
334      METHOD_GUARD: { begin: "\\.\\s*[a-zA-Z_]\\w*", relevance: 0 },
335      END_SAME_AS_BEGIN: function (e) {
336        return Object.assign(e, {
337          "on:begin": (e, n) => {
338            n.data._beginMatch = e[1];
339          },
340          "on:end": (e, n) => {
341            n.data._beginMatch !== e[1] && n.ignoreMatch();
342          },
343        });
344      },
345    }),
346    N = "of and for in not or if then".split(" ");
347  function w(e, n) {
348    return n
349      ? +n
350      : (function (e) {
351          return N.includes(e.toLowerCase());
352        })(e)
353      ? 0
354      : 1;
355  }
356  const R = t,
357    y = r,
358    { nodeStream: k, mergeStreams: O } = i,
359    M = Symbol("nomatch");
360  return (function (t) {
361    var a = [],
362      i = {},
363      s = {},
364      o = [],
365      l = !0,
366      c = /(^(<[^>]+>|\t|)+|\n)/gm,
367      g =
368        "Could not find the language '{}', did you forget to load/include a language module?";
369    const h = { disableAutodetect: !0, name: "Plain text", contains: [] };
370    var f = {
371      noHighlightRe: /^(no-?highlight)$/i,
372      languageDetectRe: /\blang(?:uage)?-([\w-]+)\b/i,
373      classPrefix: "hljs-",
374      tabReplace: null,
375      useBR: !1,
376      languages: null,
377      __emitter: u,
378    };
379    function p(e) {
380      return f.noHighlightRe.test(e);
381    }
382    function b(e, n, t, r) {
383      var a = { code: n, language: e };
384      S("before:highlight", a);
385      var i = a.result ? a.result : m(a.language, a.code, t, r);
386      return (i.code = a.code), S("after:highlight", i), i;
387    }
388    function m(e, t, a, s) {
389      var o = t;
390      function c(e, n) {
391        var t = E.case_insensitive ? n[0].toLowerCase() : n[0];
392        return (
393          Object.prototype.hasOwnProperty.call(e.keywords, t) && e.keywords[t]
394        );
395      }
396      function u() {
397        null != y.subLanguage
398          ? (function () {
399              if ("" !== A) {
400                var e = null;
401                if ("string" == typeof y.subLanguage) {
402                  if (!i[y.subLanguage]) return void O.addText(A);
403                  (e = m(y.subLanguage, A, !0, k[y.subLanguage])),
404                    (k[y.subLanguage] = e.top);
405                } else e = v(A, y.subLanguage.length ? y.subLanguage : null);
406                y.relevance > 0 && (I += e.relevance),
407                  O.addSublanguage(e.emitter, e.language);
408              }
409            })()
410          : (function () {
411              if (!y.keywords) return void O.addText(A);
412              let e = 0;
413              y.keywordPatternRe.lastIndex = 0;
414              let n = y.keywordPatternRe.exec(A),
415                t = "";
416              for (; n; ) {
417                t += A.substring(e, n.index);
418                const r = c(y, n);
419                if (r) {
420                  const [e, a] = r;
421                  O.addText(t), (t = ""), (I += a), O.addKeyword(n[0], e);
422                } else t += n[0];
423                (e = y.keywordPatternRe.lastIndex),
424                  (n = y.keywordPatternRe.exec(A));
425              }
426              (t += A.substr(e)), O.addText(t);
427            })(),
428          (A = "");
429      }
430      function h(e) {
431        return (
432          e.className && O.openNode(e.className),
433          (y = Object.create(e, { parent: { value: y } }))
434        );
435      }
436      function p(e) {
437        return 0 === y.matcher.regexIndex ? ((A += e[0]), 1) : ((L = !0), 0);
438      }
439      var b = {};
440      function x(t, r) {
441        var i = r && r[0];
442        if (((A += t), null == i)) return u(), 0;
443        if (
444          "begin" === b.type &&
445          "end" === r.type &&
446          b.index === r.index &&
447          "" === i
448        ) {
449          if (((A += o.slice(r.index, r.index + 1)), !l)) {
450            const n = Error("0 width match regex");
451            throw ((n.languageName = e), (n.badRule = b.rule), n);
452          }
453          return 1;
454        }
455        if (((b = r), "begin" === r.type))
456          return (function (e) {
457            var t = e[0],
458              r = e.rule;
459            const a = new n(r),
460              i = [r.__beforeBegin, r["on:begin"]];
461            for (const n of i) if (n && (n(e, a), a.ignore)) return p(t);
462            return (
463              r &&
464                r.endSameAsBegin &&
465                (r.endRe = RegExp(
466                  t.replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&"),
467                  "m"
468                )),
469              r.skip
470                ? (A += t)
471                : (r.excludeBegin && (A += t),
472                  u(),
473                  r.returnBegin || r.excludeBegin || (A = t)),
474              h(r),
475              r.returnBegin ? 0 : t.length
476            );
477          })(r);
478        if ("illegal" === r.type && !a) {
479          const e = Error(
480            'Illegal lexeme "' +
481              i +
482              '" for mode "' +
483              (y.className || "<unnamed>") +
484              '"'
485          );
486          throw ((e.mode = y), e);
487        }
488        if ("end" === r.type) {
489          var s = (function (e) {
490            var t = e[0],
491              r = o.substr(e.index),
492              a = (function e(t, r, a) {
493                let i = (function (e, n) {
494                  var t = e && e.exec(n);
495                  return t && 0 === t.index;
496                })(t.endRe, a);
497                if (i) {
498                  if (t["on:end"]) {
499                    const e = new n(t);
500                    t["on:end"](r, e), e.ignore && (i = !1);
501                  }
502                  if (i) {
503                    for (; t.endsParent && t.parent; ) t = t.parent;
504                    return t;
505                  }
506                }
507                if (t.endsWithParent) return e(t.parent, r, a);
508              })(y, e, r);
509            if (!a) return M;
510            var i = y;
511            i.skip
512              ? (A += t)
513              : (i.returnEnd || i.excludeEnd || (A += t),
514                u(),
515                i.excludeEnd && (A = t));
516            do {
517              y.className && O.closeNode(),
518                y.skip || y.subLanguage || (I += y.relevance),
519                (y = y.parent);
520            } while (y !== a.parent);
521            return (
522              a.starts &&
523                (a.endSameAsBegin && (a.starts.endRe = a.endRe), h(a.starts)),
524              i.returnEnd ? 0 : t.length
525            );
526          })(r);
527          if (s !== M) return s;
528        }
529        if ("illegal" === r.type && "" === i) return 1;
530        if (B > 1e5 && B > 3 * r.index)
531          throw Error(
532            "potential infinite loop, way more iterations than matches"
533          );
534        return (A += i), i.length;
535      }
536      var E = T(e);
537      if (!E)
538        throw (
539          (console.error(g.replace("{}", e)),
540          Error('Unknown language: "' + e + '"'))
541        );
542      var _ = (function (e) {
543          function n(n, t) {
544            return RegExp(
545              d(n),
546              "m" + (e.case_insensitive ? "i" : "") + (t ? "g" : "")
547            );
548          }
549          class t {
550            constructor() {
551              (this.matchIndexes = {}),
552                (this.regexes = []),
553                (this.matchAt = 1),
554                (this.position = 0);
555            }
556            addRule(e, n) {
557              (n.position = this.position++),
558                (this.matchIndexes[this.matchAt] = n),
559                this.regexes.push([n, e]),
560                (this.matchAt +=
561                  (function (e) {
562                    return RegExp(e.toString() + "|").exec("").length - 1;
563                  })(e) + 1);
564            }
565            compile() {
566              0 === this.regexes.length && (this.exec = () => null);
567              const e = this.regexes.map((e) => e[1]);
568              (this.matcherRe = n(
569                (function (e, n = "|") {
570                  for (
571                    var t = /\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,
572                      r = 0,
573                      a = "",
574                      i = 0;
575                    i < e.length;
576                    i++
577                  ) {
578                    var s = (r += 1),
579                      o = d(e[i]);
580                    for (i > 0 && (a += n), a += "("; o.length > 0; ) {
581                      var l = t.exec(o);
582                      if (null == l) {
583                        a += o;
584                        break;
585                      }
586                      (a += o.substring(0, l.index)),
587                        (o = o.substring(l.index + l[0].length)),
588                        "\\" === l[0][0] && l[1]
589                          ? (a += "\\" + (+l[1] + s))
590                          : ((a += l[0]), "(" === l[0] && r++);
591                    }
592                    a += ")";
593                  }
594                  return a;
595                })(e),
596                !0
597              )),
598                (this.lastIndex = 0);
599            }
600            exec(e) {
601              this.matcherRe.lastIndex = this.lastIndex;
602              const n = this.matcherRe.exec(e);
603              if (!n) return null;
604              const t = n.findIndex((e, n) => n > 0 && void 0 !== e),
605                r = this.matchIndexes[t];
606              return n.splice(0, t), Object.assign(n, r);
607            }
608          }
609          class a {
610            constructor() {
611              (this.rules = []),
612                (this.multiRegexes = []),
613                (this.count = 0),
614                (this.lastIndex = 0),
615                (this.regexIndex = 0);
616            }
617            getMatcher(e) {
618              if (this.multiRegexes[e]) return this.multiRegexes[e];
619              const n = new t();
620              return (
621                this.rules.slice(e).forEach(([e, t]) => n.addRule(e, t)),
622                n.compile(),
623                (this.multiRegexes[e] = n),
624                n
625              );
626            }
627            considerAll() {
628              this.regexIndex = 0;
629            }
630            addRule(e, n) {
631              this.rules.push([e, n]), "begin" === n.type && this.count++;
632            }
633            exec(e) {
634              const n = this.getMatcher(this.regexIndex);
635              n.lastIndex = this.lastIndex;
636              const t = n.exec(e);
637              return (
638                t &&
639                  ((this.regexIndex += t.position + 1),
640                  this.regexIndex === this.count && (this.regexIndex = 0)),
641                t
642              );
643            }
644          }
645          function i(e, n) {
646            const t = e.input[e.index - 1],
647              r = e.input[e.index + e[0].length];
648            ("." !== t && "." !== r) || n.ignoreMatch();
649          }
650          if (e.contains && e.contains.includes("self"))
651            throw Error(
652              "ERR: contains `self` is not supported at the top-level of a language.  See documentation."
653            );
654          return (function t(s, o) {
655            const l = s;
656            if (s.compiled) return l;
657            (s.compiled = !0),
658              (s.__beforeBegin = null),
659              (s.keywords = s.keywords || s.beginKeywords);
660            let c = null;
661            if (
662              ("object" == typeof s.keywords &&
663                ((c = s.keywords.$pattern), delete s.keywords.$pattern),
664              s.keywords &&
665                (s.keywords = (function (e, n) {
666                  var t = {};
667                  return (
668                    "string" == typeof e
669                      ? r("keyword", e)
670                      : Object.keys(e).forEach(function (n) {
671                          r(n, e[n]);
672                        }),
673                    t
674                  );
675                  function r(e, r) {
676                    n && (r = r.toLowerCase()),
677                      r.split(" ").forEach(function (n) {
678                        var r = n.split("|");
679                        t[r[0]] = [e, w(r[0], r[1])];
680                      });
681                  }
682                })(s.keywords, e.case_insensitive)),
683              s.lexemes && c)
684            )
685              throw Error(
686                "ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) "
687              );
688            return (
689              (l.keywordPatternRe = n(s.lexemes || c || /\w+/, !0)),
690              o &&
691                (s.beginKeywords &&
692                  ((s.begin =
693                    "\\b(" +
694                    s.beginKeywords.split(" ").join("|") +
695                    ")(?=\\b|\\s)"),
696                  (s.__beforeBegin = i)),
697                s.begin || (s.begin = /\B|\b/),
698                (l.beginRe = n(s.begin)),
699                s.endSameAsBegin && (s.end = s.begin),
700                s.end || s.endsWithParent || (s.end = /\B|\b/),
701                s.end && (l.endRe = n(s.end)),
702                (l.terminator_end = d(s.end) || ""),
703                s.endsWithParent &&
704                  o.terminator_end &&
705                  (l.terminator_end += (s.end ? "|" : "") + o.terminator_end)),
706              s.illegal && (l.illegalRe = n(s.illegal)),
707              void 0 === s.relevance && (s.relevance = 1),
708              s.contains || (s.contains = []),
709              (s.contains = [].concat(
710                ...s.contains.map(function (e) {
711                  return (function (e) {
712                    return (
713                      e.variants &&
714                        !e.cached_variants &&
715                        (e.cached_variants = e.variants.map(function (n) {
716                          return r(e, { variants: null }, n);
717                        })),
718                      e.cached_variants
719                        ? e.cached_variants
720                        : (function e(n) {
721                            return !!n && (n.endsWithParent || e(n.starts));
722                          })(e)
723                        ? r(e, { starts: e.starts ? r(e.starts) : null })
724                        : Object.isFrozen(e)
725                        ? r(e)
726                        : e
727                    );
728                  })("self" === e ? s : e);
729                })
730              )),
731              s.contains.forEach(function (e) {
732                t(e, l);
733              }),
734              s.starts && t(s.starts, o),
735              (l.matcher = (function (e) {
736                const n = new a();
737                return (
738                  e.contains.forEach((e) =>
739                    n.addRule(e.begin, { rule: e, type: "begin" })
740                  ),
741                  e.terminator_end &&
742                    n.addRule(e.terminator_end, { type: "end" }),
743                  e.illegal && n.addRule(e.illegal, { type: "illegal" }),
744                  n
745                );
746              })(l)),
747              l
748            );
749          })(e);
750        })(E),
751        N = "",
752        y = s || _,
753        k = {},
754        O = new f.__emitter(f);
755      !(function () {
756        for (var e = [], n = y; n !== E; n = n.parent)
757          n.className && e.unshift(n.className);
758        e.forEach((e) => O.openNode(e));
759      })();
760      var A = "",
761        I = 0,
762        S = 0,
763        B = 0,
764        L = !1;
765      try {
766        for (y.matcher.considerAll(); ; ) {
767          B++,
768            L ? (L = !1) : ((y.matcher.lastIndex = S), y.matcher.considerAll());
769          const e = y.matcher.exec(o);
770          if (!e) break;
771          const n = x(o.substring(S, e.index), e);
772          S = e.index + n;
773        }
774        return (
775          x(o.substr(S)),
776          O.closeAllNodes(),
777          O.finalize(),
778          (N = O.toHTML()),
779          {
780            relevance: I,
781            value: N,
782            language: e,
783            illegal: !1,
784            emitter: O,
785            top: y,
786          }
787        );
788      } catch (n) {
789        if (n.message && n.message.includes("Illegal"))
790          return {
791            illegal: !0,
792            illegalBy: {
793              msg: n.message,
794              context: o.slice(S - 100, S + 100),
795              mode: n.mode,
796            },
797            sofar: N,
798            relevance: 0,
799            value: R(o),
800            emitter: O,
801          };
802        if (l)
803          return {
804            illegal: !1,
805            relevance: 0,
806            value: R(o),
807            emitter: O,
808            language: e,
809            top: y,
810            errorRaised: n,
811          };
812        throw n;
813      }
814    }
815    function v(e, n) {
816      n = n || f.languages || Object.keys(i);
817      var t = (function (e) {
818          const n = {
819            relevance: 0,
820            emitter: new f.__emitter(f),
821            value: R(e),
822            illegal: !1,
823            top: h,
824          };
825          return n.emitter.addText(e), n;
826        })(e),
827        r = t;
828      return (
829        n
830          .filter(T)
831          .filter(I)
832          .forEach(function (n) {
833            var a = m(n, e, !1);
834            (a.language = n),
835              a.relevance > r.relevance && (r = a),
836              a.relevance > t.relevance && ((r = t), (t = a));
837          }),
838        r.language && (t.second_best = r),
839        t
840      );
841    }
842    function x(e) {
843      return f.tabReplace || f.useBR
844        ? e.replace(c, (e) =>
845            "\n" === e
846              ? f.useBR
847                ? "<br>"
848                : e
849              : f.tabReplace
850              ? e.replace(/\t/g, f.tabReplace)
851              : e
852          )
853        : e;
854    }
855    function E(e) {
856      let n = null;
857      const t = (function (e) {
858        var n = e.className + " ";
859        n += e.parentNode ? e.parentNode.className : "";
860        const t = f.languageDetectRe.exec(n);
861        if (t) {
862          var r = T(t[1]);
863          return (
864            r ||
865              (console.warn(g.replace("{}", t[1])),
866              console.warn(
867                "Falling back to no-highlight mode for this block.",
868                e
869              )),
870            r ? t[1] : "no-highlight"
871          );
872        }
873        return n.split(/\s+/).find((e) => p(e) || T(e));
874      })(e);
875      if (p(t)) return;
876      S("before:highlightBlock", { block: e, language: t }),
877        f.useBR
878          ? ((n = document.createElement("div")).innerHTML = e.innerHTML
879              .replace(/\n/g, "")
880              .replace(/<br[ /]*>/g, "\n"))
881          : (n = e);
882      const r = n.textContent,
883        a = t ? b(t, r, !0) : v(r),
884        i = k(n);
885      if (i.length) {
886        const e = document.createElement("div");
887        (e.innerHTML = a.value), (a.value = O(i, k(e), r));
888      }
889      (a.value = x(a.value)),
890        S("after:highlightBlock", { block: e, result: a }),
891        (e.innerHTML = a.value),
892        (e.className = (function (e, n, t) {
893          var r = n ? s[n] : t,
894            a = [e.trim()];
895          return (
896            e.match(/\bhljs\b/) || a.push("hljs"),
897            e.includes(r) || a.push(r),
898            a.join(" ").trim()
899          );
900        })(e.className, t, a.language)),
901        (e.result = {
902          language: a.language,
903          re: a.relevance,
904          relavance: a.relevance,
905        }),
906        a.second_best &&
907          (e.second_best = {
908            language: a.second_best.language,
909            re: a.second_best.relevance,
910            relavance: a.second_best.relevance,
911          });
912    }
913    const N = () => {
914      if (!N.called) {
915        N.called = !0;
916        var e = document.querySelectorAll("pre code");
917        a.forEach.call(e, E);
918      }
919    };
920    function T(e) {
921      return (e = (e || "").toLowerCase()), i[e] || i[s[e]];
922    }
923    function A(e, { languageName: n }) {
924      "string" == typeof e && (e = [e]),
925        e.forEach((e) => {
926          s[e] = n;
927        });
928    }
929    function I(e) {
930      var n = T(e);
931      return n && !n.disableAutodetect;
932    }
933    function S(e, n) {
934      var t = e;
935      o.forEach(function (e) {
936        e[t] && e[t](n);
937      });
938    }
939    Object.assign(t, {
940      highlight: b,
941      highlightAuto: v,
942      fixMarkup: x,
943      highlightBlock: E,
944      configure: function (e) {
945        f = y(f, e);
946      },
947      initHighlighting: N,
948      initHighlightingOnLoad: function () {
949        window.addEventListener("DOMContentLoaded", N, !1);
950      },
951      registerLanguage: function (e, n) {
952        var r = null;
953        try {
954          r = n(t);
955        } catch (n) {
956          if (
957            (console.error(
958              "Language definition for '{}' could not be registered.".replace(
959                "{}",
960                e
961              )
962            ),
963            !l)
964          )
965            throw n;
966          console.error(n), (r = h);
967        }
968        r.name || (r.name = e),
969          (i[e] = r),
970          (r.rawDefinition = n.bind(null, t)),
971          r.aliases && A(r.aliases, { languageName: e });
972      },
973      listLanguages: function () {
974        return Object.keys(i);
975      },
976      getLanguage: T,
977      registerAliases: A,
978      requireLanguage: function (e) {
979        var n = T(e);
980        if (n) return n;
981        throw Error(
982          "The '{}' language is required, but not loaded.".replace("{}", e)
983        );
984      },
985      autoDetection: I,
986      inherit: y,
987      addPlugin: function (e) {
988        o.push(e);
989      },
990    }),
991      (t.debugMode = function () {
992        l = !1;
993      }),
994      (t.safeMode = function () {
995        l = !0;
996      }),
997      (t.versionString = "10.1.1");
998    for (const n in _) "object" == typeof _[n] && e(_[n]);
999    return Object.assign(t, _), t;
1000  })({});
1001})();
1002"object" == typeof exports &&
1003  "undefined" != typeof module &&
1004  (module.exports = hljs);
1005hljs.registerLanguage(
1006  "php",
1007  (function () {
1008    "use strict";
1009    return function (e) {
1010      var r = { begin: "\\$+[a-zA-Z_�-ÿ][a-zA-Z0-9_�-ÿ]*" },
1011        t = {
1012          className: "meta",
1013          variants: [
1014            { begin: /<\?php/, relevance: 10 },
1015            { begin: /<\?[=]?/ },
1016            { begin: /\?>/ },
1017          ],
1018        },
1019        a = {
1020          className: "string",
1021          contains: [e.BACKSLASH_ESCAPE, t],
1022          variants: [
1023            { begin: 'b"', end: '"' },
1024            { begin: "b'", end: "'" },
1025            e.inherit(e.APOS_STRING_MODE, { illegal: null }),
1026            e.inherit(e.QUOTE_STRING_MODE, { illegal: null }),
1027          ],
1028        },
1029        n = { variants: [e.BINARY_NUMBER_MODE, e.C_NUMBER_MODE] },
1030        i = {
1031          keyword:
1032            "__CLASS__ __DIR__ __FILE__ __FUNCTION__ __LINE__ __METHOD__ __NAMESPACE__ __TRAIT__ die echo exit include include_once print require require_once array abstract and as binary bool boolean break callable case catch class clone const continue declare default do double else elseif empty enddeclare endfor endforeach endif endswitch endwhile eval extends final finally float for foreach from global goto if implements instanceof insteadof int integer interface isset iterable list new object or private protected public real return string switch throw trait try unset use var void while xor yield",
1033          literal: "false null true",
1034          built_in:
1035            "Error|0 AppendIterator ArgumentCountError ArithmeticError ArrayIterator ArrayObject AssertionError BadFunctionCallException BadMethodCallException CachingIterator CallbackFilterIterator CompileError Countable DirectoryIterator DivisionByZeroError DomainException EmptyIterator ErrorException Exception FilesystemIterator FilterIterator GlobIterator InfiniteIterator InvalidArgumentException IteratorIterator LengthException LimitIterator LogicException MultipleIterator NoRewindIterator OutOfBoundsException OutOfRangeException OuterIterator OverflowException ParentIterator ParseError RangeException RecursiveArrayIterator RecursiveCachingIterator RecursiveCallbackFilterIterator RecursiveDirectoryIterator RecursiveFilterIterator RecursiveIterator RecursiveIteratorIterator RecursiveRegexIterator RecursiveTreeIterator RegexIterator RuntimeException SeekableIterator SplDoublyLinkedList SplFileInfo SplFileObject SplFixedArray SplHeap SplMaxHeap SplMinHeap SplObjectStorage SplObserver SplObserver SplPri
1035orityQueue SplQueue SplStack SplSubject SplSubject SplTempFileObject TypeError UnderflowException UnexpectedValueException ArrayAccess Closure Generator Iterator IteratorAggregate Serializable Throwable Traversable WeakReference Directory __PHP_Incomplete_Class parent php_user_filter self static stdClass",
1036        };
1037      return {
1038        aliases: ["php", "php3", "php4", "php5", "php6", "php7"],
1039        case_insensitive: !0,
1040        keywords: i,
1041        contains: [
1042          e.HASH_COMMENT_MODE,
1043          e.COMMENT("//", "$", { contains: [t] }),
1044          e.COMMENT("/\\*", "\\*/", {
1045            contains: [{ className: "doctag", begin: "@[A-Za-z]+" }],
1046          }),
1047          e.COMMENT("__halt_compiler.+?;", !1, {
1048            endsWithParent: !0,
1049            keywords: "__halt_compiler",
1050          }),
1051          {
1052            className: "string",
1053            begin: /<<<['"]?\w+['"]?$/,
1054            end: /^\w+;?$/,
1055            contains: [
1056              e.BACKSLASH_ESCAPE,
1057              {
1058                className: "subst",
1059                variants: [{ begin: /\$\w+/ }, { begin: /\{\$/, end: /\}/ }],
1060              },
1061            ],
1062          },
1063          t,
1064          { className: "keyword", begin: /\$this\b/ },
1065          r,
1066          { begin: /(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/ },
1067          {
1068            className: "function",
1069            beginKeywords: "fn function",
1070            end: /[;{]/,
1071            excludeEnd: !0,
1072            illegal: "[$%\\[]",
1073            contains: [
1074              e.UNDERSCORE_TITLE_MODE,
1075              {
1076                className: "params",
1077                begin: "\\(",
1078                end: "\\)",
1079                excludeBegin: !0,
1080                excludeEnd: !0,
1081                keywords: i,
1082                contains: ["self", r, e.C_BLOCK_COMMENT_MODE, a, n],
1083              },
1084            ],
1085          },
1086          {
1087            className: "class",
1088            beginKeywords: "class interface",
1089            end: "{",
1090            excludeEnd: !0,
1091            illegal: /[:\(\$"]/,
1092            contains: [
1093              { beginKeywords: "extends implements" },
1094              e.UNDERSCORE_TITLE_MODE,
1095            ],
1096          },
1097          {
1098            beginKeywords: "namespace",
1099            end: ";",
1100            illegal: /[\.']/,
1101            contains: [e.UNDERSCORE_TITLE_MODE],
1102          },
1103          {
1104            beginKeywords: "use",
1105            end: ";",
1106            contains: [e.UNDERSCORE_TITLE_MODE],
1107          },
1108          { begin: "=>" },
1109          a,
1110          n,
1111        ],
1112      };
1113    };
1114  })()
1115);
1116hljs.registerLanguage(
1117  "nginx",
1118  (function () {
1119    "use strict";
1120    return function (e) {
1121      var n = {
1122          className: "variable",
1123          variants: [
1124            { begin: /\$\d+/ },
1125            { begin: /\$\{/, end: /}/ },
1126            { begin: "[\\$\\@]" + e.UNDERSCORE_IDENT_RE },
1127          ],
1128        },
1129        a = {
1130          endsWithParent: !0,
1131          keywords: {
1132            $pattern: "[a-z/_]+",
1133            literal:
1134              "on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll",
1135          },
1136          relevance: 0,
1137          illegal: "=>",
1138          contains: [
1139            e.HASH_COMMENT_MODE,
1140            {
1141              className: "string",
1142              contains: [e.BACKSLASH_ESCAPE, n],
1143              variants: [
1144                { begin: /"/, end: /"/ },
1145                { begin: /'/, end: /'/ },
1146              ],
1147            },
1148            {
1149              begin: "([a-z]+):/",
1150              end: "\\s",
1151              endsWithParent: !0,
1152              excludeEnd: !0,
1153              contains: [n],
1154            },
1155            {
1156              className: "regexp",
1157              contains: [e.BACKSLASH_ESCAPE, n],
1158              variants: [
1159                { begin: "\\s\\^", end: "\\s|{|;", returnEnd: !0 },
1160                { begin: "~\\*?\\s+", end: "\\s|{|;", returnEnd: !0 },
1161                { begin: "\\*(\\.[a-z\\-]+)+" },
1162                { begin: "([a-z\\-]+\\.)+\\*" },
1163              ],
1164            },
1165            {
1166              className: "number",
1167              begin:
1168                "\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b",
1169            },
1170            {
1171              className: "number",
1172              begin: "\\b\\d+[kKmMgGdshdwy]*\\b",
1173              relevance: 0,
1174            },
1175            n,
1176          ],
1177        };
1178      return {
1179        name: "Nginx config",
1180        aliases: ["nginxconf"],
1181        contains: [
1182          e.HASH_COMMENT_MODE,
1183          {
1184            begin: e.UNDERSCORE_IDENT_RE + "\\s+{",
1185            returnBegin: !0,
1186            end: "{",
1187            contains: [{ className: "section", begin: e.UNDERSCORE_IDENT_RE }],
1188            relevance: 0,
1189          },
1190          {
1191            begin: e.UNDERSCORE_IDENT_RE + "\\s",
1192            end: ";|{",
1193            returnBegin: !0,
1194            contains: [
1195              {
1196                className: "attribute",
1197                begin: e.UNDERSCORE_IDENT_RE,
1198                starts: a,
1199              },
1200            ],
1201            relevance: 0,
1202          },
1203        ],
1204        illegal: "[^\\s\\}]",
1205      };
1206    };
1207  })()
1208);
1209hljs.registerLanguage(
1210  "csharp",
1211  (function () {
1212    "use strict";
1213    return function (e) {
1214      var n = {
1215          keyword:
1216            "abstract as base bool break byte case catch char checked const continue decimal default delegate do double enum event explicit extern finally fixed float for foreach goto if implicit in int interface internal is lock long object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this try typeof uint ulong unchecked unsafe ushort using virtual void volatile while add alias ascending async await by descending dynamic equals from get global group into join let nameof on orderby partial remove select set value var when where yield",
1217          literal: "null false true",
1218        },
1219        i = e.inherit(e.TITLE_MODE, { begin: "[a-zA-Z](\\.?\\w)*" }),
1220        a = {
1221          className: "number",
1222          variants: [
1223            { begin: "\\b(0b[01']+)" },
1224            {
1225              begin:
1226                "(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)",
1227            },
1228            {
1229              begin:
1230                "(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)",
1231            },
1232          ],
1233          relevance: 0,
1234        },
1235        s = {
1236          className: "string",
1237          begin: '@"',
1238          end: '"',
1239          contains: [{ begin: '""' }],
1240        },
1241        t = e.inherit(s, { illegal: /\n/ }),
1242        l = { className: "subst", begin: "{", end: "}", keywords: n },
1243        r = e.inherit(l, { illegal: /\n/ }),
1244        c = {
1245          className: "string",
1246          begin: /\$"/,
1247          end: '"',
1248          illegal: /\n/,
1249          contains: [{ begin: "{{" }, { begin: "}}" }, e.BACKSLASH_ESCAPE, r],
1250        },
1251        o = {
1252          className: "string",
1253          begin: /\$@"/,
1254          end: '"',
1255          contains: [{ begin: "{{" }, { begin: "}}" }, { begin: '""' }, l],
1256        },
1257        g = e.inherit(o, {
1258          illegal: /\n/,
1259          contains: [{ begin: "{{" }, { begin: "}}" }, { begin: '""' }, r],
1260        });
1261      (l.contains = [
1262        o,
1263        c,
1264        s,
1265        e.APOS_STRING_MODE,
1266        e.QUOTE_STRING_MODE,
1267        a,
1268        e.C_BLOCK_COMMENT_MODE,
1269      ]),
1270        (r.contains = [
1271          g,
1272          c,
1273          t,
1274          e.APOS_STRING_MODE,
1275          e.QUOTE_STRING_MODE,
1276          a,
1277          e.inherit(e.C_BLOCK_COMMENT_MODE, { illegal: /\n/ }),
1278        ]);
1279      var d = { variants: [o, c, s, e.APOS_STRING_MODE, e.QUOTE_STRING_MODE] },
1280        E = {
1281          begin: "<",
1282          end: ">",
1283          contains: [{ beginKeywords: "in out" }, i],
1284        },
1285        _ =
1286          e.IDENT_RE +
1287          "(<" +
1288          e.IDENT_RE +
1289          "(\\s*,\\s*" +
1290          e.IDENT_RE +
1291          ")*>)?(\\[\\])?",
1292        b = { begin: "@" + e.IDENT_RE, relevance: 0 };
1293      return {
1294        name: "C#",
1295        aliases: ["cs", "c#"],
1296        keywords: n,
1297        illegal: /::/,
1298        contains: [
1299          e.COMMENT("///", "$", {
1300            returnBegin: !0,
1301            contains: [
1302              {
1303                className: "doctag",
1304                variants: [
1305                  { begin: "///", relevance: 0 },
1306                  { begin: "\x3c!--|--\x3e" },
1307                  { begin: "</?", end: ">" },
1308                ],
1309              },
1310            ],
1311          }),
1312          e.C_LINE_COMMENT_MODE,
1313          e.C_BLOCK_COMMENT_MODE,
1314          {
1315            className: "meta",
1316            begin: "#",
1317            end: "$",
1318            keywords: {
1319              "meta-keyword":
1320                "if else elif endif define undef warning error line region endregion pragma checksum",
1321            },
1322          },
1323          d,
1324          a,
1325          {
1326            beginKeywords: "class interface",
1327            end: /[{;=]/,
1328            illegal: /[^\s:,]/,
1329            contains: [
1330              { beginKeywords: "where class" },
1331              i,
1332              E,
1333              e.C_LINE_COMMENT_MODE,
1334              e.C_BLOCK_COMMENT_MODE,
1335            ],
1336          },
1337          {
1338            beginKeywords: "namespace",
1339            end: /[{;=]/,
1340            illegal: /[^\s:]/,
1341            contains: [i, e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE],
1342          },
1343          {
1344            className: "meta",
1345            begin: "^\\s*\\[",
1346            excludeBegin: !0,
1347            end: "\\]",
1348            excludeEnd: !0,
1349            contains: [{ className: "meta-string", begin: /"/, end: /"/ }],
1350          },
1351          { beginKeywords: "new return throw await else", relevance: 0 },
1352          {
1353            className: "function",
1354            begin: "(" + _ + "\\s+)+" + e.IDENT_RE + "\\s*(\\<.+\\>)?\\s*\\(",
1355            returnBegin: !0,
1356            end: /\s*[{;=]/,
1357            excludeEnd: !0,
1358            keywords: n,
1359            contains: [
1360              {
1361                begin: e.IDENT_RE + "\\s*(\\<.+\\>)?\\s*\\(",
1362                returnBegin: !0,
1363                contains: [e.TITLE_MODE, E],
1364                relevance: 0,
1365              },
1366              {
1367                className: "params",
1368                begin: /\(/,
1369                end: /\)/,
1370                excludeBegin: !0,
1371                excludeEnd: !0,
1372                keywords: n,
1373                relevance: 0,
1374                contains: [d, a, e.C_BLOCK_COMMENT_MODE],
1375              },
1376              e.C_LINE_COMMENT_MODE,
1377              e.C_BLOCK_COMMENT_MODE,
1378            ],
1379          },
1380          b,
1381        ],
1382      };
1383    };
1384  })()
1385);
1386hljs.registerLanguage(
1387  "perl",
1388  (function () {
1389    "use strict";
1390    return function (e) {
1391      var n = {
1392          $pattern: /[\w.]+/,
1393          keyword:
1394            "getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qq fileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmget sub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwu
1394id my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedir ioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when",
1395        },
1396        t = { className: "subst", begin: "[$@]\\{", end: "\\}", keywords: n },
1397        s = { begin: "->{", end: "}" },
1398        r = {
1399          variants: [
1400            { begin: /\$\d/ },
1401            { begin: /[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/ },
1402            { begin: /[\$%@][^\s\w{]/, relevance: 0 },
1403          ],
1404        },
1405        i = [e.BACKSLASH_ESCAPE, t, r],
1406        a = [
1407          r,
1408          e.HASH_COMMENT_MODE,
1409          e.COMMENT("^\\=\\w", "\\=cut", { endsWithParent: !0 }),
1410          s,
1411          {
1412            className: "string",
1413            contains: i,
1414            variants: [
1415              { begin: "q[qwxr]?\\s*\\(", end: "\\)", relevance: 5 },
1416              { begin: "q[qwxr]?\\s*\\[", end: "\\]", relevance: 5 },
1417              { begin: "q[qwxr]?\\s*\\{", end: "\\}", relevance: 5 },
1418              { begin: "q[qwxr]?\\s*\\|", end: "\\|", relevance: 5 },
1419              { begin: "q[qwxr]?\\s*\\<", end: "\\>", relevance: 5 },
1420              { begin: "qw\\s+q", end: "q", relevance: 5 },
1421              { begin: "'", end: "'", contains: [e.BACKSLASH_ESCAPE] },
1422              { begin: '"', end: '"' },
1423              { begin: "`", end: "`", contains: [e.BACKSLASH_ESCAPE] },
1424              { begin: "{\\w+}", contains: [], relevance: 0 },
1425              { begin: "-?\\w+\\s*\\=\\>", contains: [], relevance: 0 },
1426            ],
1427          },
1428          {
1429            className: "number",
1430            begin:
1431              "(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",
1432            relevance: 0,
1433          },
1434          {
1435            begin:
1436              "(\\/\\/|" +
1437              e.RE_STARTERS_RE +
1438              "|\\b(split|return|print|reverse|grep)\\b)\\s*",
1439            keywords: "split return print reverse grep",
1440            relevance: 0,
1441            contains: [
1442              e.HASH_COMMENT_MODE,
1443              {
1444                className: "regexp",
1445                begin: "(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",
1446                relevance: 10,
1447              },
1448              {
1449                className: "regexp",
1450                begin: "(m|qr)?/",
1451                end: "/[a-z]*",
1452                contains: [e.BACKSLASH_ESCAPE],
1453                relevance: 0,
1454              },
1455            ],
1456          },
1457          {
1458            className: "function",
1459            beginKeywords: "sub",
1460            end: "(\\s*\\(.*?\\))?[;{]",
1461            excludeEnd: !0,
1462            relevance: 5,
1463            contains: [e.TITLE_MODE],
1464          },
1465          { begin: "-\\w\\b", relevance: 0 },
1466          {
1467            begin: "^__DATA__$",
1468            end: "^__END__$",
1469            subLanguage: "mojolicious",
1470            contains: [{ begin: "^@@.*", end: "$", className: "comment" }],
1471          },
1472        ];
1473      return (
1474        (t.contains = a),
1475        (s.contains = a),
1476        { name: "Perl", aliases: ["pl", "pm"], keywords: n, contains: a }
1477      );
1478    };
1479  })()
1480);
1481hljs.registerLanguage(
1482  "swift",
1483  (function () {
1484    "use strict";
1485    return function (e) {
1486      var i = {
1487          keyword:
1488            "#available #colorLiteral #column #else #elseif #endif #file #fileLiteral #function #if #imageLiteral #line #selector #sourceLocation _ __COLUMN__ __FILE__ __FUNCTION__ __LINE__ Any as as! as? associatedtype associativity break case catch class continue convenience default defer deinit didSet do dynamic dynamicType else enum extension fallthrough false fileprivate final for func get guard if import in indirect infix init inout internal is lazy left let mutating nil none nonmutating open operator optional override postfix precedence prefix private protocol Protocol public repeat required rethrows return right self Self set static struct subscript super switch throw throws true try try! try? Type typealias unowned var weak where while willSet",
1489          literal: "true false nil",
1490          built_in:
1491            "abs advance alignof alignofValue anyGenerator assert assertionFailure bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c compactMap contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal fatalError filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced isUniquelyReferencedNonObjC join lazy lexicographicalCompare map max maxElement min minElement numericCast overlaps partition posix precondition preconditionFailure print println quickSort readLine reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofV
1491alue sort split startsWith stride strideof strideofValue swap toString transcode underestimateCount unsafeAddressOf unsafeBitCast unsafeDowncast unsafeUnwrap unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafeMutablePointer withUnsafeMutablePointers withUnsafePointer withUnsafePointers withVaList zip",
1492        },
1493        n = e.COMMENT("/\\*", "\\*/", { contains: ["self"] }),
1494        t = {
1495          className: "subst",
1496          begin: /\\\(/,
1497          end: "\\)",
1498          keywords: i,
1499          contains: [],
1500        },
1501        a = {
1502          className: "string",
1503          contains: [e.BACKSLASH_ESCAPE, t],
1504          variants: [
1505            { begin: /"""/, end: /"""/ },
1506            { begin: /"/, end: /"/ },
1507          ],
1508        },
1509        r = {
1510          className: "number",
1511          begin:
1512            "\\b([\\d_]+(\\.[\\deE_]+)?|0x[a-fA-F0-9_]+(\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b",
1513          relevance: 0,
1514        };
1515      return (
1516        (t.contains = [r]),
1517        {
1518          name: "Swift",
1519          keywords: i,
1520          contains: [
1521            a,
1522            e.C_LINE_COMMENT_MODE,
1523            n,
1524            { className: "type", begin: "\\b[A-Z][\\wÀ-ʸ']*[!?]" },
1525            { className: "type", begin: "\\b[A-Z][\\wÀ-ʸ']*", relevance: 0 },
1526            r,
1527            {
1528              className: "function",
1529              beginKeywords: "func",
1530              end: "{",
1531              excludeEnd: !0,
1532              contains: [
1533                e.inherit(e.TITLE_MODE, { begin: /[A-Za-z$_][0-9A-Za-z$_]*/ }),
1534                { begin: /</, end: />/ },
1535                {
1536                  className: "params",
1537                  begin: /\(/,
1538                  end: /\)/,
1539                  endsParent: !0,
1540                  keywords: i,
1541                  contains: [
1542                    "self",
1543                    r,
1544                    a,
1545                    e.C_BLOCK_COMMENT_MODE,
1546                    { begin: ":" },
1547                  ],
1548                  illegal: /["']/,
1549                },
1550              ],
1551              illegal: /\[|%/,
1552            },
1553            {
1554              className: "class",
1555              beginKeywords: "struct protocol class extension enum",
1556              keywords: i,
1557              end: "\\{",
1558              excludeEnd: !0,
1559              contains: [
1560                e.inherit(e.TITLE_MODE, {
1561                  begin: /[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/,
1562                }),
1563              ],
1564            },
1565            {
1566              className: "meta",
1567              begin:
1568                "(@discardableResult|@warn_unused_result|@exported|@lazy|@noescape|@NSCopying|@NSManaged|@objc|@objcMembers|@convention|@required|@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|@infix|@prefix|@postfix|@autoclosure|@testable|@available|@nonobjc|@NSApplicationMain|@UIApplicationMain|@dynamicMemberLookup|@propertyWrapper)\\b",
1569            },
1570            {
1571              beginKeywords: "import",
1572              end: /$/,
1573              contains: [e.C_LINE_COMMENT_MODE, n],
1574            },
1575          ],
1576        }
1577      );
1578    };
1579  })()
1580);
1581hljs.registerLanguage(
1582  "makefile",
1583  (function () {
1584    "use strict";
1585    return function (e) {
1586      var i = {
1587          className: "variable",
1588          variants: [
1589            {
1590              begin: "\\$\\(" + e.UNDERSCORE_IDENT_RE + "\\)",
1591              contains: [e.BACKSLASH_ESCAPE],
1592            },
1593            { begin: /\$[@%<?\^\+\*]/ },
1594          ],
1595        },
1596        n = {
1597          className: "string",
1598          begin: /"/,
1599          end: /"/,
1600          contains: [e.BACKSLASH_ESCAPE, i],
1601        },
1602        a = {
1603          className: "variable",
1604          begin: /\$\([\w-]+\s/,
1605          end: /\)/,
1606          keywords: {
1607            built_in:
1608              "subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value",
1609          },
1610          contains: [i],
1611        },
1612        r = { begin: "^" + e.UNDERSCORE_IDENT_RE + "\\s*(?=[:+?]?=)" },
1613        s = {
1614          className: "section",
1615          begin: /^[^\s]+:/,
1616          end: /$/,
1617          contains: [i],
1618        };
1619      return {
1620        name: "Makefile",
1621        aliases: ["mk", "mak"],
1622        keywords: {
1623          $pattern: /[\w-]+/,
1624          keyword:
1625            "define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath",
1626        },
1627        contains: [
1628          e.HASH_COMMENT_MODE,
1629          i,
1630          n,
1631          a,
1632          r,
1633          {
1634            className: "meta",
1635            begin: /^\.PHONY:/,
1636            end: /$/,
1637            keywords: { $pattern: /[\.\w]+/, "meta-keyword": ".PHONY" },
1638          },
1639          s,
1640        ],
1641      };
1642    };
1643  })()
1644);
1645hljs.registerLanguage(
1646  "css",
1647  (function () {
1648    "use strict";
1649    return function (e) {
1650      var n = {
1651        begin: /(?:[A-Z\_\.\-]+|--[a-zA-Z0-9_-]+)\s*:/,
1652        returnBegin: !0,
1653        end: ";",
1654        endsWithParent: !0,
1655        contains: [
1656          {
1657            className: "attribute",
1658            begin: /\S/,
1659            end: ":",
1660            excludeEnd: !0,
1661            starts: {
1662              endsWithParent: !0,
1663              excludeEnd: !0,
1664              contains: [
1665                {
1666                  begin: /[\w-]+\(/,
1667                  returnBegin: !0,
1668                  contains: [
1669                    { className: "built_in", begin: /[\w-]+/ },
1670                    {
1671                      begin: /\(/,
1672                      end: /\)/,
1673                      contains: [
1674                        e.APOS_STRING_MODE,
1675                        e.QUOTE_STRING_MODE,
1676                        e.CSS_NUMBER_MODE,
1677                      ],
1678                    },
1679                  ],
1680                },
1681                e.CSS_NUMBER_MODE,
1682                e.QUOTE_STRING_MODE,
1683                e.APOS_STRING_MODE,
1684                e.C_BLOCK_COMMENT_MODE,
1685                { className: "number", begin: "#[0-9A-Fa-f]+" },
1686                { className: "meta", begin: "!important" },
1687              ],
1688            },
1689          },
1690        ],
1691      };
1692      return {
1693        name: "CSS",
1694        case_insensitive: !0,
1695        illegal: /[=\/|'\$]/,
1696        contains: [
1697          e.C_BLOCK_COMMENT_MODE,
1698          { className: "selector-id", begin: /#[A-Za-z0-9_-]+/ },
1699          { className: "selector-class", begin: /\.[A-Za-z0-9_-]+/ },
1700          {
1701            className: "selector-attr",
1702            begin: /\[/,
1703            end: /\]/,
1704            illegal: "$",
1705            contains: [e.APOS_STRING_MODE, e.QUOTE_STRING_MODE],
1706          },
1707          {
1708            className: "selector-pseudo",
1709            begin: /:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/,
1710          },
1711          {
1712            begin: "@(page|font-face)",
1713            lexemes: "@[a-z-]+",
1714            keywords: "@page @font-face",
1715          },
1716          {
1717            begin: "@",
1718            end: "[{;]",
1719            illegal: /:/,
1720            returnBegin: !0,
1721            contains: [
1722              { className: "keyword", begin: /@\-?\w[\w]*(\-\w+)*/ },
1723              {
1724                begin: /\s/,
1725                endsWithParent: !0,
1726                excludeEnd: !0,
1727                relevance: 0,
1728                keywords: "and or not only",
1729                contains: [
1730                  { begin: /[a-z-]+:/, className: "attribute" },
1731                  e.APOS_STRING_MODE,
1732                  e.QUOTE_STRING_MODE,
1733                  e.CSS_NUMBER_MODE,
1734                ],
1735              },
1736            ],
1737          },
1738          {
1739            className: "selector-tag",
1740            begin: "[a-zA-Z-][a-zA-Z0-9_-]*",
1741            relevance: 0,
1742          },
1743          {
1744            begin: "{",
1745            end: "}",
1746            illegal: /\S/,
1747            contains: [e.C_BLOCK_COMMENT_MODE, n],
1748          },
1749        ],
1750      };
1751    };
1752  })()
1753);
1754hljs.registerLanguage(
1755  "xml",
1756  (function () {
1757    "use strict";
1758    return function (e) {
1759      var n = {
1760          className: "symbol",
1761          begin: "&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;",
1762        },
1763        a = {
1764          begin: "\\s",
1765          contains: [
1766            {
1767              className: "meta-keyword",
1768              begin: "#?[a-z_][a-z1-9_-]+",
1769              illegal: "\\n",
1770            },
1771          ],
1772        },
1773        s = e.inherit(a, { begin: "\\(", end: "\\)" }),
1774        t = e.inherit(e.APOS_STRING_MODE, { className: "meta-string" }),
1775        i = e.inherit(e.QUOTE_STRING_MODE, { className: "meta-string" }),
1776        c = {
1777          endsWithParent: !0,
1778          illegal: /</,
1779          relevance: 0,
1780          contains: [
1781            { className: "attr", begin: "[A-Za-z0-9\\._:-]+", relevance: 0 },
1782            {
1783              begin: /=\s*/,
1784              relevance: 0,
1785              contains: [
1786                {
1787                  className: "string",
1788                  endsParent: !0,
1789                  variants: [
1790                    { begin: /"/, end: /"/, contains: [n] },
1791                    { begin: /'/, end: /'/, contains: [n] },
1792                    { begin: /[^\s"'=<>`]+/ },
1793                  ],
1794                },
1795              ],
1796            },
1797          ],
1798        };
1799      return {
1800        name: "HTML, XML",
1801        aliases: [
1802          "html",
1803          "xhtml",
1804          "rss",
1805          "atom",
1806          "xjb",
1807          "xsd",
1808          "xsl",
1809          "plist",
1810          "wsf",
1811          "svg",
1812        ],
1813        case_insensitive: !0,
1814        contains: [
1815          {
1816            className: "meta",
1817            begin: "<![a-z]",
1818            end: ">",
1819            relevance: 10,
1820            contains: [
1821              a,
1822              i,
1823              t,
1824              s,
1825              {
1826                begin: "\\[",
1827                end: "\\]",
1828                contains: [
1829                  {
1830                    className: "meta",
1831                    begin: "<![a-z]",
1832                    end: ">",
1833                    contains: [a, s, i, t],
1834                  },
1835                ],
1836              },
1837            ],
1838          },
1839          e.COMMENT("\x3c!--", "--\x3e", { relevance: 10 }),
1840          { begin: "<\\!\\[CDATA\\[", end: "\\]\\]>", relevance: 10 },
1841          n,
1842          { className: "meta", begin: /<\?xml/, end: /\?>/, relevance: 10 },
1843          {
1844            className: "tag",
1845            begin: "<style(?=\\s|>)",
1846            end: ">",
1847            keywords: { name: "style" },
1848            contains: [c],
1849            starts: {
1850              end: "</style>",
1851              returnEnd: !0,
1852              subLanguage: ["css", "xml"],
1853            },
1854          },
1855          {
1856            className: "tag",
1857            begin: "<script(?=\\s|>)",
1858            end: ">",
1859            keywords: { name: "script" },
1860            contains: [c],
1861            starts: {
1862              end: "</script>",
1863              returnEnd: !0,
1864              subLanguage: ["javascript", "handlebars", "xml"],
1865            },
1866          },
1867          {
1868            className: "tag",
1869            begin: "</?",
1870            end: "/?>",
1871            contains: [
1872              { className: "name", begin: /[^\/><\s]+/, relevance: 0 },
1873              c,
1874            ],
1875          },
1876        ],
1877      };
1878    };
1879  })()
1880);
1881hljs.registerLanguage(
1882  "bash",
1883  (function () {
1884    "use strict";
1885    return function (e) {
1886      const s = {};
1887      Object.assign(s, {
1888        className: "variable",
1889        variants: [
1890          { begin: /\$[\w\d#@][\w\d_]*/ },
1891          {
1892            begin: /\$\{/,
1893            end: /\}/,
1894            contains: [{ begin: /:-/, contains: [s] }],
1895          },
1896        ],
1897      });
1898      const t = {
1899          className: "subst",
1900          begin: /\$\(/,
1901          end: /\)/,
1902          contains: [e.BACKSLASH_ESCAPE],
1903        },
1904        n = {
1905          className: "string",
1906          begin: /"/,
1907          end: /"/,
1908          contains: [e.BACKSLASH_ESCAPE, s, t],
1909        };
1910      t.contains.push(n);
1911      const a = {
1912          begin: /\$\(\(/,
1913          end: /\)\)/,
1914          contains: [
1915            { begin: /\d+#[0-9a-f]+/, className: "number" },
1916            e.NUMBER_MODE,
1917            s,
1918          ],
1919        },
1920        i = e.SHEBANG({
1921          binary: "(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",
1922          relevance: 10,
1923        }),
1924        c = {
1925          className: "function",
1926          begin: /\w[\w\d_]*\s*\(\s*\)\s*\{/,
1927          returnBegin: !0,
1928          contains: [e.inherit(e.TITLE_MODE, { begin: /\w[\w\d_]*/ })],
1929          relevance: 0,
1930        };
1931      return {
1932        name: "Bash",
1933        aliases: ["sh", "zsh"],
1934        keywords: {
1935          $pattern: /\b-?[a-z\._]+\b/,
1936          keyword:
1937            "if then else elif fi for while in do done case esac function",
1938          literal: "true false",
1939          built_in:
1940            "break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",
1941          _: "-ne -eq -lt -gt -f -d -e -s -l -a",
1942        },
1943        contains: [
1944          i,
1945          e.SHEBANG(),
1946          c,
1947          a,
1948          e.HASH_COMMENT_MODE,
1949          n,
1950          { className: "", begin: /\\"/ },
1951          { className: "string", begin: /'/, end: /'/ },
1952          s,
1953        ],
1954      };
1955    };
1956  })()
1957);
1958hljs.registerLanguage(
1959  "c-like",
1960  (function () {
1961    "use strict";
1962    return function (e) {
1963      function t(e) {
1964        return "(?:" + e + ")?";
1965      }
1966      var n =
1967          "(decltype\\(auto\\)|" +
1968          t("[a-zA-Z_]\\w*::") +
1969          "[a-zA-Z_]\\w*" +
1970          t("<.*?>") +
1971          ")",
1972        r = { className: "keyword", begin: "\\b[a-z\\d_]*_t\\b" },
1973        a = {
1974          className: "string",
1975          variants: [
1976            {
1977              begin: '(u8?|U|L)?"',
1978              end: '"',
1979              illegal: "\\n",
1980              contains: [e.BACKSLASH_ESCAPE],
1981            },
1982            {
1983              begin:
1984                "(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",
1985              end: "'",
1986              illegal: ".",
1987            },
1988            e.END_SAME_AS_BEGIN({
1989              begin: /(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,
1990              end: /\)([^()\\ ]{0,16})"/,
1991            }),
1992          ],
1993        },
1994        i = {
1995          className: "number",
1996          variants: [
1997            { begin: "\\b(0b[01']+)" },
1998            {
1999              begin:
2000                "(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)",
2001            },
2002            {
2003              begin:
2004                "(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)",
2005            },
2006          ],
2007          relevance: 0,
2008        },
2009        s = {
2010          className: "meta",
2011          begin: /#\s*[a-z]+\b/,
2012          end: /$/,
2013          keywords: {
2014            "meta-keyword":
2015              "if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include",
2016          },
2017          contains: [
2018            { begin: /\\\n/, relevance: 0 },
2019            e.inherit(a, { className: "meta-string" }),
2020            {
2021              className: "meta-string",
2022              begin: /<.*?>/,
2023              end: /$/,
2024              illegal: "\\n",
2025            },
2026            e.C_LINE_COMMENT_MODE,
2027            e.C_BLOCK_COMMENT_MODE,
2028          ],
2029        },
2030        o = {
2031          className: "title",
2032          begin: t("[a-zA-Z_]\\w*::") + e.IDENT_RE,
2033          relevance: 0,
2034        },
2035        c = t("[a-zA-Z_]\\w*::") + e.IDENT_RE + "\\s*\\(",
2036        l = {
2037          keyword:
2038            "int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid wchar_t short reinterpret_
2038cast|10 default double register explicit signed typename try this switch continue inline delete alignas alignof constexpr consteval constinit decltype concept co_await co_return co_yield requires noexcept static_assert thread_local restrict final override atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq",
2039          built_in:
2040            "std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr _Bool complex _Complex imaginary _Imaginary",
2041          literal: "true false nullptr NULL",
2042        },
2043        d = [r, e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE, i, a],
2044        _ = {
2045          variants: [
2046            { begin: /=/, end: /;/ },
2047            { begin: /\(/, end: /\)/ },
2048            { beginKeywords: "new throw return else", end: /;/ },
2049          ],
2050          keywords: l,
2051          contains: d.concat([
2052            {
2053              begin: /\(/,
2054              end: /\)/,
2055              keywords: l,
2056              contains: d.concat(["self"]),
2057              relevance: 0,
2058            },
2059          ]),
2060          relevance: 0,
2061        },
2062        u = {
2063          className: "function",
2064          begin: "(" + n + "[\\*&\\s]+)+" + c,
2065          returnBegin: !0,
2066          end: /[{;=]/,
2067          excludeEnd: !0,
2068          keywords: l,
2069          illegal: /[^\w\s\*&:<>]/,
2070          contains: [
2071            { begin: "decltype\\(auto\\)", keywords: l, relevance: 0 },
2072            { begin: c, returnBegin: !0, contains: [o], relevance: 0 },
2073            {
2074              className: "params",
2075              begin: /\(/,
2076              end: /\)/,
2077              keywords: l,
2078              relevance: 0,
2079              contains: [
2080                e.C_LINE_COMMENT_MODE,
2081                e.C_BLOCK_COMMENT_MODE,
2082                a,
2083                i,
2084                r,
2085                {
2086                  begin: /\(/,
2087                  end: /\)/,
2088                  keywords: l,
2089                  relevance: 0,
2090                  contains: [
2091                    "self",
2092                    e.C_LINE_COMMENT_MODE,
2093                    e.C_BLOCK_COMMENT_MODE,
2094                    a,
2095                    i,
2096                    r,
2097                  ],
2098                },
2099              ],
2100            },
2101            r,
2102            e.C_LINE_COMMENT_MODE,
2103            e.C_BLOCK_COMMENT_MODE,
2104            s,
2105          ],
2106        };
2107      return {
2108        aliases: ["c", "cc", "h", "c++", "h++", "hpp", "hh", "hxx", "cxx"],
2109        keywords: l,
2110        disableAutodetect: !0,
2111        illegal: "</",
2112        contains: [].concat(_, u, d, [
2113          s,
2114          {
2115            begin:
2116              "\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",
2117            end: ">",
2118            keywords: l,
2119            contains: ["self", r],
2120          },
2121          { begin: e.IDENT_RE + "::", keywords: l },
2122          {
2123            className: "class",
2124            beginKeywords: "class struct",
2125            end: /[{;:]/,
2126            contains: [
2127              { begin: /</, end: />/, contains: ["self"] },
2128              e.TITLE_MODE,
2129            ],
2130          },
2131        ]),
2132        exports: { preprocessor: s, strings: a, keywords: l },
2133      };
2134    };
2135  })()
2136);
2137hljs.registerLanguage(
2138  "coffeescript",
2139  (function () {
2140    "use strict";
2141    const e = [
2142        "as",
2143        "in",
2144        "of",
2145        "if",
2146        "for",
2147        "while",
2148        "finally",
2149        "var",
2150        "new",
2151        "function",
2152        "do",
2153        "return",
2154        "void",
2155        "else",
2156        "break",
2157        "catch",
2158        "instanceof",
2159        "with",
2160        "throw",
2161        "case",
2162        "default",
2163        "try",
2164        "switch",
2165        "continue",
2166        "typeof",
2167        "delete",
2168        "let",
2169        "yield",
2170        "const",
2171        "class",
2172        "debugger",
2173        "async",
2174        "await",
2175        "static",
2176        "import",
2177        "from",
2178        "export",
2179        "extends",
2180      ],
2181      n = ["true", "false", "null", "undefined", "NaN", "Infinity"],
2182      a = [].concat(
2183        [
2184          "setInterval",
2185          "setTimeout",
2186          "clearInterval",
2187          "clearTimeout",
2188          "require",
2189          "exports",
2190          "eval",
2191          "isFinite",
2192          "isNaN",
2193          "parseFloat",
2194          "parseInt",
2195          "decodeURI",
2196          "decodeURIComponent",
2197          "encodeURI",
2198          "encodeURIComponent",
2199          "escape",
2200          "unescape",
2201        ],
2202        [
2203          "arguments",
2204          "this",
2205          "super",
2206          "console",
2207          "window",
2208          "document",
2209          "localStorage",
2210          "module",
2211          "global",
2212        ],
2213        [
2214          "Intl",
2215          "DataView",
2216          "Number",
2217          "Math",
2218          "Date",
2219          "String",
2220          "RegExp",
2221          "Object",
2222          "Function",
2223          "Boolean",
2224          "Error",
2225          "Symbol",
2226          "Set",
2227          "Map",
2228          "WeakSet",
2229          "WeakMap",
2230          "Proxy",
2231          "Reflect",
2232          "JSON",
2233          "Promise",
2234          "Float64Array",
2235          "Int16Array",
2236          "Int32Array",
2237          "Int8Array",
2238          "Uint16Array",
2239          "Uint32Array",
2240          "Float32Array",
2241          "Array",
2242          "Uint8Array",
2243          "Uint8ClampedArray",
2244          "ArrayBuffer",
2245        ],
2246        [
2247          "EvalError",
2248          "InternalError",
2249          "RangeError",
2250          "ReferenceError",
2251          "SyntaxError",
2252          "TypeError",
2253          "URIError",
2254        ]
2255      );
2256    return function (r) {
2257      var t = {
2258          keyword: e
2259            .concat([
2260              "then",
2261              "unless",
2262              "until",
2263              "loop",
2264              "by",
2265              "when",
2266              "and",
2267              "or",
2268              "is",
2269              "isnt",
2270              "not",
2271            ])
2272            .filter(
2273              (
2274                (e) => (n) =>
2275                  !e.includes(n)
2276              )(["var", "const", "let", "function", "static"])
2277            )
2278            .join(" "),
2279          literal: n.concat(["yes", "no", "on", "off"]).join(" "),
2280          built_in: a.concat(["npm", "print"]).join(" "),
2281        },
2282        i = "[A-Za-z$_][0-9A-Za-z$_]*",
2283        s = { className: "subst", begin: /#\{/, end: /}/, keywords: t },
2284        o = [
2285          r.BINARY_NUMBER_MODE,
2286          r.inherit(r.C_NUMBER_MODE, {
2287            starts: { end: "(\\s*/)?", relevance: 0 },
2288          }),
2289          {
2290            className: "string",
2291            variants: [
2292              { begin: /'''/, end: /'''/, contains: [r.BACKSLASH_ESCAPE] },
2293              { begin: /'/, end: /'/, contains: [r.BACKSLASH_ESCAPE] },
2294              { begin: /"""/, end: /"""/, contains: [r.BACKSLASH_ESCAPE, s] },
2295              { begin: /"/, end: /"/, contains: [r.BACKSLASH_ESCAPE, s] },
2296            ],
2297          },
2298          {
2299            className: "regexp",
2300            variants: [
2301              { begin: "///", end: "///", contains: [s, r.HASH_COMMENT_MODE] },
2302              { begin: "//[gim]{0,3}(?=\\W)", relevance: 0 },
2303              { begin: /\/(?![ *]).*?(?![\\]).\/[gim]{0,3}(?=\W)/ },
2304            ],
2305          },
2306          { begin: "@" + i },
2307          {
2308            subLanguage: "javascript",
2309            excludeBegin: !0,
2310            excludeEnd: !0,
2311            variants: [
2312              { begin: "```", end: "```" },
2313              { begin: "`", end: "`" },
2314            ],
2315          },
2316        ];
2317      s.contains = o;
2318      var c = r.inherit(r.TITLE_MODE, { begin: i }),
2319        l = {
2320          className: "params",
2321          begin: "\\([^\\(]",
2322          returnBegin: !0,
2323          contains: [
2324            {
2325              begin: /\(/,
2326              end: /\)/,
2327              keywords: t,
2328              contains: ["self"].concat(o),
2329            },
2330          ],
2331        };
2332      return {
2333        name: "CoffeeScript",
2334        aliases: ["coffee", "cson", "iced"],
2335        keywords: t,
2336        illegal: /\/\*/,
2337        contains: o.concat([
2338          r.COMMENT("###", "###"),
2339          r.HASH_COMMENT_MODE,
2340          {
2341            className: "function",
2342            begin: "^\\s*" + i + "\\s*=\\s*(\\(.*\\))?\\s*\\B[-=]>",
2343            end: "[-=]>",
2344            returnBegin: !0,
2345            contains: [c, l],
2346          },
2347          {
2348            begin: /[:\(,=]\s*/,
2349            relevance: 0,
2350            contains: [
2351              {
2352                className: "function",
2353                begin: "(\\(.*\\))?\\s*\\B[-=]>",
2354                end: "[-=]>",
2355                returnBegin: !0,
2356                contains: [l],
2357              },
2358            ],
2359          },
2360          {
2361            className: "class",
2362            beginKeywords: "class",
2363            end: "$",
2364            illegal: /[:="\[\]]/,
2365            contains: [
2366              {
2367                beginKeywords: "extends",
2368                endsWithParent: !0,
2369                illegal: /[:="\[\]]/,
2370                contains: [c],
2371              },
2372              c,
2373            ],
2374          },
2375          {
2376            begin: i + ":",
2377            end: ":",
2378            returnBegin: !0,
2379            returnEnd: !0,
2380            relevance: 0,
2381          },
2382        ]),
2383      };
2384    };
2385  })()
2386);
2387hljs.registerLanguage(
2388  "ruby",
2389  (function () {
2390    "use strict";
2391    return function (e) {
2392      var n =
2393          "[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",
2394        a = {
2395          keyword:
2396            "and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",
2397          literal: "true false nil",
2398        },
2399        s = { className: "doctag", begin: "@[A-Za-z]+" },
2400        i = { begin: "#<", end: ">" },
2401        r = [
2402          e.COMMENT("#", "$", { contains: [s] }),
2403          e.COMMENT("^\\=begin", "^\\=end", { contains: [s], relevance: 10 }),
2404          e.COMMENT("^__END__", "\\n$"),
2405        ],
2406        c = { className: "subst", begin: "#\\{", end: "}", keywords: a },
2407        t = {
2408          className: "string",
2409          contains: [e.BACKSLASH_ESCAPE, c],
2410          variants: [
2411            { begin: /'/, end: /'/ },
2412            { begin: /"/, end: /"/ },
2413            { begin: /`/, end: /`/ },
2414            { begin: "%[qQwWx]?\\(", end: "\\)" },
2415            { begin: "%[qQwWx]?\\[", end: "\\]" },
2416            { begin: "%[qQwWx]?{", end: "}" },
2417            { begin: "%[qQwWx]?<", end: ">" },
2418            { begin: "%[qQwWx]?/", end: "/" },
2419            { begin: "%[qQwWx]?%", end: "%" },
2420            { begin: "%[qQwWx]?-", end: "-" },
2421            { begin: "%[qQwWx]?\\|", end: "\\|" },
2422            {
2423              begin:
2424                /\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/,
2425            },
2426            {
2427              begin: /<<[-~]?'?(\w+)(?:.|\n)*?\n\s*\1\b/,
2428              returnBegin: !0,
2429              contains: [
2430                { begin: /<<[-~]?'?/ },
2431                e.END_SAME_AS_BEGIN({
2432                  begin: /(\w+)/,
2433                  end: /(\w+)/,
2434                  contains: [e.BACKSLASH_ESCAPE, c],
2435                }),
2436              ],
2437            },
2438          ],
2439        },
2440        b = {
2441          className: "params",
2442          begin: "\\(",
2443          end: "\\)",
2444          endsParent: !0,
2445          keywords: a,
2446        },
2447        d = [
2448          t,
2449          i,
2450          {
2451            className: "class",
2452            beginKeywords: "class module",
2453            end: "$|;",
2454            illegal: /=/,
2455            contains: [
2456              e.inherit(e.TITLE_MODE, {
2457                begin: "[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?",
2458              }),
2459              {
2460                begin: "<\\s*",
2461                contains: [{ begin: "(" + e.IDENT_RE + "::)?" + e.IDENT_RE }],
2462              },
2463            ].concat(r),
2464          },
2465          {
2466            className: "function",
2467            beginKeywords: "def",
2468            end: "$|;",
2469            contains: [e.inherit(e.TITLE_MODE, { begin: n }), b].concat(r),
2470          },
2471          { begin: e.IDENT_RE + "::" },
2472          {
2473            className: "symbol",
2474            begin: e.UNDERSCORE_IDENT_RE + "(\\!|\\?)?:",
2475            relevance: 0,
2476          },
2477          {
2478            className: "symbol",
2479            begin: ":(?!\\s)",
2480            contains: [t, { begin: n }],
2481            relevance: 0,
2482          },
2483          {
2484            className: "number",
2485            begin:
2486              "(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",
2487            relevance: 0,
2488          },
2489          { begin: "(\\$\\W)|((\\$|\\@\\@?)(\\w+))" },
2490          { className: "params", begin: /\|/, end: /\|/, keywords: a },
2491          {
2492            begin: "(" + e.RE_STARTERS_RE + "|unless)\\s*",
2493            keywords: "unless",
2494            contains: [
2495              i,
2496              {
2497                className: "regexp",
2498                contains: [e.BACKSLASH_ESCAPE, c],
2499                illegal: /\n/,
2500                variants: [
2501                  { begin: "/", end: "/[a-z]*" },
2502                  { begin: "%r{", end: "}[a-z]*" },
2503                  { begin: "%r\\(", end: "\\)[a-z]*" },
2504                  { begin: "%r!", end: "![a-z]*" },
2505                  { begin: "%r\\[", end: "\\][a-z]*" },
2506                ],
2507              },
2508            ].concat(r),
2509            relevance: 0,
2510          },
2511        ].concat(r);
2512      (c.contains = d), (b.contains = d);
2513      var g = [
2514        { begin: /^\s*=>/, starts: { end: "$", contains: d } },
2515        {
2516          className: "meta",
2517          begin:
2518            "^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+>|(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>)",
2519          starts: { end: "$", contains: d },
2520        },
2521      ];
2522      return {
2523        name: "Ruby",
2524        aliases: ["rb", "gemspec", "podspec", "thor", "irb"],
2525        keywords: a,
2526        illegal: /\/\*/,
2527        contains: r.concat(g).concat(d),
2528      };
2529    };
2530  })()
2531);
2532hljs.registerLanguage(
2533  "yaml",
2534  (function () {
2535    "use strict";
2536    return function (e) {
2537      var n = "true false yes no null",
2538        a = "[\\w#;/?:@&=+$,.~*\\'()[\\]]+",
2539        s = {
2540          className: "string",
2541          relevance: 0,
2542          variants: [
2543            { begin: /'/, end: /'/ },
2544            { begin: /"/, end: /"/ },
2545            { begin: /\S+/ },
2546          ],
2547          contains: [
2548            e.BACKSLASH_ESCAPE,
2549            {
2550              className: "template-variable",
2551              variants: [
2552                { begin: "{{", end: "}}" },
2553                { begin: "%{", end: "}" },
2554              ],
2555            },
2556          ],
2557        },
2558        i = e.inherit(s, {
2559          variants: [
2560            { begin: /'/, end: /'/ },
2561            { begin: /"/, end: /"/ },
2562            { begin: /[^\s,{}[\]]+/ },
2563          ],
2564        }),
2565        l = {
2566          end: ",",
2567          endsWithParent: !0,
2568          excludeEnd: !0,
2569          contains: [],
2570          keywords: n,
2571          relevance: 0,
2572        },
2573        t = {
2574          begin: "{",
2575          end: "}",
2576          contains: [l],
2577          illegal: "\\n",
2578          relevance: 0,
2579        },
2580        g = {
2581          begin: "\\[",
2582          end: "\\]",
2583          contains: [l],
2584          illegal: "\\n",
2585          relevance: 0,
2586        },
2587        b = [
2588          {
2589            className: "attr",
2590            variants: [
2591              { begin: "\\w[\\w :\\/.-]*:(?=[ \t]|$)" },
2592              { begin: '"\\w[\\w :\\/.-]*":(?=[ \t]|$)' },
2593              { begin: "'\\w[\\w :\\/.-]*':(?=[ \t]|$)" },
2594            ],
2595          },
2596          { className: "meta", begin: "^---s*$", relevance: 10 },
2597          {
2598            className: "string",
2599            begin: "[\\|>]([0-9]?[+-])?[ ]*\\n( *)[\\S ]+\\n(\\2[\\S ]+\\n?)*",
2600          },
2601          {
2602            begin: "<%[%=-]?",
2603            end: "[%-]?%>",
2604            subLanguage: "ruby",
2605            excludeBegin: !0,
2606            excludeEnd: !0,
2607            relevance: 0,
2608          },
2609          { className: "type", begin: "!\\w+!" + a },
2610          { className: "type", begin: "!<" + a + ">" },
2611          { className: "type", begin: "!" + a },
2612          { className: "type", begin: "!!" + a },
2613          { className: "meta", begin: "&" + e.UNDERSCORE_IDENT_RE + "$" },
2614          { className: "meta", begin: "\\*" + e.UNDERSCORE_IDENT_RE + "$" },
2615          { className: "bullet", begin: "\\-(?=[ ]|$)", relevance: 0 },
2616          e.HASH_COMMENT_MODE,
2617          { beginKeywords: n, keywords: { literal: n } },
2618          {
2619            className: "number",
2620            begin:
2621              "\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b",
2622          },
2623          { className: "number", begin: e.C_NUMBER_RE + "\\b" },
2624          t,
2625          g,
2626          s,
2627        ],
2628        c = [...b];
2629      return (
2630        c.pop(),
2631        c.push(i),
2632        (l.contains = c),
2633        {
2634          name: "YAML",
2635          case_insensitive: !0,
2636          aliases: ["yml", "YAML"],
2637          contains: b,
2638        }
2639      );
2640    };
2641  })()
2642);
2643hljs.registerLanguage(
2644  "d",
2645  (function () {
2646    "use strict";
2647    return function (e) {
2648      var a = {
2649          $pattern: e.UNDERSCORE_IDENT_RE,
2650          keyword:
2651            "abstract alias align asm assert auto body break byte case cast catch class const continue debug default delete deprecated do else enum export extern final finally for foreach foreach_reverse|10 goto if immutable import in inout int interface invariant is lazy macro mixin module new nothrow out override package pragma private protected public pure ref return scope shared static struct super switch synchronized template this throw try typedef typeid typeof union unittest version void volatile while with __FILE__ __LINE__ __gshared|10 __thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__",
2652          built_in:
2653            "bool cdouble cent cfloat char creal dchar delegate double dstring float function idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar wstring",
2654          literal: "false null true",
2655        },
2656        d =
2657          "((0|[1-9][\\d_]*)|0[bB][01_]+|0[xX]([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*))",
2658        n =
2659          "\\\\(['\"\\?\\\\abfnrtv]|u[\\dA-Fa-f]{4}|[0-7]{1,3}|x[\\dA-Fa-f]{2}|U[\\dA-Fa-f]{8})|&[a-zA-Z\\d]{2,};",
2660        t = {
2661          className: "number",
2662          begin: "\\b" + d + "(L|u|U|Lu|LU|uL|UL)?",
2663          relevance: 0,
2664        },
2665        _ = {
2666          className: "number",
2667          begin:
2668            "\\b(((0[xX](([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)\\.([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)|\\.?([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*))[pP][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d))|((0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)(\\.\\d*|([eE][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)))|\\d+\\.(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)|\\.(0|[1-9][\\d_]*)([eE][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d))?))([fF]|L|i|[fF]i|Li)?|" +
2669            d +
2670            "(i|[fF]i|Li))",
2671          relevance: 0,
2672        },
2673        r = {
2674          className: "string",
2675          begin: "'(" + n + "|.)",
2676          end: "'",
2677          illegal: ".",
2678        },
2679        i = {
2680          className: "string",
2681          begin: '"',
2682          contains: [{ begin: n, relevance: 0 }],
2683          end: '"[cwd]?',
2684        },
2685        s = e.COMMENT("\\/\\+", "\\+\\/", {
2686          contains: ["self"],
2687          relevance: 10,
2688        });
2689      return {
2690        name: "D",
2691        keywords: a,
2692        contains: [
2693          e.C_LINE_COMMENT_MODE,
2694          e.C_BLOCK_COMMENT_MODE,
2695          s,
2696          {
2697            className: "string",
2698            begin: 'x"[\\da-fA-F\\s\\n\\r]*"[cwd]?',
2699            relevance: 10,
2700          },
2701          i,
2702          { className: "string", begin: '[rq]"', end: '"[cwd]?', relevance: 5 },
2703          { className: "string", begin: "`", end: "`[cwd]?" },
2704          { className: "string", begin: 'q"\\{', end: '\\}"' },
2705          _,
2706          t,
2707          r,
2708          { className: "meta", begin: "^#!", end: "$", relevance: 5 },
2709          { className: "meta", begin: "#(line)", end: "$", relevance: 5 },
2710          { className: "keyword", begin: "@[a-zA-Z_][a-zA-Z_\\d]*" },
2711        ],
2712      };
2713    };
2714  })()
2715);
2716hljs.registerLanguage(
2717  "properties",
2718  (function () {
2719    "use strict";
2720    return function (e) {
2721      var n = "[ \\t\\f]*",
2722        t = "(" + n + "[:=]" + n + "|[ \\t\\f]+)",
2723        a = "([^\\\\:= \\t\\f\\n]|\\\\.)+",
2724        s = {
2725          end: t,
2726          relevance: 0,
2727          starts: {
2728            className: "string",
2729            end: /$/,
2730            relevance: 0,
2731            contains: [{ begin: "\\\\\\n" }],
2732          },
2733        };
2734      return {
2735        name: ".properties",
2736        case_insensitive: !0,
2737        illegal: /\S/,
2738        contains: [
2739          e.COMMENT("^\\s*[!#]", "$"),
2740          {
2741            begin: "([^\\\\\\W:= \\t\\f\\n]|\\\\.)+" + t,
2742            returnBegin: !0,
2743            contains: [
2744              {
2745                className: "attr",
2746                begin: "([^\\\\\\W:= \\t\\f\\n]|\\\\.)+",
2747                endsParent: !0,
2748                relevance: 0,
2749              },
2750            ],
2751            starts: s,
2752          },
2753          {
2754            begin: a + t,
2755            returnBegin: !0,
2756            relevance: 0,
2757            contains: [
2758              { className: "meta", begin: a, endsParent: !0, relevance: 0 },
2759            ],
2760            starts: s,
2761          },
2762          { className: "attr", relevance: 0, begin: a + n + "$" },
2763        ],
2764      };
2765    };
2766  })()
2767);
2768hljs.registerLanguage(
2769  "http",
2770  (function () {
2771    "use strict";
2772    return function (e) {
2773      var n = "HTTP/[0-9\\.]+";
2774      return {
2775        name: "HTTP",
2776        aliases: ["https"],
2777        illegal: "\\S",
2778        contains: [
2779          {
2780            begin: "^" + n,
2781            end: "$",
2782            contains: [{ className: "number", begin: "\\b\\d{3}\\b" }],
2783          },
2784          {
2785            begin: "^[A-Z]+ (.*?) " + n + "$",
2786            returnBegin: !0,
2787            end: "$",
2788            contains: [
2789              {
2790                className: "string",
2791                begin: " ",
2792                end: " ",
2793                excludeBegin: !0,
2794                excludeEnd: !0,
2795              },
2796              { begin: n },
2797              { className: "keyword", begin: "[A-Z]+" },
2798            ],
2799          },
2800          {
2801            className: "attribute",
2802            begin: "^\\w",
2803            end: ": ",
2804            excludeEnd: !0,
2805            illegal: "\\n|\\s|=",
2806            starts: { end: "$", relevance: 0 },
2807          },
2808          { begin: "\\n\\n", starts: { subLanguage: [], endsWithParent: !0 } },
2809        ],
2810      };
2811    };
2812  })()
2813);
2814hljs.registerLanguage(
2815  "haskell",
2816  (function () {
2817    "use strict";
2818    return function (e) {
2819      var n = {
2820          variants: [
2821            e.COMMENT("--", "$"),
2822            e.COMMENT("{-", "-}", { contains: ["self"] }),
2823          ],
2824        },
2825        i = { className: "meta", begin: "{-#", end: "#-}" },
2826        a = { className: "meta", begin: "^#", end: "$" },
2827        s = { className: "type", begin: "\\b[A-Z][\\w']*", relevance: 0 },
2828        l = {
2829          begin: "\\(",
2830          end: "\\)",
2831          illegal: '"',
2832          contains: [
2833            i,
2834            a,
2835            {
2836              className: "type",
2837              begin: "\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?",
2838            },
2839            e.inherit(e.TITLE_MODE, { begin: "[_a-z][\\w']*" }),
2840            n,
2841          ],
2842        };
2843      return {
2844        name: "Haskell",
2845        aliases: ["hs"],
2846        keywords:
2847          "let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec",
2848        contains: [
2849          {
2850            beginKeywords: "module",
2851            end: "where",
2852            keywords: "module where",
2853            contains: [l, n],
2854            illegal: "\\W\\.|;",
2855          },
2856          {
2857            begin: "\\bimport\\b",
2858            end: "$",
2859            keywords: "import qualified as hiding",
2860            contains: [l, n],
2861            illegal: "\\W\\.|;",
2862          },
2863          {
2864            className: "class",
2865            begin: "^(\\s*)?(class|instance)\\b",
2866            end: "where",
2867            keywords: "class family instance where",
2868            contains: [s, l, n],
2869          },
2870          {
2871            className: "class",
2872            begin: "\\b(data|(new)?type)\\b",
2873            end: "$",
2874            keywords: "data family type newtype deriving",
2875            contains: [
2876              i,
2877              s,
2878              l,
2879              { begin: "{", end: "}", contains: l.contains },
2880              n,
2881            ],
2882          },
2883          { beginKeywords: "default", end: "$", contains: [s, l, n] },
2884          {
2885            beginKeywords: "infix infixl infixr",
2886            end: "$",
2887            contains: [e.C_NUMBER_MODE, n],
2888          },
2889          {
2890            begin: "\\bforeign\\b",
2891            end: "$",
2892            keywords:
2893              "foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe",
2894            contains: [s, e.QUOTE_STRING_MODE, n],
2895          },
2896          {
2897            className: "meta",
2898            begin: "#!\\/usr\\/bin\\/env runhaskell",
2899            end: "$",
2900          },
2901          i,
2902          a,
2903          e.QUOTE_STRING_MODE,
2904          e.C_NUMBER_MODE,
2905          s,
2906          e.inherit(e.TITLE_MODE, { begin: "^[_a-z][\\w']*" }),
2907          n,
2908          { begin: "->|<-" },
2909        ],
2910      };
2911    };
2912  })()
2913);
2914hljs.registerLanguage(
2915  "handlebars",
2916  (function () {
2917    "use strict";
2918    function e(...e) {
2919      return e
2920        .map((e) =>
2921          (function (e) {
2922            return e ? ("string" == typeof e ? e : e.source) : null;
2923          })(e)
2924        )
2925        .join("");
2926    }
2927    return function (n) {
2928      const a = {
2929          "builtin-name":
2930            "action bindattr collection component concat debugger each each-in get hash if in input link-to loc log lookup mut outlet partial query-params render template textarea unbound unless view with yield",
2931        },
2932        t = /\[.*?\]/,
2933        s = /[^\s!"#%&'()*+,.\/;<=>@\[\\\]^`{|}~]+/,
2934        i = e("(", /'.*?'/, "|", /".*?"/, "|", t, "|", s, "|", /\.|\//, ")+"),
2935        r = e("(", t, "|", s, ")(?==)"),
2936        l = { begin: i, lexemes: /[\w.\/]+/ },
2937        c = n.inherit(l, {
2938          keywords: { literal: "true false undefined null" },
2939        }),
2940        o = { begin: /\(/, end: /\)/ },
2941        m = {
2942          className: "attr",
2943          begin: r,
2944          relevance: 0,
2945          starts: {
2946            begin: /=/,
2947            end: /=/,
2948            starts: {
2949              contains: [
2950                n.NUMBER_MODE,
2951                n.QUOTE_STRING_MODE,
2952                n.APOS_STRING_MODE,
2953                c,
2954                o,
2955              ],
2956            },
2957          },
2958        },
2959        d = {
2960          contains: [
2961            n.NUMBER_MODE,
2962            n.QUOTE_STRING_MODE,
2963            n.APOS_STRING_MODE,
2964            {
2965              begin: /as\s+\|/,
2966              keywords: { keyword: "as" },
2967              end: /\|/,
2968              contains: [{ begin: /\w+/ }],
2969            },
2970            m,
2971            c,
2972            o,
2973          ],
2974          returnEnd: !0,
2975        },
2976        g = n.inherit(l, {
2977          className: "name",
2978          keywords: a,
2979          starts: n.inherit(d, { end: /\)/ }),
2980        });
2981      o.contains = [g];
2982      const u = n.inherit(l, {
2983          keywords: a,
2984          className: "name",
2985          starts: n.inherit(d, { end: /}}/ }),
2986        }),
2987        b = n.inherit(l, { keywords: a, className: "name" }),
2988        h = n.inherit(l, {
2989          className: "name",
2990          keywords: a,
2991          starts: n.inherit(d, { end: /}}/ }),
2992        });
2993      return {
2994        name: "Handlebars",
2995        aliases: ["hbs", "html.hbs", "html.handlebars", "htmlbars"],
2996        case_insensitive: !0,
2997        subLanguage: "xml",
2998        contains: [
2999          { begin: /\\\{\{/, skip: !0 },
3000          { begin: /\\\\(?=\{\{)/, skip: !0 },
3001          n.COMMENT(/\{\{!--/, /--\}\}/),
3002          n.COMMENT(/\{\{!/, /\}\}/),
3003          {
3004            className: "template-tag",
3005            begin: /\{\{\{\{(?!\/)/,
3006            end: /\}\}\}\}/,
3007            contains: [u],
3008            starts: { end: /\{\{\{\{\//, returnEnd: !0, subLanguage: "xml" },
3009          },
3010          {
3011            className: "template-tag",
3012            begin: /\{\{\{\{\//,
3013            end: /\}\}\}\}/,
3014            contains: [b],
3015          },
3016          {
3017            className: "template-tag",
3018            begin: /\{\{#/,
3019            end: /\}\}/,
3020            contains: [u],
3021          },
3022          {
3023            className: "template-tag",
3024            begin: /\{\{(?=else\}\})/,
3025            end: /\}\}/,
3026            keywords: "else",
3027          },
3028          {
3029            className: "template-tag",
3030            begin: /\{\{\//,
3031            end: /\}\}/,
3032            contains: [b],
3033          },
3034          {
3035            className: "template-variable",
3036            begin: /\{\{\{/,
3037            end: /\}\}\}/,
3038            contains: [h],
3039          },
3040          {
3041            className: "template-variable",
3042            begin: /\{\{/,
3043            end: /\}\}/,
3044            contains: [h],
3045          },
3046        ],
3047      };
3048    };
3049  })()
3050);
3051hljs.registerLanguage(
3052  "rust",
3053  (function () {
3054    "use strict";
3055    return function (e) {
3056      var n = "([ui](8|16|32|64|128|size)|f(32|64))?",
3057        t =
3058          "drop i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize f32 f64 str char bool Box Option Result String Vec Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator Extend IntoIterator DoubleEndedIterator ExactSizeIterator SliceConcatExt ToString assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!";
3059      return {
3060        name: "Rust",
3061        aliases: ["rs"],
3062        keywords: {
3063          $pattern: e.IDENT_RE + "!?",
3064          keyword:
3065            "abstract as async await become box break const continue crate do dyn else enum extern false final fn for if impl in let loop macro match mod move mut override priv pub ref return self Self static struct super trait true try type typeof unsafe unsized use virtual where while yield",
3066          literal: "true false Some None Ok Err",
3067          built_in: t,
3068        },
3069        illegal: "</",
3070        contains: [
3071          e.C_LINE_COMMENT_MODE,
3072          e.COMMENT("/\\*", "\\*/", { contains: ["self"] }),
3073          e.inherit(e.QUOTE_STRING_MODE, { begin: /b?"/, illegal: null }),
3074          {
3075            className: "string",
3076            variants: [
3077              { begin: /r(#*)"(.|\n)*?"\1(?!#)/ },
3078              { begin: /b?'\\?(x\w{2}|u\w{4}|U\w{8}|.)'/ },
3079            ],
3080          },
3081          { className: "symbol", begin: /'[a-zA-Z_][a-zA-Z0-9_]*/ },
3082          {
3083            className: "number",
3084            variants: [
3085              { begin: "\\b0b([01_]+)" + n },
3086              { begin: "\\b0o([0-7_]+)" + n },
3087              { begin: "\\b0x([A-Fa-f0-9_]+)" + n },
3088              { begin: "\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)" + n },
3089            ],
3090            relevance: 0,
3091          },
3092          {
3093            className: "function",
3094            beginKeywords: "fn",
3095            end: "(\\(|<)",
3096            excludeEnd: !0,
3097            contains: [e.UNDERSCORE_TITLE_MODE],
3098          },
3099          {
3100            className: "meta",
3101            begin: "#\\!?\\[",
3102            end: "\\]",
3103            contains: [{ className: "meta-string", begin: /"/, end: /"/ }],
3104          },
3105          {
3106            className: "class",
3107            beginKeywords: "type",
3108            end: ";",
3109            contains: [e.inherit(e.UNDERSCORE_TITLE_MODE, { endsParent: !0 })],
3110            illegal: "\\S",
3111          },
3112          {
3113            className: "class",
3114            beginKeywords: "trait enum struct union",
3115            end: "{",
3116            contains: [e.inherit(e.UNDERSCORE_TITLE_MODE, { endsParent: !0 })],
3117            illegal: "[\\w\\d]",
3118          },
3119          { begin: e.IDENT_RE + "::", keywords: { built_in: t } },
3120          { begin: "->" },
3121        ],
3122      };
3123    };
3124  })()
3125);
3126hljs.registerLanguage(
3127  "cpp",
3128  (function () {
3129    "use strict";
3130    return function (e) {
3131      var t = e.getLanguage("c-like").rawDefinition();
3132      return (
3133        (t.disableAutodetect = !1),
3134        (t.name = "C++"),
3135        (t.aliases = ["cc", "c++", "h++", "hpp", "hh", "hxx", "cxx"]),
3136        t
3137      );
3138    };
3139  })()
3140);
3141hljs.registerLanguage(
3142  "ini",
3143  (function () {
3144    "use strict";
3145    function e(e) {
3146      return e ? ("string" == typeof e ? e : e.source) : null;
3147    }
3148    function n(...n) {
3149      return n.map((n) => e(n)).join("");
3150    }
3151    return function (a) {
3152      var s = {
3153          className: "number",
3154          relevance: 0,
3155          variants: [
3156            { begin: /([\+\-]+)?[\d]+_[\d_]+/ },
3157            { begin: a.NUMBER_RE },
3158          ],
3159        },
3160        i = a.COMMENT();
3161      i.variants = [
3162        { begin: /;/, end: /$/ },
3163        { begin: /#/, end: /$/ },
3164      ];
3165      var t = {
3166          className: "variable",
3167          variants: [{ begin: /\$[\w\d"][\w\d_]*/ }, { begin: /\$\{(.*?)}/ }],
3168        },
3169        r = { className: "literal", begin: /\bon|off|true|false|yes|no\b/ },
3170        l = {
3171          className: "string",
3172          contains: [a.BACKSLASH_ESCAPE],
3173          variants: [
3174            { begin: "'''", end: "'''", relevance: 10 },
3175            { begin: '"""', end: '"""', relevance: 10 },
3176            { begin: '"', end: '"' },
3177            { begin: "'", end: "'" },
3178          ],
3179        },
3180        c = {
3181          begin: /\[/,
3182          end: /\]/,
3183          contains: [i, r, t, l, s, "self"],
3184          relevance: 0,
3185        },
3186        g =
3187          "(" +
3188          [/[A-Za-z0-9_-]+/, /"(\\"|[^"])*"/, /'[^']*'/]
3189            .map((n) => e(n))
3190            .join("|") +
3191          ")";
3192      return {
3193        name: "TOML, also INI",
3194        aliases: ["toml"],
3195        case_insensitive: !0,
3196        illegal: /\S/,
3197        contains: [
3198          i,
3199          { className: "section", begin: /\[+/, end: /\]+/ },
3200          {
3201            begin: n(
3202              g,
3203              "(\\s*\\.\\s*",
3204              g,
3205              ")*",
3206              n("(?=", /\s*=\s*[^#\s]/, ")")
3207            ),
3208            className: "attr",
3209            starts: { end: /$/, contains: [i, c, r, t, l, s] },
3210          },
3211        ],
3212      };
3213    };
3214  })()
3215);
3216hljs.registerLanguage(
3217  "objectivec",
3218  (function () {
3219    "use strict";
3220    return function (e) {
3221      var n = /[a-zA-Z@][a-zA-Z0-9_]*/,
3222        _ = {
3223          $pattern: n,
3224          keyword: "@interface @class @protocol @implementation",
3225        };
3226      return {
3227        name: "Objective-C",
3228        aliases: ["mm", "objc", "obj-c"],
3229        keywords: {
3230          $pattern: n,
3231          keyword:
3232            "int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN",
3233          literal: "false true FALSE TRUE nil YES NO NULL",
3234          built_in:
3235            "BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once",
3236        },
3237        illegal: "</",
3238        contains: [
3239          {
3240            className: "built_in",
3241            begin:
3242              "\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+",
3243          },
3244          e.C_LINE_COMMENT_MODE,
3245          e.C_BLOCK_COMMENT_MODE,
3246          e.C_NUMBER_MODE,
3247          e.QUOTE_STRING_MODE,
3248          e.APOS_STRING_MODE,
3249          {
3250            className: "string",
3251            variants: [
3252              {
3253                begin: '@"',
3254                end: '"',
3255                illegal: "\\n",
3256                contains: [e.BACKSLASH_ESCAPE],
3257              },
3258            ],
3259          },
3260          {
3261            className: "meta",
3262            begin: /#\s*[a-z]+\b/,
3263            end: /$/,
3264            keywords: {
3265              "meta-keyword":
3266                "if else elif endif define undef warning error line pragma ifdef ifndef include",
3267            },
3268            contains: [
3269              { begin: /\\\n/, relevance: 0 },
3270              e.inherit(e.QUOTE_STRING_MODE, { className: "meta-string" }),
3271              {
3272                className: "meta-string",
3273                begin: /<.*?>/,
3274                end: /$/,
3275                illegal: "\\n",
3276              },
3277              e.C_LINE_COMMENT_MODE,
3278              e.C_BLOCK_COMMENT_MODE,
3279            ],
3280          },
3281          {
3282            className: "class",
3283            begin: "(" + _.keyword.split(" ").join("|") + ")\\b",
3284            end: "({|$)",
3285            excludeEnd: !0,
3286            keywords: _,
3287            contains: [e.UNDERSCORE_TITLE_MODE],
3288          },
3289          { begin: "\\." + e.UNDERSCORE_IDENT_RE, relevance: 0 },
3290        ],
3291      };
3292    };
3293  })()
3294);
3295hljs.registerLanguage(
3296  "apache",
3297  (function () {
3298    "use strict";
3299    return function (e) {
3300      var n = {
3301        className: "number",
3302        begin: "\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?",
3303      };
3304      return {
3305        name: "Apache config",
3306        aliases: ["apacheconf"],
3307        case_insensitive: !0,
3308        contains: [
3309          e.HASH_COMMENT_MODE,
3310          {
3311            className: "section",
3312            begin: "</?",
3313            end: ">",
3314            contains: [
3315              n,
3316              { className: "number", begin: ":\\d{1,5}" },
3317              e.inherit(e.QUOTE_STRING_MODE, { relevance: 0 }),
3318            ],
3319          },
3320          {
3321            className: "attribute",
3322            begin: /\w+/,
3323            relevance: 0,
3324            keywords: {
3325              nomarkup:
3326                "order deny allow setenv rewriterule rewriteengine rewritec
3326ond documentroot sethandler errordocument loadmodule options header listen serverroot servername",
3327            },
3328            starts: {
3329              end: /$/,
3330              relevance: 0,
3331              keywords: { literal: "on off all deny allow" },
3332              contains: [
3333                { className: "meta", begin: "\\s\\[", end: "\\]$" },
3334                {
3335                  className: "variable",
3336                  begin: "[\\$%]\\{",
3337                  end: "\\}",
3338                  contains: [
3339                    "self",
3340                    { className: "number", begin: "[\\$%]\\d+" },
3341                  ],
3342                },
3343                n,
3344                { className: "number", begin: "\\d+" },
3345                e.QUOTE_STRING_MODE,
3346              ],
3347            },
3348          },
3349        ],
3350        illegal: /\S/,
3351      };
3352    };
3353  })()
3354);
3355hljs.registerLanguage(
3356  "java",
3357  (function () {
3358    "use strict";
3359    function e(e) {
3360      return e ? ("string" == typeof e ? e : e.source) : null;
3361    }
3362    function n(e) {
3363      return a("(", e, ")?");
3364    }
3365    function a(...n) {
3366      return n.map((n) => e(n)).join("");
3367    }
3368    function s(...n) {
3369      return "(" + n.map((n) => e(n)).join("|") + ")";
3370    }
3371    return function (e) {
3372      var t =
3373          "false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",
3374        i = {
3375          className: "meta",
3376          begin: "@[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",
3377          contains: [{ begin: /\(/, end: /\)/, contains: ["self"] }],
3378        },
3379        r = (e) => a("[", e, "]+([", e, "_]*[", e, "]+)?"),
3380        c = {
3381          className: "number",
3382          variants: [
3383            { begin: `\\b(0[bB]${r("01")})[lL]?` },
3384            { begin: `\\b(0${r("0-7")})[dDfFlL]?` },
3385            {
3386              begin: a(
3387                /\b0[xX]/,
3388                s(
3389                  a(r("a-fA-F0-9"), /\./, r("a-fA-F0-9")),
3390                  a(r("a-fA-F0-9"), /\.?/),
3391                  a(/\./, r("a-fA-F0-9"))
3392                ),
3393                /([pP][+-]?(\d+))?/,
3394                /[fFdDlL]?/
3395              ),
3396            },
3397            {
3398              begin: a(
3399                /\b/,
3400                s(a(/\d*\./, r("\\d")), r("\\d")),
3401                /[eE][+-]?[\d]+[dDfF]?/
3402              ),
3403            },
3404            { begin: a(/\b/, r(/\d/), n(/\.?/), n(r(/\d/)), /[dDfFlL]?/) },
3405          ],
3406          relevance: 0,
3407        };
3408      return {
3409        name: "Java",
3410        aliases: ["jsp"],
3411        keywords: t,
3412        illegal: /<\/|#/,
3413        contains: [
3414          e.COMMENT("/\\*\\*", "\\*/", {
3415            relevance: 0,
3416            contains: [
3417              { begin: /\w+@/, relevance: 0 },
3418              { className: "doctag", begin: "@[A-Za-z]+" },
3419            ],
3420          }),
3421          e.C_LINE_COMMENT_MODE,
3422          e.C_BLOCK_COMMENT_MODE,
3423          e.APOS_STRING_MODE,
3424          e.QUOTE_STRING_MODE,
3425          {
3426            className: "class",
3427            beginKeywords: "class interface",
3428            end: /[{;=]/,
3429            excludeEnd: !0,
3430            keywords: "class interface",
3431            illegal: /[:"\[\]]/,
3432            contains: [
3433              { beginKeywords: "extends implements" },
3434              e.UNDERSCORE_TITLE_MODE,
3435            ],
3436          },
3437          { beginKeywords: "new throw return else", relevance: 0 },
3438          {
3439            className: "function",
3440            begin:
3441              "([À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(\\s*,\\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*)*>)?\\s+)+" +
3442              e.UNDERSCORE_IDENT_RE +
3443              "\\s*\\(",
3444            returnBegin: !0,
3445            end: /[{;=]/,
3446            excludeEnd: !0,
3447            keywords: t,
3448            contains: [
3449              {
3450                begin: e.UNDERSCORE_IDENT_RE + "\\s*\\(",
3451                returnBegin: !0,
3452                relevance: 0,
3453                contains: [e.UNDERSCORE_TITLE_MODE],
3454              },
3455              {
3456                className: "params",
3457                begin: /\(/,
3458                end: /\)/,
3459                keywords: t,
3460                relevance: 0,
3461                contains: [
3462                  i,
3463                  e.APOS_STRING_MODE,
3464                  e.QUOTE_STRING_MODE,
3465                  e.C_NUMBER_MODE,
3466                  e.C_BLOCK_COMMENT_MODE,
3467                ],
3468              },
3469              e.C_LINE_COMMENT_MODE,
3470              e.C_BLOCK_COMMENT_MODE,
3471            ],
3472          },
3473          c,
3474          i,
3475        ],
3476      };
3477    };
3478  })()
3479);
3480hljs.registerLanguage(
3481  "x86asm",
3482  (function () {
3483    "use strict";
3484    return function (s) {
3485      return {
3486        name: "Intel x86 Assembly",
3487        case_insensitive: !0,
3488        keywords: {
3489          $pattern: "[.%]?" + s.IDENT_RE,
3490          keyword:
3491            "lock rep repe repz repne repnz xaquire xrelease bnd nobnd 
vendor: 2,203 bytes, line 3491
3491aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw st
vendor: 13,311 bytes, line 3491
3491c std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63",
3491
3492          built_in:
3493            "ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 cs ds es fs gs ss st st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0  xmm1  xmm2  xmm3  xmm4  xmm5  xmm6  xmm7  xmm8  xmm9 xmm10  xmm11 xmm12 xmm13 xmm14 xmm15 xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ymm0  ymm1  ymm2  ymm3  ymm4  ymm5  ymm6  ymm7  ymm8  ymm9 ymm10  ymm11 ymm12 ymm13 ymm14 ymm15 ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 zmm0  zmm1  zmm2  zmm3  zmm4  zmm5  zmm6  zmm7  zmm8  zmm9 zmm10  zmm11 zmm12 zmm13 zmm14 zmm15 zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 k0 k1 k2 k3 k4 k5 k6 k7 bnd0 bnd1 bnd2 bnd3 cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d r0h r1h r2h r3h r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l db dw dd dq dt ddq do dy dz resb resw resd resq rest resdq reso resy resz incbin equ times byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr",
3494          meta: "%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif %if %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep %endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment .nolist __FILE__ __LINE__ __SECT__  __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ __UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__  __PASS__ struc endstruc istruc at iend align alignb sectalign daz nodaz up down zero default option assume public bits use16 use32 use64 default section segment absolute extern global common cpu float __utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ __Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__",
3495        },
3496        contains: [
3497          s.COMMENT(";", "$", { relevance: 0 }),
3498          {
3499            className: "number",
3500            variants: [
3501              {
3502                begin:
3503                  "\\b(?:([0-9][0-9_]*)?\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|(0[Xx])?[0-9][0-9_]*\\.?[0-9_]*(?:[pP](?:[+-]?[0-9_]+)?)?)\\b",
3504                relevance: 0,
3505              },
3506              { begin: "\\$[0-9][0-9A-Fa-f]*", relevance: 0 },
3507              {
3508                begin:
3509                  "\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[Hh]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\b",
3510              },
3511              {
3512                begin:
3513                  "\\b(?:0[Xx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\b",
3514              },
3515            ],
3516          },
3517          s.QUOTE_STRING_MODE,
3518          {
3519            className: "string",
3520            variants: [
3521              { begin: "'", end: "[^\\\\]'" },
3522              { begin: "`", end: "[^\\\\]`" },
3523            ],
3524            relevance: 0,
3525          },
3526          {
3527            className: "symbol",
3528            variants: [
3529              { begin: "^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)" },
3530              { begin: "^\\s*%%[A-Za-z0-9_$#@~.?]*:" },
3531            ],
3532            relevance: 0,
3533          },
3534          { className: "subst", begin: "%[0-9]+", relevance: 0 },
3535          { className: "subst", begin: "%!S+", relevance: 0 },
3536          { className: "meta", begin: /^\s*\.[\w_-]+/ },
3537        ],
3538      };
3539    };
3540  })()
3541);
3542hljs.registerLanguage(
3543  "kotlin",
3544  (function () {
3545    "use strict";
3546    return function (e) {
3547      var n = {
3548          keyword:
3549            "abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infi
3549x operator out by constructor super tailrec where const inner suspend typealias external expect actual trait volatile transient native default",
3550          built_in:
3551            "Byte Short Char Int Long Boolean Float Double Void Unit Nothing",
3552          literal: "true false null",
3553        },
3554        a = { className: "symbol", begin: e.UNDERSCORE_IDENT_RE + "@" },
3555        i = {
3556          className: "subst",
3557          begin: "\\${",
3558          end: "}",
3559          contains: [e.C_NUMBER_MODE],
3560        },
3561        s = { className: "variable", begin: "\\$" + e.UNDERSCORE_IDENT_RE },
3562        t = {
3563          className: "string",
3564          variants: [
3565            { begin: '"""', end: '"""(?=[^"])', contains: [s, i] },
3566            {
3567              begin: "'",
3568              end: "'",
3569              illegal: /\n/,
3570              contains: [e.BACKSLASH_ESCAPE],
3571            },
3572            {
3573              begin: '"',
3574              end: '"',
3575              illegal: /\n/,
3576              contains: [e.BACKSLASH_ESCAPE, s, i],
3577            },
3578          ],
3579        };
3580      i.contains.push(t);
3581      var r = {
3582          className: "meta",
3583          begin:
3584            "@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*" +
3585            e.UNDERSCORE_IDENT_RE +
3586            ")?",
3587        },
3588        l = {
3589          className: "meta",
3590          begin: "@" + e.UNDERSCORE_IDENT_RE,
3591          contains: [
3592            {
3593              begin: /\(/,
3594              end: /\)/,
3595              contains: [e.inherit(t, { className: "meta-string" })],
3596            },
3597          ],
3598        },
3599        c = e.COMMENT("/\\*", "\\*/", { contains: [e.C_BLOCK_COMMENT_MODE] }),
3600        o = {
3601          variants: [
3602            { className: "type", begin: e.UNDERSCORE_IDENT_RE },
3603            { begin: /\(/, end: /\)/, contains: [] },
3604          ],
3605        },
3606        d = o;
3607      return (
3608        (d.variants[1].contains = [o]),
3609        (o.variants[1].contains = [d]),
3610        {
3611          name: "Kotlin",
3612          aliases: ["kt"],
3613          keywords: n,
3614          contains: [
3615            e.COMMENT("/\\*\\*", "\\*/", {
3616              relevance: 0,
3617              contains: [{ className: "doctag", begin: "@[A-Za-z]+" }],
3618            }),
3619            e.C_LINE_COMMENT_MODE,
3620            c,
3621            {
3622              className: "keyword",
3623              begin: /\b(break|continue|return|this)\b/,
3624              starts: { contains: [{ className: "symbol", begin: /@\w+/ }] },
3625            },
3626            a,
3627            r,
3628            l,
3629            {
3630              className: "function",
3631              beginKeywords: "fun",
3632              end: "[(]|$",
3633              returnBegin: !0,
3634              excludeEnd: !0,
3635              keywords: n,
3636              illegal: /fun\s+(<.*>)?[^\s\(]+(\s+[^\s\(]+)\s*=/,
3637              relevance: 5,
3638              contains: [
3639                {
3640                  begin: e.UNDERSCORE_IDENT_RE + "\\s*\\(",
3641                  returnBegin: !0,
3642                  relevance: 0,
3643                  contains: [e.UNDERSCORE_TITLE_MODE],
3644                },
3645                {
3646                  className: "type",
3647                  begin: /</,
3648                  end: />/,
3649                  keywords: "reified",
3650                  relevance: 0,
3651                },
3652                {
3653                  className: "params",
3654                  begin: /\(/,
3655                  end: /\)/,
3656                  endsParent: !0,
3657                  keywords: n,
3658                  relevance: 0,
3659                  contains: [
3660                    {
3661                      begin: /:/,
3662                      end: /[=,\/]/,
3663                      endsWithParent: !0,
3664                      contains: [o, e.C_LINE_COMMENT_MODE, c],
3665                      relevance: 0,
3666                    },
3667                    e.C_LINE_COMMENT_MODE,
3668                    c,
3669                    r,
3670                    l,
3671                    t,
3672                    e.C_NUMBER_MODE,
3673                  ],
3674                },
3675                c,
3676              ],
3677            },
3678            {
3679              className: "class",
3680              beginKeywords: "class interface trait",
3681              end: /[:\{(]|$/,
3682              excludeEnd: !0,
3683              illegal: "extends implements",
3684              contains: [
3685                {
3686                  beginKeywords:
3687                    "public protected internal private constructor",
3688                },
3689                e.UNDERSCORE_TITLE_MODE,
3690                {
3691                  className: "type",
3692                  begin: /</,
3693                  end: />/,
3694                  excludeBegin: !0,
3695                  excludeEnd: !0,
3696                  relevance: 0,
3697                },
3698                {
3699                  className: "type",
3700                  begin: /[,:]\s*/,
3701                  end: /[<\(,]|$/,
3702                  excludeBegin: !0,
3703                  returnEnd: !0,
3704                },
3705                r,
3706                l,
3707              ],
3708            },
3709            t,
3710            {
3711              className: "meta",
3712              begin: "^#!/usr/bin/env",
3713              end: "$",
3714              illegal: "\n",
3715            },
3716            {
3717              className: "number",
3718              begin:
3719                "\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",
3720              relevance: 0,
3721            },
3722          ],
3723        }
3724      );
3725    };
3726  })()
3727);
3728hljs.registerLanguage(
3729  "armasm",
3730  (function () {
3731    "use strict";
3732    return function (s) {
3733      const e = {
3734        variants: [
3735          s.COMMENT("^[ \\t]*(?=#)", "$", { relevance: 0, excludeBegin: !0 }),
3736          s.COMMENT("[;@]", "$", { relevance: 0 }),
3737          s.C_LINE_COMMENT_MODE,
3738          s.C_BLOCK_COMMENT_MODE,
3739        ],
3740      };
3741      return {
3742        name: "ARM Assembly",
3743        case_insensitive: !0,
3744        aliases: ["arm"],
3745        keywords: {
3746          $pattern: "\\.?" + s.IDENT_RE,
3747          meta: ".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND ",
3748          built_in:
3749            "r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 pc lr sp ip sl sb fp a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf s0 s1 
3749s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 {PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @",
3750        },
3751        contains: [
3752          {
3753            className: "keyword",
3754            begin:
3755              "\\b(adc|(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|wfe|wfi|yield)(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?[sptrx]?(?=\\s)",
3756          },
3757          e,
3758          s.QUOTE_STRING_MODE,
3759          { className: "string", begin: "'", end: "[^\\\\]'", relevance: 0 },
3760          {
3761            className: "title",
3762            begin: "\\|",
3763            end: "\\|",
3764            illegal: "\\n",
3765            relevance: 0,
3766          },
3767          {
3768            className: "number",
3769            variants: [
3770              { begin: "[#$=]?0x[0-9a-f]+" },
3771              { begin: "[#$=]?0b[01]+" },
3772              { begin: "[#$=]\\d+" },
3773              { begin: "\\b\\d+" },
3774            ],
3775            relevance: 0,
3776          },
3777          {
3778            className: "symbol",
3779            variants: [
3780              { begin: "^[ \\t]*[a-z_\\.\\$][a-z0-9_\\.\\$]+:" },
3781              { begin: "^[a-z_\\.\\$][a-z0-9_\\.\\$]+" },
3782              { begin: "[=#]\\w+" },
3783            ],
3784            relevance: 0,
3785          },
3786        ],
3787      };
3788    };
3789  })()
3790);
3791hljs.registerLanguage(
3792  "go",
3793  (function () {
3794    "use strict";
3795    return function (e) {
3796      var n = {
3797        keyword:
3798          "break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",
3799        literal: "true false iota nil",
3800        built_in:
3801          "append cap close complex copy imag len make new panic print println real recover delete",
3802      };
3803      return {
3804        name: "Go",
3805        aliases: ["golang"],
3806        keywords: n,
3807        illegal: "</",
3808        contains: [
3809          e.C_LINE_COMMENT_MODE,
3810          e.C_BLOCK_COMMENT_MODE,
3811          {
3812            className: "string",
3813            variants: [
3814              e.QUOTE_STRING_MODE,
3815              e.APOS_STRING_MODE,
3816              { begin: "`", end: "`" },
3817            ],
3818          },
3819          {
3820            className: "number",
3821            variants: [
3822              { begin: e.C_NUMBER_RE + "[i]", relevance: 1 },
3823              e.C_NUMBER_MODE,
3824            ],
3825          },
3826          { begin: /:=/ },
3827          {
3828            className: "function",
3829            beginKeywords: "func",
3830            end: "\\s*(\\{|$)",
3831            excludeEnd: !0,
3832            contains: [
3833              e.TITLE_MODE,
3834              {
3835                className: "params",
3836                begin: /\(/,
3837                end: /\)/,
3838                keywords: n,
3839                illegal: /["']/,
3840              },
3841            ],
3842          },
3843        ],
3844      };
3845    };
3846  })()
3847);
3848hljs.registerLanguage(
3849  "diff",
3850  (function () {
3851    "use strict";
3852    return function (e) {
3853      return {
3854        name: "Diff",
3855        aliases: ["patch"],
3856        contains: [
3857          {
3858            className: "meta",
3859            relevance: 10,
3860            variants: [
3861              { begin: /^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/ },
3862              { begin: /^\*\*\* +\d+,\d+ +\*\*\*\*$/ },
3863              { begin: /^\-\-\- +\d+,\d+ +\-\-\-\-$/ },
3864            ],
3865          },
3866          {
3867            className: "comment",
3868            variants: [
3869              { begin: /Index: /, end: /$/ },
3870              { begin: /={3,}/, end: /$/ },
3871              { begin: /^\-{3}/, end: /$/ },
3872              { begin: /^\*{3} /, end: /$/ },
3873              { begin: /^\+{3}/, end: /$/ },
3874              { begin: /^\*{15}$/ },
3875            ],
3876          },
3877          { className: "addition", begin: "^\\+", end: "$" },
3878          { className: "deletion", begin: "^\\-", end: "$" },
3879          { className: "addition", begin: "^\\!", end: "$" },
3880        ],
3881      };
3882    };
3883  })()
3884);
3885hljs.registerLanguage(
3886  "python",
3887  (function () {
3888    "use strict";
3889    return function (e) {
3890      var n = {
3891          keyword:
3892            "and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10",
3893          built_in: "Ellipsis NotImplemented",
3894          literal: "False None True",
3895        },
3896        a = { className: "meta", begin: /^(>>>|\.\.\.) / },
3897        i = {
3898          className: "subst",
3899          begin: /\{/,
3900          end: /\}/,
3901          keywords: n,
3902          illegal: /#/,
3903        },
3904        s = { begin: /\{\{/, relevance: 0 },
3905        r = {
3906          className: "string",
3907          contains: [e.BACKSLASH_ESCAPE],
3908          variants: [
3909            {
3910              begin: /(u|b)?r?'''/,
3911              end: /'''/,
3912              contains: [e.BACKSLASH_ESCAPE, a],
3913              relevance: 10,
3914            },
3915            {
3916              begin: /(u|b)?r?"""/,
3917              end: /"""/,
3918              contains: [e.BACKSLASH_ESCAPE, a],
3919              relevance: 10,
3920            },
3921            {
3922              begin: /(fr|rf|f)'''/,
3923              end: /'''/,
3924              contains: [e.BACKSLASH_ESCAPE, a, s, i],
3925            },
3926            {
3927              begin: /(fr|rf|f)"""/,
3928              end: /"""/,
3929              contains: [e.BACKSLASH_ESCAPE, a, s, i],
3930            },
3931            { begin: /(u|r|ur)'/, end: /'/, relevance: 10 },
3932            { begin: /(u|r|ur)"/, end: /"/, relevance: 10 },
3933            { begin: /(b|br)'/, end: /'/ },
3934            { begin: /(b|br)"/, end: /"/ },
3935            {
3936              begin: /(fr|rf|f)'/,
3937              end: /'/,
3938              contains: [e.BACKSLASH_ESCAPE, s, i],
3939            },
3940            {
3941              begin: /(fr|rf|f)"/,
3942              end: /"/,
3943              contains: [e.BACKSLASH_ESCAPE, s, i],
3944            },
3945            e.APOS_STRING_MODE,
3946            e.QUOTE_STRING_MODE,
3947          ],
3948        },
3949        l = {
3950          className: "number",
3951          relevance: 0,
3952          variants: [
3953            { begin: e.BINARY_NUMBER_RE + "[lLjJ]?" },
3954            { begin: "\\b(0o[0-7]+)[lLjJ]?" },
3955            { begin: e.C_NUMBER_RE + "[lLjJ]?" },
3956          ],
3957        },
3958        t = {
3959          className: "params",
3960          variants: [
3961            { begin: /\(\s*\)/, skip: !0, className: null },
3962            {
3963              begin: /\(/,
3964              end: /\)/,
3965              excludeBegin: !0,
3966              excludeEnd: !0,
3967              contains: ["self", a, l, r, e.HASH_COMMENT_MODE],
3968            },
3969          ],
3970        };
3971      return (
3972        (i.contains = [r, l, a]),
3973        {
3974          name: "Python",
3975          aliases: ["py", "gyp", "ipython"],
3976          keywords: n,
3977          illegal: /(<\/|->|\?)|=>/,
3978          contains: [
3979            a,
3980            l,
3981            { beginKeywords: "if", relevance: 0 },
3982            r,
3983            e.HASH_COMMENT_MODE,
3984            {
3985              variants: [
3986                { className: "function", beginKeywords: "def" },
3987                { className: "class", beginKeywords: "class" },
3988              ],
3989              end: /:/,
3990              illegal: /[${=;\n,]/,
3991              contains: [
3992                e.UNDERSCORE_TITLE_MODE,
3993                t,
3994                { begin: /->/, endsWithParent: !0, keywords: "None" },
3995              ],
3996            },
3997            { className: "meta", begin: /^[\t ]*@/, end: /$/ },
3998            { begin: /\b(print|exec)\(/ },
3999          ],
4000        }
4001      );
4002    };
4003  })()
4004);
4005hljs.registerLanguage(
4006  "shell",
4007  (function () {
4008    "use strict";
4009    return function (s) {
4010      return {
4011        name: "Shell Session",
4012        aliases: ["console"],
4013        contains: [
4014          {
4015            className: "meta",
4016            begin: "^\\s{0,3}[/\\w\\d\\[\\]()@-]*[>%$#]",
4017            starts: { end: "$", subLanguage: "bash" },
4018          },
4019        ],
4020      };
4021    };
4022  })()
4023);
4024hljs.registerLanguage(
4025  "scala",
4026  (function () {
4027    "use strict";
4028    return function (e) {
4029      var n = {
4030          className: "subst",
4031          variants: [
4032            { begin: "\\$[A-Za-z0-9_]+" },
4033            { begin: "\\${", end: "}" },
4034          ],
4035        },
4036        a = {
4037          className: "string",
4038          variants: [
4039            {
4040              begin: '"',
4041              end: '"',
4042              illegal: "\\n",
4043              contains: [e.BACKSLASH_ESCAPE],
4044            },
4045            { begin: '"""', end: '"""', relevance: 10 },
4046            {
4047              begin: '[a-z]+"',
4048              end: '"',
4049              illegal: "\\n",
4050              contains: [e.BACKSLASH_ESCAPE, n],
4051            },
4052            {
4053              className: "string",
4054              begin: '[a-z]+"""',
4055              end: '"""',
4056              contains: [n],
4057              relevance: 10,
4058            },
4059          ],
4060        },
4061        s = { className: "type", begin: "\\b[A-Z][A-Za-z0-9_]*", relevance: 0 },
4062        t = {
4063          className: "title",
4064          begin:
4065            /[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,
4066          relevance: 0,
4067        },
4068        i = {
4069          className: "class",
4070          beginKeywords: "class object trait type",
4071          end: /[:={\[\n;]/,
4072          excludeEnd: !0,
4073          contains: [
4074            { beginKeywords: "extends with", relevance: 10 },
4075            {
4076              begin: /\[/,
4077              end: /\]/,
4078              excludeBegin: !0,
4079              excludeEnd: !0,
4080              relevance: 0,
4081              contains: [s],
4082            },
4083            {
4084              className: "params",
4085              begin: /\(/,
4086              end: /\)/,
4087              excludeBegin: !0,
4088              excludeEnd: !0,
4089              relevance: 0,
4090              contains: [s],
4091            },
4092            t,
4093          ],
4094        },
4095        l = {
4096          className: "function",
4097          beginKeywords: "def",
4098          end: /[:={\[(\n;]/,
4099          excludeEnd: !0,
4100          contains: [t],
4101        };
4102      return {
4103        name: "Scala",
4104        keywords: {
4105          literal: "true false null",
4106          keyword:
4107            "type yield lazy override def with val var sealed abstract private trait object if forSome for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit",
4108        },
4109        contains: [
4110          e.C_LINE_COMMENT_MODE,
4111          e.C_BLOCK_COMMENT_MODE,
4112          a,
4113          { className: "symbol", begin: "'\\w[\\w\\d_]*(?!')" },
4114          s,
4115          l,
4116          i,
4117          e.C_NUMBER_MODE,
4118          { className: "meta", begin: "@[A-Za-z]+" },
4119        ],
4120      };
4121    };
4122  })()
4123);
4124hljs.registerLanguage(
4125  "julia",
4126  (function () {
4127    "use strict";
4128    return function (e) {
4129      var r = "[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*",
4130        t = {
4131          $pattern: r,
4132          keyword:
4133            "in isa where baremodule begin break catch ccall const continue do else elseif end exp
4133ort false finally for function global if import importall let local macro module quote return true try using while type immutable abstract bitstype typealias ",
4134          literal:
4135            "true false ARGS C_NULL DevNull ENDIAN_BOM ENV I Inf Inf16 Inf32 Inf64 InsertionSort JULIA_HOME LOAD_PATH MergeSort NaN NaN16 NaN32 NaN64 PROGRAM_FILE QuickSort RoundDown RoundFromZero RoundNearest RoundNearestTiesAway RoundNearestTiesUp RoundToZero RoundUp STDERR STDIN STDOUT VERSION catalan e|0 eu|0 eulergamma golden im nothing pi γ π φ ",
4136          built_in:
4137            "ANY AbstractArray AbstractChannel AbstractFloat AbstractMatrix AbstractRNG AbstractSerializer AbstractSet AbstractSparseArray AbstractSparseMatrix AbstractSparseVector AbstractString AbstractUnitRange AbstractVecOrMat AbstractVector Any ArgumentError Array AssertionError Associative Base64DecodePipe Base64EncodePipe Bidiagonal BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError BufferStream CachingPool CapturedException CartesianIndex CartesianRange Cchar Cdouble Cfloat Channel Char Cint Cintmax_t Clong Clonglong ClusterManager Cmd CodeInfo Colon Complex Complex128 Complex32 Complex64 CompositeException Condition ConjArray ConjMatrix ConjVector Cptrdiff_t Cshort Csize_t Cssize_t Cstring Cuchar Cuint Cuintmax_t Culong Culonglong Cushort Cwchar_t Cwstring DataType Date DateFormat DateTime DenseArray DenseMatrix DenseVecOrMat DenseVector Diagonal Dict DimensionMismatch Dims DirectIndexString Display DivideError DomainError EOFError EachLine Enum Enumerate ErrorException Exception ExponentialBackOff Expr Factorization FileMonitor Float16 Float32 Float64 Function Future GlobalRef GotoNode HTML Hermitian IO IOBuffer IOContext IOStream IPAddr IPv4 IPv6 IndexCartesian IndexLinear IndexStyle InexactError InitError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException InvalidStateException Irrational KeyError LabelNode LinSpace LineNumberNode LoadError LowerTriangular MIME Matrix MersenneTwister Method MethodError MethodTable Module NTuple NewvarNode NullException Nullable Number ObjectIdDict OrdinalRange OutOfMemoryError OverflowError Pair ParseError PartialQuickSort PermutedDimsArray Pipe PollingFileWatcher ProcessExitedException Ptr QuoteNode RandomDevice Range RangeIndex Rational RawFD ReadOnlyMemoryError Real ReentrantLock Ref Regex RegexMatch RemoteChannel RemoteException RevString RoundingMode RowVector SSAValue SegmentationFault SerializationState Set SharedArray SharedMatrix SharedVector Signed SimpleVector Slot SlotNumber SparseMatrixCSC SparseVector StackFrame StackOverflowError StackTrace StepRange StepRangeLen StridedArray StridedMatrix StridedVecOrMat StridedVector String SubArray SubString SymTridiagonal Symbol Symmetric SystemError TCPSocket Task Text TextDisplay Timer Tridiagonal Tuple Type TypeError TypeMapEntry TypeMapLevel TypeName TypeVar TypedSlot UDPSocket UInt UInt128 UInt16 UInt32 UInt64 UInt8 UndefRefError UndefVarError UnicodeError UniformScaling Union UnionAll UnitRange Unsigned UpperTriangular Val Vararg VecElement VecOrMat Vector VersionNumber Void WeakKeyDict WeakRef WorkerConfig WorkerPool ",
4138        },
4139        a = { keywords: t, illegal: /<\// },
4140        n = { className: "subst", begin: /\$\(/, end: /\)/, keywords: t },
4141        o = { className: "variable", begin: "\\$" + r },
4142        i = {
4143          className: "string",
4144          contains: [e.BACKSLASH_ESCAPE, n, o],
4145          variants: [
4146            { begin: /\w*"""/, end: /"""\w*/, relevance: 10 },
4147            { begin: /\w*"/, end: /"\w*/ },
4148          ],
4149        },
4150        l = {
4151          className: "string",
4152          contains: [e.BACKSLASH_ESCAPE, n, o],
4153          begin: "`",
4154          end: "`",
4155        },
4156        s = { className: "meta", begin: "@" + r };
4157      return (
4158        (a.name = "Julia"),
4159        (a.contains = [
4160          {
4161            className: "number",
4162            begin:
4163              /(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,
4164            relevance: 0,
4165          },
4166          { className: "string", begin: /'(.|\\[xXuU][a-zA-Z0-9]+)'/ },
4167          i,
4168          l,
4169          s,
4170          {
4171            className: "comment",
4172            variants: [
4173              { begin: "#=", end: "=#", relevance: 10 },
4174              { begin: "#", end: "$" },
4175            ],
4176          },
4177          e.HASH_COMMENT_MODE,
4178          {
4179            className: "keyword",
4180            begin:
4181              "\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b",
4182          },
4183          { begin: /<:/ },
4184        ]),
4185        (n.contains = a.contains),
4186        a
4187      );
4188    };
4189  })()
4190);
4191hljs.registerLanguage(
4192  "php-template",
4193  (function () {
4194    "use strict";
4195    return function (n) {
4196      return {
4197        name: "PHP template",
4198        subLanguage: "xml",
4199        contains: [
4200          {
4201            begin: /<\?(php|=)?/,
4202            end: /\?>/,
4203            subLanguage: "php",
4204            contains: [
4205              { begin: "/\\*", end: "\\*/", skip: !0 },
4206              { begin: 'b"', end: '"', skip: !0 },
4207              { begin: "b'", end: "'", skip: !0 },
4208              n.inherit(n.APOS_STRING_MODE, {
4209                illegal: null,
4210                className: null,
4211                contains: null,
4212                skip: !0,
4213              }),
4214              n.inherit(n.QUOTE_STRING_MODE, {
4215                illegal: null,
4216                className: null,
4217                contains: null,
4218                skip: !0,
4219              }),
4220            ],
4221          },
4222        ],
4223      };
4224    };
4225  })()
4226);
4227hljs.registerLanguage(
4228  "scss",
4229  (function () {
4230    "use strict";
4231    return function (e) {
4232      var t = {
4233          className: "variable",
4234          begin: "(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",
4235        },
4236        i = { className: "number", begin: "#[0-9A-Fa-f]+" };
4237      return (
4238        e.CSS_NUMBER_MODE,
4239        e.QUOTE_STRING_MODE,
4240        e.APOS_STRING_MODE,
4241        e.C_BLOCK_COMMENT_MODE,
4242        {
4243          name: "SCSS",
4244          case_insensitive: !0,
4245          illegal: "[=/|']",
4246          contains: [
4247            e.C_LINE_COMMENT_MODE,
4248            e.C_BLOCK_COMMENT_MODE,
4249            {
4250              className: "selector-id",
4251              begin: "\\#[A-Za-z0-9_-]+",
4252              relevance: 0,
4253            },
4254            {
4255              className: "selector-class",
4256              begin: "\\.[A-Za-z0-9_-]+",
4257              relevance: 0,
4258            },
4259            {
4260              className: "selector-attr",
4261              begin: "\\[",
4262              end: "\\]",
4263              illegal: "$",
4264            },
4265            {
4266              className: "selector-tag",
4267              begin:
4268                "\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\b",
4269              relevance: 0,
4270            },
4271            {
4272              className: "selector-pseudo",
4273              begin:
4274                ":(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)",
4275            },
4276            {
4277              className: "selector-pseudo",
4278              begin:
4279                "::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)",
4280            },
4281            t,
4282            {
4283              className: "attribute",
4284              begin:
4285                "\\b(src|z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\b",
4286              illegal: "[^\\s]",
4287            },
4288            {
4289              begin:
4290                "\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inl
4290ine|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b",
4291            },
4292            {
4293              begin: ":",
4294              end: ";",
4295              contains: [
4296                t,
4297                i,
4298                e.CSS_NUMBER_MODE,
4299                e.QUOTE_STRING_MODE,
4300                e.APOS_STRING_MODE,
4301                { className: "meta", begin: "!important" },
4302              ],
4303            },
4304            {
4305              begin: "@(page|font-face)",
4306              lexemes: "@[a-z-]+",
4307              keywords: "@page @font-face",
4308            },
4309            {
4310              begin: "@",
4311              end: "[{;]",
4312              returnBegin: !0,
4313              keywords: "and or not only",
4314              contains: [
4315                { begin: "@[a-z-]+", className: "keyword" },
4316                t,
4317                e.QUOTE_STRING_MODE,
4318                e.APOS_STRING_MODE,
4319                i,
4320                e.CSS_NUMBER_MODE,
4321              ],
4322            },
4323          ],
4324        }
4325      );
4326    };
4327  })()
4328);
4329hljs.registerLanguage(
4330  "r",
4331  (function () {
4332    "use strict";
4333    return function (e) {
4334      var n = "([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";
4335      return {
4336        name: "R",
4337        contains: [
4338          e.HASH_COMMENT_MODE,
4339          {
4340            begin: n,
4341            keywords: {
4342              $pattern: n,
4343              keyword:
4344                "function if in break next repeat else for return switch while try tryCatch stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...",
4345              literal:
4346                "NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",
4347            },
4348            relevance: 0,
4349          },
4350          {
4351            className: "number",
4352            begin: "0[xX][0-9a-fA-F]+[Li]?\\b",
4353            relevance: 0,
4354          },
4355          {
4356            className: "number",
4357            begin: "\\d+(?:[eE][+\\-]?\\d*)?L\\b",
4358            relevance: 0,
4359          },
4360          {
4361            className: "number",
4362            begin: "\\d+\\.(?!\\d)(?:i\\b)?",
4363            relevance: 0,
4364          },
4365          {
4366            className: "number",
4367            begin: "\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",
4368            relevance: 0,
4369          },
4370          {
4371            className: "number",
4372            begin: "\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",
4373            relevance: 0,
4374          },
4375          { begin: "`", end: "`", relevance: 0 },
4376          {
4377            className: "string",
4378            contains: [e.BACKSLASH_ESCAPE],
4379            variants: [
4380              { begin: '"', end: '"' },
4381              { begin: "'", end: "'" },
4382            ],
4383          },
4384        ],
4385      };
4386    };
4387  })()
4388);
4389hljs.registerLanguage(
4390  "sql",
4391  (function () {
4392    "use strict";
4393    return function (e) {
4394      var t = e.COMMENT("--", "$");
4395      return {
4396        name: "SQL",
4397        case_insensitive: !0,
4398        illegal: /[<>{}*]/,
4399        contains: [
4400          {
4401            beginKeywords:
4402              "begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment values with",
4403            end: /;/,
4404            endsWithParent: !0,
4405            keywords: {
4406              $pattern: /[\w\.]+/,
4407              keyword:
4408                
vendor: 11,047 bytes, line 4408
4408"as abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias all allocate allow alter always analyze ancillary and anti any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound bucket buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain explode export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force foreign form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour hours http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lateral lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minutes minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notnull notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second seconds section securefile security seed segment select self semi sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tablesample tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unnest unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace window with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek",
4408
4409              literal: "true false null unknown",
4410              built_in:
4411                "array bigint binary bit blob bool boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text time timestamp tinyint varchar varchar2 varying void",
4412            },
4413            contains: [
4414              {
4415                className: "string",
4416                begin: "'",
4417                end: "'",
4418                contains: [{ begin: "''" }],
4419              },
4420              {
4421                className: "string",
4422                begin: '"',
4423                end: '"',
4424                contains: [{ begin: '""' }],
4425              },
4426              { className: "string", begin: "`", end: "`" },
4427              e.C_NUMBER_MODE,
4428              e.C_BLOCK_COMMENT_MODE,
4429              t,
4430              e.HASH_COMMENT_MODE,
4431            ],
4432          },
4433          e.C_BLOCK_COMMENT_MODE,
4434          t,
4435          e.HASH_COMMENT_MODE,
4436        ],
4437      };
4438    };
4439  })()
4440);
4441hljs.registerLanguage(
4442  "c",
4443  (function () {
4444    "use strict";
4445    return function (e) {
4446      var n = e.getLanguage("c-like").rawDefinition();
4447      return (n.name = "C"), (n.aliases = ["c", "h"]), n;
4448    };
4449  })()
4450);
4451hljs.registerLanguage(
4452  "json",
4453  (function () {
4454    "use strict";
4455    return function (n) {
4456      var e = { literal: "true false null" },
4457        i = [n.C_LINE_COMMENT_MODE, n.C_BLOCK_COMMENT_MODE],
4458        t = [n.QUOTE_STRING_MODE, n.C_NUMBER_MODE],
4459        a = {
4460          end: ",",
4461          endsWithParent: !0,
4462          excludeEnd: !0,
4463          contains: t,
4464          keywords: e,
4465        },
4466        l = {
4467          begin: "{",
4468          end: "}",
4469          contains: [
4470            {
4471              className: "attr",
4472              begin: /"/,
4473              end: /"/,
4474              contains: [n.BACKSLASH_ESCAPE],
4475              illegal: "\\n",
4476            },
4477            n.inherit(a, { begin: /:/ }),
4478          ].concat(i),
4479          illegal: "\\S",
4480        },
4481        s = {
4482          begin: "\\[",
4483          end: "\\]",
4484          contains: [n.inherit(a)],
4485          illegal: "\\S",
4486        };
4487      return (
4488        t.push(l, s),
4489        i.forEach(function (n) {
4490          t.push(n);
4491        }),
4492        { name: "JSON", contains: t, keywords: e, illegal: "\\S" }
4493      );
4494    };
4495  })()
4496);
4497hljs.registerLanguage(
4498  "python-repl",
4499  (function () {
4500    "use strict";
4501    return function (n) {
4502      return {
4503        aliases: ["pycon"],
4504        contains: [
4505          {
4506            className: "meta",
4507            starts: { end: / |$/, starts: { end: "$", subLanguage: "python" } },
4508            variants: [
4509              { begin: /^>>>(?=[ ]|$)/ },
4510              { begin: /^\.\.\.(?=[ ]|$)/ },
4511            ],
4512          },
4513        ],
4514      };
4515    };
4516  })()
4517);
4518hljs.registerLanguage(
4519  "markdown",
4520  (function () {
4521    "use strict";
4522    return function (n) {
4523      const e = { begin: "<", end: ">", subLanguage: "xml", relevance: 0 },
4524        a = {
4525          begin: "\\[.+?\\][\\(\\[].*?[\\)\\]]",
4526          returnBegin: !0,
4527          contains: [
4528            {
4529              className: "string",
4530              begin: "\\[",
4531              end: "\\]",
4532              excludeBegin: !0,
4533              returnEnd: !0,
4534              relevance: 0,
4535            },
4536            {
4537              className: "link",
4538              begin: "\\]\\(",
4539              end: "\\)",
4540              excludeBegin: !0,
4541              excludeEnd: !0,
4542            },
4543            {
4544              className: "symbol",
4545              begin: "\\]\\[",
4546              end: "\\]",
4547              excludeBegin: !0,
4548              excludeEnd: !0,
4549            },
4550          ],
4551          relevance: 10,
4552        },
4553        i = {
4554          className: "strong",
4555          contains: [],
4556          variants: [
4557            { begin: /_{2}/, end: /_{2}/ },
4558            { begin: /\*{2}/, end: /\*{2}/ },
4559          ],
4560        },
4561        s = {
4562          className: "emphasis",
4563          contains: [],
4564          variants: [
4565            { begin: /\*(?!\*)/, end: /\*/ },
4566            { begin: /_(?!_)/, end: /_/, relevance: 0 },
4567          ],
4568        };
4569      i.contains.push(s), s.contains.push(i);
4570      var c = [e, a];
4571      return (
4572        (i.contains = i.contains.concat(c)),
4573        (s.contains = s.contains.concat(c)),
4574        {
4575          name: "Markdown",
4576          aliases: ["md", "mkdown", "mkd"],
4577          contains: [
4578            {
4579              className: "section",
4580              variants: [
4581                { begin: "^#{1,6}", end: "$", contains: (c = c.concat(i, s)) },
4582                {
4583                  begin: "(?=^.+?\\n[=-]{2,}$)",
4584                  contains: [
4585                    { begin: "^[=-]*$" },
4586                    { begin: "^", end: "\\n", contains: c },
4587                  ],
4588                },
4589              ],
4590            },
4591            e,
4592            {
4593              className: "bullet",
4594              begin: "^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",
4595              end: "\\s+",
4596              excludeEnd: !0,
4597            },
4598            i,
4599            s,
4600            { className: "quote", begin: "^>\\s+", contains: c, end: "$" },
4601            {
4602              className: "code",
4603              variants: [
4604                { begin: "(`{3,})(.|\\n)*?\\1`*[ ]*" },
4605                { begin: "(~{3,})(.|\\n)*?\\1~*[ ]*" },
4606                { begin: "```", end: "```+[ ]*$" },
4607                { begin: "~~~", end: "~~~+[ ]*$" },
4608                { begin: "`.+?`" },
4609                {
4610                  begin: "(?=^( {4}|\\t))",
4611                  contains: [{ begin: "^( {4}|\\t)", end: "(\\n)$" }],
4612                  relevance: 0,
4613                },
4614              ],
4615            },
4616            { begin: "^[-\\*]{3,}", end: "$" },
4617            a,
4618            {
4619              begin: /^\[[^\n]+\]:/,
4620              returnBegin: !0,
4621              contains: [
4622                {
4623                  className: "symbol",
4624                  begin: /\[/,
4625                  end: /\]/,
4626                  excludeBegin: !0,
4627                  excludeEnd: !0,
4628                },
4629                {
4630                  className: "link",
4631                  begin: /:\s*/,
4632                  end: /$/,
4633                  excludeBegin: !0,
4634                },
4635              ],
4636            },
4637          ],
4638        }
4639      );
4640    };
4641  })()
4642);
4643hljs.registerLanguage(
4644  "javascript",
4645  (function () {
4646    "use strict";
4647    const e = [
4648        "as",
4649        "in",
4650        "of",
4651        "if",
4652        "for",
4653        "while",
4654        "finally",
4655        "var",
4656        "new",
4657        "function",
4658        "do",
4659        "return",
4660        "void",
4661        "else",
4662        "break",
4663        "catch",
4664        "instanceof",
4665        "with",
4666        "throw",
4667        "case",
4668        "default",
4669        "try",
4670        "switch",
4671        "continue",
4672        "typeof",
4673        "delete",
4674        "let",
4675        "yield",
4676        "const",
4677        "class",
4678        "debugger",
4679        "async",
4680        "await",
4681        "static",
4682        "import",
4683        "from",
4684        "export",
4685        "extends",
4686      ],
4687      n = ["true", "false", "null", "undefined", "NaN", "Infinity"],
4688      a = [].concat(
4689        [
4690          "setInterval",
4691          "setTimeout",
4692          "clearInterval",
4693          "clearTimeout",
4694          "require",
4695          "exports",
4696          "eval",
4697          "isFinite",
4698          "isNaN",
4699          "parseFloat",
4700          "parseInt",
4701          "decodeURI",
4702          "decodeURIComponent",
4703          "encodeURI",
4704          "encodeURIComponent",
4705          "escape",
4706          "unescape",
4707        ],
4708        [
4709          "arguments",
4710          "this",
4711          "super",
4712          "console",
4713          "window",
4714          "document",
4715          "localStorage",
4716          "module",
4717          "global",
4718        ],
4719        [
4720          "Intl",
4721          "DataView",
4722          "Number",
4723          "Math",
4724          "Date",
4725          "String",
4726          "RegExp",
4727          "Object",
4728          "Function",
4729          "Boolean",
4730          "Error",
4731          "Symbol",
4732          "Set",
4733          "Map",
4734          "WeakSet",
4735          "WeakMap",
4736          "Proxy",
4737          "Reflect",
4738          "JSON",
4739          "Promise",
4740          "Float64Array",
4741          "Int16Array",
4742          "Int32Array",
4743          "Int8Array",
4744          "Uint16Array",
4745          "Uint32Array",
4746          "Float32Array",
4747          "Array",
4748          "Uint8Array",
4749          "Uint8ClampedArray",
4750          "ArrayBuffer",
4751        ],
4752        [
4753          "EvalError",
4754          "InternalError",
4755          "RangeError",
4756          "ReferenceError",
4757          "SyntaxError",
4758          "TypeError",
4759          "URIError",
4760        ]
4761      );
4762    function s(e) {
4763      return r("(?=", e, ")");
4764    }
4765    function r(...e) {
4766      return e
4767        .map((e) =>
4768          (function (e) {
4769            return e ? ("string" == typeof e ? e : e.source) : null;
4770          })(e)
4771        )
4772        .join("");
4773    }
4774    return function (t) {
4775      var i = "[A-Za-z$_][0-9A-Za-z$_]*",
4776        c = { begin: /<[A-Za-z0-9\\._:-]+/, end: /\/[A-Za-z0-9\\._:-]+>|\/>/ },
4777        o = {
4778          $pattern: "[A-Za-z$_][0-9A-Za-z$_]*",
4779          keyword: e.join(" "),
4780          literal: n.join(" "),
4781          built_in: a.join(" "),
4782        },
4783        l = {
4784          className: "number",
4785          variants: [
4786            { begin: "\\b(0[bB][01]+)n?" },
4787            { begin: "\\b(0[oO][0-7]+)n?" },
4788            { begin: t.C_NUMBER_RE + "n?" },
4789          ],
4790          relevance: 0,
4791        },
4792        E = {
4793          className: "subst",
4794          begin: "\\$\\{",
4795          end: "\\}",
4796          keywords: o,
4797          contains: [],
4798        },
4799        d = {
4800          begin: "html`",
4801          end: "",
4802          starts: {
4803            end: "`",
4804            returnEnd: !1,
4805            contains: [t.BACKSLASH_ESCAPE, E],
4806            subLanguage: "xml",
4807          },
4808        },
4809        g = {
4810          begin: "css`",
4811          end: "",
4812          starts: {
4813            end: "`",
4814            returnEnd: !1,
4815            contains: [t.BACKSLASH_ESCAPE, E],
4816            subLanguage: "css",
4817          },
4818        },
4819        u = {
4820          className: "string",
4821          begin: "`",
4822          end: "`",
4823          contains: [t.BACKSLASH_ESCAPE, E],
4824        };
4825      E.contains = [
4826        t.APOS_STRING_MODE,
4827        t.QUOTE_STRING_MODE,
4828        d,
4829        g,
4830        u,
4831        l,
4832        t.REGEXP_MODE,
4833      ];
4834      var b = E.contains.concat([
4835          {
4836            begin: /\(/,
4837            end: /\)/,
4838            contains: ["self"].concat(E.contains, [
4839              t.C_BLOCK_COMMENT_MODE,
4840              t.C_LINE_COMMENT_MODE,
4841            ]),
4842          },
4843          t.C_BLOCK_COMMENT_MODE,
4844          t.C_LINE_COMMENT_MODE,
4845        ]),
4846        _ = {
4847          className: "params",
4848          begin: /\(/,
4849          end: /\)/,
4850          excludeBegin: !0,
4851          excludeEnd: !0,
4852          contains: b,
4853        };
4854      return {
4855        name: "JavaScript",
4856        aliases: ["js", "jsx", "mjs", "cjs"],
4857        keywords: o,
4858        contains: [
4859          t.SHEBANG({ binary: "node", relevance: 5 }),
4860          {
4861            className: "meta",
4862            relevance: 10,
4863            begin: /^\s*['"]use (strict|asm)['"]/,
4864          },
4865          t.APOS_STRING_MODE,
4866          t.QUOTE_STRING_MODE,
4867          d,
4868          g,
4869          u,
4870          t.C_LINE_COMMENT_MODE,
4871          t.COMMENT("/\\*\\*", "\\*/", {
4872            relevance: 0,
4873            contains: [
4874              {
4875                className: "doctag",
4876                begin: "@[A-Za-z]+",
4877                contains: [
4878                  { className: "type", begin: "\\{", end: "\\}", relevance: 0 },
4879                  {
4880                    className: "variable",
4881                    begin: i + "(?=\\s*(-)|$)",
4882                    endsParent: !0,
4883                    relevance: 0,
4884                  },
4885                  { begin: /(?=[^\n])\s/, relevance: 0 },
4886                ],
4887              },
4888            ],
4889          }),
4890          t.C_BLOCK_COMMENT_MODE,
4891          l,
4892          {
4893            begin: r(
4894              /[{,\n]\s*/,
4895              s(r(/(((\/\/.*)|(\/\*(.|\n)*\*\/))\s*)*/, i + "\\s*:"))
4896            ),
4897            relevance: 0,
4898            contains: [
4899              { className: "attr", begin: i + s("\\s*:"), relevance: 0 },
4900            ],
4901          },
4902          {
4903            begin: "(" + t.RE_STARTERS_RE + "|\\b(case|return|throw)\\b)\\s*",
4904            keywords: "return throw case",
4905            contains: [
4906              t.C_LINE_COMMENT_MODE,
4907              t.C_BLOCK_COMMENT_MODE,
4908              t.REGEXP_MODE,
4909              {
4910                className: "function",
4911                begin:
4912                  "(\\([^(]*(\\([^(]*(\\([^(]*\\))?\\))?\\)|" +
4913                  t.UNDERSCORE_IDENT_RE +
4914                  ")\\s*=>",
4915                returnBegin: !0,
4916                end: "\\s*=>",
4917                contains: [
4918                  {
4919                    className: "params",
4920                    variants: [
4921                      { begin: t.UNDERSCORE_IDENT_RE },
4922                      { className: null, begin: /\(\s*\)/, skip: !0 },
4923                      {
4924                        begin: /\(/,
4925                        end: /\)/,
4926                        excludeBegin: !0,
4927                        excludeEnd: !0,
4928                        keywords: o,
4929                        contains: b,
4930                      },
4931                    ],
4932                  },
4933                ],
4934              },
4935              { begin: /,/, relevance: 0 },
4936              { className: "", begin: /\s/, end: /\s*/, skip: !0 },
4937              {
4938                variants: [
4939                  { begin: "<>", end: "</>" },
4940                  { begin: c.begin, end: c.end },
4941                ],
4942                subLanguage: "xml",
4943                contains: [
4944                  { begin: c.begin, end: c.end, skip: !0, contains: ["self"] },
4945                ],
4946              },
4947            ],
4948            relevance: 0,
4949          },
4950          {
4951            className: "function",
4952            beginKeywords: "function",
4953            end: /\{/,
4954            excludeEnd: !0,
4955            contains: [t.inherit(t.TITLE_MODE, { begin: i }), _],
4956            illegal: /\[|%/,
4957          },
4958          { begin: /\$[(.]/ },
4959          t.METHOD_GUARD,
4960          {
4961            className: "class",
4962            beginKeywords: "class",
4963            end: /[{;=]/,
4964            excludeEnd: !0,
4965            illegal: /[:"\[\]]/,
4966            contains: [{ beginKeywords: "extends" }, t.UNDERSCORE_TITLE_MODE],
4967          },
4968          { beginKeywords: "constructor", end: /\{/, excludeEnd: !0 },
4969          {
4970            begin: "(get|set)\\s+(?=" + i + "\\()",
4971            end: /{/,
4972            keywords: "get set",
4973            contains: [
4974              t.inherit(t.TITLE_MODE, { begin: i }),
4975              { begin: /\(\)/ },
4976              _,
4977            ],
4978          },
4979        ],
4980        illegal: /#(?!!)/,
4981      };
4982    };
4983  })()
4984);
4985hljs.registerLanguage(
4986  "typescript",
4987  (function () {
4988    "use strict";
4989    const e = [
4990        "as",
4991        "in",
4992        "of",
4993        "if",
4994        "for",
4995        "while",
4996        "finally",
4997        "var",
4998        "new",
4999        "function",
5000        "do",
5001        "return",
5002        "void",
5003        "else",
5004        "break",
5005        "catch",
5006        "instanceof",
5007        "with",
5008        "throw",
5009        "case",
5010        "default",
5011        "try",
5012        "switch",
5013        "continue",
5014        "typeof",
5015        "delete",
5016        "let",
5017        "yield",
5018        "const",
5019        "class",
5020        "debugger",
5021        "async",
5022        "await",
5023        "static",
5024        "import",
5025        "from",
5026        "export",
5027        "extends",
5028      ],
5029      n = ["true", "false", "null", "undefined", "NaN", "Infinity"],
5030      a = [].concat(
5031        [
5032          "setInterval",
5033          "setTimeout",
5034          "clearInterval",
5035          "clearTimeout",
5036          "require",
5037          "exports",
5038          "eval",
5039          "isFinite",
5040          "isNaN",
5041          "parseFloat",
5042          "parseInt",
5043          "decodeURI",
5044          "decodeURIComponent",
5045          "encodeURI",
5046          "encodeURIComponent",
5047          "escape",
5048          "unescape",
5049        ],
5050        [
5051          "arguments",
5052          "this",
5053          "super",
5054          "console",
5055          "window",
5056          "document",
5057          "localStorage",
5058          "module",
5059          "global",
5060        ],
5061        [
5062          "Intl",
5063          "DataView",
5064          "Number",
5065          "Math",
5066          "Date",
5067          "String",
5068          "RegExp",
5069          "Object",
5070          "Function",
5071          "Boolean",
5072          "Error",
5073          "Symbol",
5074          "Set",
5075          "Map",
5076          "WeakSet",
5077          "WeakMap",
5078          "Proxy",
5079          "Reflect",
5080          "JSON",
5081          "Promise",
5082          "Float64Array",
5083          "Int16Array",
5084          "Int32Array",
5085          "Int8Array",
5086          "Uint16Array",
5087          "Uint32Array",
5088          "Float32Array",
5089          "Array",
5090          "Uint8Array",
5091          "Uint8ClampedArray",
5092          "ArrayBuffer",
5093        ],
5094        [
5095          "EvalError",
5096          "InternalError",
5097          "RangeError",
5098          "ReferenceError",
5099          "SyntaxError",
5100          "TypeError",
5101          "URIError",
5102        ]
5103      );
5104    return function (r) {
5105      var t = {
5106          $pattern: "[A-Za-z$_][0-9A-Za-z$_]*",
5107          keyword: e
5108            .concat([
5109              "type",
5110              "namespace",
5111              "typedef",
5112              "interface",
5113              "public",
5114              "private",
5115              "protected",
5116              "implements",
5117              "declare",
5118              "abstract",
5119              "readonly",
5120            ])
5121            .join(" "),
5122          literal: n.join(" "),
5123          built_in: a
5124            .concat([
5125              "any",
5126              "void",
5127              "number",
5128              "boolean",
5129              "string",
5130              "object",
5131              "never",
5132              "enum",
5133            ])
5134            .join(" "),
5135        },
5136        s = { className: "meta", begin: "@[A-Za-z$_][0-9A-Za-z$_]*" },
5137        i = {
5138          className: "number",
5139          variants: [
5140            { begin: "\\b(0[bB][01]+)n?" },
5141            { begin: "\\b(0[oO][0-7]+)n?" },
5142            { begin: r.C_NUMBER_RE + "n?" },
5143          ],
5144          relevance: 0,
5145        },
5146        o = {
5147          className: "subst",
5148          begin: "\\$\\{",
5149          end: "\\}",
5150          keywords: t,
5151          contains: [],
5152        },
5153        c = {
5154          begin: "html`",
5155          end: "",
5156          starts: {
5157            end: "`",
5158            returnEnd: !1,
5159            contains: [r.BACKSLASH_ESCAPE, o],
5160            subLanguage: "xml",
5161          },
5162        },
5163        l = {
5164          begin: "css`",
5165          end: "",
5166          starts: {
5167            end: "`",
5168            returnEnd: !1,
5169            contains: [r.BACKSLASH_ESCAPE, o],
5170            subLanguage: "css",
5171          },
5172        },
5173        E = {
5174          className: "string",
5175          begin: "`",
5176          end: "`",
5177          contains: [r.BACKSLASH_ESCAPE, o],
5178        };
5179      o.contains = [
5180        r.APOS_STRING_MODE,
5181        r.QUOTE_STRING_MODE,
5182        c,
5183        l,
5184        E,
5185        i,
5186        r.REGEXP_MODE,
5187      ];
5188      var d = {
5189          begin: "\\(",
5190          end: /\)/,
5191          keywords: t,
5192          contains: [
5193            "self",
5194            r.QUOTE_STRING_MODE,
5195            r.APOS_STRING_MODE,
5196            r.NUMBER_MODE,
5197          ],
5198        },
5199        u = {
5200          className: "params",
5201          begin: /\(/,
5202          end: /\)/,
5203          excludeBegin: !0,
5204          excludeEnd: !0,
5205          keywords: t,
5206          contains: [r.C_LINE_COMMENT_MODE, r.C_BLOCK_COMMENT_MODE, s, d],
5207        };
5208      return {
5209        name: "TypeScript",
5210        aliases: ["ts"],
5211        keywords: t,
5212        contains: [
5213          r.SHEBANG(),
5214          { className: "meta", begin: /^\s*['"]use strict['"]/ },
5215          r.APOS_STRING_MODE,
5216          r.QUOTE_STRING_MODE,
5217          c,
5218          l,
5219          E,
5220          r.C_LINE_COMMENT_MODE,
5221          r.C_BLOCK_COMMENT_MODE,
5222          i,
5223          {
5224            begin: "(" + r.RE_STARTERS_RE + "|\\b(case|return|throw)\\b)\\s*",
5225            keywords: "return throw case",
5226            contains: [
5227              r.C_LINE_COMMENT_MODE,
5228              r.C_BLOCK_COMMENT_MODE,
5229              r.REGEXP_MODE,
5230              {
5231                className: "function",
5232                begin:
5233                  "(\\([^(]*(\\([^(]*(\\([^(]*\\))?\\))?\\)|" +
5234                  r.UNDERSCORE_IDENT_RE +
5235                  ")\\s*=>",
5236                returnBegin: !0,
5237                end: "\\s*=>",
5238                contains: [
5239                  {
5240                    className: "params",
5241                    variants: [
5242                      { begin: r.UNDERSCORE_IDENT_RE },
5243                      { className: null, begin: /\(\s*\)/, skip: !0 },
5244                      {
5245                        begin: /\(/,
5246                        end: /\)/,
5247                        excludeBegin: !0,
5248                        excludeEnd: !0,
5249                        keywords: t,
5250                        contains: d.contains,
5251                      },
5252                    ],
5253                  },
5254                ],
5255              },
5256            ],
5257            relevance: 0,
5258          },
5259          {
5260            className: "function",
5261            beginKeywords: "function",
5262            end: /[\{;]/,
5263            excludeEnd: !0,
5264            keywords: t,
5265            contains: [
5266              "self",
5267              r.inherit(r.TITLE_MODE, { begin: "[A-Za-z$_][0-9A-Za-z$_]*" }),
5268              u,
5269            ],
5270            illegal: /%/,
5271            relevance: 0,
5272          },
5273          {
5274            beginKeywords: "constructor",
5275            end: /[\{;]/,
5276            excludeEnd: !0,
5277            contains: ["self", u],
5278          },
5279          { begin: /module\./, keywords: { built_in: "module" }, relevance: 0 },
5280          { beginKeywords: "module", end: /\{/, excludeEnd: !0 },
5281          {
5282            beginKeywords: "interface",
5283            end: /\{/,
5284            excludeEnd: !0,
5285            keywords: "interface extends",
5286          },
5287          { begin: /\$[(.]/ },
5288          { begin: "\\." + r.IDENT_RE, relevance: 0 },
5289          s,
5290          d,
5291        ],
5292      };
5293    };
5294  })()
5295);
5296hljs.registerLanguage(
5297  "plaintext",
5298  (function () {
5299    "use strict";
5300    return function (t) {
5301      return {
5302        name: "Plain text",
5303        aliases: ["text", "txt"],
5304        disableAutodetect: !0,
5305      };
5306    };
5307  })()
5308);
5309hljs.registerLanguage(
5310  "less",
5311  (function () {
5312    "use strict";
5313    return function (e) {
5314      var n = "([\\w-]+|@{[\\w-]+})",
5315        a = [],
5316        s = [],
5317        t = function (e) {
5318          return { className: "string", begin: "~?" + e + ".*?" + e };
5319        },
5320        r = function (e, n, a) {
5321          return { className: e, begin: n, relevance: a };
5322        },
5323        i = { begin: "\\(", end: "\\)", contains: s, relevance: 0 };
5324      s.push(
5325        e.C_LINE_COMMENT_MODE,
5326        e.C_BLOCK_COMMENT_MODE,
5327        t("'"),
5328        t('"'),
5329        e.CSS_NUMBER_MODE,
5330        {
5331          begin: "(url|data-uri)\\(",
5332          starts: { className: "string", end: "[\\)\\n]", excludeEnd: !0 },
5333        },
5334        r("number", "#[0-9A-Fa-f]+\\b"),
5335        i,
5336        r("variable", "@@?[\\w-]+", 10),
5337        r("variable", "@{[\\w-]+}"),
5338        r("built_in", "~?`[^`]*?`"),
5339        {
5340          className: "attribute",
5341          begin: "[\\w-]+\\s*:",
5342          end: ":",
5343          returnBegin: !0,
5344          excludeEnd: !0,
5345        },
5346        { className: "meta", begin: "!important" }
5347      );
5348      var c = s.concat({ begin: "{", end: "}", contains: a }),
5349        l = {
5350          beginKeywords: "when",
5351          endsWithParent: !0,
5352          contains: [{ beginKeywords: "and not" }].concat(s),
5353        },
5354        o = {
5355          begin: n + "\\s*:",
5356          returnBegin: !0,
5357          end: "[;}]",
5358          relevance: 0,
5359          contains: [
5360            {
5361              className: "attribute",
5362              begin: n,
5363              end: ":",
5364              excludeEnd: !0,
5365              starts: {
5366                endsWithParent: !0,
5367                illegal: "[<=$]",
5368                relevance: 0,
5369                contains: s,
5370              },
5371            },
5372          ],
5373        },
5374        g = {
5375          className: "keyword",
5376          begin:
5377            "@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",
5378          starts: { end: "[;{}]", returnEnd: !0, contains: s, relevance: 0 },
5379        },
5380        d = {
5381          className: "variable",
5382          variants: [
5383            { begin: "@[\\w-]+\\s*:", relevance: 15 },
5384            { begin: "@[\\w-]+" },
5385          ],
5386          starts: { end: "[;}]", returnEnd: !0, contains: c },
5387        },
5388        b = {
5389          variants: [
5390            { begin: "[\\.#:&\\[>]", end: "[;{}]" },
5391            { begin: n, end: "{" },
5392          ],
5393          returnBegin: !0,
5394          returnEnd: !0,
5395          illegal: "[<='$\"]",
5396          relevance: 0,
5397          contains: [
5398            e.C_LINE_COMMENT_MODE,
5399            e.C_BLOCK_COMMENT_MODE,
5400            l,
5401            r("keyword", "all\\b"),
5402            r("variable", "@{[\\w-]+}"),
5403            r("selector-tag", n + "%?", 0),
5404            r("selector-id", "#" + n),
5405            r("selector-class", "\\." + n, 0),
5406            r("selector-tag", "&", 0),
5407            { className: "selector-attr", begin: "\\[", end: "\\]" },
5408            {
5409              className: "selector-pseudo",
5410              begin: /:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/,
5411            },
5412            { begin: "\\(", end: "\\)", contains: c },
5413            { begin: "!important" },
5414          ],
5415        };
5416      return (
5417        a.push(e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE, g, d, o, b),
5418        {
5419          name: "Less",
5420          case_insensitive: !0,
5421          illegal: "[=>'/<($\"]",
5422          contains: a,
5423        }
5424      );
5425    };
5426  })()
5427);
5428hljs.registerLanguage(
5429  "lua",
5430  (function () {
5431    "use strict";
5432    return function (e) {
5433      var t = { begin: "\\[=*\\[", end: "\\]=*\\]", contains: ["self"] },
5434        a = [
5435          e.COMMENT("--(?!\\[=*\\[)", "$"),
5436          e.COMMENT("--\\[=*\\[", "\\]=*\\]", { contains: [t], relevance: 10 }),
5437        ];
5438      return {
5439        name: "Lua",
5440        keywords: {
5441          $pattern: e.UNDERSCORE_IDENT_RE,
5442          literal: "true false nil",
5443          keyword:
5444            "and break do else elseif end for goto if in local not or repeat return then until while",
5445          built_in:
5446            "_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove",
5447        },
5448        contains: a.concat([
5449          {
5450            className: "function",
5451            beginKeywords: "function",
5452            end: "\\)",
5453            contains: [
5454              e.inherit(e.TITLE_MODE, {
5455                begin: "([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*",
5456              }),
5457              {
5458                className: "params",
5459                begin: "\\(",
5460                endsWithParent: !0,
5461                contains: a,
5462              },
5463            ].concat(a),
5464          },
5465          e.C_NUMBER_MODE,
5466          e.APOS_STRING_MODE,
5467          e.QUOTE_STRING_MODE,
5468          {
5469            className: "string",
5470            begin: "\\[=*\\[",
5471            end: "\\]=*\\]",
5472            contains: [t],
5473            relevance: 5,
5474          },
5475        ]),
5476      };
5477    };
5478  })()
5479);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.