{"version":3,"sources":["webpack:///./node_modules/core-js/internals/string-trim-forced.js","webpack:///./node_modules/marked/lib/marked.umd.js","webpack:///./node_modules/dompurify/dist/purify.js","webpack:///./node_modules/core-js/modules/es.string.trim.js","webpack:///./node_modules/core-js/modules/es.regexp.constructor.js"],"names":["fails","whitespaces","module","exports","METHOD_NAME","name","factory","_typeof","Symbol","iterator","obj","constructor","prototype","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_arrayLikeToArray","arr","len","arr2","Array","_createForOfIteratorHelperLoose","o","allowArrayLike","it","call","next","bind","isArray","minLen","n","toString","slice","from","test","_unsupportedIterableToArray","done","value","TypeError","getDefaults","baseUrl","breaks","extensions","gfm","headerIds","headerPrefix","highlight","langPrefix","mangle","pedantic","renderer","sanitize","sanitizer","silent","smartLists","smartypants","tokenizer","walkTokens","xhtml","defaults","escapeTest","escapeReplace","escapeTestNoEncode","escapeReplaceNoEncode","escapeReplacements","getEscapeReplacement","ch","escape","html","encode","replace","unescapeTest","unescape","_","toLowerCase","charAt","String","fromCharCode","parseInt","substring","caret","edit","regex","opt","source","val","getRegex","RegExp","nonWordAndColonTest","originIndependentUrl","cleanUrl","base","href","prot","decodeURIComponent","e","indexOf","baseUrls","justDomain","rtrim","relativeBase","protocol","domain","resolveUrl","encodeURI","noopTest","exec","merge","arguments","hasOwnProperty","splitCells","tableRow","count","cells","match","offset","str","escaped","curr","split","trim","shift","pop","splice","push","c","invert","l","suffLen","currChar","substr","checkSanitizeDeprecation","console","warn","repeatString","pattern","result","outputLink","cap","link","raw","lexer","title","text","state","inLink","token","type","tokens","inlineTokens","Tokenizer","options","this","_proto","space","src","rules","block","newline","code","codeBlockStyle","fences","matchIndentToCode","indentToCode","map","node","matchIndentInNode","join","indentCodeCompensation","lang","heading","trimmed","depth","inline","hr","blockquote","blockTokens","list","istask","ischecked","indent","blankLine","endsWithBlankLine","line","nextLine","rawLine","itemContents","endEarly","bull","isordered","ordered","start","loose","items","itemRegex","trimLeft","search","nextBulletRegex","Math","min","task","checked","trimRight","top","spacers","filter","t","hasMultipleLineBreaks","every","_step","lineBreaks","_iterator","pre","def","tag","table","item","header","align","rows","j","k","row","lheading","paragraph","inRawBlock","trimmedUrl","rtrimSlash","lastParenIndex","b","level","findClosingBracket","linkLen","_escapes","reflink","links","nolink","emStrong","maskedSrc","prevChar","lDelim","nextChar","punctuation","rDelim","rLength","lLength","delimTotal","midDelimTotal","endReg","rDelimAst","rDelimUnd","lastIndex","_text","index","codespan","hasNonSpaceChars","hasSpaceCharsOnBothEnds","br","del","autolink","url","prevCapZero","_backpedal","inlineText","_paragraph","_label","_title","bullet","listItemStart","_tag","_comment","normal","reflinkSearch","out","charCodeAt","random","_punctuation","blockSkip","escapedEmSt","_scheme","_email","_attribute","_href","strong","middle","endAst","endUnd","em","_extended_email","Lexer","create","inlineQueue","lex","lexInline","Constructor","protoProps","staticProps","lastToken","cutSrc","lastParagraphClipped","_this","some","extTokenizer","startBlock","startIndex","Infinity","tempSrc","tempStart","forEach","getStartIndex","errMsg","error","Error","_this2","keepPrevChar","keys","includes","lastIndexOf","startInline","get","Renderer","_code","infostring","quote","_html","slugger","slug","body","listitem","checkbox","tablerow","content","tablecell","flags","image","TextRenderer","Slugger","seen","serialize","getNextSafeSlug","originalSlug","isDryRun","occurenceAccumulator","dryrun","Parser","textRenderer","parse","parseInline","l2","l3","cell","itemBody","ret","renderers","parser","unshift","marked","callback","err","pending","setTimeout","_tokens","message","setOptions","newDefaults","use","_len","args","_key","hasExtensions","opts","apply","concat","childTokens","pack","ext","prevRenderer","_len2","_key2","_loop","prop","_len3","_key3","_loop2","prevTokenizer","_len4","_key4","_walkTokens","_loop3","_step2","_iterator2","_step3","_iterator3","_step4","_iterator4","_cell","_typeof2","setPrototypeOf","isFrozen","getPrototypeOf","getOwnPropertyDescriptor","freeze","seal","_ref","Reflect","construct","fun","thisValue","x","Func","Function","_toConsumableArray","func","arrayForEach","unapply","arrayPop","arrayPush","stringToLowerCase","stringMatch","stringReplace","stringIndexOf","stringTrim","regExpTest","typeErrorCreate","thisArg","addToSet","set","array","element","lcElement","clone","object","newObject","property","lookupGetter","desc","svg","svgFilters","svgDisallowed","mathMl","mathMlDisallowed","html$1","svg$1","mathMl$1","xml","MUSTACHE_EXPR","ERB_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","_toConsumableArray$1","getGlobal","window","_createTrustedTypesPolicy","trustedTypes","document","createPolicy","suffix","ATTR_NAME","currentScript","hasAttribute","getAttribute","policyName","createHTML","html$$1","purify","createDOMPurify","undefined","DOMPurify","root","version","removed","nodeType","isSupported","originalDocument","DocumentFragment","HTMLTemplateElement","Node","Element","NodeFilter","_window$NamedNodeMap","NamedNodeMap","MozNamedAttrMap","Text","Comment","DOMParser","ElementPrototype","cloneNode","getNextSibling","getChildNodes","getParentNode","template","createElement","ownerDocument","trustedTypesPolicy","emptyHTML","RETURN_TRUSTED_TYPE","_document","implementation","createNodeIterator","getElementsByTagName","createDocumentFragment","importNode","documentMode","hooks","createHTMLDocument","MUSTACHE_EXPR$$1","ERB_EXPR$$1","DATA_ATTR$$1","ARIA_ATTR$$1","IS_SCRIPT_OR_DATA$$1","ATTR_WHITESPACE$$1","IS_ALLOWED_URI$$1","ALLOWED_TAGS","DEFAULT_ALLOWED_TAGS","ALLOWED_ATTR","DEFAULT_ALLOWED_ATTR","FORBID_TAGS","FORBID_ATTR","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","SAFE_FOR_TEMPLATES","WHOLE_DOCUMENT","SET_CONFIG","FORCE_BODY","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_DOM_IMPORT","SANITIZE_DOM","KEEP_CONTENT","IN_PLACE","USE_PROFILES","FORBID_CONTENTS","DATA_URI_TAGS","DEFAULT_DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","CONFIG","formElement","_parseConfig","cfg","ADD_URI_SAFE_ATTR","ADD_DATA_URI_TAGS","ALLOWED_URI_REGEXP","ADD_TAGS","ADD_ATTR","tbody","MATHML_TEXT_INTEGRATION_POINTS","HTML_INTEGRATION_POINTS","ALL_SVG_TAGS","ALL_MATHML_TAGS","MATHML_NAMESPACE","SVG_NAMESPACE","HTML_NAMESPACE","_checkValidNamespace","parent","tagName","namespaceURI","parentTagName","Boolean","commonSvgAndHTMLElements","_forceRemove","parentNode","removeChild","outerHTML","remove","_removeAttribute","attribute","getAttributeNode","removeAttribute","setAttribute","_initDocument","dirty","doc","leadingWhitespace","matches","dirtyPayload","parseFromString","documentElement","firstElementChild","insertBefore","createTextNode","childNodes","_createIterator","SHOW_ELEMENT","SHOW_COMMENT","SHOW_TEXT","FILTER_ACCEPT","_isClobbered","elm","nodeName","textContent","attributes","_isNode","_executeHook","entryPoint","currentNode","data","hook","_sanitizeElements","allowedTags","innerHTML","_isValidAttribute","lcTag","lcName","_sanitizeAttributes","attr","hookEvent","attrName","attrValue","keepAttr","allowedAttributes","_attr","forceKeepAttr","setAttributeNS","_sanitizeShadowDOM","fragment","shadowNode","shadowIterator","nextNode","importedNode","oldNode","returnNode","toStaticHTML","appendChild","firstChild","nodeIterator","serializedHTML","setConfig","clearConfig","isValidAttribute","addHook","hookFunction","removeHook","removeHooks","removeAllHooks","$","$trim","proto","forced","forcedStringTrimMethod","DESCRIPTORS","global","isForced","inheritIfRequired","f","getOwnPropertyNames","isRegExp","getFlags","stickyHelpers","redefine","enforceInternalState","enforce","setSpecies","MATCH","wellKnownSymbol","NativeRegExp","RegExpPrototype","re1","re2","CORRECT_NEW","UNSUPPORTED_Y","RegExpWrapper","sticky","thisIsRegExp","patternIsRegExp","flagsAreUndefined","proxy"],"mappings":"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","file":"js/0-8ecaf312c1b3af6d44f9.chunk.js","sourcesContent":["var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/**\n * marked - a markdown parser\n * Copyright (c) 2011-2022, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n/**\n * DO NOT EDIT THIS FILE\n * The code in this file is generated from files in ./src/\n */\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.marked = {}));\n})(this, function (exports) {\n 'use strict';\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n }\n\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n\n function _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it) return (it = it.call(o)).next.bind(it);\n\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n function getDefaults() {\n return {\n baseUrl: null,\n breaks: false,\n extensions: null,\n gfm: true,\n headerIds: true,\n headerPrefix: '',\n highlight: null,\n langPrefix: 'language-',\n mangle: true,\n pedantic: false,\n renderer: null,\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartLists: false,\n smartypants: false,\n tokenizer: null,\n walkTokens: null,\n xhtml: false\n };\n }\n\n exports.defaults = getDefaults();\n\n function changeDefaults(newDefaults) {\n exports.defaults = newDefaults;\n }\n /**\n * Helpers\n */\n\n\n var escapeTest = /[&<>\"']/;\n var escapeReplace = /[&<>\"']/g;\n var escapeTestNoEncode = /[<>\"']|&(?!#?\\w+;)/;\n var escapeReplaceNoEncode = /[<>\"']|&(?!#?\\w+;)/g;\n var escapeReplacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n };\n\n var getEscapeReplacement = function getEscapeReplacement(ch) {\n return escapeReplacements[ch];\n };\n\n function escape(html, encode) {\n if (encode) {\n if (escapeTest.test(html)) {\n return html.replace(escapeReplace, getEscapeReplacement);\n }\n } else {\n if (escapeTestNoEncode.test(html)) {\n return html.replace(escapeReplaceNoEncode, getEscapeReplacement);\n }\n }\n\n return html;\n }\n\n var unescapeTest = /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig;\n\n function unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(unescapeTest, function (_, n) {\n n = n.toLowerCase();\n if (n === 'colon') return ':';\n\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x' ? String.fromCharCode(parseInt(n.substring(2), 16)) : String.fromCharCode(+n.substring(1));\n }\n\n return '';\n });\n }\n\n var caret = /(^|[^\\[])\\^/g;\n\n function edit(regex, opt) {\n regex = regex.source || regex;\n opt = opt || '';\n var obj = {\n replace: function replace(name, val) {\n val = val.source || val;\n val = val.replace(caret, '$1');\n regex = regex.replace(name, val);\n return obj;\n },\n getRegex: function getRegex() {\n return new RegExp(regex, opt);\n }\n };\n return obj;\n }\n\n var nonWordAndColonTest = /[^\\w:]/g;\n var originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\n\n function cleanUrl(sanitize, base, href) {\n if (sanitize) {\n var prot;\n\n try {\n prot = decodeURIComponent(unescape(href)).replace(nonWordAndColonTest, '').toLowerCase();\n } catch (e) {\n return null;\n }\n\n if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {\n return null;\n }\n }\n\n if (base && !originIndependentUrl.test(href)) {\n href = resolveUrl(base, href);\n }\n\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n } catch (e) {\n return null;\n }\n\n return href;\n }\n\n var baseUrls = {};\n var justDomain = /^[^:]+:\\/*[^/]*$/;\n var protocol = /^([^:]+:)[\\s\\S]*$/;\n var domain = /^([^:]+:\\/*[^/]*)[\\s\\S]*$/;\n\n function resolveUrl(base, href) {\n if (!baseUrls[' ' + base]) {\n // we can ignore everything in base after the last slash of its path component,\n // but we might need to add _that_\n // https://tools.ietf.org/html/rfc3986#section-3\n if (justDomain.test(base)) {\n baseUrls[' ' + base] = base + '/';\n } else {\n baseUrls[' ' + base] = rtrim(base, '/', true);\n }\n }\n\n base = baseUrls[' ' + base];\n var relativeBase = base.indexOf(':') === -1;\n\n if (href.substring(0, 2) === '//') {\n if (relativeBase) {\n return href;\n }\n\n return base.replace(protocol, '$1') + href;\n } else if (href.charAt(0) === '/') {\n if (relativeBase) {\n return href;\n }\n\n return base.replace(domain, '$1') + href;\n } else {\n return base + href;\n }\n }\n\n var noopTest = {\n exec: function noopTest() {}\n };\n\n function merge(obj) {\n var i = 1,\n target,\n key;\n\n for (; i < arguments.length; i++) {\n target = arguments[i];\n\n for (key in target) {\n if (Object.prototype.hasOwnProperty.call(target, key)) {\n obj[key] = target[key];\n }\n }\n }\n\n return obj;\n }\n\n function splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n var row = tableRow.replace(/\\|/g, function (match, offset, str) {\n var escaped = false,\n curr = offset;\n\n while (--curr >= 0 && str[curr] === '\\\\') {\n escaped = !escaped;\n }\n\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n } else {\n // add space before unescaped |\n return ' |';\n }\n }),\n cells = row.split(/ \\|/);\n var i = 0; // First/last cell in a row cannot be empty if it has no leading/trailing pipe\n\n if (!cells[0].trim()) {\n cells.shift();\n }\n\n if (!cells[cells.length - 1].trim()) {\n cells.pop();\n }\n\n if (cells.length > count) {\n cells.splice(count);\n } else {\n while (cells.length < count) {\n cells.push('');\n }\n }\n\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n\n return cells;\n } // Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n // /c*$/ is vulnerable to REDOS.\n // invert: Remove suffix of non-c chars instead. Default falsey.\n\n\n function rtrim(str, c, invert) {\n var l = str.length;\n\n if (l === 0) {\n return '';\n } // Length of suffix matching the invert condition.\n\n\n var suffLen = 0; // Step left until we fail to match the invert condition.\n\n while (suffLen < l) {\n var currChar = str.charAt(l - suffLen - 1);\n\n if (currChar === c && !invert) {\n suffLen++;\n } else if (currChar !== c && invert) {\n suffLen++;\n } else {\n break;\n }\n }\n\n return str.substr(0, l - suffLen);\n }\n\n function findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n\n var l = str.length;\n var level = 0,\n i = 0;\n\n for (; i < l; i++) {\n if (str[i] === '\\\\') {\n i++;\n } else if (str[i] === b[0]) {\n level++;\n } else if (str[i] === b[1]) {\n level--;\n\n if (level < 0) {\n return i;\n }\n }\n }\n\n return -1;\n }\n\n function checkSanitizeDeprecation(opt) {\n if (opt && opt.sanitize && !opt.silent) {\n console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options');\n }\n } // copied from https://stackoverflow.com/a/5450113/806777\n\n\n function repeatString(pattern, count) {\n if (count < 1) {\n return '';\n }\n\n var result = '';\n\n while (count > 1) {\n if (count & 1) {\n result += pattern;\n }\n\n count >>= 1;\n pattern += pattern;\n }\n\n return result + pattern;\n }\n\n function outputLink(cap, link, raw, lexer) {\n var href = link.href;\n var title = link.title ? escape(link.title) : null;\n var text = cap[1].replace(/\\\\([\\[\\]])/g, '$1');\n\n if (cap[0].charAt(0) !== '!') {\n lexer.state.inLink = true;\n var token = {\n type: 'link',\n raw: raw,\n href: href,\n title: title,\n text: text,\n tokens: lexer.inlineTokens(text, [])\n };\n lexer.state.inLink = false;\n return token;\n } else {\n return {\n type: 'image',\n raw: raw,\n href: href,\n title: title,\n text: escape(text)\n };\n }\n }\n\n function indentCodeCompensation(raw, text) {\n var matchIndentToCode = raw.match(/^(\\s+)(?:```)/);\n\n if (matchIndentToCode === null) {\n return text;\n }\n\n var indentToCode = matchIndentToCode[1];\n return text.split('\\n').map(function (node) {\n var matchIndentInNode = node.match(/^\\s+/);\n\n if (matchIndentInNode === null) {\n return node;\n }\n\n var indentInNode = matchIndentInNode[0];\n\n if (indentInNode.length >= indentToCode.length) {\n return node.slice(indentToCode.length);\n }\n\n return node;\n }).join('\\n');\n }\n /**\n * Tokenizer\n */\n\n\n var Tokenizer = /*#__PURE__*/function () {\n function Tokenizer(options) {\n this.options = options || exports.defaults;\n }\n\n var _proto = Tokenizer.prototype;\n\n _proto.space = function space(src) {\n var cap = this.rules.block.newline.exec(src);\n\n if (cap && cap[0].length > 0) {\n return {\n type: 'space',\n raw: cap[0]\n };\n }\n };\n\n _proto.code = function code(src) {\n var cap = this.rules.block.code.exec(src);\n\n if (cap) {\n var text = cap[0].replace(/^ {1,4}/gm, '');\n return {\n type: 'code',\n raw: cap[0],\n codeBlockStyle: 'indented',\n text: !this.options.pedantic ? rtrim(text, '\\n') : text\n };\n }\n };\n\n _proto.fences = function fences(src) {\n var cap = this.rules.block.fences.exec(src);\n\n if (cap) {\n var raw = cap[0];\n var text = indentCodeCompensation(raw, cap[3] || '');\n return {\n type: 'code',\n raw: raw,\n lang: cap[2] ? cap[2].trim() : cap[2],\n text: text\n };\n }\n };\n\n _proto.heading = function heading(src) {\n var cap = this.rules.block.heading.exec(src);\n\n if (cap) {\n var text = cap[2].trim(); // remove trailing #s\n\n if (/#$/.test(text)) {\n var trimmed = rtrim(text, '#');\n\n if (this.options.pedantic) {\n text = trimmed.trim();\n } else if (!trimmed || / $/.test(trimmed)) {\n // CommonMark requires space before trailing #s\n text = trimmed.trim();\n }\n }\n\n var token = {\n type: 'heading',\n raw: cap[0],\n depth: cap[1].length,\n text: text,\n tokens: []\n };\n this.lexer.inline(token.text, token.tokens);\n return token;\n }\n };\n\n _proto.hr = function hr(src) {\n var cap = this.rules.block.hr.exec(src);\n\n if (cap) {\n return {\n type: 'hr',\n raw: cap[0]\n };\n }\n };\n\n _proto.blockquote = function blockquote(src) {\n var cap = this.rules.block.blockquote.exec(src);\n\n if (cap) {\n var text = cap[0].replace(/^ *> ?/gm, '');\n return {\n type: 'blockquote',\n raw: cap[0],\n tokens: this.lexer.blockTokens(text, []),\n text: text\n };\n }\n };\n\n _proto.list = function list(src) {\n var cap = this.rules.block.list.exec(src);\n\n if (cap) {\n var raw, istask, ischecked, indent, i, blankLine, endsWithBlankLine, line, nextLine, rawLine, itemContents, endEarly;\n var bull = cap[1].trim();\n var isordered = bull.length > 1;\n var list = {\n type: 'list',\n raw: '',\n ordered: isordered,\n start: isordered ? +bull.slice(0, -1) : '',\n loose: false,\n items: []\n };\n bull = isordered ? \"\\\\d{1,9}\\\\\" + bull.slice(-1) : \"\\\\\" + bull;\n\n if (this.options.pedantic) {\n bull = isordered ? bull : '[*+-]';\n } // Get next list item\n\n\n var itemRegex = new RegExp(\"^( {0,3}\" + bull + \")((?: [^\\\\n]*)?(?:\\\\n|$))\"); // Check if current bullet point can start a new List Item\n\n while (src) {\n endEarly = false;\n\n if (!(cap = itemRegex.exec(src))) {\n break;\n }\n\n if (this.rules.block.hr.test(src)) {\n // End list if bullet was actually HR (possibly move into itemRegex?)\n break;\n }\n\n raw = cap[0];\n src = src.substring(raw.length);\n line = cap[2].split('\\n', 1)[0];\n nextLine = src.split('\\n', 1)[0];\n\n if (this.options.pedantic) {\n indent = 2;\n itemContents = line.trimLeft();\n } else {\n indent = cap[2].search(/[^ ]/); // Find first non-space char\n\n indent = indent > 4 ? 1 : indent; // Treat indented code blocks (> 4 spaces) as having only 1 indent\n\n itemContents = line.slice(indent);\n indent += cap[1].length;\n }\n\n blankLine = false;\n\n if (!line && /^ *$/.test(nextLine)) {\n // Items begin with at most one blank line\n raw += nextLine + '\\n';\n src = src.substring(nextLine.length + 1);\n endEarly = true;\n }\n\n if (!endEarly) {\n var nextBulletRegex = new RegExp(\"^ {0,\" + Math.min(3, indent - 1) + \"}(?:[*+-]|\\\\d{1,9}[.)])\"); // Check if following lines should be included in List Item\n\n while (src) {\n rawLine = src.split('\\n', 1)[0];\n line = rawLine; // Re-align to follow commonmark nesting rules\n\n if (this.options.pedantic) {\n line = line.replace(/^ {1,4}(?=( {4})*[^ ])/g, ' ');\n } // End list item if found start of new bullet\n\n\n if (nextBulletRegex.test(line)) {\n break;\n }\n\n if (line.search(/[^ ]/) >= indent || !line.trim()) {\n // Dedent if possible\n itemContents += '\\n' + line.slice(indent);\n } else if (!blankLine) {\n // Until blank line, item doesn't need indentation\n itemContents += '\\n' + line;\n } else {\n // Otherwise, improper indentation ends this item\n break;\n }\n\n if (!blankLine && !line.trim()) {\n // Check if current line is blank\n blankLine = true;\n }\n\n raw += rawLine + '\\n';\n src = src.substring(rawLine.length + 1);\n }\n }\n\n if (!list.loose) {\n // If the previous item ended with a blank line, the list is loose\n if (endsWithBlankLine) {\n list.loose = true;\n } else if (/\\n *\\n *$/.test(raw)) {\n endsWithBlankLine = true;\n }\n } // Check for task list items\n\n\n if (this.options.gfm) {\n istask = /^\\[[ xX]\\] /.exec(itemContents);\n\n if (istask) {\n ischecked = istask[0] !== '[ ] ';\n itemContents = itemContents.replace(/^\\[[ xX]\\] +/, '');\n }\n }\n\n list.items.push({\n type: 'list_item',\n raw: raw,\n task: !!istask,\n checked: ischecked,\n loose: false,\n text: itemContents\n });\n list.raw += raw;\n } // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic\n\n\n list.items[list.items.length - 1].raw = raw.trimRight();\n list.items[list.items.length - 1].text = itemContents.trimRight();\n list.raw = list.raw.trimRight();\n var l = list.items.length; // Item child tokens handled here at end because we needed to have the final item to trim it first\n\n for (i = 0; i < l; i++) {\n this.lexer.state.top = false;\n list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);\n var spacers = list.items[i].tokens.filter(function (t) {\n return t.type === 'space';\n });\n var hasMultipleLineBreaks = spacers.every(function (t) {\n var chars = t.raw.split('');\n var lineBreaks = 0;\n\n for (var _iterator = _createForOfIteratorHelperLoose(chars), _step; !(_step = _iterator()).done;) {\n var _char = _step.value;\n\n if (_char === '\\n') {\n lineBreaks += 1;\n }\n\n if (lineBreaks > 1) {\n return true;\n }\n }\n\n return false;\n });\n\n if (!list.loose && spacers.length && hasMultipleLineBreaks) {\n // Having a single line break doesn't mean a list is loose. A single line break is terminating the last list item\n list.loose = true;\n list.items[i].loose = true;\n }\n }\n\n return list;\n }\n };\n\n _proto.html = function html(src) {\n var cap = this.rules.block.html.exec(src);\n\n if (cap) {\n var token = {\n type: 'html',\n raw: cap[0],\n pre: !this.options.sanitizer && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n text: cap[0]\n };\n\n if (this.options.sanitize) {\n token.type = 'paragraph';\n token.text = this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]);\n token.tokens = [];\n this.lexer.inline(token.text, token.tokens);\n }\n\n return token;\n }\n };\n\n _proto.def = function def(src) {\n var cap = this.rules.block.def.exec(src);\n\n if (cap) {\n if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);\n var tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n return {\n type: 'def',\n tag: tag,\n raw: cap[0],\n href: cap[2],\n title: cap[3]\n };\n }\n };\n\n _proto.table = function table(src) {\n var cap = this.rules.block.table.exec(src);\n\n if (cap) {\n var item = {\n type: 'table',\n header: splitCells(cap[1]).map(function (c) {\n return {\n text: c\n };\n }),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n rows: cap[3] ? cap[3].replace(/\\n[ \\t]*$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n item.raw = cap[0];\n var l = item.align.length;\n var i, j, k, row;\n\n for (i = 0; i < l; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n l = item.rows.length;\n\n for (i = 0; i < l; i++) {\n item.rows[i] = splitCells(item.rows[i], item.header.length).map(function (c) {\n return {\n text: c\n };\n });\n } // parse child tokens inside headers and cells\n // header child tokens\n\n\n l = item.header.length;\n\n for (j = 0; j < l; j++) {\n item.header[j].tokens = [];\n this.lexer.inlineTokens(item.header[j].text, item.header[j].tokens);\n } // cell child tokens\n\n\n l = item.rows.length;\n\n for (j = 0; j < l; j++) {\n row = item.rows[j];\n\n for (k = 0; k < row.length; k++) {\n row[k].tokens = [];\n this.lexer.inlineTokens(row[k].text, row[k].tokens);\n }\n }\n\n return item;\n }\n }\n };\n\n _proto.lheading = function lheading(src) {\n var cap = this.rules.block.lheading.exec(src);\n\n if (cap) {\n var token = {\n type: 'heading',\n raw: cap[0],\n depth: cap[2].charAt(0) === '=' ? 1 : 2,\n text: cap[1],\n tokens: []\n };\n this.lexer.inline(token.text, token.tokens);\n return token;\n }\n };\n\n _proto.paragraph = function paragraph(src) {\n var cap = this.rules.block.paragraph.exec(src);\n\n if (cap) {\n var token = {\n type: 'paragraph',\n raw: cap[0],\n text: cap[1].charAt(cap[1].length - 1) === '\\n' ? cap[1].slice(0, -1) : cap[1],\n tokens: []\n };\n this.lexer.inline(token.text, token.tokens);\n return token;\n }\n };\n\n _proto.text = function text(src) {\n var cap = this.rules.block.text.exec(src);\n\n if (cap) {\n var token = {\n type: 'text',\n raw: cap[0],\n text: cap[0],\n tokens: []\n };\n this.lexer.inline(token.text, token.tokens);\n return token;\n }\n };\n\n _proto.escape = function escape$1(src) {\n var cap = this.rules.inline.escape.exec(src);\n\n if (cap) {\n return {\n type: 'escape',\n raw: cap[0],\n text: escape(cap[1])\n };\n }\n };\n\n _proto.tag = function tag(src) {\n var cap = this.rules.inline.tag.exec(src);\n\n if (cap) {\n if (!this.lexer.state.inLink && /^/i.test(cap[0])) {\n this.lexer.state.inLink = false;\n }\n\n if (!this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = true;\n } else if (this.lexer.state.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = false;\n }\n\n return {\n type: this.options.sanitize ? 'text' : 'html',\n raw: cap[0],\n inLink: this.lexer.state.inLink,\n inRawBlock: this.lexer.state.inRawBlock,\n text: this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]) : cap[0]\n };\n }\n };\n\n _proto.link = function link(src) {\n var cap = this.rules.inline.link.exec(src);\n\n if (cap) {\n var trimmedUrl = cap[2].trim();\n\n if (!this.options.pedantic && /^$/.test(trimmedUrl)) {\n return;\n } // ending angle bracket cannot be escaped\n\n\n var rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\\\');\n\n if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {\n return;\n }\n } else {\n // find closing parenthesis\n var lastParenIndex = findClosingBracket(cap[2], '()');\n\n if (lastParenIndex > -1) {\n var start = cap[0].indexOf('!') === 0 ? 5 : 4;\n var linkLen = start + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n }\n\n var href = cap[2];\n var title = '';\n\n if (this.options.pedantic) {\n // split pedantic href and title\n var link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n if (link) {\n href = link[1];\n title = link[3];\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n\n href = href.trim();\n\n if (/^$/.test(trimmedUrl)) {\n // pedantic allows starting angle bracket without ending angle bracket\n href = href.slice(1);\n } else {\n href = href.slice(1, -1);\n }\n }\n\n return outputLink(cap, {\n href: href ? href.replace(this.rules.inline._escapes, '$1') : href,\n title: title ? title.replace(this.rules.inline._escapes, '$1') : title\n }, cap[0], this.lexer);\n }\n };\n\n _proto.reflink = function reflink(src, links) {\n var cap;\n\n if ((cap = this.rules.inline.reflink.exec(src)) || (cap = this.rules.inline.nolink.exec(src))) {\n var link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = links[link.toLowerCase()];\n\n if (!link || !link.href) {\n var text = cap[0].charAt(0);\n return {\n type: 'text',\n raw: text,\n text: text\n };\n }\n\n return outputLink(cap, link, cap[0], this.lexer);\n }\n };\n\n _proto.emStrong = function emStrong(src, maskedSrc, prevChar) {\n if (prevChar === void 0) {\n prevChar = '';\n }\n\n var match = this.rules.inline.emStrong.lDelim.exec(src);\n if (!match) return; // _ can't be between two alphanumerics. \\p{L}\\p{N} includes non-english alphabet/numbers as well\n\n if (match[3] && prevChar.match(/(?:[0-9A-Za-z\\xAA\\xB2\\xB3\\xB5\\xB9\\xBA\\xBC-\\xBE\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u0660-\\u0669\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07C0-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u0870-\\u0887\\u0889-\\u088E\\u08A0-\\u08C9\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0966-\\u096F\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09E6-\\u09F1\\u09F4-\\u09F9\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A6F\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AE6-\\u0AEF\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B66-\\u0B6F\\u0B71-\\u0B77\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0BE6-\\u0BF2\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C5D\\u0C60\\u0C61\\u0C66-\\u0C6F\\u0C78-\\u0C7E\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDD\\u0CDE\\u0CE0\\u0CE1\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D58-\\u0D61\\u0D66-\\u0D78\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DE6-\\u0DEF\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F20-\\u0F33\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F-\\u1049\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u1090-\\u1099\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1369-\\u137C\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u1711\\u171F-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u17E0-\\u17E9\\u17F0-\\u17F9\\u1810-\\u1819\\u1820-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4C\\u1B50-\\u1B59\\u1B83-\\u1BA0\\u1BAE-\\u1BE5\\u1C00-\\u1C23\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2070\\u2071\\u2074-\\u2079\\u207F-\\u2089\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2150-\\u2189\\u2460-\\u249B\\u24EA-\\u24FF\\u2776-\\u2793\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2CFD\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u3192-\\u3195\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3220-\\u3229\\u3248-\\u324F\\u3251-\\u325F\\u3280-\\u3289\\u32B1-\\u32BF\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7CA\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7D9\\uA7F2-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA830-\\uA835\\uA840-\\uA873\\uA882-\\uA8B3\\uA8D0-\\uA8D9\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA900-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF-\\uA9D9\\uA9E0-\\uA9E4\\uA9E6-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABE2\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD07-\\uDD33\\uDD40-\\uDD78\\uDD8A\\uDD8B\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE1-\\uDEFB\\uDF00-\\uDF23\\uDF2D-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDD70-\\uDD7A\\uDD7C-\\uDD8A\\uDD8C-\\uDD92\\uDD94\\uDD95\\uDD97-\\uDDA1\\uDDA3-\\uDDB1\\uDDB3-\\uDDB9\\uDDBB\\uDDBC\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67\\uDF80-\\uDF85\\uDF87-\\uDFB0\\uDFB2-\\uDFBA]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC58-\\uDC76\\uDC79-\\uDC9E\\uDCA7-\\uDCAF\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDCFB-\\uDD1B\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBC-\\uDDCF\\uDDD2-\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE40-\\uDE48\\uDE60-\\uDE7E\\uDE80-\\uDE9F\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDEEB-\\uDEEF\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF58-\\uDF72\\uDF78-\\uDF91\\uDFA9-\\uDFAF]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDCFA-\\uDD23\\uDD30-\\uDD39\\uDE60-\\uDE7E\\uDE80-\\uDEA9\\uDEB0\\uDEB1\\uDF00-\\uDF27\\uDF30-\\uDF45\\uDF51-\\uDF54\\uDF70-\\uDF81\\uDFB0-\\uDFCB\\uDFE0-\\uDFF6]|\\uD804[\\uDC03-\\uDC37\\uDC52-\\uDC6F\\uDC71\\uDC72\\uDC75\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD03-\\uDD26\\uDD36-\\uDD3F\\uDD44\\uDD47\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDD0-\\uDDDA\\uDDDC\\uDDE1-\\uDDF4\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDEF0-\\uDEF9\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC50-\\uDC59\\uDC5F-\\uDC61\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEAA\\uDEB8\\uDEC0-\\uDEC9\\uDF00-\\uDF1A\\uDF30-\\uDF3B\\uDF40-\\uDF46]|\\uD806[\\uDC00-\\uDC2B\\uDCA0-\\uDCF2\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD2F\\uDD3F\\uDD41\\uDD50-\\uDD59\\uDDA0-\\uDDA7\\uDDAA-\\uDDD0\\uDDE1\\uDDE3\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE89\\uDE9D\\uDEB0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC50-\\uDC6C\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD50-\\uDD59\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDDA0-\\uDDA9\\uDEE0-\\uDEF2\\uDFB0\\uDFC0-\\uDFD4]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|\\uD80B[\\uDF90-\\uDFF0]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDE70-\\uDEBE\\uDEC0-\\uDEC9\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF5B-\\uDF61\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE96\\uDF00-\\uDF4A\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1\\uDFE3]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82B[\\uDFF0-\\uDFF3\\uDFF5-\\uDFFB\\uDFFD\\uDFFE]|\\uD82C[\\uDC00-\\uDD22\\uDD50-\\uDD52\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD834[\\uDEE0-\\uDEF3\\uDF60-\\uDF78]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD837[\\uDF00-\\uDF1E]|\\uD838[\\uDD00-\\uDD2C\\uDD37-\\uDD3D\\uDD40-\\uDD49\\uDD4E\\uDE90-\\uDEAD\\uDEC0-\\uDEEB\\uDEF0-\\uDEF9]|\\uD839[\\uDFE0-\\uDFE6\\uDFE8-\\uDFEB\\uDFED\\uDFEE\\uDFF0-\\uDFFE]|\\uD83A[\\uDC00-\\uDCC4\\uDCC7-\\uDCCF\\uDD00-\\uDD43\\uDD4B\\uDD50-\\uDD59]|\\uD83B[\\uDC71-\\uDCAB\\uDCAD-\\uDCAF\\uDCB1-\\uDCB4\\uDD01-\\uDD2D\\uDD2F-\\uDD3D\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD83C[\\uDD00-\\uDD0C]|\\uD83E[\\uDFF0-\\uDFF9]|\\uD869[\\uDC00-\\uDEDF\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF38\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A])/)) return;\n var nextChar = match[1] || match[2] || '';\n\n if (!nextChar || nextChar && (prevChar === '' || this.rules.inline.punctuation.exec(prevChar))) {\n var lLength = match[0].length - 1;\n var rDelim,\n rLength,\n delimTotal = lLength,\n midDelimTotal = 0;\n var endReg = match[0][0] === '*' ? this.rules.inline.emStrong.rDelimAst : this.rules.inline.emStrong.rDelimUnd;\n endReg.lastIndex = 0; // Clip maskedSrc to same section of string as src (move to lexer?)\n\n maskedSrc = maskedSrc.slice(-1 * src.length + lLength);\n\n while ((match = endReg.exec(maskedSrc)) != null) {\n rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];\n if (!rDelim) continue; // skip single * in __abc*abc__\n\n rLength = rDelim.length;\n\n if (match[3] || match[4]) {\n // found another Left Delim\n delimTotal += rLength;\n continue;\n } else if (match[5] || match[6]) {\n // either Left or Right Delim\n if (lLength % 3 && !((lLength + rLength) % 3)) {\n midDelimTotal += rLength;\n continue; // CommonMark Emphasis Rules 9-10\n }\n }\n\n delimTotal -= rLength;\n if (delimTotal > 0) continue; // Haven't found enough closing delimiters\n // Remove extra characters. *a*** -> *a*\n\n rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal); // Create `em` if smallest delimiter has odd char count. *a***\n\n if (Math.min(lLength, rLength) % 2) {\n var _text = src.slice(1, lLength + match.index + rLength);\n\n return {\n type: 'em',\n raw: src.slice(0, lLength + match.index + rLength + 1),\n text: _text,\n tokens: this.lexer.inlineTokens(_text, [])\n };\n } // Create 'strong' if smallest delimiter has even char count. **a***\n\n\n var text = src.slice(2, lLength + match.index + rLength - 1);\n return {\n type: 'strong',\n raw: src.slice(0, lLength + match.index + rLength + 1),\n text: text,\n tokens: this.lexer.inlineTokens(text, [])\n };\n }\n }\n };\n\n _proto.codespan = function codespan(src) {\n var cap = this.rules.inline.code.exec(src);\n\n if (cap) {\n var text = cap[2].replace(/\\n/g, ' ');\n var hasNonSpaceChars = /[^ ]/.test(text);\n var hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text);\n\n if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {\n text = text.substring(1, text.length - 1);\n }\n\n text = escape(text, true);\n return {\n type: 'codespan',\n raw: cap[0],\n text: text\n };\n }\n };\n\n _proto.br = function br(src) {\n var cap = this.rules.inline.br.exec(src);\n\n if (cap) {\n return {\n type: 'br',\n raw: cap[0]\n };\n }\n };\n\n _proto.del = function del(src) {\n var cap = this.rules.inline.del.exec(src);\n\n if (cap) {\n return {\n type: 'del',\n raw: cap[0],\n text: cap[2],\n tokens: this.lexer.inlineTokens(cap[2], [])\n };\n }\n };\n\n _proto.autolink = function autolink(src, mangle) {\n var cap = this.rules.inline.autolink.exec(src);\n\n if (cap) {\n var text, href;\n\n if (cap[2] === '@') {\n text = escape(this.options.mangle ? mangle(cap[1]) : cap[1]);\n href = 'mailto:' + text;\n } else {\n text = escape(cap[1]);\n href = text;\n }\n\n return {\n type: 'link',\n raw: cap[0],\n text: text,\n href: href,\n tokens: [{\n type: 'text',\n raw: text,\n text: text\n }]\n };\n }\n };\n\n _proto.url = function url(src, mangle) {\n var cap;\n\n if (cap = this.rules.inline.url.exec(src)) {\n var text, href;\n\n if (cap[2] === '@') {\n text = escape(this.options.mangle ? mangle(cap[0]) : cap[0]);\n href = 'mailto:' + text;\n } else {\n // do extended autolink path validation\n var prevCapZero;\n\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules.inline._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n\n text = escape(cap[0]);\n\n if (cap[1] === 'www.') {\n href = 'http://' + text;\n } else {\n href = text;\n }\n }\n\n return {\n type: 'link',\n raw: cap[0],\n text: text,\n href: href,\n tokens: [{\n type: 'text',\n raw: text,\n text: text\n }]\n };\n }\n };\n\n _proto.inlineText = function inlineText(src, smartypants) {\n var cap = this.rules.inline.text.exec(src);\n\n if (cap) {\n var text;\n\n if (this.lexer.state.inRawBlock) {\n text = this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]) : cap[0];\n } else {\n text = escape(this.options.smartypants ? smartypants(cap[0]) : cap[0]);\n }\n\n return {\n type: 'text',\n raw: cap[0],\n text: text\n };\n }\n };\n\n return Tokenizer;\n }();\n /**\n * Block-Level Grammar\n */\n\n\n var block = {\n newline: /^(?: *(?:\\n|$))+/,\n code: /^( {4}[^\\n]+(?:\\n(?: *(?:\\n|$))*)?)+/,\n fences: /^ {0,3}(`{3,}(?=[^`\\n]*\\n)|~{3,})([^\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/,\n hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,\n heading: /^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3}bull)( [^\\n]+?)?(?:\\n|$)/,\n html: '^ {0,3}(?:' // optional indentation\n + '<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:\\\\1>[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)' // (3)\n + '|\\\\n*|$)' // (4)\n + '|\\\\n*|$)' // (5)\n + '|?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (6)\n + '|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) open tag\n + '|(?!script|pre|style|textarea)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *(?:\\n *)?([^\\s>]+)>?(?:(?: +(?:\\n *)?| *\\n *)(title))? *(?:\\n+|$)/,\n table: noopTest,\n lheading: /^([^\\n]+)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n // regex template, placeholders will be replaced according to different paragraph\n // interruption rules of commonmark and the original markdown spec:\n _paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/,\n text: /^[^\\n]+/\n };\n block._label = /(?!\\s*\\])(?:\\\\.|[^\\[\\]\\\\])+/;\n block._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\n block.def = edit(block.def).replace('label', block._label).replace('title', block._title).getRegex();\n block.bullet = /(?:[*+-]|\\d{1,9}[.)])/;\n block.listItemStart = edit(/^( *)(bull) */).replace('bull', block.bullet).getRegex();\n block.list = edit(block.list).replace(/bull/g, block.bullet).replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))').replace('def', '\\\\n+(?=' + block.def.source + ')').getRegex();\n block._tag = 'address|article|aside|base|basefont|blockquote|body|caption' + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption' + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe' + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option' + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr' + '|track|ul';\n block._comment = /|$)/;\n block.html = edit(block.html, 'i').replace('comment', block._comment).replace('tag', block._tag).replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/).getRegex();\n block.paragraph = edit(block._paragraph).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('|table', '').replace('blockquote', ' {0,3}>').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)').replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n block.blockquote = edit(block.blockquote).replace('paragraph', block.paragraph).getRegex();\n /**\n * Normal Block Grammar\n */\n\n block.normal = merge({}, block);\n /**\n * GFM Block Grammar\n */\n\n block.gfm = merge({}, block.normal, {\n table: '^ *([^\\\\n ].*\\\\|.*)\\\\n' // Header\n + ' {0,3}(?:\\\\| *)?(:?-+:? *(?:\\\\| *:?-+:? *)*)(?:\\\\| *)?' // Align\n + '(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)' // Cells\n\n });\n block.gfm.table = edit(block.gfm.table).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('blockquote', ' {0,3}>').replace('code', ' {4}[^\\\\n]').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)').replace('tag', block._tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\n block.gfm.paragraph = edit(block._paragraph).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('table', block.gfm.table) // interrupt paragraphs with table\n .replace('blockquote', ' {0,3}>').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)').replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n /**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\n\n block.pedantic = merge({}, block.normal, {\n html: edit('^ *(?:comment *(?:\\\\n|\\\\s*$)' + '|<(tag)[\\\\s\\\\S]+?\\\\1> *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '| ' + text + '
\\n';\n }\n\n return '' + (escaped ? _code : escape(_code, true)) + '
\\n';\n };\n\n _proto.blockquote = function blockquote(quote) {\n return '' + (escaped ? _code : escape(_code, true)) + '
\\n' + quote + '
\\n';\n };\n\n _proto.html = function html(_html) {\n return _html;\n };\n\n _proto.heading = function heading(text, level, raw, slugger) {\n if (this.options.headerIds) {\n return '
\\n' : '
\\n';\n };\n\n _proto.list = function list(body, ordered, start) {\n var type = ordered ? 'ol' : 'ul',\n startatt = ordered && start !== 1 ? ' start=\"' + start + '\"' : '';\n return '<' + type + startatt + '>\\n' + body + '' + type + '>\\n';\n };\n\n _proto.listitem = function listitem(text) {\n return '
' + text + '
';\n };\n\n _proto.br = function br() {\n return this.options.xhtml ? 'An error occurred:
' + escape(e.message + '', true) + '';\n }\n\n throw e;\n }\n }\n /**\n * Options\n */\n\n\n marked.options = marked.setOptions = function (opt) {\n merge(marked.defaults, opt);\n changeDefaults(marked.defaults);\n return marked;\n };\n\n marked.getDefaults = getDefaults;\n marked.defaults = exports.defaults;\n /**\n * Use Extension\n */\n\n marked.use = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var opts = merge.apply(void 0, [{}].concat(args));\n var extensions = marked.defaults.extensions || {\n renderers: {},\n childTokens: {}\n };\n var hasExtensions;\n args.forEach(function (pack) {\n // ==-- Parse \"addon\" extensions --== //\n if (pack.extensions) {\n hasExtensions = true;\n pack.extensions.forEach(function (ext) {\n if (!ext.name) {\n throw new Error('extension name required');\n }\n\n if (ext.renderer) {\n // Renderer extensions\n var prevRenderer = extensions.renderers ? extensions.renderers[ext.name] : null;\n\n if (prevRenderer) {\n // Replace extension with func to run new extension but fall back if false\n extensions.renderers[ext.name] = function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var ret = ext.renderer.apply(this, args);\n\n if (ret === false) {\n ret = prevRenderer.apply(this, args);\n }\n\n return ret;\n };\n } else {\n extensions.renderers[ext.name] = ext.renderer;\n }\n }\n\n if (ext.tokenizer) {\n // Tokenizer Extensions\n if (!ext.level || ext.level !== 'block' && ext.level !== 'inline') {\n throw new Error(\"extension level must be 'block' or 'inline'\");\n }\n\n if (extensions[ext.level]) {\n extensions[ext.level].unshift(ext.tokenizer);\n } else {\n extensions[ext.level] = [ext.tokenizer];\n }\n\n if (ext.start) {\n // Function to check for start of token\n if (ext.level === 'block') {\n if (extensions.startBlock) {\n extensions.startBlock.push(ext.start);\n } else {\n extensions.startBlock = [ext.start];\n }\n } else if (ext.level === 'inline') {\n if (extensions.startInline) {\n extensions.startInline.push(ext.start);\n } else {\n extensions.startInline = [ext.start];\n }\n }\n }\n }\n\n if (ext.childTokens) {\n // Child tokens to be visited by walkTokens\n extensions.childTokens[ext.name] = ext.childTokens;\n }\n });\n } // ==-- Parse \"overwrite\" extensions --== //\n\n\n if (pack.renderer) {\n (function () {\n var renderer = marked.defaults.renderer || new Renderer();\n\n var _loop = function _loop(prop) {\n var prevRenderer = renderer[prop]; // Replace renderer with func to run extension, but fall back if false\n\n renderer[prop] = function () {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n var ret = pack.renderer[prop].apply(renderer, args);\n\n if (ret === false) {\n ret = prevRenderer.apply(renderer, args);\n }\n\n return ret;\n };\n };\n\n for (var prop in pack.renderer) {\n _loop(prop);\n }\n\n opts.renderer = renderer;\n })();\n }\n\n if (pack.tokenizer) {\n (function () {\n var tokenizer = marked.defaults.tokenizer || new Tokenizer();\n\n var _loop2 = function _loop2(prop) {\n var prevTokenizer = tokenizer[prop]; // Replace tokenizer with func to run extension, but fall back if false\n\n tokenizer[prop] = function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n var ret = pack.tokenizer[prop].apply(tokenizer, args);\n\n if (ret === false) {\n ret = prevTokenizer.apply(tokenizer, args);\n }\n\n return ret;\n };\n };\n\n for (var prop in pack.tokenizer) {\n _loop2(prop);\n }\n\n opts.tokenizer = tokenizer;\n })();\n } // ==-- Parse WalkTokens extensions --== //\n\n\n if (pack.walkTokens) {\n var _walkTokens = marked.defaults.walkTokens;\n\n opts.walkTokens = function (token) {\n pack.walkTokens.call(this, token);\n\n if (_walkTokens) {\n _walkTokens.call(this, token);\n }\n };\n }\n\n if (hasExtensions) {\n opts.extensions = extensions;\n }\n\n marked.setOptions(opts);\n });\n };\n /**\n * Run callback for every token\n */\n\n\n marked.walkTokens = function (tokens, callback) {\n var _loop3 = function _loop3() {\n var token = _step.value;\n callback.call(marked, token);\n\n switch (token.type) {\n case 'table':\n {\n for (var _iterator2 = _createForOfIteratorHelperLoose(token.header), _step2; !(_step2 = _iterator2()).done;) {\n var cell = _step2.value;\n marked.walkTokens(cell.tokens, callback);\n }\n\n for (var _iterator3 = _createForOfIteratorHelperLoose(token.rows), _step3; !(_step3 = _iterator3()).done;) {\n var row = _step3.value;\n\n for (var _iterator4 = _createForOfIteratorHelperLoose(row), _step4; !(_step4 = _iterator4()).done;) {\n var _cell = _step4.value;\n marked.walkTokens(_cell.tokens, callback);\n }\n }\n\n break;\n }\n\n case 'list':\n {\n marked.walkTokens(token.items, callback);\n break;\n }\n\n default:\n {\n if (marked.defaults.extensions && marked.defaults.extensions.childTokens && marked.defaults.extensions.childTokens[token.type]) {\n // Walk any extensions\n marked.defaults.extensions.childTokens[token.type].forEach(function (childTokens) {\n marked.walkTokens(token[childTokens], callback);\n });\n } else if (token.tokens) {\n marked.walkTokens(token.tokens, callback);\n }\n }\n }\n };\n\n for (var _iterator = _createForOfIteratorHelperLoose(tokens), _step; !(_step = _iterator()).done;) {\n _loop3();\n }\n };\n /**\n * Parse Inline\n */\n\n\n marked.parseInline = function (src, opt) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked.parseInline(): input parameter is undefined or null');\n }\n\n if (typeof src !== 'string') {\n throw new Error('marked.parseInline(): input parameter is of type ' + Object.prototype.toString.call(src) + ', string expected');\n }\n\n opt = merge({}, marked.defaults, opt || {});\n checkSanitizeDeprecation(opt);\n\n try {\n var tokens = Lexer.lexInline(src, opt);\n\n if (opt.walkTokens) {\n marked.walkTokens(tokens, opt.walkTokens);\n }\n\n return Parser.parseInline(tokens, opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n\n if (opt.silent) {\n return '
An error occurred:
' + escape(e.message + '', true) + '';\n }\n\n throw e;\n }\n };\n /**\n * Expose\n */\n\n\n marked.Parser = Parser;\n marked.parser = Parser.parse;\n marked.Renderer = Renderer;\n marked.TextRenderer = TextRenderer;\n marked.Lexer = Lexer;\n marked.lexer = Lexer.lex;\n marked.Tokenizer = Tokenizer;\n marked.Slugger = Slugger;\n marked.parse = marked;\n var options = marked.options;\n var setOptions = marked.setOptions;\n var use = marked.use;\n var walkTokens = marked.walkTokens;\n var parseInline = marked.parseInline;\n var parse = marked;\n var parser = Parser.parse;\n var lexer = Lexer.lex;\n exports.Lexer = Lexer;\n exports.Parser = Parser;\n exports.Renderer = Renderer;\n exports.Slugger = Slugger;\n exports.TextRenderer = TextRenderer;\n exports.Tokenizer = Tokenizer;\n exports.getDefaults = getDefaults;\n exports.lexer = lexer;\n exports.marked = marked;\n exports.options = options;\n exports.parse = parse;\n exports.parseInline = parseInline;\n exports.parser = parser;\n exports.setOptions = setOptions;\n exports.use = use;\n exports.walkTokens = walkTokens;\n Object.defineProperty(exports, '__esModule', {\n value: true\n });\n});","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\n/*! @license DOMPurify | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.2.2/LICENSE */\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof2(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : (global = global || self, global.DOMPurify = factory());\n})(this, function () {\n 'use strict';\n\n function _toConsumableArray(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n }\n\n var hasOwnProperty = Object.hasOwnProperty,\n setPrototypeOf = Object.setPrototypeOf,\n isFrozen = Object.isFrozen,\n getPrototypeOf = Object.getPrototypeOf,\n getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n var freeze = Object.freeze,\n seal = Object.seal,\n create = Object.create; // eslint-disable-line import/no-mutable-exports\n\n var _ref = typeof Reflect !== 'undefined' && Reflect,\n apply = _ref.apply,\n construct = _ref.construct;\n\n if (!apply) {\n apply = function apply(fun, thisValue, args) {\n return fun.apply(thisValue, args);\n };\n }\n\n if (!freeze) {\n freeze = function freeze(x) {\n return x;\n };\n }\n\n if (!seal) {\n seal = function seal(x) {\n return x;\n };\n }\n\n if (!construct) {\n construct = function construct(Func, args) {\n return new (Function.prototype.bind.apply(Func, [null].concat(_toConsumableArray(args))))();\n };\n }\n\n var arrayForEach = unapply(Array.prototype.forEach);\n var arrayPop = unapply(Array.prototype.pop);\n var arrayPush = unapply(Array.prototype.push);\n var stringToLowerCase = unapply(String.prototype.toLowerCase);\n var stringMatch = unapply(String.prototype.match);\n var stringReplace = unapply(String.prototype.replace);\n var stringIndexOf = unapply(String.prototype.indexOf);\n var stringTrim = unapply(String.prototype.trim);\n var regExpTest = unapply(RegExp.prototype.test);\n var typeErrorCreate = unconstruct(TypeError);\n\n function unapply(func) {\n return function (thisArg) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return apply(func, thisArg, args);\n };\n }\n\n function unconstruct(func) {\n return function () {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return construct(func, args);\n };\n }\n /* Add properties to a lookup table */\n\n\n function addToSet(set, array) {\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n\n var l = array.length;\n\n while (l--) {\n var element = array[l];\n\n if (typeof element === 'string') {\n var lcElement = stringToLowerCase(element);\n\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n\n element = lcElement;\n }\n }\n\n set[element] = true;\n }\n\n return set;\n }\n /* Shallow clone an object */\n\n\n function clone(object) {\n var newObject = create(null);\n var property = void 0;\n\n for (property in object) {\n if (apply(hasOwnProperty, object, [property])) {\n newObject[property] = object[property];\n }\n }\n\n return newObject;\n }\n /* IE10 doesn't support __lookupGetter__ so lets'\n * simulate it. It also automatically checks\n * if the prop is function or getter and behaves\n * accordingly. */\n\n\n function lookupGetter(object, prop) {\n while (object !== null) {\n var desc = getOwnPropertyDescriptor(object, prop);\n\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n\n object = getPrototypeOf(object);\n }\n\n function fallbackValue(element) {\n console.warn('fallback value for', element);\n return null;\n }\n\n return fallbackValue;\n }\n\n var html = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']); // SVG\n\n var svg = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);\n var svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']); // List of SVG elements that are disallowed by default.\n // We still need to know them so that we can do namespace\n // checks properly in case one wants to add them to\n // allow-list.\n\n var svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'fedropshadow', 'feimage', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);\n var mathMl = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover']); // Similarly to SVG, we want to know all MathML elements,\n // even those that we disallow by default.\n\n var mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);\n var text = freeze(['#text']);\n var html$1 = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'xmlns']);\n var svg$1 = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'targetx', 'targety', 'transform', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);\n var mathMl$1 = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);\n var xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']); // eslint-disable-next-line unicorn/better-regex\n\n var MUSTACHE_EXPR = seal(/\\{\\{[\\s\\S]*|[\\s\\S]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\n\n var ERB_EXPR = seal(/<%[\\s\\S]*|[\\s\\S]*%>/gm);\n var DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]/); // eslint-disable-line no-useless-escape\n\n var ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\n\n var IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n );\n var IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\n var ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n );\n\n var _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n return _typeof2(obj);\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n\n function _toConsumableArray$1(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n }\n\n var getGlobal = function getGlobal() {\n return typeof window === 'undefined' ? null : window;\n };\n /**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param {?TrustedTypePolicyFactory} trustedTypes The policy factory.\n * @param {Document} document The document object (to determine policy name suffix)\n * @return {?TrustedTypePolicy} The policy created (or null, if Trusted Types\n * are not supported).\n */\n\n\n var _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, document) {\n if ((typeof trustedTypes === 'undefined' ? 'undefined' : _typeof(trustedTypes)) !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n return null;\n } // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n\n\n var suffix = null;\n var ATTR_NAME = 'data-tt-policy-suffix';\n\n if (document.currentScript && document.currentScript.hasAttribute(ATTR_NAME)) {\n suffix = document.currentScript.getAttribute(ATTR_NAME);\n }\n\n var policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML: function createHTML(html$$1) {\n return html$$1;\n }\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn('TrustedTypes policy ' + policyName + ' could not be created.');\n return null;\n }\n };\n\n function createDOMPurify() {\n var window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n\n var DOMPurify = function DOMPurify(root) {\n return createDOMPurify(root);\n };\n /**\n * Version label, exposed for easier checks\n * if DOMPurify is up to date or not\n */\n\n\n DOMPurify.version = '2.2.7';\n /**\n * Array of elements that DOMPurify removed during sanitation.\n * Empty if nothing was removed.\n */\n\n DOMPurify.removed = [];\n\n if (!window || !window.document || window.document.nodeType !== 9) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n return DOMPurify;\n }\n\n var originalDocument = window.document;\n var document = window.document;\n var DocumentFragment = window.DocumentFragment,\n HTMLTemplateElement = window.HTMLTemplateElement,\n Node = window.Node,\n Element = window.Element,\n NodeFilter = window.NodeFilter,\n _window$NamedNodeMap = window.NamedNodeMap,\n NamedNodeMap = _window$NamedNodeMap === undefined ? window.NamedNodeMap || window.MozNamedAttrMap : _window$NamedNodeMap,\n Text = window.Text,\n Comment = window.Comment,\n DOMParser = window.DOMParser,\n trustedTypes = window.trustedTypes;\n var ElementPrototype = Element.prototype;\n var cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n var getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n var getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n var getParentNode = lookupGetter(ElementPrototype, 'parentNode'); // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n\n if (typeof HTMLTemplateElement === 'function') {\n var template = document.createElement('template');\n\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n\n var trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, originalDocument);\n\n var emptyHTML = trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML('') : '';\n var _document = document,\n implementation = _document.implementation,\n createNodeIterator = _document.createNodeIterator,\n getElementsByTagName = _document.getElementsByTagName,\n createDocumentFragment = _document.createDocumentFragment;\n var importNode = originalDocument.importNode;\n var documentMode = {};\n\n try {\n documentMode = clone(document).documentMode ? document.documentMode : {};\n } catch (_) {}\n\n var hooks = {};\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n\n DOMPurify.isSupported = typeof getParentNode === 'function' && implementation && typeof implementation.createHTMLDocument !== 'undefined' && documentMode !== 9;\n var MUSTACHE_EXPR$$1 = MUSTACHE_EXPR,\n ERB_EXPR$$1 = ERB_EXPR,\n DATA_ATTR$$1 = DATA_ATTR,\n ARIA_ATTR$$1 = ARIA_ATTR,\n IS_SCRIPT_OR_DATA$$1 = IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE$$1 = ATTR_WHITESPACE;\n var IS_ALLOWED_URI$$1 = IS_ALLOWED_URI;\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n\n /* allowed element names */\n\n var ALLOWED_TAGS = null;\n var DEFAULT_ALLOWED_TAGS = addToSet({}, [].concat(_toConsumableArray$1(html), _toConsumableArray$1(svg), _toConsumableArray$1(svgFilters), _toConsumableArray$1(mathMl), _toConsumableArray$1(text)));\n /* Allowed attribute names */\n\n var ALLOWED_ATTR = null;\n var DEFAULT_ALLOWED_ATTR = addToSet({}, [].concat(_toConsumableArray$1(html$1), _toConsumableArray$1(svg$1), _toConsumableArray$1(mathMl$1), _toConsumableArray$1(xml)));\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n\n var FORBID_TAGS = null;\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n\n var FORBID_ATTR = null;\n /* Decide if ARIA attributes are okay */\n\n var ALLOW_ARIA_ATTR = true;\n /* Decide if custom data attributes are okay */\n\n var ALLOW_DATA_ATTR = true;\n /* Decide if unknown protocols are okay */\n\n var ALLOW_UNKNOWN_PROTOCOLS = false;\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n\n var SAFE_FOR_TEMPLATES = false;\n /* Decide if document with ... should be returned */\n\n var WHOLE_DOCUMENT = false;\n /* Track whether config is already set on this instance of DOMPurify. */\n\n var SET_CONFIG = false;\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n\n var FORCE_BODY = false;\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n\n var RETURN_DOM = false;\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n\n var RETURN_DOM_FRAGMENT = false;\n /* If `RETURN_DOM` or `RETURN_DOM_FRAGMENT` is enabled, decide if the returned DOM\n * `Node` is imported into the current `Document`. If this flag is not enabled the\n * `Node` will belong (its ownerDocument) to a fresh `HTMLDocument`, created by\n * DOMPurify.\n *\n * This defaults to `true` starting DOMPurify 2.2.0. Note that setting it to `false`\n * might cause XSS from attacks hidden in closed shadowroots in case the browser\n * supports Declarative Shadow: DOM https://web.dev/declarative-shadow-dom/\n */\n\n var RETURN_DOM_IMPORT = true;\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n\n var RETURN_TRUSTED_TYPE = false;\n /* Output should be free from DOM clobbering attacks? */\n\n var SANITIZE_DOM = true;\n /* Keep element content when removing element? */\n\n var KEEP_CONTENT = true;\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n\n var IN_PLACE = false;\n /* Allow usage of profiles like html, svg and mathMl */\n\n var USE_PROFILES = {};\n /* Tags to ignore content of when KEEP_CONTENT is true */\n\n var FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n /* Tags that are safe for data: URIs */\n\n var DATA_URI_TAGS = null;\n var DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);\n /* Attributes safe for values like \"javascript:\" */\n\n var URI_SAFE_ATTRIBUTES = null;\n var DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'summary', 'title', 'value', 'style', 'xmlns']);\n /* Keep a reference to config to pass to hooks */\n\n var CONFIG = null;\n /* Ideally, do not touch anything below this line */\n\n /* ______________________________________________ */\n\n var formElement = document.createElement('form');\n /**\n * _parseConfig\n *\n * @param {Object} cfg optional config literal\n */\n // eslint-disable-next-line complexity\n\n var _parseConfig = function _parseConfig(cfg) {\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n /* Shield configuration object from tampering */\n\n\n if (!cfg || (typeof cfg === 'undefined' ? 'undefined' : _typeof(cfg)) !== 'object') {\n cfg = {};\n }\n /* Shield configuration object from prototype pollution */\n\n\n cfg = clone(cfg);\n /* Set configuration parameters */\n\n ALLOWED_TAGS = 'ALLOWED_TAGS' in cfg ? addToSet({}, cfg.ALLOWED_TAGS) : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR = 'ALLOWED_ATTR' in cfg ? addToSet({}, cfg.ALLOWED_ATTR) : DEFAULT_ALLOWED_ATTR;\n URI_SAFE_ATTRIBUTES = 'ADD_URI_SAFE_ATTR' in cfg ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR) : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS = 'ADD_DATA_URI_TAGS' in cfg ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS) : DEFAULT_DATA_URI_TAGS;\n FORBID_TAGS = 'FORBID_TAGS' in cfg ? addToSet({}, cfg.FORBID_TAGS) : {};\n FORBID_ATTR = 'FORBID_ATTR' in cfg ? addToSet({}, cfg.FORBID_ATTR) : {};\n USE_PROFILES = 'USE_PROFILES' in cfg ? cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n\n RETURN_DOM_IMPORT = cfg.RETURN_DOM_IMPORT !== false; // Default true\n\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n\n IS_ALLOWED_URI$$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI$$1;\n\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n /* Parse profile info */\n\n\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, [].concat(_toConsumableArray$1(text)));\n ALLOWED_ATTR = [];\n\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, html);\n addToSet(ALLOWED_ATTR, html$1);\n }\n\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, svg);\n addToSet(ALLOWED_ATTR, svg$1);\n addToSet(ALLOWED_ATTR, xml);\n }\n\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, svgFilters);\n addToSet(ALLOWED_ATTR, svg$1);\n addToSet(ALLOWED_ATTR, xml);\n }\n\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, mathMl);\n addToSet(ALLOWED_ATTR, mathMl$1);\n addToSet(ALLOWED_ATTR, xml);\n }\n }\n /* Merge configuration parameters */\n\n\n if (cfg.ADD_TAGS) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS);\n }\n\n if (cfg.ADD_ATTR) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR);\n }\n\n if (cfg.ADD_URI_SAFE_ATTR) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR);\n }\n /* Add #text in case KEEP_CONTENT is set to true */\n\n\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n\n\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n\n\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n } // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n\n\n if (freeze) {\n freeze(cfg);\n }\n\n CONFIG = cfg;\n };\n\n var MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);\n var HTML_INTEGRATION_POINTS = addToSet({}, ['foreignobject', 'desc', 'title', 'annotation-xml']);\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n\n var ALL_SVG_TAGS = addToSet({}, svg);\n addToSet(ALL_SVG_TAGS, svgFilters);\n addToSet(ALL_SVG_TAGS, svgDisallowed);\n var ALL_MATHML_TAGS = addToSet({}, mathMl);\n addToSet(ALL_MATHML_TAGS, mathMlDisallowed);\n var MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n var SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n var HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /**\n *\n *\n * @param {Element} element a DOM element whose namespace is being checked\n * @returns {boolean} Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n\n var _checkValidNamespace = function _checkValidNamespace(element) {\n var parent = getParentNode(element); // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: HTML_NAMESPACE,\n tagName: 'template'\n };\n }\n\n var tagName = stringToLowerCase(element.tagName);\n var parentTagName = stringToLowerCase(parent.tagName);\n\n if (element.namespaceURI === SVG_NAMESPACE) {\n // The only way to switch from HTML namespace to SVG\n // is via