!(function (n) { function e(n) { return ( (n = n.replace(//g, function () { return '(?:\\\\.|[^\\\\\n\r]|(?:\n|\r\n?)(?![\r\n]))'; })), RegExp('((?:^|[^\\\\])(?:\\\\{2})*)(?:' + n + ')') ); } var t = '(?:\\\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\\\|\r\n`])+', a = '\\|?__(?:\\|__)+\\|?(?:(?:\n|\r\n?)|(?![^]))'.replace( /__/g, function () { return t; } ), i = '\\|?[ \t]*:?-{3,}:?[ \t]*(?:\\|[ \t]*:?-{3,}:?[ \t]*)+\\|?(?:\n|\r\n?)'; (n.languages.markdown = n.languages.extend('markup', {})), n.languages.insertBefore('markdown', 'prolog', { 'front-matter-block': { pattern: /(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/, lookbehind: !0, greedy: !0, inside: { punctuation: /^---|---$/, 'front-matter': { pattern: /\S+(?:\s+\S+)*/, alias: ['yaml', 'language-yaml'], inside: n.languages.yaml, }, }, }, blockquote: { pattern: /^>(?:[\t ]*>)*/m, alias: 'punctuation' }, table: { pattern: RegExp('^' + a + i + '(?:' + a + ')*', 'm'), inside: { 'table-data-rows': { pattern: RegExp('^(' + a + i + ')(?:' + a + ')*$'), lookbehind: !0, inside: { 'table-data': { pattern: RegExp(t), inside: n.languages.markdown, }, punctuation: /\|/, }, }, 'table-line': { pattern: RegExp('^(' + a + ')' + i + '$'), lookbehind: !0, inside: { punctuation: /\||:?-{3,}:?/ }, }, 'table-header-row': { pattern: RegExp('^' + a + '$'), inside: { 'table-header': { pattern: RegExp(t), alias: 'important', inside: n.languages.markdown, }, punctuation: /\|/, }, }, }, }, code: [ { pattern: /((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/, lookbehind: !0, alias: 'keyword', }, { pattern: /^```[\s\S]*?^```$/m, greedy: !0, inside: { 'code-block': { pattern: /^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m, lookbehind: !0, }, 'code-language': { pattern: /^(```).+/, lookbehind: !0 }, punctuation: /```/, }, }, ], title: [ { pattern: /\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m, alias: 'important', inside: { punctuation: /==+$|--+$/ }, }, { pattern: /(^\s*)#.+/m, lookbehind: !0, alias: 'important', inside: { punctuation: /^#+|#+$/ }, }, ], hr: { pattern: /(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m, lookbehind: !0, alias: 'punctuation', }, list: { pattern: /(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m, lookbehind: !0, alias: 'punctuation', }, 'url-reference': { pattern: /!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/, inside: { variable: { pattern: /^(!?\[)[^\]]+/, lookbehind: !0 }, string: /(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/, punctuation: /^[\[\]!:]|[<>]/, }, alias: 'url', }, bold: { pattern: e( '\\b__(?:(?!_)|_(?:(?!_))+_)+__\\b|\\*\\*(?:(?!\\*)|\\*(?:(?!\\*))+\\*)+\\*\\*' ), lookbehind: !0, greedy: !0, inside: { content: { pattern: /(^..)[\s\S]+(?=..$)/, lookbehind: !0, inside: {}, }, punctuation: /\*\*|__/, }, }, italic: { pattern: e( '\\b_(?:(?!_)|__(?:(?!_))+__)+_\\b|\\*(?:(?!\\*)|\\*\\*(?:(?!\\*))+\\*\\*)+\\*' ), lookbehind: !0, greedy: !0, inside: { content: { pattern: /(^.)[\s\S]+(?=.$)/, lookbehind: !0, inside: {} }, punctuation: /[*_]/, }, }, strike: { pattern: e('(~~?)(?:(?!~))+\\2'), lookbehind: !0, greedy: !0, inside: { content: { pattern: /(^~~?)[\s\S]+(?=\1$)/, lookbehind: !0, inside: {}, }, punctuation: /~~?/, }, }, 'code-snippet': { pattern: /(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/, lookbehind: !0, greedy: !0, alias: ['code', 'keyword'], }, url: { pattern: e( '!?\\[(?:(?!\\]))+\\](?:\\([^\\s)]+(?:[\t ]+"(?:\\\\.|[^"\\\\])*")?\\)|[ \t]?\\[(?:(?!\\]))+\\])' ), lookbehind: !0, greedy: !0, inside: { operator: /^!/, content: { pattern: /(^\[)[^\]]+(?=\])/, lookbehind: !0, inside: {} }, variable: { pattern: /(^\][ \t]?\[)[^\]]+(?=\]$)/, lookbehind: !0 }, url: { pattern: /(^\]\()[^\s)]+/, lookbehind: !0 }, string: { pattern: /(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/, lookbehind: !0, }, }, }, }), ['url', 'bold', 'italic', 'strike'].forEach(function (e) { ['url', 'bold', 'italic', 'strike', 'code-snippet'].forEach(function (t) { e !== t && (n.languages.markdown[e].inside.content.inside[t] = n.languages.markdown[t]); }); }), n.hooks.add('after-tokenize', function (n) { ('markdown' !== n.language && 'md' !== n.language) || (function n(e) { if (e && 'string' != typeof e) for (var t = 0, a = e.length; t < a; t++) { var i = e[t]; if ('code' === i.type) { var r = i.content[1], o = i.content[3]; if ( r && o && 'code-language' === r.type && 'code-block' === o.type && 'string' == typeof r.content ) { var l = r.content .replace(/\b#/g, 'sharp') .replace(/\b\+\+/g, 'pp'), s = 'language-' + (l = (/[a-z][\w-]*/i.exec(l) || [''])[0].toLowerCase()); o.alias ? 'string' == typeof o.alias ? (o.alias = [o.alias, s]) : o.alias.push(s) : (o.alias = [s]); } } else n(i.content); } })(n.tokens); }), n.hooks.add('wrap', function (e) { if ('code-block' === e.type) { for (var t = '', a = 0, i = e.classes.length; a < i; a++) { var s = e.classes[a], d = /language-(.+)/.exec(s); if (d) { t = d[1]; break; } } var p = n.languages[t]; if (p) e.content = n.highlight( e.content .replace(r, '') .replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi, function (n, e) { var t; return '#' === (e = e.toLowerCase())[0] ? ((t = 'x' === e[1] ? parseInt(e.slice(2), 16) : Number(e.slice(1))), l(t)) : o[e] || n; }), p, t ); else if (t && 'none' !== t && n.plugins.autoloader) { var u = 'md-' + new Date().valueOf() + '-' + Math.floor(1e16 * Math.random()); (e.attributes.id = u), n.plugins.autoloader.loadLanguages(t, function () { var e = document.getElementById(u); e && (e.innerHTML = n.highlight(e.textContent, n.languages[t], t)); }); } } }); var r = RegExp(n.languages.markup.tag.pattern.source, 'gi'), o = { amp: '&', lt: '<', gt: '>', quot: '"' }, l = String.fromCodePoint || String.fromCharCode; n.languages.md = n.languages.markdown; })(Prism);