/*! * @toast-ui/editor * @version 3.2.2 | Fri Feb 17 2023 * @author NHN Cloud FE Development Lab * @license MIT */ ! function(e, t) { "object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports ? exports.toastui = t() : (e.toastui = e.toastui || {}, e.toastui.Editor = t()) }(self, (function() { return function() { var e = { 368: function(e) { /*! @license DOMPurify 2.3.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.3.3/LICENSE */ e.exports = function() { "use strict"; function e(e) { if (Array.isArray(e)) { for (var t = 0, n = Array(e.length); t < e.length; t++) n[t] = e[t]; return n } return Array.from(e) } var t = Object.hasOwnProperty, n = Object.setPrototypeOf, r = Object.isFrozen, o = Object.getPrototypeOf, i = Object.getOwnPropertyDescriptor, s = Object.freeze, a = Object.seal, l = Object.create, c = "undefined" != typeof Reflect && Reflect, u = c.apply, d = c.construct; u || (u = function(e, t, n) { return e.apply(t, n) }), s || (s = function(e) { return e }), a || (a = function(e) { return e }), d || (d = function(t, n) { return new(Function.prototype.bind.apply(t, [null].concat(e(n)))) }); var p = x(Array.prototype.forEach), h = x(Array.prototype.pop), f = x(Array.prototype.push), m = x(String.prototype.toLowerCase), g = x(String.prototype.match), v = x(String.prototype.replace), y = x(String.prototype.indexOf), b = x(String.prototype.trim), w = x(RegExp.prototype.test), k = C(TypeError); function x(e) { return function(t) { for (var n = arguments.length, r = Array(n > 1 ? n - 1 : 0), o = 1; o < n; o++) r[o - 1] = arguments[o]; return u(e, t, r) } } function C(e) { return function() { for (var t = arguments.length, n = Array(t), r = 0; r < t; r++) n[r] = arguments[r]; return d(e, n) } } function T(e, t) { n && n(e, null); for (var o = t.length; o--;) { var i = t[o]; if ("string" == typeof i) { var s = m(i); s !== i && (r(t) || (t[o] = s), i = s) } e[i] = !0 } return e } function M(e) { var n = l(null), r = void 0; for (r in e) u(t, e, [r]) && (n[r] = e[r]); return n } function S(e, t) { for (; null !== e;) { var n = i(e, t); if (n) { if (n.get) return x(n.get); if ("function" == typeof n.value) return x(n.value) } e = o(e) } function r(e) { return console.warn("fallback value for", e), null } return r } var E = s(["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"]), N = s(["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"]), O = s(["feBlend", "feColorMatrix", "feComponentTransfer", "feComposite", "feConvolveMatrix", "feDiffuseLighting", "feDisplacementMap", "feDistantLight", "feFlood", "feFuncA", "feFuncB", "feFuncG", "feFuncR", "feGaussianBlur", "feMerge", "feMergeNode", "feMorphology", "feOffset", "fePointLight", "feSpecularLighting", "feSpotLight", "feTile", "feTurbulence"]), D = s(["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"]), A = s(["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"]), L = s(["maction", "maligngroup", "malignmark", "mlongdiv", "mscarries", "mscarry", "msgroup", "mstack", "msline", "msrow", "semantics", "annotation", "annotation-xml", "mprescripts", "none"]), I = s(["#text"]), R = s(["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", "slot"]), P = s(["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"]), B = s(["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"]), F = s(["xlink:href", "xml:id", "xlink:title", "xml:space", "xmlns:xlink"]), H = a(/\{\{[\s\S]*|[\s\S]*\}\}/gm), z = a(/<%[\s\S]*|[\s\S]*%>/gm), q = a(/^data-[\-\w.\u00B7-\uFFFF]/), V = a(/^aria-[\-\w]+$/), j = a(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i), $ = a(/^(?:\w+script|data):/i), _ = a(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g), U = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { return typeof e } : function(e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e }; function W(e) { if (Array.isArray(e)) { for (var t = 0, n = Array(e.length); t < e.length; t++) n[t] = e[t]; return n } return Array.from(e) } var J = function() { return "undefined" == typeof window ? null : window }, G = function(e, t) { if ("object" !== (void 0 === e ? "undefined" : U(e)) || "function" != typeof e.createPolicy) return null; var n = null, r = "data-tt-policy-suffix"; t.currentScript && t.currentScript.hasAttribute(r) && (n = t.currentScript.getAttribute(r)); var o = "dompurify" + (n ? "#" + n : ""); try { return e.createPolicy(o, { createHTML: function(e) { return e } }) } catch (e) { return console.warn("TrustedTypes policy " + o + " could not be created."), null } }; function K() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : J(), t = function(e) { return K(e) }; if (t.version = "2.3.3", t.removed = [], !e || !e.document || 9 !== e.document.nodeType) return t.isSupported = !1, t; var n = e.document, r = e.document, o = e.DocumentFragment, i = e.HTMLTemplateElement, a = e.Node, l = e.Element, c = e.NodeFilter, u = e.NamedNodeMap, d = void 0 === u ? e.NamedNodeMap || e.MozNamedAttrMap : u, x = e.Text, C = e.Comment, Z = e.DOMParser, X = e.trustedTypes, Q = l.prototype, Y = S(Q, "cloneNode"), ee = S(Q, "nextSibling"), te = S(Q, "childNodes"), ne = S(Q, "parentNode"); if ("function" == typeof i) { var re = r.createElement("template"); re.content && re.content.ownerDocument && (r = re.content.ownerDocument) } var oe = G(X, n), ie = oe && Fe ? oe.createHTML("") : "", se = r, ae = se.implementation, le = se.createNodeIterator, ce = se.createDocumentFragment, ue = se.getElementsByTagName, de = n.importNode, pe = {}; try { pe = M(r).documentMode ? r.documentMode : {} } catch (e) {} var he = {}; t.isSupported = "function" == typeof ne && ae && void 0 !== ae.createHTMLDocument && 9 !== pe; var fe = H, me = z, ge = q, ve = V, ye = $, be = _, we = j, ke = null, xe = T({}, [].concat(W(E), W(N), W(O), W(A), W(I))), Ce = null, Te = T({}, [].concat(W(R), W(P), W(B), W(F))), Me = null, Se = null, Ee = !0, Ne = !0, Oe = !1, De = !1, Ae = !1, Le = !1, Ie = !1, Re = !1, Pe = !1, Be = !0, Fe = !1, He = !0, ze = !0, qe = !1, Ve = {}, je = null, $e = T({}, ["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"]), _e = null, Ue = T({}, ["audio", "video", "img", "source", "image", "track"]), We = null, Je = T({}, ["alt", "class", "for", "id", "label", "name", "pattern", "placeholder", "role", "summary", "title", "value", "style", "xmlns"]), Ge = "http://www.w3.org/1998/Math/MathML", Ke = "http://www.w3.org/2000/svg", Ze = "http://www.w3.org/1999/xhtml", Xe = Ze, Qe = !1, Ye = void 0, et = ["application/xhtml+xml", "text/html"], tt = "text/html", nt = void 0, rt = null, ot = r.createElement("form"), it = function(e) { rt && rt === e || (e && "object" === (void 0 === e ? "undefined" : U(e)) || (e = {}), e = M(e), ke = "ALLOWED_TAGS" in e ? T({}, e.ALLOWED_TAGS) : xe, Ce = "ALLOWED_ATTR" in e ? T({}, e.ALLOWED_ATTR) : Te, We = "ADD_URI_SAFE_ATTR" in e ? T(M(Je), e.ADD_URI_SAFE_ATTR) : Je, _e = "ADD_DATA_URI_TAGS" in e ? T(M(Ue), e.ADD_DATA_URI_TAGS) : Ue, je = "FORBID_CONTENTS" in e ? T({}, e.FORBID_CONTENTS) : $e, Me = "FORBID_TAGS" in e ? T({}, e.FORBID_TAGS) : {}, Se = "FORBID_ATTR" in e ? T({}, e.FORBID_ATTR) : {}, Ve = "USE_PROFILES" in e && e.USE_PROFILES, Ee = !1 !== e.ALLOW_ARIA_ATTR, Ne = !1 !== e.ALLOW_DATA_ATTR, Oe = e.ALLOW_UNKNOWN_PROTOCOLS || !1, De = e.SAFE_FOR_TEMPLATES || !1, Ae = e.WHOLE_DOCUMENT || !1, Re = e.RETURN_DOM || !1, Pe = e.RETURN_DOM_FRAGMENT || !1, Be = !1 !== e.RETURN_DOM_IMPORT, Fe = e.RETURN_TRUSTED_TYPE || !1, Ie = e.FORCE_BODY || !1, He = !1 !== e.SANITIZE_DOM, ze = !1 !== e.KEEP_CONTENT, qe = e.IN_PLACE || !1, we = e.ALLOWED_URI_REGEXP || we, Xe = e.NAMESPACE || Ze, Ye = Ye = -1 === et.indexOf(e.PARSER_MEDIA_TYPE) ? tt : e.PARSER_MEDIA_TYPE, nt = "application/xhtml+xml" === Ye ? function(e) { return e } : m, De && (Ne = !1), Pe && (Re = !0), Ve && (ke = T({}, [].concat(W(I))), Ce = [], !0 === Ve.html && (T(ke, E), T(Ce, R)), !0 === Ve.svg && (T(ke, N), T(Ce, P), T(Ce, F)), !0 === Ve.svgFilters && (T(ke, O), T(Ce, P), T(Ce, F)), !0 === Ve.mathMl && (T(ke, A), T(Ce, B), T(Ce, F))), e.ADD_TAGS && (ke === xe && (ke = M(ke)), T(ke, e.ADD_TAGS)), e.ADD_ATTR && (Ce === Te && (Ce = M(Ce)), T(Ce, e.ADD_ATTR)), e.ADD_URI_SAFE_ATTR && T(We, e.ADD_URI_SAFE_ATTR), e.FORBID_CONTENTS && (je === $e && (je = M(je)), T(je, e.FORBID_CONTENTS)), ze && (ke["#text"] = !0), Ae && T(ke, ["html", "head", "body"]), ke.table && (T(ke, ["tbody"]), delete Me.tbody), s && s(e), rt = e) }, st = T({}, ["mi", "mo", "mn", "ms", "mtext"]), at = T({}, ["foreignobject", "desc", "title", "annotation-xml"]), lt = T({}, N); T(lt, O), T(lt, D); var ct = T({}, A); T(ct, L); var ut = function(e) { var t = ne(e); t && t.tagName || (t = { namespaceURI: Ze, tagName: "template" }); var n = m(e.tagName), r = m(t.tagName); if (e.namespaceURI === Ke) return t.namespaceURI === Ze ? "svg" === n : t.namespaceURI === Ge ? "svg" === n && ("annotation-xml" === r || st[r]) : Boolean(lt[n]); if (e.namespaceURI === Ge) return t.namespaceURI === Ze ? "math" === n : t.namespaceURI === Ke ? "math" === n && at[r] : Boolean(ct[n]); if (e.namespaceURI === Ze) { if (t.namespaceURI === Ke && !at[r]) return !1; if (t.namespaceURI === Ge && !st[r]) return !1; var o = T({}, ["title", "style", "font", "a", "script"]); return !ct[n] && (o[n] || !lt[n]) } return !1 }, dt = function(e) { f(t.removed, { element: e }); try { e.parentNode.removeChild(e) } catch (t) { try { e.outerHTML = ie } catch (t) { e.remove() } } }, pt = function(e, n) { try { f(t.removed, { attribute: n.getAttributeNode(e), from: n }) } catch (e) { f(t.removed, { attribute: null, from: n }) } if (n.removeAttribute(e), "is" === e && !Ce[e]) if (Re || Pe) try { dt(n) } catch (e) {} else try { n.setAttribute(e, "") } catch (e) {} }, ht = function(e) { var t = void 0, n = void 0; if (Ie) e = "" + e; else { var o = g(e, /^[\r\n\t ]+/); n = o && o[0] } "application/xhtml+xml" === Ye && (e = '' + e + ""); var i = oe ? oe.createHTML(e) : e; if (Xe === Ze) try { t = (new Z).parseFromString(i, Ye) } catch (e) {} if (!t || !t.documentElement) { t = ae.createDocument(Xe, "template", null); try { t.documentElement.innerHTML = Qe ? "" : i } catch (e) {} } var s = t.body || t.documentElement; return e && n && s.insertBefore(r.createTextNode(n), s.childNodes[0] || null), Xe === Ze ? ue.call(t, Ae ? "html" : "body")[0] : Ae ? t.documentElement : s }, ft = function(e) { return le.call(e.ownerDocument || e, e, c.SHOW_ELEMENT | c.SHOW_COMMENT | c.SHOW_TEXT, null, !1) }, mt = function(e) { return !(e instanceof x || e instanceof C || "string" == typeof e.nodeName && "string" == typeof e.textContent && "function" == typeof e.removeChild && e.attributes instanceof d && "function" == typeof e.removeAttribute && "function" == typeof e.setAttribute && "string" == typeof e.namespaceURI && "function" == typeof e.insertBefore) }, gt = function(e) { return "object" === (void 0 === a ? "undefined" : U(a)) ? e instanceof a : e && "object" === (void 0 === e ? "undefined" : U(e)) && "number" == typeof e.nodeType && "string" == typeof e.nodeName }, vt = function(e, n, r) { he[e] && p(he[e], (function(e) { e.call(t, n, r, rt) })) }, yt = function(e) { var n = void 0; if (vt("beforeSanitizeElements", e, null), mt(e)) return dt(e), !0; if (g(e.nodeName, /[\u0080-\uFFFF]/)) return dt(e), !0; var r = nt(e.nodeName); if (vt("uponSanitizeElement", e, { tagName: r, allowedTags: ke }), !gt(e.firstElementChild) && (!gt(e.content) || !gt(e.content.firstElementChild)) && w(/<[/\w]/g, e.innerHTML) && w(/<[/\w]/g, e.textContent)) return dt(e), !0; if ("select" === r && w(/