\n"
);
}),
(e.prototype.tablerow = function (e) {
return "
\n" + e + "
\n";
}),
(e.prototype.tablecell = function (e, t) {
var n = t.header ? "th" : "td";
return (
(t.align ? "<" + n + ' align="' + t.align + '">' : "<" + n + ">") +
e +
"" +
n +
">\n"
);
}),
(e.prototype.strong = function (e) {
return "" + e + "";
}),
(e.prototype.em = function (e) {
return "" + e + "";
}),
(e.prototype.codespan = function (e) {
return "" + e + "";
}),
(e.prototype.br = function () {
return this.options.xhtml ? " " : " ";
}),
(e.prototype.del = function (e) {
return "" + e + "";
}),
(e.prototype.link = function (e, t, n) {
if (null === (e = tn(this.options.sanitize, this.options.baseUrl, e)))
return n;
e = '" + n + "");
}),
(e.prototype.image = function (e, t, n) {
if (null === (e = tn(this.options.sanitize, this.options.baseUrl, e)))
return n;
n = '" : ">")
);
}),
(e.prototype.text = function (e) {
return e;
}),
e
);
})(),
on = (function () {
function e() {}
return (
(e.prototype.strong = function (e) {
return e;
}),
(e.prototype.em = function (e) {
return e;
}),
(e.prototype.codespan = function (e) {
return e;
}),
(e.prototype.del = function (e) {
return e;
}),
(e.prototype.html = function (e) {
return e;
}),
(e.prototype.text = function (e) {
return e;
}),
(e.prototype.link = function (e, t, n) {
return "" + n;
}),
(e.prototype.image = function (e, t, n) {
return "" + n;
}),
(e.prototype.br = function () {
return "";
}),
e
);
})(),
an = (function () {
function e() {
this.seen = {};
}
return (
(e.prototype.serialize = function (e) {
return e
.toLowerCase()
.trim()
.replace(/<[!\/a-z].*?>/gi, "")
.replace(
/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,
""
)
.replace(/\s/g, "-");
}),
(e.prototype.getNextSafeSlug = function (e, t) {
var n = e,
r = 0;
if (this.seen.hasOwnProperty(n))
for (
r = this.seen[e];
(n = e + "-" + ++r), this.seen.hasOwnProperty(n);
);
return t || ((this.seen[e] = r), (this.seen[n] = 0)), n;
}),
(e.prototype.slug = function (e, t) {
void 0 === t && (t = {});
var n = this.serialize(e);
return this.getNextSafeSlug(n, t.dryrun);
}),
e
);
})(),
sn = mt.defaults,
ln = zt,
cn = (function () {
function n(e) {
(this.options = e || sn),
(this.options.renderer = this.options.renderer || new rn()),
(this.renderer = this.options.renderer),
(this.renderer.options = this.options),
(this.textRenderer = new on()),
(this.slugger = new an());
}
return (
(n.parse = function (e, t) {
return new n(t).parse(e);
}),
(n.parseInline = function (e, t) {
return new n(t).parseInline(e);
}),
(n.prototype.parse = function (e, t) {
void 0 === t && (t = !0);
for (
var n,
r,
i,
o,
a,
s,
l,
c,
u,
p,
h,
d,
f,
g,
m,
v = "",
y = e.length,
b = 0;
b < y;
b++
)
switch ((c = e[b]).type) {
case "space":
continue;
case "hr":
v += this.renderer.hr();
continue;
case "heading":
v += this.renderer.heading(
this.parseInline(c.tokens),
c.depth,
ln(this.parseInline(c.tokens, this.textRenderer)),
this.slugger
);
continue;
case "code":
v += this.renderer.code(c.text, c.lang, c.escaped);
continue;
case "table":
for (s = u = "", i = c.header.length, n = 0; n < i; n++)
s += this.renderer.tablecell(
this.parseInline(c.tokens.header[n]),
{ header: !0, align: c.align[n] }
);
for (
u += this.renderer.tablerow(s),
l = "",
i = c.cells.length,
n = 0;
n < i;
n++
) {
for (
s = "", o = (a = c.tokens.cells[n]).length, r = 0;
r < o;
r++
)
s += this.renderer.tablecell(this.parseInline(a[r]), {
header: !1,
align: c.align[r],
});
l += this.renderer.tablerow(s);
}
v += this.renderer.table(u, l);
continue;
case "blockquote":
(l = this.parse(c.tokens)), (v += this.renderer.blockquote(l));
continue;
case "list":
for (
u = c.ordered,
k = c.start,
p = c.loose,
i = c.items.length,
l = "",
n = 0;
n < i;
n++
)
(f = (d = c.items[n]).checked),
(g = d.task),
(h = ""),
d.task &&
((m = this.renderer.checkbox(f)),
p
? 0 < d.tokens.length && "text" === d.tokens[0].type
? ((d.tokens[0].text = m + " " + d.tokens[0].text),
d.tokens[0].tokens &&
0 < d.tokens[0].tokens.length &&
"text" === d.tokens[0].tokens[0].type &&
(d.tokens[0].tokens[0].text =
m + " " + d.tokens[0].tokens[0].text))
: d.tokens.unshift({ type: "text", text: m })
: (h += m)),
(h += this.parse(d.tokens, p)),
(l += this.renderer.listitem(h, g, f));
v += this.renderer.list(l, u, k);
continue;
case "html":
v += this.renderer.html(c.text);
continue;
case "paragraph":
v += this.renderer.paragraph(this.parseInline(c.tokens));
continue;
case "text":
for (
l = c.tokens ? this.parseInline(c.tokens) : c.text;
b + 1 < y && "text" === e[b + 1].type;
)
l +=
"\n" +
((c = e[++b]).tokens ? this.parseInline(c.tokens) : c.text);
v += t ? this.renderer.paragraph(l) : l;
continue;
default:
var k = 'Token with "' + c.type + '" type was not found.';
if (this.options.silent) return void console.error(k);
throw new Error(k);
}
return v;
}),
(n.prototype.parseInline = function (e, t) {
t = t || this.renderer;
for (var n = "", r = e.length, i = 0; i < r; i++)
switch ((o = e[i]).type) {
case "escape":
n += t.text(o.text);
break;
case "html":
n += t.html(o.text);
break;
case "link":
n += t.link(o.href, o.title, this.parseInline(o.tokens, t));
break;
case "image":
n += t.image(o.href, o.title, o.text);
break;
case "strong":
n += t.strong(this.parseInline(o.tokens, t));
break;
case "em":
n += t.em(this.parseInline(o.tokens, t));
break;
case "codespan":
n += t.codespan(o.text);
break;
case "br":
n += t.br();
break;
case "del":
n += t.del(this.parseInline(o.tokens, t));
break;
case "text":
n += t.text(o.text);
break;
default:
var o = 'Token with "' + o.type + '" type was not found.';
if (this.options.silent) return void console.error(o);
throw new Error(o);
}
return n;
}),
n
);
})(),
un = Pt,
pn = ee,
hn = Lt,
Lt = mt.getDefaults,
dn = mt.changeDefaults,
mt = mt.defaults;
function fn(e, n, r) {
if (null == e)
throw new Error("marked(): input parameter is undefined or null");
if ("string" != typeof e)
throw new Error(
"marked(): input parameter is of type " +
Object.prototype.toString.call(e) +
", string expected"
);
if (
("function" == typeof n && ((r = n), (n = null)),
(n = un({}, fn.defaults, n || {})),
pn(n),
r)
) {
var i,
o = n.highlight;
try {
i = Jt.lex(e, n);
} catch (e) {
return r(e);
}
function a(t) {
var e;
if (!t)
try {
e = cn.parse(i, n);
} catch (e) {
t = e;
}
return (n.highlight = o), t ? r(t) : r(null, e);
}
if (!o || o.length < 3) return a();
if ((delete n.highlight, !i.length)) return a();
var s = 0;
return (
fn.walkTokens(i, function (n) {
"code" === n.type &&
(s++,
setTimeout(function () {
o(n.text, n.lang, function (e, t) {
return e
? a(e)
: (null != t &&
t !== n.text &&
((n.text = t), (n.escaped = !0)),
void (0 === --s && a()));
});
}, 0));
}),
void (0 === s && a())
);
}
try {
var t = Jt.lex(e, n);
return n.walkTokens && fn.walkTokens(t, n.walkTokens), cn.parse(t, n);
} catch (e) {
if (
((e.message +=
"\nPlease report this to https://github.com/markedjs/marked."),
n.silent)
)
return (
"
An error occurred:
" + hn(e.message + "", !0) + "
"
);
throw e;
}
}
(fn.options = fn.setOptions =
function (e) {
return un(fn.defaults, e), dn(fn.defaults), fn;
}),
(fn.getDefaults = Lt),
(fn.defaults = mt),
(fn.use = function (o) {
var t,
e = un({}, o);
if (o.renderer) {
var n,
a = fn.defaults.renderer || new rn();
for (n in o.renderer)
!(function (r) {
var i = a[r];
a[r] = function () {
for (var e = [], t = arguments.length; t--; ) e[t] = arguments[t];
var n = o.renderer[r].apply(a, e);
return !1 === n && (n = i.apply(a, e)), n;
};
})(n);
e.renderer = a;
}
if (o.tokenizer) {
var i,
s = fn.defaults.tokenizer || new Gt();
for (i in o.tokenizer)
!(function () {
var r = s[i];
s[i] = function () {
for (var e = [], t = arguments.length; t--; ) e[t] = arguments[t];
var n = o.tokenizer[i].apply(s, e);
return !1 === n && (n = r.apply(s, e)), n;
};
})();
e.tokenizer = s;
}
o.walkTokens &&
((t = fn.defaults.walkTokens),
(e.walkTokens = function (e) {
o.walkTokens(e), t && t(e);
})),
fn.setOptions(e);
}),
(fn.walkTokens = function (e, t) {
for (var n = 0, r = e; n < r.length; n += 1) {
var i = r[n];
switch ((t(i), i.type)) {
case "table":
for (var o = 0, a = i.tokens.header; o < a.length; o += 1) {
var s = a[o];
fn.walkTokens(s, t);
}
for (var l = 0, c = i.tokens.cells; l < c.length; l += 1)
for (var u = 0, p = c[l]; u < p.length; u += 1) {
var h = p[u];
fn.walkTokens(h, t);
}
break;
case "list":
fn.walkTokens(i.items, t);
break;
default:
i.tokens && fn.walkTokens(i.tokens, t);
}
}
}),
(fn.parseInline = function (e, t) {
if (null == e)
throw new Error(
"marked.parseInline(): input parameter is undefined or null"
);
if ("string" != typeof e)
throw new Error(
"marked.parseInline(): input parameter is of type " +
Object.prototype.toString.call(e) +
", string expected"
);
(t = un({}, fn.defaults, t || {})), pn(t);
try {
var n = Jt.lexInline(e, t);
return (
t.walkTokens && fn.walkTokens(n, t.walkTokens), cn.parseInline(n, t)
);
} catch (e) {
if (
((e.message +=
"\nPlease report this to https://github.com/markedjs/marked."),
t.silent)
)
return (
"
An error occurred:
" + hn(e.message + "", !0) + "
"
);
throw e;
}
}),
(fn.Parser = cn),
(fn.parser = cn.parse),
(fn.Renderer = rn),
(fn.TextRenderer = on),
(fn.Lexer = Jt),
(fn.lexer = Jt.lex),
(fn.Tokenizer = Gt),
(fn.Slugger = an);
var gn = (fn.parse = fn);
function mn(e, n) {
if (
(void 0 === n && (n = '
{inner}
'),
!e || !e.length)
)
return "";
var r = "";
return (
e.forEach(function (e) {
var t = e.title.replace(/(<([^>]+)>)/g, "");
(r +=
'
";
}
function yn(e, r) {
var i = [],
o = {};
return (
e.forEach(function (e) {
var t = e.level || 1,
n = t - 1;
r < t ||
(o[n] ? (o[n].children = (o[n].children || []).concat(e)) : i.push(e),
(o[t] = e));
}),
i
);
}
var bn = {},
kn = /[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g;
function wn(e) {
return e.toLowerCase();
}
function xn(e) {
if ("string" != typeof e) return "";
var t = e
.trim()
.replace(/[A-Z]+/g, wn)
.replace(/<[^>]+>/g, "")
.replace(kn, "")
.replace(/\s/g, "-")
.replace(/-+/g, "-")
.replace(/^(\d)/, "_$1"),
e = bn[t],
e = l.call(bn, t) ? e + 1 : 0;
return (bn[t] = e) && (t = t + "-" + e), t;
}
function _n(e, t) {
return (
''
);
}
function Sn(e) {
void 0 === e && (e = "");
var r = {};
return {
str: (e =
e &&
e
.replace(/^('|")/, "")
.replace(/('|")$/, "")
.replace(/(?:^|\s):([\w-]+:?)=?([\w-%]+)?/g, function (e, t, n) {
return -1 === t.indexOf(":")
? ((r[t] = (n && n.replace(/"/g, "")) || !0), "")
: e;
})
.trim()),
config: r,
};
}
function An(e) {
return void 0 === e && (e = ""), e.replace(/(<\/?a.*?>)/gi, "");
}
xn.clear = function () {
bn = {};
};
var Tn,
En = ft(function (e) {
var a,
s,
l,
c,
u,
r,
t,
i = (function (l) {
var c = /\blang(?:uage)?-([\w-]+)\b/i,
t = 0,
$ = {
manual: l.Prism && l.Prism.manual,
disableWorkerMessageHandler:
l.Prism && l.Prism.disableWorkerMessageHandler,
util: {
encode: function e(t) {
return t instanceof F
? new F(t.type, e(t.content), t.alias)
: Array.isArray(t)
? t.map(e)
: t
.replace(/&/g, "&")
.replace(/= a.reach);
y += v.value.length, v = v.next
) {
var b = v.value;
if (n.length > t.length) return;
if (!(b instanceof F)) {
var k,
w = 1;
if (f) {
if (!(k = C(m, y, t, d))) break;
var x = k.index,
_ = k.index + k[0].length,
S = y;
for (S += v.value.length; S <= x; )
(v = v.next), (S += v.value.length);
if (
((S -= v.value.length),
(y = S),
v.value instanceof F)
)
continue;
for (
var A = v;
A !== n.tail &&
(S < _ || "string" == typeof A.value);
A = A.next
)
w++, (S += A.value.length);
w--, (b = t.slice(y, S)), (k.index -= y);
} else if (!(k = C(m, 0, b, d))) continue;
var x = k.index,
T = k[0],
E = b.slice(0, x),
R = b.slice(x + T.length),
O = y + b.length;
a && O > a.reach && (a.reach = O);
var b = v.prev;
E && ((b = L(n, b, E)), (y += E.length)),
z(n, b, w);
var T = new F(s, h ? $.tokenize(T, h) : T, g, T);
(v = L(n, b, T)),
R && L(n, v, R),
1 < w &&
e(t, n, r, v.prev, y, {
cause: s + "," + c,
reach: O,
});
}
}
}
}
})(e, i, t, i.head, 0),
(function (e) {
var t = [],
n = e.head.next;
for (; n !== e.tail; ) t.push(n.value), (n = n.next);
return t;
})(i)
);
},
hooks: {
all: {},
add: function (e, t) {
var n = $.hooks.all;
(n[e] = n[e] || []), n[e].push(t);
},
run: function (e, t) {
var n = $.hooks.all[e];
if (n && n.length) for (var r, i = 0; (r = n[i++]); ) r(t);
},
},
Token: F,
};
function F(e, t, n, r) {
(this.type = e),
(this.content = t),
(this.alias = n),
(this.length = 0 | (r || "").length);
}
function C(e, t, n, r) {
e.lastIndex = t;
n = e.exec(n);
return (
n &&
r &&
n[1] &&
((r = n[1].length), (n.index += r), (n[0] = n[0].slice(r))),
n
);
}
function o() {
var e = { value: null, prev: null, next: null },
t = { value: null, prev: e, next: null };
(e.next = t), (this.head = e), (this.tail = t), (this.length = 0);
}
function L(e, t, n) {
var r = t.next,
n = { value: n, prev: t, next: r };
return (t.next = n), (r.prev = n), e.length++, n;
}
function z(e, t, n) {
for (var r = t.next, i = 0; i < n && r !== e.tail; i++) r = r.next;
((t.next = r).prev = t), (e.length -= i);
}
if (
((l.Prism = $),
(F.stringify = function t(e, n) {
if ("string" == typeof e) return e;
if (Array.isArray(e)) {
var r = "";
return (
e.forEach(function (e) {
r += t(e, n);
}),
r
);
}
var i = {
type: e.type,
content: t(e.content, n),
tag: "span",
classes: ["token", e.type],
attributes: {},
language: n,
},
e = e.alias;
e &&
(Array.isArray(e)
? Array.prototype.push.apply(i.classes, e)
: i.classes.push(e)),
$.hooks.run("wrap", i);
var o,
a = "";
for (o in i.attributes)
a +=
" " +
o +
'="' +
(i.attributes[o] || "").replace(/"/g, """) +
'"';
return (
"<" +
i.tag +
' class="' +
i.classes.join(" ") +
'"' +
a +
">" +
i.content +
"" +
i.tag +
">"
);
}),
!l.document)
)
return (
l.addEventListener &&
($.disableWorkerMessageHandler ||
l.addEventListener(
"message",
function (e) {
var t = JSON.parse(e.data),
n = t.language,
e = t.code,
t = t.immediateClose;
l.postMessage($.highlight(e, $.languages[n], n)),
t && l.close();
},
!1
)),
$
);
var e,
n = $.util.currentScript();
function r() {
$.manual || $.highlightAll();
}
return (
n &&
(($.filename = n.src),
n.hasAttribute("data-manual") && ($.manual = !0)),
$.manual ||
("loading" === (e = document.readyState) ||
("interactive" === e && n && n.defer)
? document.addEventListener("DOMContentLoaded", r)
: window.requestAnimationFrame
? window.requestAnimationFrame(r)
: window.setTimeout(r, 16)),
$
);
})(
"undefined" != typeof window
? window
: "undefined" != typeof WorkerGlobalScope &&
self instanceof WorkerGlobalScope
? self
: {}
);
function p(e, t) {
var n = (n = e.className).replace(r, " ") + " language-" + t;
e.className = n.replace(/\s+/g, " ").trim();
}
e.exports && (e.exports = i),
void 0 !== dt && (dt.Prism = i),
(i.languages.markup = {
comment: //,
prolog: /<\?[\s\S]+?\?>/,
doctype: {
pattern:
/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,
greedy: !0,
inside: {
"internal-subset": {
pattern: /(\[)[\s\S]+(?=\]>$)/,
lookbehind: !0,
greedy: !0,
inside: null,
},
string: { pattern: /"[^"]*"|'[^']*'/, greedy: !0 },
punctuation: /^$|[[\]]/,
"doctype-tag": /^DOCTYPE/,
name: /[^\s<>'"]+/,
},
},
cdata: //i,
tag: {
pattern:
/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,
greedy: !0,
inside: {
tag: {
pattern: /^<\/?[^\s>\/]+/,
inside: { punctuation: /^<\/?/, namespace: /^[^\s>\/:]+:/ },
},
"attr-value": {
pattern: /=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,
inside: {
punctuation: [{ pattern: /^=/, alias: "attr-equals" }, /"|'/],
},
},
punctuation: /\/?>/,
"attr-name": {
pattern: /[^\s>\/]+/,
inside: { namespace: /^[^\s>\/:]+:/ },
},
},
},
entity: [
{ pattern: /&[\da-z]{1,8};/i, alias: "named-entity" },
/?[\da-f]{1,8};/i,
],
}),
(i.languages.markup.tag.inside["attr-value"].inside.entity =
i.languages.markup.entity),
(i.languages.markup.doctype.inside["internal-subset"].inside =
i.languages.markup),
i.hooks.add("wrap", function (e) {
"entity" === e.type &&
(e.attributes.title = e.content.replace(/&/, "&"));
}),
Object.defineProperty(i.languages.markup.tag, "addInlined", {
value: function (e, t) {
var n = {};
(n["language-" + t] = {
pattern: /(^$)/i,
lookbehind: !0,
inside: i.languages[t],
}),
(n.cdata = /^$/i);
n = {
"included-cdata": {
pattern: //i,
inside: n,
},
};
n["language-" + t] = { pattern: /[\s\S]+/, inside: i.languages[t] };
t = {};
(t[e] = {
pattern: RegExp(
/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(
/__/g,
function () {
return e;
}
),
"i"
),
lookbehind: !0,
greedy: !0,
inside: n,
}),
i.languages.insertBefore("markup", "cdata", t);
},
}),
(i.languages.html = i.languages.markup),
(i.languages.mathml = i.languages.markup),
(i.languages.svg = i.languages.markup),
(i.languages.xml = i.languages.extend("markup", {})),
(i.languages.ssml = i.languages.xml),
(i.languages.atom = i.languages.xml),
(i.languages.rss = i.languages.xml),
(function (e) {
var t = /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;
(e.languages.css = {
comment: /\/\*[\s\S]*?\*\//,
atrule: {
pattern: /@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,
inside: {
rule: /^@[\w-]+/,
"selector-function-argument": {
pattern:
/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,
lookbehind: !0,
alias: "selector",
},
keyword: {
pattern: /(^|[^\w-])(?:and|not|only|or)(?![\w-])/,
lookbehind: !0,
},
},
},
url: {
pattern: RegExp(
"\\burl\\((?:" +
t.source +
"|" +
/(?:[^\\\r\n()"']|\\[\s\S])*/.source +
")\\)",
"i"
),
greedy: !0,
inside: {
function: /^url/i,
punctuation: /^\(|\)$/,
string: { pattern: RegExp("^" + t.source + "$"), alias: "url" },
},
},
selector: RegExp(
"[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|" +
t.source +
")*(?=\\s*\\{)"
),
string: { pattern: t, greedy: !0 },
property:
/(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,
important: /!important\b/i,
function: /[-a-z0-9]+(?=\()/i,
punctuation: /[(){};:,]/,
}),
(e.languages.css.atrule.inside.rest = e.languages.css);
t = e.languages.markup;
t &&
(t.tag.addInlined("style", "css"),
e.languages.insertBefore(
"inside",
"attr-value",
{
"style-attr": {
pattern: /(^|["'\s])style\s*=\s*(?:"[^"]*"|'[^']*')/i,
lookbehind: !0,
inside: {
"attr-value": {
pattern: /=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,
inside: {
style: {
pattern: /(["'])[\s\S]+(?=["']$)/,
lookbehind: !0,
alias: "language-css",
inside: e.languages.css,
},
punctuation: [
{ pattern: /^=/, alias: "attr-equals" },
/"|'/,
],
},
},
"attr-name": /^style/i,
},
},
},
t.tag
));
})(i),
(i.languages.clike = {
comment: [
{
pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,
lookbehind: !0,
greedy: !0,
},
{ pattern: /(^|[^\\:])\/\/.*/, lookbehind: !0, greedy: !0 },
],
string: {
pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
greedy: !0,
},
"class-name": {
pattern:
/(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i,
lookbehind: !0,
inside: { punctuation: /[.\\]/ },
},
keyword:
/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,
boolean: /\b(?:true|false)\b/,
function: /\w+(?=\()/,
number: /\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,
operator: /[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,
punctuation: /[{}[\];(),.:]/,
}),
(i.languages.javascript = i.languages.extend("clike", {
"class-name": [
i.languages.clike["class-name"],
{
pattern:
/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:prototype|constructor))/,
lookbehind: !0,
},
],
keyword: [
{ pattern: /((?:^|})\s*)(?:catch|finally)\b/, lookbehind: !0 },
{
pattern:
/(^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|(?:get|set)(?=\s*[\[$\w\xA0-\uFFFF])|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,
lookbehind: !0,
},
],
function:
/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,
number:
/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,
operator:
/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/,
})),
(i.languages.javascript["class-name"][0].pattern =
/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/),
i.languages.insertBefore("javascript", "keyword", {
regex: {
pattern:
/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,
lookbehind: !0,
greedy: !0,
inside: {
"regex-source": {
pattern: /^(\/)[\s\S]+(?=\/[a-z]*$)/,
lookbehind: !0,
alias: "language-regex",
inside: i.languages.regex,
},
"regex-flags": /[a-z]+$/,
"regex-delimiter": /^\/|\/$/,
},
},
"function-variable": {
pattern:
/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,
alias: "function",
},
parameter: [
{
pattern:
/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,
lookbehind: !0,
inside: i.languages.javascript,
},
{
pattern:
/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,
inside: i.languages.javascript,
},
{
pattern:
/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,
lookbehind: !0,
inside: i.languages.javascript,
},
{
pattern:
/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,
lookbehind: !0,
inside: i.languages.javascript,
},
],
constant: /\b[A-Z](?:[A-Z_]|\dx?)*\b/,
}),
i.languages.insertBefore("javascript", "string", {
"template-string": {
pattern:
/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,
greedy: !0,
inside: {
"template-punctuation": { pattern: /^`|`$/, alias: "string" },
interpolation: {
pattern:
/((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,
lookbehind: !0,
inside: {
"interpolation-punctuation": {
pattern: /^\${|}$/,
alias: "punctuation",
},
rest: i.languages.javascript,
},
},
string: /[\s\S]+/,
},
},
}),
i.languages.markup &&
i.languages.markup.tag.addInlined("script", "javascript"),
(i.languages.js = i.languages.javascript),
"undefined" != typeof self &&
self.Prism &&
self.document &&
(Element.prototype.matches ||
(Element.prototype.matches =
Element.prototype.msMatchesSelector ||
Element.prototype.webkitMatchesSelector),
(a = window.Prism),
(s = {
js: "javascript",
py: "python",
rb: "ruby",
ps1: "powershell",
psm1: "powershell",
sh: "bash",
bat: "batch",
h: "c",
tex: "latex",
}),
(u =
"pre[data-src]:not([" +
(l = "data-src-status") +
'="loaded"]):not([' +
l +
'="' +
(c = "loading") +
'"])'),
(r = /\blang(?:uage)?-([\w-]+)\b/i),
a.hooks.add("before-highlightall", function (e) {
e.selector += ", " + u;
}),
a.hooks.add("before-sanity-check", function (e) {
var t,
n,
r,
i,
o = e.element;
o.matches(u) &&
((e.code = ""),
o.setAttribute(l, c),
((t = o.appendChild(document.createElement("CODE"))).textContent =
"Loading…"),
(n = o.getAttribute("data-src")),
"none" === (e = e.language) &&
((r = (/\.(\w+)$/.exec(n) || [, "none"])[1]), (e = s[r] || r)),
p(t, e),
p(o, e),
(r = a.plugins.autoloader) && r.loadLanguages(e),
(i = new XMLHttpRequest()).open("GET", n, !0),
(i.onreadystatechange = function () {
4 == i.readyState &&
(i.status < 400 && i.responseText
? (o.setAttribute(l, "loaded"),
(t.textContent = i.responseText),
a.highlightElement(t))
: (o.setAttribute(l, "failed"),
400 <= i.status
? (t.textContent =
"✖ Error " +
i.status +
" while fetching file: " +
i.statusText)
: (t.textContent =
"✖ Error: File does not exist or is empty")));
}),
i.send(null));
}),
(t = !(a.plugins.fileHighlight = {
highlight: function (e) {
for (
var t, n = (e || document).querySelectorAll(u), r = 0;
(t = n[r++]);
)
a.highlightElement(t);
},
})),
(a.fileHighlight = function () {
t ||
(console.warn(
"Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."
),
(t = !0)),
a.plugins.fileHighlight.highlight.apply(this, arguments);
}));
});
function Rn(e, t) {
return "___" + e.toUpperCase() + t + "___";
}
(Tn = Prism),
Object.defineProperties((Tn.languages["markup-templating"] = {}), {
buildPlaceholders: {
value: function (r, i, e, o) {
var a;
r.language === i &&
((a = r.tokenStack = []),
(r.code = r.code.replace(e, function (e) {
if ("function" == typeof o && !o(e)) return e;
for (var t, n = a.length; -1 !== r.code.indexOf((t = Rn(i, n))); )
++n;
return (a[n] = e), t;
})),
(r.grammar = Tn.languages.markup));
},
},
tokenizePlaceholders: {
value: function (c, u) {
var p, h;
c.language === u &&
c.tokenStack &&
((c.grammar = Tn.languages[u]),
(p = 0),
(h = Object.keys(c.tokenStack)),
(function e(t) {
for (var n = 0; n < t.length && !(p >= h.length); n++) {
var r,
i,
o,
a,
s,
l = t[n];
"string" == typeof l ||
(l.content && "string" == typeof l.content)
? ((i = h[p]),
(o = c.tokenStack[i]),
(r = "string" == typeof l ? l : l.content),
(s = Rn(u, i)),
-1 < (a = r.indexOf(s)) &&
(++p,
(i = r.substring(0, a)),
(o = new Tn.Token(
u,
Tn.tokenize(o, c.grammar),
"language-" + u,
o
)),
(a = r.substring(a + s.length)),
(s = []),
i && s.push.apply(s, e([i])),
s.push(o),
a && s.push.apply(s, e([a])),
"string" == typeof l
? t.splice.apply(t, [n, 1].concat(s))
: (l.content = s)))
: l.content && e(l.content);
}
return t;
})(c.tokens));
},
},
});
function On(i, e) {
var o = this;
(this.config = i),
(this.router = e),
(this.cacheTree = {}),
(this.toc = []),
(this.cacheTOC = {}),
(this.linkTarget = i.externalLinkTarget || "_blank"),
(this.linkRel =
"_blank" === this.linkTarget ? i.externalLinkRel || "noopener" : ""),
(this.contentBase = e.getBasePath());
var t = this._initRenderer();
this.heading = t.heading;
var a = r((e = i.markdown || {}))
? e(gn, t)
: (gn.setOptions(y(e, { renderer: y(t, e.renderer) })), gn);
(this._marked = a),
(this.compile = function (n) {
var r = !0,
e = s(function (e) {
r = !1;
var t = "";
return n
? ((t = c(n) ? a(n) : a.parser(n)),
(t = i.noEmoji
? t
: t
.replace(/:\+1:/g, ":thumbsup:")
.replace(/:-1:/g, ":thumbsdown:")
.replace(
/<(pre|template|code)[^>]*?>[\s\S]+?<\/(pre|template|code)>/g,
function (e) {
return e.replace(/:/g, "__colon__");
}
)
.replace(/:(\w+?):/gi, window.emojify || _n)
.replace(/__colon__/g, ":")),
xn.clear(),
t)
: n;
})(n),
t = o.router.parse().file;
return (
r ? (o.toc = o.cacheTOC[t]) : (o.cacheTOC[t] = [].concat(o.toc)), e
);
});
}
var $n = {},
Fn = {
markdown: function (e) {
return { url: e };
},
mermaid: function (e) {
return { url: e };
},
iframe: function (e, t) {
return {
html:
'",
};
},
video: function (e, t) {
return {
html:
'",
};
},
audio: function (e, t) {
return {
html:
'",
};
},
code: function (e, t) {
var n = e.match(/\.(\w+)$/);
return (
"md" === (n = t || (n && n[1])) && (n = "markdown"),
{ url: e, lang: n }
);
},
};
(On.prototype.compileEmbed = function (e, t) {
var n,
r,
i = Sn(t),
o = i.str,
i = i.config;
if (((t = o), i.include))
return (
O(e) || (e = N(this.contentBase, F(this.router.getCurrentPath()), e)),
i.type && (r = Fn[i.type])
? ((n = r.call(this, e, t)).type = i.type)
: ((r = "code"),
/\.(md|markdown)/.test(e)
? (r = "markdown")
: /\.mmd/.test(e)
? (r = "mermaid")
: /\.html?/.test(e)
? (r = "iframe")
: /\.(mp4|ogg)/.test(e)
? (r = "video")
: /\.mp3/.test(e) && (r = "audio"),
((n = Fn[r].call(this, e, t)).type = r)),
(n.fragment = i.fragment),
n
);
}),
(On.prototype._matchNotCompileLink = function (e) {
for (var t = this.config.noCompileLinks || [], n = 0; n < t.length; n++) {
var r = t[n];
if (($n[r] || ($n[r] = new RegExp("^" + r + "$"))).test(e)) return e;
}
}),
(On.prototype._initRenderer = function () {
var a,
s,
l,
c,
u,
p,
e = new gn.Renderer(),
t = this.linkTarget,
n = this.linkRel,
o = this.router,
r = this.contentBase,
h = this,
i = {};
return (
(i.heading = e.heading =
function (e, t) {
var n = Sn(e),
r = n.str,
i = n.config,
e = { level: t, title: An(r) };
//g.test(r) &&
((r = r.replace("\x3c!-- {docsify-ignore} --\x3e", "")),
(e.title = An(r)),
(e.ignoreSubHeading = !0)),
/{docsify-ignore}/g.test(r) &&
((r = r.replace("{docsify-ignore}", "")),
(e.title = An(r)),
(e.ignoreSubHeading = !0)),
//g.test(r) &&
((r = r.replace("\x3c!-- {docsify-ignore-all} --\x3e", "")),
(e.title = An(r)),
(e.ignoreAllSubs = !0)),
/{docsify-ignore-all}/g.test(r) &&
((r = r.replace("{docsify-ignore-all}", "")),
(e.title = An(r)),
(e.ignoreAllSubs = !0));
(n = xn(i.id || r)), (i = o.toURL(o.getCurrentPath(), { id: n }));
return (
(e.slug = i),
h.toc.push(e),
"' +
r +
""
);
}),
(i.code = { renderer: e }.renderer.code =
function (e, t) {
void 0 === t && (t = "markup");
var n = En.languages[t] || En.languages.markup;
return (
'
' +
En.highlight(e.replace(/@DOCSIFY_QM@/g, "`"), n, t) +
"
"
);
}),
(i.link =
((n = (t = {
renderer: e,
router: o,
linkTarget: t,
linkRel: n,
compilerClass: h,
}).renderer),
(a = t.router),
(s = t.linkTarget),
(l = t.linkRel),
(c = t.compilerClass),
(n.link = function (e, t, n) {
void 0 === t && (t = "");
var r = [],
i = Sn(t),
o = i.str,
i = i.config;
return (
(s = i.target || s),
(l =
"_blank" === s ? c.config.externalLinkRel || "noopener" : ""),
(t = o),
O(e) || c._matchNotCompileLink(e) || i.ignore
? (O(e) ||
"./" !== e.slice(0, 2) ||
(e =
document.URL.replace(/\/(?!.*\/).*/, "/").replace(
"#/./",
""
) + e),
r.push(
0 === e.indexOf("mailto:") ? "" : 'target="' + s + '"'
),
r.push(
0 !== e.indexOf("mailto:") && "" !== l
? ' rel="' + l + '"'
: ""
))
: (e === c.config.homepage && (e = "README"),
(e = a.toURL(e, null, a.getCurrentPath()))),
i.crossorgin &&
"_self" === s &&
"history" === c.config.routerMode &&
-1 === c.config.crossOriginLinks.indexOf(e) &&
c.config.crossOriginLinks.push(e),
i.disabled && (r.push("disabled"), (e = "javascript:void(0)")),
i.class && r.push('class="' + i.class + '"'),
i.id && r.push('id="' + i.id + '"'),
t && r.push('title="' + t + '"'),
'" + n + ""
);
}))),
(i.paragraph = { renderer: e }.renderer.paragraph =
function (e) {
e = /^!>/.test(e)
? vn("tip", e)
: /^\?>/.test(e)
? vn("warn", e)
: "
" + e + "
";
return e;
}),
(i.image =
((r = (n = { renderer: e, contentBase: r, router: o }).renderer),
(u = n.contentBase),
(p = n.router),
(r.image = function (e, t, n) {
var r = e,
i = [],
o = Sn(t),
a = o.str,
o = o.config;
return (
(t = a),
o["no-zoom"] && i.push("data-no-zoom"),
t && i.push('title="' + t + '"'),
o.size &&
((t = (a = o.size.split("x"))[0]),
(a = a[1])
? i.push('width="' + t + '" height="' + a + '"')
: i.push('width="' + t + '"')),
o.class && i.push('class="' + o.class + '"'),
o.id && i.push('id="' + o.id + '"'),
O(e) || (r = N(u, F(p.getCurrentPath()), e)),
0 < i.length
? '"
: '"
);
}))),
(i.list = { renderer: e }.renderer.list =
function (e, t, n) {
t = t ? "ol" : "ul";
return (
"<" +
t +
" " +
[
/
/.test(
e.split('class="task-list"')[0]
)
? 'class="task-list"'
: "",
n && 1 < n ? 'start="' + n + '"' : "",
]
.join(" ")
.trim() +
">" +
e +
"" +
t +
">"
);
}),
(i.listitem = { renderer: e }.renderer.listitem =
function (e) {
return /^(]*>)/.test(e)
? '"
: "
" + e + "
";
}),
(e.origin = i),
e
);
}),
(On.prototype.sidebar = function (e, t) {
var n = this.toc,
r = this.router.getCurrentPath(),
i = "";
if (e) i = this.compile(e);
else {
for (var o = 0; o < n.length; o++)
if (n[o].ignoreSubHeading) {
var a = n[o].level;
n.splice(o, 1);
for (var s = o; s < n.length && a < n[s].level; s++)
n.splice(s, 1) && s-- && o++;
o--;
}
(t = this.cacheTree[r] || yn(n, t)), (i = mn(t, "
{inner}
"));
this.cacheTree[r] = t;
}
return i;
}),
(On.prototype.subSidebar = function (e) {
if (e) {
var t = this.router.getCurrentPath(),
n = this.cacheTree,
r = this.toc;
r[0] && r[0].ignoreAllSubs && r.splice(0),
r[0] && 1 === r[0].level && r.shift();
for (var i = 0; i < r.length; i++)
r[i].ignoreSubHeading && r.splice(i, 1) && i--;
e = n[t] || yn(r, e);
return (n[t] = e), (this.toc = []), mn(e);
}
this.toc = [];
}),
(On.prototype.header = function (e, t) {
return this.heading(e, t);
}),
(On.prototype.article = function (e) {
return this.compile(e);
}),
(On.prototype.cover = function (e) {
var t = this.toc.slice(),
e = this.compile(e);
return (this.toc = t.slice()), e;
});
var Cn,
Ln = function (e) {
var t = (function (e) {
e = e.match(/^[ \t]*(?=\S)/gm);
return e
? e.reduce(function (e, t) {
return Math.min(e, t.length);
}, 1 / 0)
: 0;
})(e);
if (0 === t) return e;
t = new RegExp("^[ \\t]{" + t + "}", "gm");
return e.replace(t, "");
},
zn = {};
function Nn(e, r) {
var o = e.compiler,
i = e.raw;
void 0 === i && (i = "");
var t = e.fetch,
e = zn[i];
if (e) {
var n = e.slice();
return (n.links = e.links), r(n);
}
var n = o._marked,
a = n.lexer(i),
s = [],
l = n.Lexer.rules.inline.link,
c = a.links;
a.forEach(function (e, i) {
"paragraph" === e.type &&
(e.text = e.text.replace(
new RegExp(l.source, "g"),
function (e, t, n, r) {
r = o.compileEmbed(n, r);
return r && s.push({ index: i, embed: r }), e;
}
));
});
var u = [];
!(function (e, o) {
var t,
n = e.embedTokens,
a = e.compile,
s = (e.fetch, 0),
l = 1;
if (!n.length) return o({});
for (; (t = n[s++]); ) {
var r = (function (i) {
return function (e) {
var t, n, r;
e &&
("markdown" === i.embed.type
? ((n = i.embed.url.split("/")).pop(),
(n = n.join("/")),
(e = e.replace(/\[([^[\]]+)\]\(([^)]+)\)/g, function (e) {
var t = e.indexOf("(");
return "(." === e.slice(t, t + 2)
? e.substring(0, t) +
"(" +
window.location.protocol +
"//" +
window.location.host +
n +
"/" +
e.substring(t + 1, e.length - 1) +
")"
: e;
})),
!0 === (($docsify.frontMatter || {}).installed || !1) &&
(e = $docsify.frontMatter.parseMarkdown(e)),
(t = a.lexer(e)))
: "code" === i.embed.type
? (i.embed.fragment &&
((r = i.embed.fragment),
(r = new RegExp(
"(?:###|\\/\\/\\/)\\s*\\[" +
r +
"\\]([\\s\\S]*)(?:###|\\/\\/\\/)\\s*\\[" +
r +
"\\]"
)),
(e = Ln((e.match(r) || [])[1] || "").trim())),
(t = a.lexer(
"```" +
i.embed.lang +
"\n" +
e.replace(/`/g, "@DOCSIFY_QM@") +
"\n```\n"
)))
: "mermaid" === i.embed.type
? ((t = [
{
type: "html",
text: '
\n' + e + "\n
",
},
]).links = {})
: ((t = [{ type: "html", text: e }]).links = {})),
o({ token: i, embedToken: t }),
++l >= s && o({});
};
})(t);
t.embed.url ? ce(t.embed.url).then(r) : r(t.embed.html);
}
})({ compile: n, embedTokens: s, fetch: t }, function (e) {
var t,
n = e.embedToken,
e = e.token;
e
? ((t = e.index),
u.forEach(function (e) {
t > e.start && (t += e.length);
}),
y(c, n.links),
(a = a.slice(0, t).concat(n, a.slice(t + 1))),
u.push({ start: t, length: n.length - 1 }))
: ((zn[i] = a.concat()), (a.links = zn[i].links = c), r(a));
});
}
function Mn(e, t, n) {
var r, i, o, a;
return (
(t =
"function" == typeof n
? n(t)
: "string" == typeof n
? ((o = []),
(a = 0),
(r = n).replace(B, function (t, e, n) {
o.push(r.substring(a, n - 1)),
(a = n += t.length + 1),
o.push(
(i && i[t]) ||
function (e) {
return (
"00" + ("string" == typeof Z[t] ? e[Z[t]]() : Z[t](e))
).slice(-t.length);
}
);
}),
a !== r.length && o.push(r.substring(a)),
(function (e) {
for (var t = "", n = 0, r = e || new Date(); n < o.length; n++)
t += "string" == typeof o[n] ? o[n] : o[n](r);
return t;
})(new Date(t)))
: t),
e.replace(/{docsify-updated}/g, t)
);
}
function Dn(e) {
function t(e) {
var t = Boolean(e.__vue__ && e.__vue__._isVue),
e = Boolean(e._vnode && e._vnode.__v_skip);
return t || e;
}
var n = this.config,
r = b(".markdown-section"),
i =
"Vue" in window &&
window.Vue.version &&
Number(window.Vue.version.charAt(0));
if (((e = e || "
404 - Not found
"), "Vue" in window))
for (
var o = 0, a = k(".markdown-section > *").filter(t);
o < a.length;
o += 1
) {
var s = a[o];
2 === i ? s.__vue__.$destroy() : 3 === i && s.__vue_app__.unmount();
}
if (
(this._renderTo(r, e),
n.loadSidebar || this._renderSidebar(),
(n.executeScript || ("Vue" in window && !1 !== n.executeScript)) &&
(!(e = k(".markdown-section>script").filter(function (e) {
return !/template/.test(e.type);
})[0]) ||
((e = e.innerText.trim()) && new Function(e)())),
"Vue" in window)
) {
var l,
c,
u = [],
p = Object.keys(n.vueComponents || {});
2 === i &&
p.length &&
p.forEach(function (e) {
window.Vue.options.components[e] ||
window.Vue.component(e, n.vueComponents[e]);
}),
!Cn &&
n.vueGlobalOptions &&
"function" == typeof n.vueGlobalOptions.data &&
(Cn = n.vueGlobalOptions.data()),
u.push.apply(
u,
Object.keys(n.vueMounts || {})
.map(function (e) {
return [b(r, e), n.vueMounts[e]];
})
.filter(function (e) {
var t = e[0];
e[1];
return t;
})
),
(n.vueGlobalOptions || p.length) &&
((l = /{{2}[^{}]*}{2}/),
(c = /<[^>/]+\s([@:]|v-)[\w-:.[\]]+[=>\s]/),
u.push.apply(
u,
k(".markdown-section > *")
.filter(function (n) {
return !u.some(function (e) {
var t = e[0];
e[1];
return t === n;
});
})
.filter(function (e) {
return (
e.tagName.toLowerCase() in (n.vueComponents || {}) ||
e.querySelector(p.join(",") || null) ||
l.test(e.outerHTML) ||
c.test(e.outerHTML)
);
})
.map(function (e) {
var t = y({}, n.vueGlobalOptions || {});
return (
Cn &&
(t.data = function () {
return Cn;
}),
[e, t]
);
})
));
for (var h = 0, d = u; h < d.length; h += 1) {
var f,
g = d[h],
m = g[0],
v = g[1],
g = "data-isvue";
m.matches("pre, script") ||
t(m) ||
m.querySelector("[" + g + "]") ||
(m.setAttribute(g, ""),
2 === i
? ((v.el = void 0), new window.Vue(v).$mount(m))
: 3 === i &&
((f = window.Vue.createApp(v)),
p.forEach(function (e) {
var t = n.vueComponents[e];
f.component(e, t);
}),
f.mount(m)));
}
}
}
function Pn(t, n, r, i, o, e) {
(t = e ? t : t.replace(/\/$/, "")),
(t = F(t)) &&
ce(o.router.getFile(t + r) + n, !1, o.config.requestHeaders).then(
i,
function (e) {
return Pn(t, n, r, i, o);
}
);
}
var In = Object.freeze({
__proto__: null,
cached: s,
hyphenate: o,
hasOwn: l,
merge: y,
isPrimitive: c,
noop: u,
isFn: r,
isExternal: p,
inBrowser: !0,
isMobile: h,
supportsPushState: i,
parseQuery: E,
stringifyQuery: R,
isAbsolutePath: O,
removeParams: $,
getParentPath: F,
cleanPath: C,
resolvePath: L,
getPath: N,
replaceSlug: M,
endsWith: D,
});
var jn,
Hn,
qn = (function (e) {
function t() {
e.call(this),
(this.config = we(this)),
this.initLifecycle(),
this.initPlugin(),
this.callHook("init"),
this.initRouter(),
this.initRender(),
this.initEvent(),
this.initFetch(),
this.callHook("mounted");
}
return (
e && (t.__proto__ = e),
(((t.prototype = Object.create(e && e.prototype)).constructor =
t).prototype.initPlugin = function () {
var t = this;
[].concat(this.config.plugins).forEach(function (e) {
return r(e) && e(t._lifecycle, t);
});
}),
t
);
})(
((Hn = Object),
(function (e) {
function t() {
e.apply(this, arguments);
}
return (
e && (t.__proto__ = e),
(((t.prototype = Object.create(e && e.prototype)).constructor =
t).prototype._loadSideAndNav = function (e, t, n, r) {
var i = this;
return function () {
if (!n) return r();
Pn(
e,
t,
n,
function (e) {
i._renderSidebar(e), r();
},
i,
!0
);
};
}),
(t.prototype._fetch = function (n) {
var r = this;
void 0 === n && (n = u);
var i,
e,
t,
o,
a,
s = this.route.query,
l = this.route.path;
p(l)
? (history.replaceState(null, "", "#"), this.router.normalize())
: ((i = R(s, ["id"])),
(t = (e = this.config).loadNavbar),
(s = e.requestHeaders),
(o = e.loadSidebar),
(a = this.router.getFile(l)),
(s = Un(a + i, 0, s)),
(this.isRemoteUrl = p(a)),
(this.isHTML = /\.html$/g.test(a)),
s.then(
function (e, t) {
return r._renderMain(e, t, r._loadSideAndNav(l, i, o, n));
},
function (e) {
r._fetchFallbackPage(l, i, n) || r._fetch404(a, i, n);
}
),
t &&
Pn(
l,
i,
t,
function (e) {
return r._renderNav(e);
},
this,
!0
));
}),
(t.prototype._fetchCover = function () {
var t = this,
e = this.config,
n = e.coverpage,
r = e.requestHeaders,
i = this.route.query,
o = F(this.route.path);
if (n) {
var a = null,
e = this.route.path;
"string" == typeof n
? "/" === e && (a = n)
: (a = Array.isArray(n)
? -1 < n.indexOf(e) && "_coverpage"
: !0 === (e = n[e])
? "_coverpage"
: e);
var s = Boolean(a) && this.config.onlyCover;
return (
a
? ((a = this.router.getFile(o + a)),
(this.coverIsHTML = /\.html$/g.test(a)),
ce(a + R(i, ["id"]), !1, r).then(function (e) {
return t._renderCover(e, s);
}))
: this._renderCover(null, s),
s
);
}
}),
(t.prototype.$fetch = function (e, t) {
var n = this;
void 0 === e && (e = u),
void 0 === t && (t = this.$resetEvents.bind(this));
function r() {
n.callHook("doneEach"), e();
}
this._fetchCover()
? r()
: this._fetch(function () {
t(), r();
});
}),
(t.prototype._fetchFallbackPage = function (n, r, i) {
var o = this;
void 0 === i && (i = u);
var e = this.config,
t = e.requestHeaders,
a = e.fallbackLanguages,
s = e.loadSidebar;
if (!a) return !1;
e = n.split("/")[1];
if (-1 === a.indexOf(e)) return !1;
e = this.router.getFile(n.replace(new RegExp("^/" + e), ""));
return (
Un(e + r, 0, t).then(
function (e, t) {
return o._renderMain(e, t, o._loadSideAndNav(n, r, s, i));
},
function () {
return o._fetch404(n, r, i);
}
),
!0
);
}),
(t.prototype._fetch404 = function (e, t, n) {
var r = this;
void 0 === n && (n = u);
var i = this.config,
o = i.loadSidebar,
a = i.requestHeaders,
i = i.notFoundPage,
s = this._loadSideAndNav(e, t, o, n);
if (i) {
e = (function (t, e) {
var n,
r = e.notFoundPage,
i = "_404" + (e.ext || ".md");
switch (typeof r) {
case "boolean":
n = i;
break;
case "string":
n = r;
break;
case "object":
n =
((e = Object.keys(r)
.sort(function (e, t) {
return t.length - e.length;
})
.filter(function (e) {
return t.match(new RegExp("^" + e));
})[0]) &&
r[e]) ||
i;
}
return n;
})(e, this.config);
return (
Un(this.router.getFile(e), 0, a).then(
function (e, t) {
return r._renderMain(e, t, s);
},
function () {
return r._renderMain(null, {}, s);
}
),
!0
);
}
return this._renderMain(null, {}, s), !1;
}),
(t.prototype.initFetch = function () {
var e,
t = this,
n = this.config.loadSidebar;
this.rendered
? ((e = de(this.router, ".sidebar-nav", !0, !0)),
n && e && (e.parentNode.innerHTML += window.__SUB_SIDEBAR__),
this._bindEventOnRendered(e),
this.$resetEvents(),
this.callHook("doneEach"),
this.callHook("ready"))
: this.$fetch(function (e) {
return t.callHook("ready");
});
}),
t
);
})(
(function (e) {
function t() {
e.apply(this, arguments);
}
return (
e && (t.__proto__ = e),
(((t.prototype = Object.create(e && e.prototype)).constructor =
t).prototype.$resetEvents = function (e) {
var t = this,
n = this.config.auto2top;
"history" !== e &&
(t.route.query.id && Oe(t.route.path, t.route.query.id),
"navigate" === e &&
n &&
(void 0 === (n = n) && (n = 0),
($e.scrollTop = !0 === n ? 0 : Number(n)))),
this.config.loadNavbar && de(this.router, "nav");
}),
(t.prototype.initEvent = function () {
function t(e) {
return g.classList.toggle("close");
}
var e;
(e = "button.sidebar-toggle"),
this.router,
null != (e = d(e)) &&
(x(e, "click", function (e) {
e.stopPropagation(), t();
}),
h &&
x(g, "click", function (e) {
return g.classList.contains("close") && t();
})),
(e = ".sidebar"),
this.router,
null != (e = d(e)) &&
x(e, "click", function (e) {
e = e.target;
"A" === e.nodeName &&
e.nextSibling &&
e.nextSibling.classList &&
e.nextSibling.classList.contains("app-sub-sidebar") &&
S(e.parentNode, "collapse");
}),
this.config.coverpage
? h || x("scroll", he)
: g.classList.add("sticky");
}),
t
);
})(
(function (e) {
function t() {
e.apply(this, arguments);
}
return (
e && (t.__proto__ = e),
(((t.prototype = Object.create(e && e.prototype)).constructor =
t).prototype._renderTo = function (e, t, n) {
e = d(e);
e && (e[n ? "outerHTML" : "innerHTML"] = t);
}),
(t.prototype._renderSidebar = function (e) {
var t = this.config,
n = t.maxLevel,
r = t.subMaxLevel,
i = t.loadSidebar;
if (t.hideSidebar)
return (
[
document.querySelector("aside.sidebar"),
document.querySelector("button.sidebar-toggle"),
].forEach(function (e) {
return e.parentNode.removeChild(e);
}),
(document.querySelector("section.content").style.right =
"unset"),
(document.querySelector("section.content").style.left =
"unset"),
(document.querySelector("section.content").style.position =
"relative"),
(document.querySelector("section.content").style.width =
"100%"),
null
);
this._renderTo(".sidebar-nav", this.compiler.sidebar(e, n));
n = de(this.router, ".sidebar-nav", !0, !0);
i && n
? (n.parentNode.innerHTML +=
this.compiler.subSidebar(r) || "")
: this.compiler.subSidebar(),
this._bindEventOnRendered(n);
}),
(t.prototype._bindEventOnRendered = function (e) {
var t,
n = this.config.autoHeader;
!(function (e) {
var t = b(".cover.show");
Te = t ? t.offsetHeight : 0;
var t = d(".sidebar"),
n = [];
null != t && (n = k(t, "li"));
for (var r, i = 0, o = n.length; i < o; i += 1) {
var a,
s,
l = n[i],
c = l.querySelector("a");
c &&
("/" !== (a = c.getAttribute("href")) &&
((c = (s = e.parse(a)).query.id),
(s = s.path),
c && (a = Re(s, c))),
a && (xe[decodeURIComponent(a)] = l));
}
h ||
((r = $(e.getCurrentPath())),
_("scroll", function () {
return Ee(r);
}),
x("scroll", function () {
return Ee(r);
}),
x(t, "mouseover", function () {
_e = !0;
}),
x(t, "mouseleave", function () {
_e = !1;
}));
})(this.router),
n &&
e &&
(n = (t = d("#main")).children[0]) &&
"H1" !== n.tagName &&
w(
t,
v("div", this.compiler.header(e.innerText, 1)).children[0]
);
}),
(t.prototype._renderNav = function (e) {
e && this._renderTo("nav", this.compiler.compile(e)),
this.config.loadNavbar && de(this.router, "nav");
}),
(t.prototype._renderMain = function (r, i, o) {
var a = this;
if ((void 0 === i && (i = {}), !r)) return Dn.call(this, r);
this.callHook("beforeEach", r, function (e) {
function t() {
i.updatedAt &&
(n = Mn(n, i.updatedAt, a.config.formatUpdated)),
a.callHook("afterEach", n, function (e) {
return Dn.call(a, e);
});
}
var n;
a.isHTML
? ((n = a.result = r), t(), o())
: Nn({ compiler: a.compiler, raw: e }, function (e) {
(n = a.compiler.compile(e)),
(n = a.isRemoteUrl
? ae.sanitize(n, { ADD_TAGS: ["script"] })
: n),
t(),
o();
});
});
}),
(t.prototype._renderCover = function (e, t) {
var n,
r = d(".cover");
S(d("main"), t ? "add" : "remove", "hidden"),
e
? (S(r, "add", "show"),
(t = (n = this.coverIsHTML ? e : this.compiler.cover(e))
.trim()
.match(
'
([^<]*?)
$'
)) &&
("color" === t[2]
? (r.style.background = t[1] + (t[3] || ""))
: ((e = t[1]),
S(r, "add", "has-mask"),
O(t[1]) || (e = N(this.router.getBasePath(), t[1])),
(r.style.backgroundImage = "url(" + e + ")"),
(r.style.backgroundSize = "cover"),
(r.style.backgroundPosition = "center center")),
(n = n.replace(t[0], ""))),
this._renderTo(".cover-main", n),
he())
: S(r, "remove", "show");
}),
(t.prototype._updateRender = function () {
var e, t, n, r;
(e = this),
(t = d(".app-name-link")),
(n = e.config.nameLink),
(r = e.route.path),
t &&
(c(e.config.nameLink)
? t.setAttribute("href", n)
: "object" == typeof n &&
((e = Object.keys(n).filter(function (e) {
return -1 < r.indexOf(e);
})[0]),
t.setAttribute("href", n[e])));
}),
(t.prototype.initRender = function () {
var e = this.config;
(this.compiler = new On(e, this.router)),
(window.__current_docsify_compiler__ = this.compiler);
var t,
n,
r,
i,
o,
a = e.el || "#app",
s = b("nav") || v("nav"),
l = b(a),
c = "",
u = g;
l
? (e.repo &&
(c +=
((i = e.repo),
(a = e.cornerExternalLinkTarge),
i
? (/\/\//.test(i) || (i = "https://github.com/" + i),
'')
: "")),
e.coverpage &&
(c +=
((r = ", 100%, 85%"),
'
\x3c!--cover--\x3e
')),
e.logo &&
((r = /^data:image/.test(e.logo)),
(t = /(?:http[s]?:)?\/\//.test(e.logo)),
(n = /^\./.test(e.logo)),
r ||
t ||
n ||
(e.logo = N(this.router.getBasePath(), e.logo))),
(c +=
((n = (t = e).name ? t.name : ""),
"" +
('') +
'\x3c!--main--\x3e')),
this._renderTo(l, c, !0))
: (this.rendered = !0),
e.mergeNavbar && h
? (u = b(".sidebar"))
: (s.classList.add("app-nav"),
e.repo || s.classList.add("no-badge")),
e.loadNavbar && w(u, s),
e.themeColor &&
(f.head.appendChild(
v(
"div",
""
).firstElementChild
),
(o = e.themeColor),
(window.CSS &&
window.CSS.supports &&
window.CSS.supports("(--v:red)")) ||
((e = k("style:not(.inserted),link")),
[].forEach.call(e, function (e) {
if ("STYLE" === e.nodeName) ue(e, o);
else if ("LINK" === e.nodeName) {
e = e.getAttribute("href");
if (!/\.css$/.test(e)) return;
ce(e).then(function (e) {
e = v("style", e);
m.appendChild(e), ue(e, o);
});
}
}))),
this._updateRender(),
S(g, "ready");
}),
t
);
})(
(function (n) {
function e() {
for (var e = [], t = arguments.length; t--; )
e[t] = arguments[t];
n.apply(this, e), (this.route = {});
}
return (
n && (e.__proto__ = n),
(((e.prototype = Object.create(n && n.prototype)).constructor =
e).prototype.updateRender = function () {
this.router.normalize(),
(this.route = this.router.parse()),
g.setAttribute("data-page", this.route.file);
}),
(e.prototype.initRouter = function () {
var t = this,
e = this.config,
e = new (
"history" === (e.routerMode || "hash") && i ? q : H
)(e);
(this.router = e),
this.updateRender(),
(U = this.route),
e.onchange(function (e) {
t.updateRender(),
t._updateRender(),
U.path !== t.route.path
? (t.$fetch(u, t.$resetEvents.bind(t, e.source)),
(U = t.route))
: t.$resetEvents(e.source);
});
}),
e
);
})(
(function (e) {
function t() {
e.apply(this, arguments);
}
return (
e && (t.__proto__ = e),
(((t.prototype = Object.create(
e && e.prototype
)).constructor = t).prototype.initLifecycle = function () {
var n = this;
(this._hooks = {}),
(this._lifecycle = {}),
[
"init",
"mounted",
"beforeEach",
"afterEach",
"doneEach",
"ready",
].forEach(function (e) {
var t = (n._hooks[e] = []);
n._lifecycle[e] = function (e) {
return t.push(e);
};
});
}),
(t.prototype.callHook = function (e, n, r) {
void 0 === r && (r = u);
var i = this._hooks[e],
o = function (t) {
var e = i[t];
t >= i.length
? r(n)
: "function" == typeof e
? 2 === e.length
? e(n, function (e) {
(n = e), o(t + 1);
})
: ((e = e(n)), (n = void 0 === e ? n : e), o(t + 1))
: o(t + 1);
};
o(0);
}),
t
);
})(Hn)
)
)
)
))
);
function Un(e, t, n) {
return jn && jn.abort && jn.abort(), (jn = ce(e, !0, n));
}
(window.Docsify = {
util: In,
dom: t,
get: ce,
slugify: xn,
version: "4.12.2",
}),
(window.DocsifyCompiler = On),
(window.marked = gn),
(window.Prism = En),
e(function (e) {
return new qn();
});
})();