{"version":3,"sources":["webpack:///./node_modules/@nextcloud/vue/dist/Components/AppNavigationSpacer.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/AppSidebar.js","webpack:///./node_modules/p-limit/index.js","webpack:///./node_modules/p-try/index.js","webpack:///./node_modules/marked/lib/marked.js","webpack:///./node_modules/dompurify/dist/purify.js"],"names":["window","module","exports","e","t","n","r","o","i","l","call","m","c","d","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","__esModule","create","bind","default","prototype","hasOwnProperty","p","s","0","a","u","options","render","staticRenderFns","_compiled","functional","_scopeId","this","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","f","beforeCreate","concat","1","toString","map","btoa","unescape","encodeURIComponent","JSON","stringify","sources","sourceRoot","join","length","push","169","name","$createElement","_self","_c","staticClass","2","id","css","media","sourceMap","parts","v","document","DEBUG","Error","head","getElementsByTagName","navigator","test","userAgent","toLowerCase","h","refs","g","createElement","type","appendChild","querySelector","parentNode","removeChild","x","setAttribute","ssrId","styleSheet","cssText","firstChild","createTextNode","y","b","filter","Boolean","childNodes","insertBefore","209","210","99","locals","A","10","100","inserted","focus","101","102","11","12","VTooltip","defaultTemplate","defaultHtml","125","14","15","170","trim","indexOf","components","Actions","directives","props","active","String","title","required","titleEditable","titlePlaceholder","subtitle","background","starred","starLoading","compact","forceMenu","data","tabs","activeTab","isStarred","children","computed","canStar","hasFigure","$slots","header","hasMultipleTabs","hasFigureClickListener","$listeners","currentTabIndex","findIndex","watch","updateActive","updateTabs","mounted","$children","methods","closeSidebar","$emit","onFigureClick","setActive","target","closest","dataset","focusPreviousTab","focusActiveTab","focusNextTab","focusFirstTab","focusLastTab","$el","focusActiveTabContent","toggleStarred","icon","util","warn","sort","order","OC","Util","naturalSortCompare","onTitleInput","onSubmitTitle","onDismissEditing","attrs","class","href","on","click","preventDefault","_v","style","backgroundImage","_t","_e","_s","submit","rawName","placeholder","domProps","keydown","_k","keyCode","key","input","button","ctrlKey","shiftKey","altKey","metaKey","_l","tabindex","role","19","B","20","21","Math","random","replace","substr","211","212","213","214","215","23","24","26","3","31","35","getBoundingClientRect","documentElement","clientHeight","clientWidth","assign","top","left","bottom","right","any","all","offsetY","offsetX","forEach","componentOptions","tag","splice","ClickOutside","directive","tooltip","open","menuAlign","validator","defaultIcon","actions","opened","focusIndex","randomId","offsetYArrow","rotateArrow","hasMultipleActions","isValidSingleAction","firstActionElement","firstActionVNode","firstAction","firstActionBinding","is","to","exact","firstActionEvent","listeners","firstActionEventBinding","firstActionClass","$nextTick","onOpen","beforeMount","initActions","beforeUpdate","toggleMenu","focusFirstAction","closeMenu","$refs","menu","round","onMouseFocusAction","activeElement","querySelectorAll","Array","focusAction","removeCurrentActive","classList","remove","focusPreviousAction","max","focusNextAction","min","focusLastAction","execFirstAction","_b","text","expression","modifiers","auto","rel","_d","hidden","ref","marginRight","marginTop","mousemove","transform","37","38","4","42","49","5","55","6","7","slice","hash","needQuotes","71","72","74","75","76","77","8","9","pTry","require","pLimit","concurrency","Number","isInteger","Infinity","Promise","reject","TypeError","queue","activeCount","next","shift","run","fn","resolve","args","result","then","enqueue","generator","defineProperties","pendingCount","arguments_","root","block","newline","code","fences","hr","heading","blockquote","list","html","def","nptable","noop","table","lheading","_paragraph","Lexer","tokens","links","marked","defaults","rules","normal","pedantic","gfm","_label","_title","edit","getRegex","bullet","item","source","_tag","_comment","paragraph","merge","lex","src","token","loose","cap","bull","listStart","listItems","space","isordered","istask","ischecked","exec","substring","lastToken","trimRight","codeBlockStyle","rtrim","lang","depth","splitCells","align","split","cells","ordered","start","match","RegExp","smartLists","charAt","undefined","task","checked","sanitize","pre","sanitizer","escape","charCodeAt","inline","autolink","url","link","reflink","nolink","strong","em","br","del","InlineLexer","renderer","Renderer","breaks","TextRenderer","Parser","slugger","Slugger","seen","encode","escapeTest","escapeReplace","ch","replacements","escapeTestNoEncode","escapeReplaceNoEncode","_","fromCharCode","parseInt","regex","opt","val","cleanUrl","base","prot","decodeURIComponent","originIndependentUrl","baseUrls","resolveUrl","encodeURI","_punctuation","_escapes","_scheme","_email","_attribute","_href","_extended_email","_backpedal","output","prevCapZero","out","inLink","inRawBlock","lastParenIndex","findClosingBracket","linkLen","outputLink","escapes","codespan","mangle","smartypants","image","infostring","escaped","highlight","langPrefix","quote","level","raw","headerIds","headerPrefix","slug","xhtml","body","listitem","checkbox","tablerow","content","tablecell","flags","baseUrl","parse","inlineText","reverse","tok","pop","peek","parseText","row","cell","j","errMsg","silent","console","log","originalSlug","obj","arguments","tableRow","count","offset","str","curr","invert","suffLen","currChar","checkSanitizeDeprecation","callback","pending","done","err","message","setOptions","getDefaults","parser","lexer","inlineLexer","setPrototypeOf","isFrozen","objectKeys","keys","freeze","seal","_ref","Reflect","apply","construct","fun","thisValue","Func","Function","arr","isArray","arr2","from","_toConsumableArray$1","arrayForEach","unapply","arrayIndexOf","arrayJoin","arrayPop","arrayPush","arraySlice","stringToLowerCase","stringMatch","stringReplace","stringIndexOf","stringTrim","regExpTest","regExpCreate","unconstruct","typeErrorCreate","func","thisArg","_len","_key","_len2","_key2","addToSet","set","array","element","lcElement","clone","object","newObject","property","svg","svgFilters","mathMl","html$1","svg$1","mathMl$1","xml","MUSTACHE_EXPR","ERB_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","_typeof","iterator","constructor","_toConsumableArray","getGlobal","_createTrustedTypesPolicy","trustedTypes","createPolicy","suffix","currentScript","hasAttribute","getAttribute","policyName","createHTML","html$$1","error","createDOMPurify","DOMPurify","version","removed","nodeType","isSupported","originalDocument","useDOMParser","removeTitle","DocumentFragment","HTMLTemplateElement","Node","NodeFilter","_window$NamedNodeMap","NamedNodeMap","MozNamedAttrMap","Text","Comment","DOMParser","template","ownerDocument","trustedTypesPolicy","emptyHTML","_document","implementation","createNodeIterator","createDocumentFragment","importNode","hooks","createHTMLDocument","documentMode","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_JQUERY","SAFE_FOR_TEMPLATES","WHOLE_DOCUMENT","SET_CONFIG","FORCE_BODY","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_DOM_IMPORT","RETURN_TRUSTED_TYPE","SANITIZE_DOM","KEEP_CONTENT","IN_PLACE","USE_PROFILES","FORBID_CONTENTS","DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","CONFIG","formElement","_parseConfig","cfg","ADD_URI_SAFE_ATTR","ALLOWED_URI_REGEXP","ADD_TAGS","ADD_ATTR","tbody","_forceRemove","node","outerHTML","_removeAttribute","attribute","getAttributeNode","removeAttribute","_initDocument","dirty","doc","leadingWhitespace","matches","dirtyPayload","parseFromString","firstElementChild","innerHTML","_createIterator","SHOW_ELEMENT","SHOW_COMMENT","SHOW_TEXT","FILTER_ACCEPT","_isClobbered","elm","nodeName","textContent","attributes","namespaceURI","_isNode","_executeHook","entryPoint","currentNode","hook","_sanitizeElements","tagName","allowedTags","insertAdjacentHTML","htmlToInsert","cloneNode","_isValidAttribute","lcTag","lcName","_sanitizeAttributes","attr","idAttr","hookEvent","attrName","attrValue","keepAttr","allowedAttributes","_attr","forceKeepAttr","setAttributeNS","_sanitizeShadowDOM","fragment","shadowNode","shadowIterator","nextNode","importedNode","oldNode","returnNode","toStaticHTML","nodeIterator","serializedHTML","setConfig","clearConfig","isValidAttribute","addHook","hookFunction","removeHook","removeHooks","removeAllHooks","factory"],"mappings":"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","file":"vue-7.js?v=85631131f96dcbd8bdf0","sourcesContent":["!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(\"Components/AppNavigationSpacer\",[],t):\"object\"==typeof exports?exports[\"Components/AppNavigationSpacer\"]=t():(e.NextcloudVue=e.NextcloudVue||{},e.NextcloudVue[\"Components/AppNavigationSpacer\"]=t())}(window,function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"/dist/\",n(n.s=169)}({0:function(e,t,n){\"use strict\";function r(e,t,n,r,o,i,a,s){var c,u=\"function\"==typeof e?e.options:e;if(t&&(u.render=t,u.staticRenderFns=n,u._compiled=!0),r&&(u.functional=!0),i&&(u._scopeId=\"data-v-\"+i),a?(c=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},u._ssrRegister=c):o&&(c=s?function(){o.call(this,this.$root.$options.shadowRoot)}:o),c)if(u.functional){u._injectStyles=c;var f=u.render;u.render=function(e,t){return c.call(t),f(e,t)}}else{var p=u.beforeCreate;u.beforeCreate=p?[].concat(p,c):[c]}return{exports:e,options:u}}n.d(t,\"a\",function(){return r})},1:function(e,t,n){\"use strict\";e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n=function(e,t){var n=e[1]||\"\",r=e[3];if(!r)return n;if(t&&\"function\"==typeof btoa){var o=(a=r,s=btoa(unescape(encodeURIComponent(JSON.stringify(a)))),c=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(s),\"/*# \".concat(c,\" */\")),i=r.sources.map(function(e){return\"/*# sourceURL=\".concat(r.sourceRoot||\"\").concat(e,\" */\")});return[n].concat(i).concat([o]).join(\"\\n\")}var a,s,c;return[n].join(\"\\n\")}(t,e);return t[2]?\"@media \".concat(t[2],\" {\").concat(n,\"}\"):n}).join(\"\")},t.i=function(e,n,r){\"string\"==typeof e&&(e=[[null,e,\"\"]]);var o={};if(r)for(var i=0;i\n *\n * @author 2019 Christoph Wurst \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */t.default=i},2:function(e,t,n){\"use strict\";function r(e,t){for(var n=[],r={},o=0;on.parts.length&&(r.parts.length=n.parts.length)}else{var a=[];for(o=0;o\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nvar i={inserted:function(A){A.focus()}};t.default=i},101:function(A,t,e){var i=e(213);\"string\"==typeof i&&(i=[[A.i,i,\"\"]]),i.locals&&(A.exports=i.locals);(0,e(2).default)(\"694e6f44\",i,!0,{})},102:function(A,t,e){var i=e(215);\"string\"==typeof i&&(i=[[A.i,i,\"\"]]),i.locals&&(A.exports=i.locals);(0,e(2).default)(\"4dd3631b\",i,!0,{})},11:function(A,t,e){\"use strict\";e.r(t),t.default=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCIgPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48bWV0YWRhdGE+PC9tZXRhZGF0YT48ZGVmcz48Zm9udCBpZD0iaWNvbmZvbnQtdnVlLWMwZjkzYjkiIGhvcml6LWFkdi14PSI1MDAwIj48Zm9udC1mYWNlIGZvbnQtZmFtaWx5PSJpY29uZm9udC12dWUtYzBmOTNiOSIgZm9udC13ZWlnaHQ9IjQwMCIgZm9udC1zdHJldGNoPSJub3JtYWwiIHVuaXRzLXBlci1lbT0iNTAwMCIgcGFub3NlLTE9IjIgMCA1IDMgMCAwIDAgMCAwIDAiIGFzY2VudD0iNTAwMCIgZGVzY2VudD0iMCIgeC1oZWlnaHQ9IjAiIGJib3g9Ii0xIDAgNTAxMSA0ODQ0IiB1bmRlcmxpbmUtdGhpY2tuZXNzPSIwIiB1bmRlcmxpbmUtcG9zaXRpb249IjUwIiB1bmljb2RlLXJhbmdlPSJVK2VhMDEtZWEwYyIgLz48bWlzc2luZy1nbHlwaCBob3Jpei1hZHYteD0iMCIgIC8+PGdseXBoIGdseXBoLW5hbWU9ImFycm93LWxlZnQtZG91YmxlIiB1bmljb2RlPSImI3hlYTAxOyIgZD0iTTM3NTAgMzkwNiBsLTE0MDYgLTE0MDYgbDE0MDYgLTE0MDYgbDAgMzEyIGwtMTA5NCAxMDk0IGwxMDk0IDEwOTQgbDAgMzEyIFpNMjM0NCAzOTA2IGwtMTQwNiAtMTQwNiBsMTQwNiAtMTQwNiBsMCAzMTIgbC0xMDk0IDEwOTQgbDEwOTQgMTA5NCBsMCAzMTIgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iYXJyb3ctbGVmdCIgdW5pY29kZT0iJiN4ZWEwMjsiIGQ9Ik0xNTYzIDI1MDAgbDE4NzUgLTE4NzUgbDAgLTMxMiBsLTIxODggMjE4NyBsMjE4OCAyMTg4IGwwIC0zMTMgbC0xODc1IC0xODc1IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImFycm93LXJpZ2h0LWRvdWJsZSIgdW5pY29kZT0iJiN4ZWEwMzsiIGQ9Ik0xMjUwIDEwOTQgbDE0MDYgMTQwNiBsLTE0MDYgMTQwNiBsMCAtMzEyIGwxMDk0IC0xMDk0IGwtMTA5NCAtMTA5NCBsMCAtMzEyIFpNMjY1NiAxMDk0IGwxNDA3IDE0MDYgbC0xNDA3IDE0MDYgbDAgLTMxMiBsMTA5NCAtMTA5NCBsLTEwOTQgLTEwOTQgbDAgLTMxMiBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvdy1yaWdodCIgdW5pY29kZT0iJiN4ZWEwNDsiIGQ9Ik0zNDM4IDI1MDAgbC0xODc1IDE4NzUgbDAgMzEzIGwyMTg3IC0yMTg4IGwtMjE4NyAtMjE4NyBsMCAzMTIgbDE4NzUgMTg3NSBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJjaGVja21hcmsiIHVuaWNvZGU9IiYjeGVhMDU7IiBkPSJNNDA0NSAzOTcxIGwtMjA2MSAtMjA2MSBsLTEwMjkgMTAyOSBsLTQ0MiAtNDQxIGwxNDcxIC0xNDcxIGwyNTAzIDI1MDIgbC00NDIgNDQyIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImNsb3NlIiB1bmljb2RlPSImI3hlYTA2OyIgZD0iTTQzNzUgMTE1NiBsLTUzMSAtNTMxIGwtMTM0NCAxMzQ0IGwtMTM0NCAtMTM0NCBsLTUzMSA1MzEgbDEzNDQgMTM0NCBsLTEzNDQgMTM0NCBsNTMxIDUzMSBsMTM0NCAtMTM0NCBsMTM0NCAxMzQ0IGw1MzEgLTUzMSBsLTEzNDQgLTEzNDQgbDEzNDQgLTEzNDQgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iY29uZmlybSIgdW5pY29kZT0iJiN4ZWEwNzsiIGQ9Ik0yNjU2IDQ4NDQgcS0xMDEgMCAtMTgwIC01NyBxLTc0IC01MiAtMTA5IC0xMzggcS0zNSAtODYgLTE5IC0xNzUgcTE4IC05NiA5MCAtMTY3IGwxNDk1IC0xNDk0IGwtMzYxNiAwIHEtNzcgMSAtMTM5IC0yNiBxLTU4IC0yNCAtOTkgLTcwIHEtMzkgLTQ0IC01OSAtMTAxIHEtMjAgLTU2IC0yMCAtMTE2IHEwIC02MCAyMCAtMTE2IHEyMCAtNTcgNTkgLTEwMSBxNDEgLTQ2IDk5IC03MCBxNjIgLTI3IDEzOSAtMjUgbDM2MTYgMCBsLTE0OTUgLTE0OTUgcS01NSAtNTMgLTgxIC0xMTYgcS0yNCAtNTkgLTIxIC0xMjEgcTMgLTU4IDMwIC0xMTMgcTI1IC01NCA2OCAtOTcgcTQzIC00MyA5NiAtNjggcTU1IC0yNiAxMTQgLTI5IHE2MiAtMyAxMjAgMjEgcTYzIDI1IDExNiA4MSBsMjAyOSAyMDI4IHE1OSA2MCA4MCAxNDEgcTIxIDgwIDEgMTU5IHEtMjEgODIgLTgxIDE0MiBsLTIwMjkgMjAyOCBxLTQ0IDQ1IC0xMDIgNzAgcS01OCAyNSAtMTIyIDI1IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9Im1lbnUiIHVuaWNvZGU9IiYjeGVhMDg7IiBkPSJNNjI1IDQzNzUgbDAgLTYyNSBsMzc1MCAwIGwwIDYyNSBsLTM3NTAgMCBaTTYyNSAyODEzIGwwIC02MjUgbDM3NTAgMCBsMCA2MjUgbC0zNzUwIDAgWk02MjUgMTI1MCBsMCAtNjI1IGwzNzUwIDAgbDAgNjI1IGwtMzc1MCAwIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9Im1vcmUiIHVuaWNvZGU9IiYjeGVhMDk7IiBkPSJNOTM4IDMxMjUgcS0xMjggMCAtMjQ0IC00OSBxLTExMiAtNDggLTE5OC41IC0xMzQuNSBxLTg2LjUgLTg2LjUgLTEzMy41IC0xOTguNSBxLTUwIC0xMTYgLTQ5LjUgLTI0MyBxMC41IC0xMjcgNDkuNSAtMjQzIHE0NyAtMTEyIDEzMy41IC0xOTguNSBxODYuNSAtODYuNSAxOTguNSAtMTM0LjUgcTExNiAtNDkgMjQzLjUgLTQ5IHExMjcuNSAwIDI0My41IDQ5IHExMTIgNDggMTk4LjUgMTM0LjUgcTg2LjUgODYuNSAxMzMuNSAxOTguNSBxNTAgMTE2IDUwIDI0MyBxMCAxMjcgLTUwIDI0MyBxLTQ3IDExMiAtMTMzLjUgMTk4LjUgcS04Ni41IDg2LjUgLTE5OC41IDEzNC41IHEtMTE2IDQ5IC0yNDMgNDkgWk0yNTAwIDMxMjUgcS0xMjcgMCAtMjQzIC00OSBxLTExMiAtNDggLTE5OC41IC0xMzQuNSBxLTg2LjUgLTg2LjUgLTEzNC41IC0xOTguNSBxLTQ5IC0xMTYgLTQ5IC0yNDMgcTAgLTEyNyA0OSAtMjQzIHE0OCAtMTEyIDEzNC41IC0xOTguNSBxODYuNSAtODYuNSAxOTguNSAtMTM0LjUgcTExNiAtNDkgMjQzIC00OSBxMTI3IDAgMjQzIDQ5IHExMTIgNDggMTk4LjUgMTM0LjUgcTg2LjUgODYuNSAxMzQuNSAxOTguNSBxNDkgMTE2IDQ5IDI0MyBxMCAxMjcgLTQ5IDI0MyBxLTQ4IDExMiAtMTM0LjUgMTk4LjUgcS04Ni41IDg2LjUgLTE5OC41IDEzNC41IHEtMTE2IDQ5IC0yNDMgNDkgWk00MDYzIDMxMjUgcS0xMjggMCAtMjQ0IC00OSBxLTExMiAtNDggLTE5OC41IC0xMzQuNSBxLTg2LjUgLTg2LjUgLTEzMy41IC0xOTguNSBxLTQ5IC0xMTYgLTQ5IC0yNDMgcTAgLTEyNyA0OSAtMjQzIHE0NyAtMTEyIDEzMy41IC0xOTguNSBxODYuNSAtODYuNSAxOTguNSAtMTM0LjUgcTExNiAtNDkgMjQzLjUgLTQ5IHExMjcuNSAwIDI0My41IDQ5IHExMTIgNDggMTk4LjUgMTM0LjUgcTg2LjUgODYuNSAxMzMuNSAxOTguNSBxNTAgMTE2IDUwIDI0MyBxMCAxMjcgLTUwIDI0MyBxLTQ3IDExMiAtMTMzLjUgMTk4LjUgcS04Ni41IDg2LjUgLTE5OC41IDEzNC41IHEtMTE2IDQ5IC0yNDMgNDkgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0icGF1c2UiIHVuaWNvZGU9IiYjeGVhMGE7IiBkPSJNOTM4IDQwNjMgbDAgLTMxMjUgbDEyNTAgMCBsMCAzMTI1IGwtMTI1MCAwIFpNMjgxMyA0MDYzIGwwIC0zMTI1IGwxMjUwIDAgbDAgMzEyNSBsLTEyNTAgMCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJwbGF5IiB1bmljb2RlPSImI3hlYTBiOyIgZD0iTTYyNSA0Mzc1IGwzNzUwIC0xODc1IGwtMzc1MCAtMTg3NSBsMCAzNzUwIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InRyaWFuZ2xlLXMiIHVuaWNvZGU9IiYjeGVhMGM7IiBkPSJNMTI1MCAzMTI1IGwxMjUwIC0xMjUwIGwxMjUwIDEyNDggbC0yNTAwIDIgWiIgLz48L2ZvbnQ+PC9kZWZzPjwvc3ZnPg==\"},12:function(A,t,e){\"use strict\";e.r(t);var i=e(4);e(37);\n/**\n * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author Julius Härtl \n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\ni.VTooltip.options.defaultTemplate='
'),i.VTooltip.options.defaultHtml=!1,t.default=i.VTooltip},125:function(A,t){},14:function(A,t){A.exports=require(\"core-js/modules/es.regexp.exec\")},15:function(A,t){A.exports=require(\"v-click-outside\")},170:function(A,t,e){\"use strict\";e.r(t);e(49),e(211),e(19),e(6),e(23);var i=e(5),a=e.n(i),n=e(55),o=e(100),r=function(A){return A&&\"string\"==typeof A&&\"\"!==A.trim()&&-1===A.indexOf(\" \")},s={name:\"AppSidebar\",components:{Actions:n.default},directives:{focus:o.default},props:{active:{type:String,default:\"\"},title:{type:String,default:\"\",required:!0},titleEditable:{type:Boolean,default:!1},titlePlaceholder:{type:String,default:\"\"},subtitle:{type:String,default:\"\"},background:{type:String,default:\"\"},starred:{type:Boolean,default:null},starLoading:{type:Boolean,default:!1},compact:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1}},data:function(){return{tabs:[],activeTab:\"\",isStarred:this.starred,children:[]}},computed:{canStar:function(){return null!==this.isStarred},hasFigure:function(){return this.$slots.header||this.background},hasMultipleTabs:function(){return this.tabs.length>1},hasFigureClickListener:function(){return this.$listeners[\"figure-click\"]},currentTabIndex:function(){var A=this;return this.tabs.findIndex(function(t){return t.id===A.activeTab})}},watch:{active:function(A){A!==this.activeTab&&this.updateActive()},starred:function(){this.isStarred=this.starred},children:function(){this.updateTabs()}},mounted:function(){this.updateTabs(),this.children=this.$children},methods:{closeSidebar:function(A){this.$emit(\"close\",A)},onFigureClick:function(A){this.$emit(\"figure-click\",A)},setActive:function(A){var t=A.target.closest(\"a\").dataset.id;this.activeTab=t,this.$emit(\"update:active\",t)},focusPreviousTab:function(){this.currentTabIndex>0&&(this.activeTab=this.tabs[this.currentTabIndex-1].id,this.$emit(\"update:active\",this.activeTab)),this.focusActiveTab()},focusNextTab:function(){this.currentTabIndex0?this.tabs[0].id:\"\"},toggleStarred:function(){this.isStarred=!this.isStarred,this.$emit(\"update:starred\",this.isStarred)},updateTabs:function(){var A=this.$children.filter(function(A){return A.name&&\"string\"==typeof A.name&&r(A.id)&&r(A.icon)});0!==A.length&&A.length!==this.$children.length&&a.a.util.warn(\"Mixing tabs and non-tab-content is not possible.\"),this.tabs=A.sort(function(A,t){var e=A.order||0,i=t.order||0;return e===i?OC.Util.naturalSortCompare(A.name,t.name):e-i}),this.tabs.length>0&&this.updateActive()},onTitleInput:function(A){this.$emit(\"input-title\",A),this.$emit(\"update:title\",A.target.value)},onSubmitTitle:function(A){this.$emit(\"submit-title\",A)},onDismissEditing:function(){this.$emit(\"dismiss-editing\")}}},c=(e(212),e(214),e(0)),d=e(125),u=e.n(d),p=Object(c.a)(s,function(){var A=this,t=A.$createElement,e=A._self._c||t;return e(\"transition\",{attrs:{name:\"slide-right\"}},[e(\"aside\",{attrs:{id:\"app-sidebar\"}},[e(\"header\",{staticClass:\"app-sidebar-header\",class:{\"app-sidebar-header--with-figure\":A.hasFigure,\"app-sidebar-header--compact\":A.compact}},[e(\"a\",{staticClass:\"app-sidebar__close icon-close\",attrs:{href:\"#\",title:A.t(\"core\",\"close\")},on:{click:function(t){return t.preventDefault(),A.closeSidebar(t)}}}),A._v(\" \"),A.hasFigure?e(\"div\",{staticClass:\"app-sidebar-header__figure\",class:{\"app-sidebar-header__figure--with-action\":A.hasFigureClickListener},style:{backgroundImage:\"url(\"+A.background+\")\"},on:{click:A.onFigureClick}},[A._t(\"header\")],2):A._e(),A._v(\" \"),e(\"div\",{staticClass:\"app-sidebar-header__desc\",class:{\"app-sidebar-header__desc--with-star\":A.canStar,\"app-sidebar-header__desc--with-subtitle\":A.subtitle&&!A.titleEditable,\"app-sidebar-header__desc--editable\":A.titleEditable&&!A.subtitle,\"app-sidebar-header__desc--with-subtitle--editable\":A.titleEditable&&A.subtitle}},[A.canStar?e(\"a\",{staticClass:\"app-sidebar-header__star\",class:{\"icon-starred\":A.isStarred&&!A.starLoading,\"icon-star\":!A.isStarred&&!A.starLoading,\"icon-loading-small\":A.starLoading},on:{click:function(t){return t.preventDefault(),A.toggleStarred(t)}}}):A._e(),A._v(\" \"),A.titleEditable?A._e():e(\"h2\",{staticClass:\"app-sidebar-header__title\"},[A._v(\"\\n\\t\\t\\t\\t\\t\"+A._s(A.title)+\"\\n\\t\\t\\t\\t\")]),A._v(\" \"),A.titleEditable?[e(\"form\",{staticClass:\"rename-form\",on:{submit:function(t){return t.preventDefault(),A.onSubmitTitle(t)}}},[e(\"input\",{directives:[{name:\"focus\",rawName:\"v-focus\"}],staticClass:\"app-sidebar-header__title-input\",attrs:{type:\"text\",placeholder:A.titlePlaceholder},domProps:{value:A.title},on:{keydown:function(t){return!t.type.indexOf(\"key\")&&A._k(t.keyCode,\"esc\",27,t.key,[\"Esc\",\"Escape\"])?null:A.onDismissEditing(t)},input:A.onTitleInput}}),A._v(\" \"),e(\"button\",{staticClass:\"icon-confirm\",attrs:{type:\"submit\"}})])]:A._e(),A._v(\" \"),\"\"!==A.subtitle.trim()?e(\"p\",{staticClass:\"app-sidebar-header__subtitle\"},[A._v(\"\\n\\t\\t\\t\\t\\t\"+A._s(A.subtitle)+\"\\n\\t\\t\\t\\t\")]):A._e(),A._v(\" \"),A.$slots[\"secondary-actions\"]?e(\"Actions\",{staticClass:\"app-sidebar-header__menu\",attrs:{\"force-menu\":A.forceMenu}},[A._t(\"secondary-actions\")],2):A._e()],2),A._v(\" \"),A.$slots[\"primary-actions\"]?e(\"div\",{staticClass:\"app-sidebar-header__action\"},[A._t(\"primary-actions\")],2):A._e()]),A._v(\" \"),A.hasMultipleTabs?e(\"nav\",{staticClass:\"app-sidebar-tabs__nav\",on:{keydown:[function(t){return!t.type.indexOf(\"key\")&&A._k(t.keyCode,\"left\",37,t.key,[\"Left\",\"ArrowLeft\"])?null:\"button\"in t&&0!==t.button?null:t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),A.focusPreviousTab(t))},function(t){return!t.type.indexOf(\"key\")&&A._k(t.keyCode,\"right\",39,t.key,[\"Right\",\"ArrowRight\"])?null:\"button\"in t&&2!==t.button?null:t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),A.focusNextTab(t))},function(t){return!t.type.indexOf(\"key\")&&A._k(t.keyCode,\"tab\",9,t.key,\"Tab\")?null:t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),A.focusActiveTabContent(t))},function(t){return!t.type.indexOf(\"key\")&&A._k(t.keyCode,\"page-up\",void 0,t.key,void 0)?null:t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),A.focusFirstTab(t))},function(t){return!t.type.indexOf(\"key\")&&A._k(t.keyCode,\"page-down\",void 0,t.key,void 0)?null:t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),A.focusLastTab(t))}]}},[e(\"ul\",A._l(A.tabs,function(t){return e(\"li\",{key:t.id,staticClass:\"app-sidebar-tabs__tab\"},[e(\"a\",{class:{active:A.activeTab===t.id},attrs:{id:t.id,\"aria-controls\":\"tab-\"+t.id,\"aria-selected\":A.activeTab===t.id,\"data-id\":t.id,href:\"#tab-\"+t.id,tabindex:A.activeTab===t.id?null:-1,role:\"tab\"},on:{click:function(t){return t.preventDefault(),A.setActive(t)}}},[e(\"span\",{staticClass:\"app-sidebar-tabs__tab-icon\",class:t.icon}),A._v(\"\\n\\t\\t\\t\\t\\t\\t\"+A._s(t.name)+\"\\n\\t\\t\\t\\t\\t\")])])}),0)]):A._e(),A._v(\" \"),e(\"div\",{staticClass:\"app-sidebar-tabs__content\",class:{\"app-sidebar-tabs__content--multiple\":A.hasMultipleTabs}},[A._t(\"default\",null,{activeTab:A.activeTab})],2)])])},[],!1,null,\"2e504e82\",null);\"function\"==typeof u.a&&u()(p);var l=p.exports;e.d(t,\"AppSidebar\",function(){return l});\n/*\n * @copyright 2019 Christoph Wurst \n *\n * @author 2019 Christoph Wurst \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */t.default=l},19:function(A,t){A.exports=require(\"core-js/modules/es.array.index-of\")},2:function(A,t,e){\"use strict\";function i(A,t){for(var e=[],i={},a=0;ae.parts.length&&(i.parts.length=e.parts.length)}else{var o=[];for(a=0;a.app-sidebar__close[data-v-2e504e82]{position:absolute;width:44px;height:44px;top:6px;right:6px;z-index:100;opacity:.7;border-radius:22px}#app-sidebar .app-sidebar-header>.app-sidebar__close[data-v-2e504e82]:hover,#app-sidebar .app-sidebar-header>.app-sidebar__close[data-v-2e504e82]:active,#app-sidebar .app-sidebar-header>.app-sidebar__close[data-v-2e504e82]:focus{opacity:1;background-color:rgba(127,127,127,0.25)}#app-sidebar .app-sidebar-header__figure[data-v-2e504e82]{max-height:250px;height:250px;width:100%;background-size:contain;background-position:center;background-repeat:no-repeat}#app-sidebar .app-sidebar-header__figure--with-action[data-v-2e504e82]{cursor:pointer}#app-sidebar .app-sidebar-header__desc[data-v-2e504e82]{position:relative;padding:18px 106px 18px 9px;display:flex;flex-direction:column;justify-content:center;box-sizing:content-box}#app-sidebar .app-sidebar-header__desc .app-sidebar-header__title[data-v-2e504e82],#app-sidebar .app-sidebar-header__desc .app-sidebar-header__subtitle[data-v-2e504e82]{width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:0}#app-sidebar .app-sidebar-header__desc .app-sidebar-header__title[data-v-2e504e82]{padding:0;font-size:20px;line-height:30px}#app-sidebar .app-sidebar-header__desc input.app-sidebar-header__title-input[data-v-2e504e82]{font-size:16px;padding:7px;width:100%;margin:0}#app-sidebar .app-sidebar-header__desc .app-sidebar-header__subtitle[data-v-2e504e82]{font-size:14px;padding:0;opacity:.7}#app-sidebar .app-sidebar-header__desc .app-sidebar-header__star[data-v-2e504e82]{display:block;width:44px;height:44px;padding:14px;position:absolute;left:0}#app-sidebar .app-sidebar-header__desc .app-sidebar-header__menu[data-v-2e504e82]{position:absolute;right:22px;background-color:rgba(127,127,127,0.25);border-radius:22px}#app-sidebar .app-sidebar-header__desc--with-star[data-v-2e504e82]{padding-left:44px}#app-sidebar .app-sidebar-header__desc--with-subtitle[data-v-2e504e82]{justify-content:space-between;height:52px}#app-sidebar .app-sidebar-header__desc--editable[data-v-2e504e82]{height:39px}#app-sidebar .app-sidebar-header__desc--with-subtitle--editable[data-v-2e504e82]{height:78px}#app-sidebar .app-sidebar-header__desc--with-subtitle--editable .app-sidebar-header__subtitle[data-v-2e504e82]{margin-left:7px}#app-sidebar .app-sidebar-header__desc--with-subtitle--editable .app-sidebar-header__title-input[data-v-2e504e82]{margin-top:-16px}#app-sidebar .app-sidebar-header--with-figure .app-sidebar-header__desc[data-v-2e504e82]{padding-right:88px}#app-sidebar .app-sidebar-header:not(.app-sidebar-header--with-figure) .app-sidebar-header__menu[data-v-2e504e82]{top:6px;right:56px}#app-sidebar .app-sidebar-header__action[data-v-2e504e82]{display:flex;margin:0 10px;max-height:50px;align-items:center}#app-sidebar .app-sidebar-header--compact .app-sidebar-header__figure[data-v-2e504e82]{height:70px;width:70px;margin:9px;border-radius:3px;position:absolute;left:0;top:0;z-index:2}#app-sidebar .app-sidebar-header--compact .app-sidebar-header__desc[data-v-2e504e82]{padding-left:44px;margin-left:46px;height:52px}#app-sidebar .app-sidebar-header--compact .app-sidebar-header__desc .app-sidebar-header__star[data-v-2e504e82]{margin-top:-9px;z-index:3}#app-sidebar .app-sidebar-header--compact .app-sidebar-header__desc .app-sidebar-header__menu[data-v-2e504e82]{right:50px;top:6px;margin:0;background-color:transparent}#app-sidebar .app-sidebar-header--compact .app-sidebar-header__desc--editable[data-v-2e504e82]{padding-top:0}#app-sidebar .app-sidebar-header--compact .app-sidebar-header__desc--editable input.app-sidebar-header__title-input[data-v-2e504e82]{margin-top:0}#app-sidebar .app-sidebar-tabs__nav[data-v-2e504e82]{margin-top:10px}#app-sidebar .app-sidebar-tabs__nav ul[data-v-2e504e82]{display:flex;justify-content:stretch}#app-sidebar .app-sidebar-tabs__tab[data-v-2e504e82]{display:block;text-align:center;flex:1 1}#app-sidebar .app-sidebar-tabs__tab a[data-v-2e504e82]{display:block;padding-top:25px;padding-bottom:5px;position:relative;border-bottom:1px solid var(--color-border);text-align:center;opacity:.7;color:var(--color-main-text);transition:color var(--animation-quick),opacity var(--animation-quick),border-color var(--animation-quick)}#app-sidebar .app-sidebar-tabs__tab a[data-v-2e504e82]:hover,#app-sidebar .app-sidebar-tabs__tab a[data-v-2e504e82]:focus,#app-sidebar .app-sidebar-tabs__tab a[data-v-2e504e82]:active,#app-sidebar .app-sidebar-tabs__tab a.active[data-v-2e504e82]{opacity:1}#app-sidebar .app-sidebar-tabs__tab a:hover .app-sidebar-tabs__tab-icon[data-v-2e504e82],#app-sidebar .app-sidebar-tabs__tab a:focus .app-sidebar-tabs__tab-icon[data-v-2e504e82],#app-sidebar .app-sidebar-tabs__tab a:active .app-sidebar-tabs__tab-icon[data-v-2e504e82],#app-sidebar .app-sidebar-tabs__tab a.active .app-sidebar-tabs__tab-icon[data-v-2e504e82]{opacity:1}#app-sidebar .app-sidebar-tabs__tab a[data-v-2e504e82]:not(.active):hover,#app-sidebar .app-sidebar-tabs__tab a[data-v-2e504e82]:not(.active):focus{box-shadow:inset 0 -1px 0 var(--color-background-darker);border-bottom-color:var(--color-background-darker)}#app-sidebar .app-sidebar-tabs__tab a.active[data-v-2e504e82]{font-weight:bold;color:var(--color-text-light);border-bottom-color:var(--color-text-light);box-shadow:inset 0 -1px 0 var(--color-text-light)}#app-sidebar .app-sidebar-tabs__tab a[data-v-2e504e82]:focus{border-bottom-color:var(--color-primary-element);box-shadow:inset 0 -1px 0 var(--color-primary-element)}#app-sidebar .app-sidebar-tabs__tab-icon[data-v-2e504e82]{height:25px;width:100%;position:absolute;top:0;left:0;opacity:.7;background-position:center 8px;background-size:16px;transition:opacity var(--animation-quick)}#app-sidebar .app-sidebar-tabs__content[data-v-2e504e82]{position:relative;flex:1 1 100%}#app-sidebar .app-sidebar-tabs__content--multiple[data-v-2e504e82]>:not(section){display:none}.slide-right-leave-active[data-v-2e504e82],.slide-right-enter-active[data-v-2e504e82]{transition-duration:var(--animation-quick);transition-property:max-width, min-width}.slide-right-enter-to[data-v-2e504e82],.slide-right-leave[data-v-2e504e82]{min-width:300px;max-width:500px}.slide-right-enter[data-v-2e504e82],.slide-right-leave-to[data-v-2e504e82]{min-width:0 !important;max-width:0 !important}.fade-leave-active[data-v-2e504e82],.fade-enter-active[data-v-2e504e82]{transition-duration:var(--animation-quick);transition-property:opacity;position:absolute;top:0;left:0;width:100%;opacity:1}.fade-enter[data-v-2e504e82],.fade-leave-to[data-v-2e504e82]{opacity:0}.rename-form[data-v-2e504e82]{display:flex}.rename-form .icon-confirm[data-v-2e504e82]{margin:0}\\n\",\"\"]),A.exports=t},214:function(A,t,e){\"use strict\";var i=e(102);e.n(i).a},215:function(A,t,e){(t=e(1)(!1)).push([A.i,\".app-sidebar-header__action button,.app-sidebar-header__action .button,.app-sidebar-header__action input[type='button'],.app-sidebar-header__action input[type='submit'],.app-sidebar-header__action input[type='reset']{padding:6px 22px}\\n\",\"\"]),A.exports=t},23:function(A,t){A.exports=require(\"core-js/modules/es.string.trim\")},24:function(A,t){A.exports=require(\"core-js/modules/es.string.replace\")},26:function(A,t){A.exports=require(\"core-js/modules/es.array.concat\")},3:function(A,t){A.exports=require(\"core-js/modules/es.object.to-string\")},31:function(A,t,e){var i=e(77);\"string\"==typeof i&&(i=[[A.i,i,\"\"]]),i.locals&&(A.exports=i.locals);(0,e(2).default)(\"0a304400\",i,!0,{})},35:function(A,t,e){\"use strict\";e(26),e(49),e(19);var i=e(15),a=e(12),n=e(21),o=(e(74),function(A){var t=A.getBoundingClientRect(),e=document.documentElement.clientHeight,i=document.documentElement.clientWidth,a=Object.assign({});return a.top=t.top<0,a.left=t.left<0,a.bottom=t.bottom>e,a.right=t.right>i,a.any=a.top||a.left||a.bottom||a.right,a.all=a.top&&a.left&&a.bottom&&a.right,a.offsetY=a.top?t.top:a.bottom?t.bottom-e:0,a.offsetX=a.left?t.left:a.right?t.right-i:0,a}),r=(e(71),e(75),e(6),e(72),e(5)),s=e.n(r),c=function(A,t,e){void 0!==A&&A.forEach(function(i,a){var n=!i.componentOptions&&i.tag&&-1===t.indexOf(i.tag),o=!!i.componentOptions&&\"string\"==typeof i.componentOptions.tag&&-1===t.indexOf(i.componentOptions.tag);(n||o)&&(s.a.util.warn(\"\".concat(n?i.tag:i.componentOptions.tag,\" is not allowed inside the \").concat(e.$options.name,\" component\"),e),A.splice(a,1))})},d=[\"ActionButton\",\"ActionCheckbox\",\"ActionInput\",\"ActionLink\",\"ActionRadio\",\"ActionRouter\",\"ActionSeparator\",\"ActionText\",\"ActionTextEditable\"],u={name:\"Actions\",directives:{ClickOutside:i.directive,tooltip:a.default},props:{open:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},menuAlign:{type:String,default:\"center\",validator:function(A){return[\"left\",\"center\",\"right\"].indexOf(A)>-1}},defaultIcon:{type:String,default:\"action-item__menutoggle--default-icon\"}},data:function(){return{actions:[],opened:this.open,focusIndex:0,randomId:\"menu-\"+Object(n.a)(),offsetX:0,offsetY:0,offsetYArrow:0,rotateArrow:!1,children:this.$children}},computed:{hasMultipleActions:function(){return this.actions.length>1},isValidSingleAction:function(){return 1===this.actions.length&&null!==this.firstActionElement},firstActionVNode:function(){return this.actions[0]},firstAction:function(){return this.children[0]?this.children[0]:{}},firstActionBinding:function(){if(this.firstActionVNode&&this.firstActionVNode.componentOptions){var A=this.firstActionVNode.componentOptions.tag;if(\"ActionLink\"===A)return{is:\"a\",href:this.firstAction.href,target:this.firstAction.target};if(\"ActionRouter\"===A)return{is:\"router-link\",to:this.firstAction.to,exact:this.firstAction.exact};if(\"ActionButton\"===A)return{is:\"button\"}}return null},firstActionEvent:function(){return this.firstActionVNode&&this.firstActionVNode.componentOptions&&this.firstActionVNode.componentOptions.listeners&&this.firstActionVNode.componentOptions.listeners.click},firstActionEventBinding:function(){return this.firstActionEvent?\"click\":null},firstActionClass:function(){var A=this.firstActionVNode&&this.firstActionVNode.data.staticClass,t=this.firstActionVNode&&this.firstActionVNode.data.class;return\"\".concat(A,\" \").concat(t)}},watch:{open:function(A){var t=this;this.opened=A,this.opened&&this.$nextTick(function(){t.onOpen()})}},beforeMount:function(){this.initActions(),c(this.$slots.default,d,this)},beforeUpdate:function(){this.initActions(),c(this.$slots.default,d,this)},methods:{toggleMenu:function(A){var t=this;this.opened=!this.opened,this.opened?(this.$nextTick(function(){t.onOpen(),t.focusFirstAction()}),this.$emit(\"open\",A)):(this.offsetX=0,this.offsetY=0,this.offsetYArrow=0,this.rotateArrow=!1),this.$emit(\"update:open\",this.opened)},closeMenu:function(A){this.opened&&(this.$emit(\"update:open\",!1),this.$emit(\"close\",A)),this.opened=!1,this.offsetX=0,this.offsetY=0,this.offsetYArrow=0,this.rotateArrow=!1},onOpen:function(){if(this.offsetX=0,this.offsetY=0,this.offsetYArrow=0,this.rotateArrow=!1,\"center\"===this.menuAlign){var A=o(this.$refs.menu);(A.left||A.right)&&(this.offsetX=A.offsetX>0?Math.round(A.offsetX)+5:Math.round(A.offsetX)-5),A.bottom&&(this.offsetY=0-Math.round(this.$refs.menu.clientHeight)-42,this.offsetYArrow=Math.round(this.$refs.menu.clientHeight)+18,this.rotateArrow=!0)}},onMouseFocusAction:function(A){if(document.activeElement!==A.target){var t=A.target.closest(\"li\");if(t){var e=t.querySelector(\".focusable\");if(e){var i=this.$refs.menu.querySelectorAll(\".focusable\"),a=Array.prototype.indexOf.call(i,e);a>-1&&(this.focusIndex=a,this.focusAction())}}}},removeCurrentActive:function(){var A=this.$refs.menu.querySelector(\"li.active\");A&&A.classList.remove(\"active\")},focusAction:function(){var A=this.$refs.menu.querySelectorAll(\".focusable\")[this.focusIndex];if(A){var t=A.closest(\"li\");A.focus(),t&&(this.removeCurrentActive(),t.classList.add(\"active\"))}},focusPreviousAction:function(){this.focusIndex=Math.max(this.focusIndex-1,0),this.focusAction()},focusNextAction:function(){this.focusIndex=Math.min(this.focusIndex+1,this.$refs.menu.querySelectorAll(\".focusable\").length-1),this.focusAction()},focusFirstAction:function(){this.focusIndex=0,this.focusAction()},focusLastAction:function(){this.focusIndex=this.$el.querySelectorAll(\".focusable\").length-1,this.focusAction()},execFirstAction:function(A){this.firstActionEvent&&this.firstActionEvent(A)},initActions:function(){this.actions=(this.$slots.default||[]).filter(function(A){return!!A&&!!A.componentOptions})}}},p=(e(76),e(0)),l=e(42),g=e.n(l),b=Object(p.a)(u,function(){var A=this,t=A.$createElement,e=A._self._c||t;return A.isValidSingleAction&&!A.forceMenu?e(\"element\",A._b({directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:A.firstAction.text,expression:\"firstAction.text\",modifiers:{auto:!0}}],staticClass:\"action-item action-item--single\",class:[A.firstAction.icon,A.firstActionClass],attrs:{\"aria-label\":A.firstAction.text,rel:\"noreferrer noopener\"},on:A._d({},[A.firstActionEventBinding,A.execFirstAction])},\"element\",A.firstActionBinding,!1),[e(\"span\",{attrs:{\"aria-hidden\":!0,hidden:\"\"}},[A._t(\"default\")],2)]):e(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:A.hasMultipleActions||A.forceMenu,expression:\"hasMultipleActions || forceMenu\"}],staticClass:\"action-item\",class:{\"action-item--open\":A.opened},on:{keydown:[function(t){return!t.type.indexOf(\"key\")&&A._k(t.keyCode,\"up\",38,t.key,[\"Up\",\"ArrowUp\"])?null:t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),A.focusPreviousAction(t))},function(t){return!t.type.indexOf(\"key\")&&A._k(t.keyCode,\"down\",40,t.key,[\"Down\",\"ArrowDown\"])?null:t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),A.focusNextAction(t))},function(t){return!t.type.indexOf(\"key\")&&A._k(t.keyCode,\"tab\",9,t.key,\"Tab\")?null:t.shiftKey?(t.preventDefault(),A.focusPreviousAction(t)):null},function(t){return!t.type.indexOf(\"key\")&&A._k(t.keyCode,\"page-up\",void 0,t.key,void 0)?null:t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),A.focusFirstAction(t))},function(t){return!t.type.indexOf(\"key\")&&A._k(t.keyCode,\"page-down\",void 0,t.key,void 0)?null:t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),A.focusLastAction(t))},function(t){return!t.type.indexOf(\"key\")&&A._k(t.keyCode,\"esc\",27,t.key,[\"Esc\",\"Escape\"])?null:t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),A.closeMenu(t))}]}},[e(\"a\",{staticClass:\"icon action-item__menutoggle\",class:A.defaultIcon,attrs:{href:\"#\",\"aria-haspopup\":\"true\",\"aria-controls\":A.randomId,\"aria-expanded\":A.opened},on:{click:function(t){return t.preventDefault(),A.toggleMenu(t)},keydown:function(t){return!t.type.indexOf(\"key\")&&A._k(t.keyCode,\"space\",32,t.key,[\" \",\"Spacebar\"])?null:t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),A.toggleMenu(t))}}}),A._v(\" \"),A.opened?e(\"div\",{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:A.closeMenu,expression:\"closeMenu\"}],ref:\"menu\",staticClass:\"action-item__menu\",class:[\"menu-\"+A.menuAlign,{open:A.opened}],style:{marginRight:A.offsetX+\"px\",marginTop:A.offsetY+\"px\"},attrs:{tabindex:\"-1\"},on:{mousemove:A.onMouseFocusAction}},[e(\"div\",{staticClass:\"action-item__menu_arrow\",style:{transform:\"translateX(\"+A.offsetX+\"px) translateY(\"+A.offsetYArrow+\"px) \"+(A.rotateArrow?\" rotate(180deg)\":\"\")}}),A._v(\" \"),e(\"ul\",{attrs:{id:A.randomId,tabindex:\"-1\"}},[A._t(\"default\")],2)]):A._e()])},[],!1,null,\"5acb084b\",null);\"function\"==typeof g.a&&g()(b);t.a=b.exports},37:function(A,t,e){var i=e(38);\"string\"==typeof i&&(i=[[A.i,i,\"\"]]),i.locals&&(A.exports=i.locals);(0,e(2).default)(\"941c791e\",i,!0,{})},38:function(A,t,e){(t=e(1)(!1)).push([A.i,\".vue-tooltip[data-v-c0f93b9]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;white-space:normal;text-decoration:none;letter-spacing:normal;word-spacing:normal;text-transform:none;word-wrap:normal;word-break:normal;opacity:0;text-shadow:none;font-family:'Nunito', 'Open Sans', Frutiger, Calibri, 'Myriad Pro', Myriad, sans-serif;font-size:12px;font-weight:normal;font-style:normal;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-c0f93b9][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-c0f93b9][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-c0f93b9][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-c0f93b9][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-c0f93b9][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-c0f93b9][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-c0f93b9] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-c0f93b9] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\",\"\"]),A.exports=t},4:function(A,t){A.exports=require(\"v-tooltip\")},42:function(A,t){},49:function(A,t){A.exports=require(\"core-js/modules/es.array.filter\")},5:function(A,t){A.exports=require(\"vue\")},55:function(A,t,e){\"use strict\";e.r(t);var i=e(35);e.d(t,\"Actions\",function(){return i.a}),\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */t.default=i.a},6:function(A,t){A.exports=require(\"core-js/modules/es.function.name\")},7:function(A,t,e){\"use strict\";A.exports=function(A,t){return t||(t={}),\"string\"!=typeof(A=A&&A.__esModule?A.default:A)?A:(/^['\"].*['\"]$/.test(A)&&(A=A.slice(1,-1)),t.hash&&(A+=t.hash),/[\"'() \\t\\n]/.test(A)||t.needQuotes?'\"'.concat(A.replace(/\"/g,'\\\\\"').replace(/\\n/g,\"\\\\n\"),'\"'):A)}},71:function(A,t){A.exports=require(\"core-js/modules/es.array.for-each\")},72:function(A,t){A.exports=require(\"core-js/modules/web.dom-collections.for-each\")},74:function(A,t){A.exports=require(\"core-js/modules/es.object.assign\")},75:function(A,t){A.exports=require(\"core-js/modules/es.array.splice\")},76:function(A,t,e){\"use strict\";var i=e(31);e.n(i).a},77:function(A,t,e){var i=e(1),a=e(7),n=e(8),o=e(9),r=e(10),s=e(11);t=i(!1);var c=a(n),d=a(o),u=a(r),p=a(s);t.push([A.i,'@font-face{font-family:\"iconfont-vue-c0f93b9\";src:url('+c+\");src:url(\"+c+') format(\"embedded-opentype\"),url('+d+') format(\"woff\"),url('+u+') format(\"truetype\"),url('+p+') format(\"svg\")}.icon[data-v-5acb084b]{font-style:normal;font-weight:400}.icon.arrow-left-double[data-v-5acb084b]:before{font-family:\"iconfont-vue-c0f93b9\";content:\"\"}.icon.arrow-left[data-v-5acb084b]:before{font-family:\"iconfont-vue-c0f93b9\";content:\"\"}.icon.arrow-right-double[data-v-5acb084b]:before{font-family:\"iconfont-vue-c0f93b9\";content:\"\"}.icon.arrow-right[data-v-5acb084b]:before{font-family:\"iconfont-vue-c0f93b9\";content:\"\"}.icon.checkmark[data-v-5acb084b]:before{font-family:\"iconfont-vue-c0f93b9\";content:\"\"}.icon.close[data-v-5acb084b]:before{font-family:\"iconfont-vue-c0f93b9\";content:\"\"}.icon.confirm[data-v-5acb084b]:before{font-family:\"iconfont-vue-c0f93b9\";content:\"\"}.icon.menu[data-v-5acb084b]:before{font-family:\"iconfont-vue-c0f93b9\";content:\"\"}.icon.more[data-v-5acb084b]:before{font-family:\"iconfont-vue-c0f93b9\";content:\"\"}.icon.pause[data-v-5acb084b]:before{font-family:\"iconfont-vue-c0f93b9\";content:\"\"}.icon.play[data-v-5acb084b]:before{font-family:\"iconfont-vue-c0f93b9\";content:\"\"}.icon.triangle-s[data-v-5acb084b]:before{font-family:\"iconfont-vue-c0f93b9\";content:\"\"}.action-item[data-v-5acb084b]{position:relative;display:inline-block}.action-item--single[data-v-5acb084b]:hover,.action-item--single[data-v-5acb084b]:focus,.action-item--single[data-v-5acb084b]:active,.action-item__menutoggle[data-v-5acb084b]:hover,.action-item__menutoggle[data-v-5acb084b]:focus,.action-item__menutoggle[data-v-5acb084b]:active{border-radius:22px;background-color:rgba(127,127,127,0.25) !important;opacity:1}.action-item.action-item--open .action-item__menutoggle[data-v-5acb084b]{opacity:1;border-radius:22px;background-color:rgba(127,127,127,0.25)}.action-item--single[data-v-5acb084b],.action-item__menutoggle[data-v-5acb084b]{box-sizing:border-box;width:44px;height:44px;margin:0;padding:14px;cursor:pointer;border:none;background-color:transparent}.action-item__menutoggle[data-v-5acb084b]{display:flex;align-items:center;justify-content:center;opacity:.7}.action-item__menutoggle[data-v-5acb084b]:before{content:\\'\\'}.action-item__menutoggle--default-icon[data-v-5acb084b]{font-size:16px}.action-item__menutoggle--default-icon[data-v-5acb084b]:before{font-family:\"iconfont-vue-c0f93b9\";font-style:normal;font-weight:400;content:\"\"}.action-item--single[data-v-5acb084b]{opacity:.7}.action-item--single[data-v-5acb084b]:hover,.action-item--single[data-v-5acb084b]:focus,.action-item--single[data-v-5acb084b]:active{opacity:1}.action-item--single>[hidden][data-v-5acb084b]{display:none}.action-item--multiple[data-v-5acb084b]{position:relative}.action-item__menu[data-v-5acb084b]{position:absolute;z-index:110;right:50%;display:none;margin-bottom:10px;margin-top:-5px;transform:translateX(50%);color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background);filter:drop-shadow(0 1px 3px var(--color-box-shadow))}.action-item__menu ul[data-v-5acb084b]>:not(li){display:none}.action-item__menu.open[data-v-5acb084b]{display:block}.action-item__menu .action-item__menu_arrow[data-v-5acb084b]{position:absolute;right:50%;bottom:100%;width:0;height:0;margin-right:-9px;content:\\' \\';pointer-events:none;border:solid transparent;border-width:9px;border-bottom-color:var(--color-main-background)}.action-item__menu.menu-right[data-v-5acb084b]{right:0;left:auto;transform:none}.action-item__menu.menu-right .action-item__menu_arrow[data-v-5acb084b]{right:13px;margin-right:0}.action-item__menu.menu-left[data-v-5acb084b]{right:auto;left:0;transform:none}.action-item__menu.menu-left .action-item__menu_arrow[data-v-5acb084b]{right:auto;left:13px;margin-right:0}.ie .action-item__menu[data-v-5acb084b],.ie .action-item__menu .action-item__menu_arrow[data-v-5acb084b],.edge .action-item__menu[data-v-5acb084b],.edge .action-item__menu .action-item__menu_arrow[data-v-5acb084b]{border:1px solid var(--color-border)}\\n',\"\"]),A.exports=t},8:function(A,t,e){\"use strict\";e.r(t),t.default=\"data:application/vnd.ms-fontobject;base64,qgoAAOAJAAABAAIAAAAAAAIABQMAAAAAAAABQJABAAAAAExQAAAAABAAAAAAAAAAAAAAAAAAAAEAAAAAYwwKLwAAAAAAAAAAAAAAAAAAAAAAACgAAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AYwAwAGYAOQAzAGIAOQAAAAAAABYAAFYAZQByAHMAaQBvAG4AIAAxAC4AMAAAKAAAaQBjAG8AbgBmAG8AbgB0AC0AdgB1AGUALQBjADAAZgA5ADMAYgA5AAAAAAABAAAACgCAAAMAIE9TLzJ045CJAAAArAAAAGBjbWFwAA3rsgAAAQwAAAFCZ2x5ZrP154sAAAJQAAADgGhlYWQnIrhJAAAF0AAAADZoaGVhJxwTgAAABggAAAAkaG10eBOI//8AAAYsAAAAHmxvY2EFNAW+AAAGTAAAABxtYXhwARoAVwAABmgAAAAgbmFtZUwtfAwAAAaIAAACpnBvc3TeHIDjAAAJMAAAALAABBOIAZAABQAADGUNrAAAArwMZQ2sAAAJYAD1BQoAAAIABQMAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUGZFZABA6gHqDBOIAAABwhOIAAAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQAAAAAAPAADAAEAAAAcAAQAIAAAAAQABAABAADqDP//AADqAf//FgAAAQAAAAAAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAOpg9DAAUACwAACQIRCQQRCQEOpvqCBX77ugRG+oL6ggV++7oERg9C+oL6ggE4BEYERgE4+oL6ggE4BEYERgABAAAAAA1uElAABQAACQERCQERBhsHU/d0CIwJxPit/sgIiwiM/scAAgAAAAAP3w9DAAUACwAACQIRCQQRCQEE4gV++oIERvu6BX4Ff/qBBEb7ugRGBX4Ffv7I+7r7uv7IBX4Ffv7I+7r7ugABAAAAAA6mElAABQAACQERCQERDW74rQiL93UJxAdTATn3dPd1ATgAAQAAAAARhw+DAAUAAAkFD8338/v7/kYFvwnHD4P38wQF/kf6QQnGAAEAAAAAERcRFwALAAAJCxEX/e36wPrA/e0FQPrAAhMFQAVAAhP6wASE/e0FQPrAAhMFQAVAAhP6wAVA/e36wAAB//8AABOTEuwAMwAAASIHDgEXFhcBISYHBgcGBwYUFxYXFhcWNyEBBgcGFxYXHgEXFhcWNzY3ATY3NicmJwEuAQpgZU9KRhASSAXX8eBNPjopJxQUFBQnKTo+TQ4g+ik3GhgDAxsZVjU3Oz46PzUH7TsVFRQVPPgTLHQS7Dk0rFlgR/oqARsYLiw5OHg4OSwuGBsC+ik1Pzs+Ojc2VhkaAwMYGTgH7DxRUE9SPAfsLTIAAAADAAAAABEXERcAAwAHAAsAAAERIREBESERAREhEQJxDqbxWg6m8VoOphEX/Y8Ccfnm/Y8Ccfnl/Y8CcQADAAAAABJQDDUAGAAxAEoAAAEiBw4BBwYWFx4BFxYyNz4BNzY0Jy4BJyYhIgcOAQcGFBceARcWMjc+ATc2NCcuAScmISIHDgEHBhQXHgEXFjI3PgE3NjQnLgEnJgOqgHRwrS8yATEvrXB0/3RwrS8yMi+tcHQFm390cK0wMTEwrXB0/nRwrTAxMTCtcHQFnIB0cK0vMTEvrXB0/3RwrS8yMi+tcHQMNTEwrXB0/nRwrTAxMTCtcHT+dHCtMDExMK1wdP50cK0wMTEwrXB0/nRwrTAxMTCtcHT+dHCtMDExMK1wdP50cK0wMQAAAAIAAAAAD98P3wADAAcAAAERIREhESERA6oE4gJxBOIP3/PLDDXzyww1AAAAAQAAAAARFxEXAAIAAAkCAnEOpvFaERf4rfitAAEAAAAADqYMNQACAAAJAgTiBOIE4gw1+x4E4AABAAAAAQAALwoMY18PPPUACxOIAAAAANphmGwAAAAA2hC8bP//AAATkxLsAAAACAACAAAAAAAAAAEAABOIAAAAABOI////9ROTAAEAAAAAAAAAAAAAAAAAAAACAAAAABOIAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAAAAACIANgBYAGwAgACgAPoBGAGOAaQBsgHAAAEAAAANAEsAAwAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAAAQAMYAAQAAAAAAAQAUAAAAAQAAAAAAAgAHABQAAQAAAAAAAwAUABsAAQAAAAAABAAUAC8AAQAAAAAABQALAEMAAQAAAAAABgAUAE4AAQAAAAAACgArAGIAAQAAAAAACwATAI0AAwABBAkAAQAoAKAAAwABBAkAAgAOAMgAAwABBAkAAwAoANYAAwABBAkABAAoAP4AAwABBAkABQAWASYAAwABBAkABgAoATwAAwABBAkACgBWAWQAAwABBAkACwAmAbppY29uZm9udC12dWUtYzBmOTNiOVJlZ3VsYXJpY29uZm9udC12dWUtYzBmOTNiOWljb25mb250LXZ1ZS1jMGY5M2I5VmVyc2lvbiAxLjBpY29uZm9udC12dWUtYzBmOTNiOUdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AYwAwAGYAOQAzAGIAOQBSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AYwAwAGYAOQAzAGIAOQBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtAGMAMABmADkAMwBiADkAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AYwAwAGYAOQAzAGIAOQBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAANAA0AAAECAQMBBAEFAQYBBwEIAQkBCgELAQwBDRFhcnJvdy1sZWZ0LWRvdWJsZQphcnJvdy1sZWZ0EmFycm93LXJpZ2h0LWRvdWJsZQthcnJvdy1yaWdodAljaGVja21hcmsFY2xvc2UHY29uZmlybQRtZW51BG1vcmUFcGF1c2UEcGxheQp0cmlhbmdsZS1z\"},9:function(A,t,e){\"use strict\";e.r(t),t.default=\"data:font/woff;base64,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\"}})});\n//# sourceMappingURL=AppSidebar.js.map","'use strict';\nconst pTry = require('p-try');\n\nconst pLimit = concurrency => {\n\tif (!((Number.isInteger(concurrency) || concurrency === Infinity) && concurrency > 0)) {\n\t\treturn Promise.reject(new TypeError('Expected `concurrency` to be a number from 1 and up'));\n\t}\n\n\tconst queue = [];\n\tlet activeCount = 0;\n\n\tconst next = () => {\n\t\tactiveCount--;\n\n\t\tif (queue.length > 0) {\n\t\t\tqueue.shift()();\n\t\t}\n\t};\n\n\tconst run = (fn, resolve, ...args) => {\n\t\tactiveCount++;\n\n\t\tconst result = pTry(fn, ...args);\n\n\t\tresolve(result);\n\n\t\tresult.then(next, next);\n\t};\n\n\tconst enqueue = (fn, resolve, ...args) => {\n\t\tif (activeCount < concurrency) {\n\t\t\trun(fn, resolve, ...args);\n\t\t} else {\n\t\t\tqueue.push(run.bind(null, fn, resolve, ...args));\n\t\t}\n\t};\n\n\tconst generator = (fn, ...args) => new Promise(resolve => enqueue(fn, resolve, ...args));\n\tObject.defineProperties(generator, {\n\t\tactiveCount: {\n\t\t\tget: () => activeCount\n\t\t},\n\t\tpendingCount: {\n\t\t\tget: () => queue.length\n\t\t}\n\t});\n\n\treturn generator;\n};\n\nmodule.exports = pLimit;\nmodule.exports.default = pLimit;\n","'use strict';\n\nconst pTry = (fn, ...arguments_) => new Promise(resolve => {\n\tresolve(fn(...arguments_));\n});\n\nmodule.exports = pTry;\n// TODO: remove this in the next major version\nmodule.exports.default = pTry;\n","/**\n * marked - a markdown parser\n * Copyright (c) 2011-2018, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n;(function(root) {\n'use strict';\n\n/**\n * Block-Level Grammar\n */\n\nvar block = {\n newline: /^\\n+/,\n code: /^( {4}[^\\n]+\\n*)+/,\n fences: /^ {0,3}(`{3,}|~{3,})([^`~\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?:\\n+|$)|$)/,\n hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,\n heading: /^ {0,3}(#{1,6}) +([^\\n]*?)(?: +#+)? *(?:\\n+|$)/,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3})(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?!\\1bull )\\n*|\\s*$)/,\n html: '^ {0,3}(?:' // optional indentation\n + '<(script|pre|style)[\\\\s>][\\\\s\\\\S]*?(?:[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?\\\\?>\\\\n*' // (3)\n + '|\\\\n*' // (4)\n + '|\\\\n*' // (5)\n + '|)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (6)\n + '|<(?!script|pre|style)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) open tag\n + '|(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *\\n? *]+)>?(?:(?: +\\n? *| *\\n *)(title))? *(?:\\n+|$)/,\n nptable: noop,\n table: noop,\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)[^\\n]+)*)/,\n text: /^[^\\n]+/\n};\n\nblock._label = /(?!\\s*\\])(?:\\\\[\\[\\]]|[^\\[\\]])+/;\nblock._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\nblock.def = edit(block.def)\n .replace('label', block._label)\n .replace('title', block._title)\n .getRegex();\n\nblock.bullet = /(?:[*+-]|\\d{1,9}\\.)/;\nblock.item = /^( *)(bull) ?[^\\n]*(?:\\n(?!\\1bull ?)[^\\n]*)*/;\nblock.item = edit(block.item, 'gm')\n .replace(/bull/g, block.bullet)\n .getRegex();\n\nblock.list = edit(block.list)\n .replace(/bull/g, block.bullet)\n .replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))')\n .replace('def', '\\\\n+(?=' + block.def.source + ')')\n .getRegex();\n\nblock._tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr'\n + '|track|ul';\nblock._comment = //;\nblock.html = edit(block.html, 'i')\n .replace('comment', block._comment)\n .replace('tag', block._tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\n\nblock.paragraph = edit(block._paragraph)\n .replace('hr', block.hr)\n .replace('heading', ' {0,3}#{1,6} +')\n .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}|~{3,})[^`\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|!--)')\n .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n\nblock.blockquote = edit(block.blockquote)\n .replace('paragraph', block.paragraph)\n .getRegex();\n\n/**\n * Normal Block Grammar\n */\n\nblock.normal = merge({}, block);\n\n/**\n * GFM Block Grammar\n */\n\nblock.gfm = merge({}, block.normal, {\n nptable: /^ *([^|\\n ].*\\|.*)\\n *([-:]+ *\\|[-| :]*)(?:\\n((?:.*[^>\\n ].*(?:\\n|$))*)\\n*|$)/,\n table: /^ *\\|(.+)\\n *\\|?( *[-:]+[-| :]*)(?:\\n((?: *[^>\\n ].*(?:\\n|$))*)\\n*|$)/\n});\n\n/**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\n\nblock.pedantic = merge({}, block.normal, {\n html: edit(\n '^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+? *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', block._comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n heading: /^ *(#{1,6}) *([^\\n]+?) *(?:#+ *)?(?:\\n+|$)/,\n fences: noop, // fences not supported\n paragraph: edit(block.normal._paragraph)\n .replace('hr', block.hr)\n .replace('heading', ' *#{1,6} *[^\\n]')\n .replace('lheading', block.lheading)\n .replace('blockquote', ' {0,3}>')\n .replace('|fences', '')\n .replace('|list', '')\n .replace('|html', '')\n .getRegex()\n});\n\n/**\n * Block Lexer\n */\n\nfunction Lexer(options) {\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || marked.defaults;\n this.rules = block.normal;\n\n if (this.options.pedantic) {\n this.rules = block.pedantic;\n } else if (this.options.gfm) {\n this.rules = block.gfm;\n }\n}\n\n/**\n * Expose Block Rules\n */\n\nLexer.rules = block;\n\n/**\n * Static Lex Method\n */\n\nLexer.lex = function(src, options) {\n var lexer = new Lexer(options);\n return lexer.lex(src);\n};\n\n/**\n * Preprocessing\n */\n\nLexer.prototype.lex = function(src) {\n src = src\n .replace(/\\r\\n|\\r/g, '\\n')\n .replace(/\\t/g, ' ')\n .replace(/\\u00a0/g, ' ')\n .replace(/\\u2424/g, '\\n');\n\n return this.token(src, true);\n};\n\n/**\n * Lexing\n */\n\nLexer.prototype.token = function(src, top) {\n src = src.replace(/^ +$/gm, '');\n var next,\n loose,\n cap,\n bull,\n b,\n item,\n listStart,\n listItems,\n t,\n space,\n i,\n tag,\n l,\n isordered,\n istask,\n ischecked;\n\n while (src) {\n // newline\n if (cap = this.rules.newline.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[0].length > 1) {\n this.tokens.push({\n type: 'space'\n });\n }\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n var lastToken = this.tokens[this.tokens.length - 1];\n src = src.substring(cap[0].length);\n // An indented code block cannot interrupt a paragraph.\n if (lastToken && lastToken.type === 'paragraph') {\n lastToken.text += '\\n' + cap[0].trimRight();\n } else {\n cap = cap[0].replace(/^ {4}/gm, '');\n this.tokens.push({\n type: 'code',\n codeBlockStyle: 'indented',\n text: !this.options.pedantic\n ? rtrim(cap, '\\n')\n : cap\n });\n }\n continue;\n }\n\n // fences\n if (cap = this.rules.fences.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'code',\n lang: cap[2] ? cap[2].trim() : cap[2],\n text: cap[3] || ''\n });\n continue;\n }\n\n // heading\n if (cap = this.rules.heading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[1].length,\n text: cap[2]\n });\n continue;\n }\n\n // table no leading pipe (gfm)\n if (cap = this.rules.nptable.exec(src)) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; 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 for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(item.cells[i], item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // hr\n if (cap = this.rules.hr.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'hr'\n });\n continue;\n }\n\n // blockquote\n if (cap = this.rules.blockquote.exec(src)) {\n src = src.substring(cap[0].length);\n\n this.tokens.push({\n type: 'blockquote_start'\n });\n\n cap = cap[0].replace(/^ *> ?/gm, '');\n\n // Pass `top` to keep the current\n // \"toplevel\" state. This is exactly\n // how markdown.pl works.\n this.token(cap, top);\n\n this.tokens.push({\n type: 'blockquote_end'\n });\n\n continue;\n }\n\n // list\n if (cap = this.rules.list.exec(src)) {\n src = src.substring(cap[0].length);\n bull = cap[2];\n isordered = bull.length > 1;\n\n listStart = {\n type: 'list_start',\n ordered: isordered,\n start: isordered ? +bull : '',\n loose: false\n };\n\n this.tokens.push(listStart);\n\n // Get each top-level item.\n cap = cap[0].match(this.rules.item);\n\n listItems = [];\n next = false;\n l = cap.length;\n i = 0;\n\n for (; i < l; i++) {\n item = cap[i];\n\n // Remove the list item's bullet\n // so it is seen as the next token.\n space = item.length;\n item = item.replace(/^ *([*+-]|\\d+\\.) */, '');\n\n // Outdent whatever the\n // list item contains. Hacky.\n if (~item.indexOf('\\n ')) {\n space -= item.length;\n item = !this.options.pedantic\n ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')\n : item.replace(/^ {1,4}/gm, '');\n }\n\n // Determine whether the next list item belongs here.\n // Backpedal if it does not belong in this list.\n if (i !== l - 1) {\n b = block.bullet.exec(cap[i + 1])[0];\n if (bull.length > 1 ? b.length === 1\n : (b.length > 1 || (this.options.smartLists && b !== bull))) {\n src = cap.slice(i + 1).join('\\n') + src;\n i = l - 1;\n }\n }\n\n // Determine whether item is loose or not.\n // Use: /(^|\\n)(?! )[^\\n]+\\n\\n(?!\\s*$)/\n // for discount behavior.\n loose = next || /\\n\\n(?!\\s*$)/.test(item);\n if (i !== l - 1) {\n next = item.charAt(item.length - 1) === '\\n';\n if (!loose) loose = next;\n }\n\n if (loose) {\n listStart.loose = true;\n }\n\n // Check for task list items\n istask = /^\\[[ xX]\\] /.test(item);\n ischecked = undefined;\n if (istask) {\n ischecked = item[1] !== ' ';\n item = item.replace(/^\\[[ xX]\\] +/, '');\n }\n\n t = {\n type: 'list_item_start',\n task: istask,\n checked: ischecked,\n loose: loose\n };\n\n listItems.push(t);\n this.tokens.push(t);\n\n // Recurse.\n this.token(item, false);\n\n this.tokens.push({\n type: 'list_item_end'\n });\n }\n\n if (listStart.loose) {\n l = listItems.length;\n i = 0;\n for (; i < l; i++) {\n listItems[i].loose = true;\n }\n }\n\n this.tokens.push({\n type: 'list_end'\n });\n\n continue;\n }\n\n // html\n if (cap = this.rules.html.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: this.options.sanitize\n ? 'paragraph'\n : 'html',\n pre: !this.options.sanitizer\n && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n text: this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0])) : cap[0]\n });\n continue;\n }\n\n // def\n if (top && (cap = this.rules.def.exec(src))) {\n src = src.substring(cap[0].length);\n if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);\n tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n if (!this.tokens.links[tag]) {\n this.tokens.links[tag] = {\n href: cap[2],\n title: cap[3]\n };\n }\n continue;\n }\n\n // table (gfm)\n if (cap = this.rules.table.exec(src)) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; 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 for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(\n item.cells[i].replace(/^ *\\| *| *\\| *$/g, ''),\n item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // lheading\n if (cap = this.rules.lheading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[2].charAt(0) === '=' ? 1 : 2,\n text: cap[1]\n });\n continue;\n }\n\n // top-level paragraph\n if (top && (cap = this.rules.paragraph.exec(src))) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'paragraph',\n text: cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1]\n });\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n // Top-level should never reach here.\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'text',\n text: cap[0]\n });\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return this.tokens;\n};\n\n/**\n * Inline-Level Grammar\n */\n\nvar inline = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noop,\n tag: '^comment'\n + '|^' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. \n + '|^' // declaration, e.g. \n + '|^', // CDATA section\n link: /^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(?!\\s*\\])((?:\\\\[\\[\\]]?|[^\\[\\]\\\\])+)\\]/,\n nolink: /^!?\\[(?!\\s*\\])((?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]|[^\\[\\]])*)\\](?:\\[\\])?/,\n strong: /^__([^\\s_])__(?!_)|^\\*\\*([^\\s*])\\*\\*(?!\\*)|^__([^\\s][\\s\\S]*?[^\\s])__(?!_)|^\\*\\*([^\\s][\\s\\S]*?[^\\s])\\*\\*(?!\\*)/,\n em: /^_([^\\s_])_(?!_)|^\\*([^\\s*<\\[])\\*(?!\\*)|^_([^\\s<][\\s\\S]*?[^\\s_])_(?!_|[^\\spunctuation])|^_([^\\s_<][\\s\\S]*?[^\\s])_(?!_|[^\\spunctuation])|^\\*([^\\s<\"][\\s\\S]*?[^\\s\\*])\\*(?!\\*|[^\\spunctuation])|^\\*([^\\s*\"<\\[][\\s\\S]*?[^\\s])\\*(?!\\*)/,\n code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noop,\n text: /^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\?@\\\\[^_{|}~';\ninline.em = edit(inline.em).replace(/punctuation/g, inline._punctuation).getRegex();\n\ninline._escapes = /\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g;\n\ninline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\ninline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;\ninline.autolink = edit(inline.autolink)\n .replace('scheme', inline._scheme)\n .replace('email', inline._email)\n .getRegex();\n\ninline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\n\ninline.tag = edit(inline.tag)\n .replace('comment', block._comment)\n .replace('attribute', inline._attribute)\n .getRegex();\n\ninline._label = /(?:\\[[^\\[\\]]*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\ninline._href = /<(?:\\\\[<>]?|[^\\s<>\\\\])*>|[^\\s\\x00-\\x1f]*/;\ninline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\n\ninline.link = edit(inline.link)\n .replace('label', inline._label)\n .replace('href', inline._href)\n .replace('title', inline._title)\n .getRegex();\n\ninline.reflink = edit(inline.reflink)\n .replace('label', inline._label)\n .getRegex();\n\n/**\n * Normal Inline Grammar\n */\n\ninline.normal = merge({}, inline);\n\n/**\n * Pedantic Inline Grammar\n */\n\ninline.pedantic = merge({}, inline.normal, {\n strong: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n em: /^_(?=\\S)([\\s\\S]*?\\S)_(?!_)|^\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)/,\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', inline._label)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', inline._label)\n .getRegex()\n});\n\n/**\n * GFM Inline Grammar\n */\n\ninline.gfm = merge({}, inline.normal, {\n escape: edit(inline.escape).replace('])', '~|])').getRegex(),\n _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,\n url: /^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\n _backpedal: /(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,\n del: /^~+(?=\\S)([\\s\\S]*?\\S)~+/,\n text: /^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\/i.test(cap[0])) {\n this.inLink = false;\n }\n if (!this.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.inRawBlock = true;\n } else if (this.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.inRawBlock = false;\n }\n\n src = src.substring(cap[0].length);\n out += this.options.sanitize\n ? this.options.sanitizer\n ? this.options.sanitizer(cap[0])\n : escape(cap[0])\n : cap[0];\n continue;\n }\n\n // link\n if (cap = this.rules.link.exec(src)) {\n var lastParenIndex = findClosingBracket(cap[2], '()');\n if (lastParenIndex > -1) {\n var linkLen = 4 + 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 src = src.substring(cap[0].length);\n this.inLink = true;\n href = cap[2];\n if (this.options.pedantic) {\n link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n if (link) {\n href = link[1];\n title = link[3];\n } else {\n title = '';\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n href = href.trim().replace(/^<([\\s\\S]*)>$/, '$1');\n out += this.outputLink(cap, {\n href: InlineLexer.escapes(href),\n title: InlineLexer.escapes(title)\n });\n this.inLink = false;\n continue;\n }\n\n // reflink, nolink\n if ((cap = this.rules.reflink.exec(src))\n || (cap = this.rules.nolink.exec(src))) {\n src = src.substring(cap[0].length);\n link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = this.links[link.toLowerCase()];\n if (!link || !link.href) {\n out += cap[0].charAt(0);\n src = cap[0].substring(1) + src;\n continue;\n }\n this.inLink = true;\n out += this.outputLink(cap, link);\n this.inLink = false;\n continue;\n }\n\n // strong\n if (cap = this.rules.strong.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.strong(this.output(cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // em\n if (cap = this.rules.em.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.em(this.output(cap[6] || cap[5] || cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.codespan(escape(cap[2].trim(), true));\n continue;\n }\n\n // br\n if (cap = this.rules.br.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.br();\n continue;\n }\n\n // del (gfm)\n if (cap = this.rules.del.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.del(this.output(cap[1]));\n continue;\n }\n\n // autolink\n if (cap = this.rules.autolink.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[2] === '@') {\n text = escape(this.mangle(cap[1]));\n href = 'mailto:' + text;\n } else {\n text = escape(cap[1]);\n href = text;\n }\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // url (gfm)\n if (!this.inLink && (cap = this.rules.url.exec(src))) {\n if (cap[2] === '@') {\n text = escape(cap[0]);\n href = 'mailto:' + text;\n } else {\n // do extended autolink path validation\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n text = escape(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + text;\n } else {\n href = text;\n }\n }\n src = src.substring(cap[0].length);\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n src = src.substring(cap[0].length);\n if (this.inRawBlock) {\n out += this.renderer.text(this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0])) : cap[0]);\n } else {\n out += this.renderer.text(escape(this.smartypants(cap[0])));\n }\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return out;\n};\n\nInlineLexer.escapes = function(text) {\n return text ? text.replace(InlineLexer.rules._escapes, '$1') : text;\n};\n\n/**\n * Compile Link\n */\n\nInlineLexer.prototype.outputLink = function(cap, link) {\n var href = link.href,\n title = link.title ? escape(link.title) : null;\n\n return cap[0].charAt(0) !== '!'\n ? this.renderer.link(href, title, this.output(cap[1]))\n : this.renderer.image(href, title, escape(cap[1]));\n};\n\n/**\n * Smartypants Transformations\n */\n\nInlineLexer.prototype.smartypants = function(text) {\n if (!this.options.smartypants) return text;\n return text\n // em-dashes\n .replace(/---/g, '\\u2014')\n // en-dashes\n .replace(/--/g, '\\u2013')\n // opening singles\n .replace(/(^|[-\\u2014/(\\[{\"\\s])'/g, '$1\\u2018')\n // closing singles & apostrophes\n .replace(/'/g, '\\u2019')\n // opening doubles\n .replace(/(^|[-\\u2014/(\\[{\\u2018\\s])\"/g, '$1\\u201c')\n // closing doubles\n .replace(/\"/g, '\\u201d')\n // ellipses\n .replace(/\\.{3}/g, '\\u2026');\n};\n\n/**\n * Mangle Links\n */\n\nInlineLexer.prototype.mangle = function(text) {\n if (!this.options.mangle) return text;\n var out = '',\n l = text.length,\n i = 0,\n ch;\n\n for (; i < l; i++) {\n ch = text.charCodeAt(i);\n if (Math.random() > 0.5) {\n ch = 'x' + ch.toString(16);\n }\n out += '&#' + ch + ';';\n }\n\n return out;\n};\n\n/**\n * Renderer\n */\n\nfunction Renderer(options) {\n this.options = options || marked.defaults;\n}\n\nRenderer.prototype.code = function(code, infostring, escaped) {\n var lang = (infostring || '').match(/\\S*/)[0];\n if (this.options.highlight) {\n var out = this.options.highlight(code, lang);\n if (out != null && out !== code) {\n escaped = true;\n code = out;\n }\n }\n\n if (!lang) {\n return '
'\n      + (escaped ? code : escape(code, true))\n      + '
';\n }\n\n return '
'\n    + (escaped ? code : escape(code, true))\n    + '
\\n';\n};\n\nRenderer.prototype.blockquote = function(quote) {\n return '
\\n' + quote + '
\\n';\n};\n\nRenderer.prototype.html = function(html) {\n return html;\n};\n\nRenderer.prototype.heading = function(text, level, raw, slugger) {\n if (this.options.headerIds) {\n return ''\n + text\n + '\\n';\n }\n // ignore IDs\n return '' + text + '\\n';\n};\n\nRenderer.prototype.hr = function() {\n return this.options.xhtml ? '
\\n' : '
\\n';\n};\n\nRenderer.prototype.list = function(body, ordered, start) {\n var type = ordered ? 'ol' : 'ul',\n startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startatt + '>\\n' + body + '\\n';\n};\n\nRenderer.prototype.listitem = function(text) {\n return '
  • ' + text + '
  • \\n';\n};\n\nRenderer.prototype.checkbox = function(checked) {\n return ' ';\n};\n\nRenderer.prototype.paragraph = function(text) {\n return '

    ' + text + '

    \\n';\n};\n\nRenderer.prototype.table = function(header, body) {\n if (body) body = '' + body + '';\n\n return '\\n'\n + '\\n'\n + header\n + '\\n'\n + body\n + '
    \\n';\n};\n\nRenderer.prototype.tablerow = function(content) {\n return '\\n' + content + '\\n';\n};\n\nRenderer.prototype.tablecell = function(content, flags) {\n var type = flags.header ? 'th' : 'td';\n var tag = flags.align\n ? '<' + type + ' align=\"' + flags.align + '\">'\n : '<' + type + '>';\n return tag + content + '\\n';\n};\n\n// span level renderer\nRenderer.prototype.strong = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.em = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.codespan = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.br = function() {\n return this.options.xhtml ? '
    ' : '
    ';\n};\n\nRenderer.prototype.del = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.link = function(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n var out = '';\n return out;\n};\n\nRenderer.prototype.image = function(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n\n var out = '\"'' : '>';\n return out;\n};\n\nRenderer.prototype.text = function(text) {\n return text;\n};\n\n/**\n * TextRenderer\n * returns only the textual part of the token\n */\n\nfunction TextRenderer() {}\n\n// no need for block level renderers\n\nTextRenderer.prototype.strong =\nTextRenderer.prototype.em =\nTextRenderer.prototype.codespan =\nTextRenderer.prototype.del =\nTextRenderer.prototype.text = function(text) {\n return text;\n};\n\nTextRenderer.prototype.link =\nTextRenderer.prototype.image = function(href, title, text) {\n return '' + text;\n};\n\nTextRenderer.prototype.br = function() {\n return '';\n};\n\n/**\n * Parsing & Compiling\n */\n\nfunction Parser(options) {\n this.tokens = [];\n this.token = null;\n this.options = options || marked.defaults;\n this.options.renderer = this.options.renderer || new Renderer();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.slugger = new Slugger();\n}\n\n/**\n * Static Parse Method\n */\n\nParser.parse = function(src, options) {\n var parser = new Parser(options);\n return parser.parse(src);\n};\n\n/**\n * Parse Loop\n */\n\nParser.prototype.parse = function(src) {\n this.inline = new InlineLexer(src.links, this.options);\n // use an InlineLexer with a TextRenderer to extract pure text\n this.inlineText = new InlineLexer(\n src.links,\n merge({}, this.options, { renderer: new TextRenderer() })\n );\n this.tokens = src.reverse();\n\n var out = '';\n while (this.next()) {\n out += this.tok();\n }\n\n return out;\n};\n\n/**\n * Next Token\n */\n\nParser.prototype.next = function() {\n this.token = this.tokens.pop();\n return this.token;\n};\n\n/**\n * Preview Next Token\n */\n\nParser.prototype.peek = function() {\n return this.tokens[this.tokens.length - 1] || 0;\n};\n\n/**\n * Parse Text Tokens\n */\n\nParser.prototype.parseText = function() {\n var body = this.token.text;\n\n while (this.peek().type === 'text') {\n body += '\\n' + this.next().text;\n }\n\n return this.inline.output(body);\n};\n\n/**\n * Parse Current Token\n */\n\nParser.prototype.tok = function() {\n switch (this.token.type) {\n case 'space': {\n return '';\n }\n case 'hr': {\n return this.renderer.hr();\n }\n case 'heading': {\n return this.renderer.heading(\n this.inline.output(this.token.text),\n this.token.depth,\n unescape(this.inlineText.output(this.token.text)),\n this.slugger);\n }\n case 'code': {\n return this.renderer.code(this.token.text,\n this.token.lang,\n this.token.escaped);\n }\n case 'table': {\n var header = '',\n body = '',\n i,\n row,\n cell,\n j;\n\n // header\n cell = '';\n for (i = 0; i < this.token.header.length; i++) {\n cell += this.renderer.tablecell(\n this.inline.output(this.token.header[i]),\n { header: true, align: this.token.align[i] }\n );\n }\n header += this.renderer.tablerow(cell);\n\n for (i = 0; i < this.token.cells.length; i++) {\n row = this.token.cells[i];\n\n cell = '';\n for (j = 0; j < row.length; j++) {\n cell += this.renderer.tablecell(\n this.inline.output(row[j]),\n { header: false, align: this.token.align[j] }\n );\n }\n\n body += this.renderer.tablerow(cell);\n }\n return this.renderer.table(header, body);\n }\n case 'blockquote_start': {\n body = '';\n\n while (this.next().type !== 'blockquote_end') {\n body += this.tok();\n }\n\n return this.renderer.blockquote(body);\n }\n case 'list_start': {\n body = '';\n var ordered = this.token.ordered,\n start = this.token.start;\n\n while (this.next().type !== 'list_end') {\n body += this.tok();\n }\n\n return this.renderer.list(body, ordered, start);\n }\n case 'list_item_start': {\n body = '';\n var loose = this.token.loose;\n var checked = this.token.checked;\n var task = this.token.task;\n\n if (this.token.task) {\n body += this.renderer.checkbox(checked);\n }\n\n while (this.next().type !== 'list_item_end') {\n body += !loose && this.token.type === 'text'\n ? this.parseText()\n : this.tok();\n }\n return this.renderer.listitem(body, task, checked);\n }\n case 'html': {\n // TODO parse inline content if parameter markdown=1\n return this.renderer.html(this.token.text);\n }\n case 'paragraph': {\n return this.renderer.paragraph(this.inline.output(this.token.text));\n }\n case 'text': {\n return this.renderer.paragraph(this.parseText());\n }\n default: {\n var errMsg = 'Token with \"' + this.token.type + '\" type was not found.';\n if (this.options.silent) {\n console.log(errMsg);\n } else {\n throw new Error(errMsg);\n }\n }\n }\n};\n\n/**\n * Slugger generates header id\n */\n\nfunction Slugger() {\n this.seen = {};\n}\n\n/**\n * Convert string to unique id\n */\n\nSlugger.prototype.slug = function(value) {\n var slug = value\n .toLowerCase()\n .trim()\n .replace(/[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&()*+,./:;<=>?@[\\]^`{|}~]/g, '')\n .replace(/\\s/g, '-');\n\n if (this.seen.hasOwnProperty(slug)) {\n var originalSlug = slug;\n do {\n this.seen[originalSlug]++;\n slug = originalSlug + '-' + this.seen[originalSlug];\n } while (this.seen.hasOwnProperty(slug));\n }\n this.seen[slug] = 0;\n\n return slug;\n};\n\n/**\n * Helpers\n */\n\nfunction escape(html, encode) {\n if (encode) {\n if (escape.escapeTest.test(html)) {\n return html.replace(escape.escapeReplace, function(ch) { return escape.replacements[ch]; });\n }\n } else {\n if (escape.escapeTestNoEncode.test(html)) {\n return html.replace(escape.escapeReplaceNoEncode, function(ch) { return escape.replacements[ch]; });\n }\n }\n\n return html;\n}\n\nescape.escapeTest = /[&<>\"']/;\nescape.escapeReplace = /[&<>\"']/g;\nescape.replacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\n\nescape.escapeTestNoEncode = /[<>\"']|&(?!#?\\w+;)/;\nescape.escapeReplaceNoEncode = /[<>\"']|&(?!#?\\w+;)/g;\n\nfunction unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(/&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig, function(_, n) {\n n = n.toLowerCase();\n if (n === 'colon') return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x'\n ? String.fromCharCode(parseInt(n.substring(2), 16))\n : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n}\n\nfunction edit(regex, opt) {\n regex = regex.source || regex;\n opt = opt || '';\n return {\n replace: function(name, val) {\n val = val.source || val;\n val = val.replace(/(^|[^\\[])\\^/g, '$1');\n regex = regex.replace(name, val);\n return this;\n },\n getRegex: function() {\n return new RegExp(regex, opt);\n }\n };\n}\n\nfunction cleanUrl(sanitize, base, href) {\n if (sanitize) {\n try {\n var prot = decodeURIComponent(unescape(href))\n .replace(/[^\\w:]/g, '')\n .toLowerCase();\n } catch (e) {\n return null;\n }\n if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {\n return null;\n }\n }\n if (base && !originIndependentUrl.test(href)) {\n href = resolveUrl(base, href);\n }\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n } catch (e) {\n return null;\n }\n return href;\n}\n\nfunction 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 (/^[^:]+:\\/*[^/]*$/.test(base)) {\n baseUrls[' ' + base] = base + '/';\n } else {\n baseUrls[' ' + base] = rtrim(base, '/', true);\n }\n }\n base = baseUrls[' ' + base];\n\n if (href.slice(0, 2) === '//') {\n return base.replace(/:[\\s\\S]*/, ':') + href;\n } else if (href.charAt(0) === '/') {\n return base.replace(/(:\\/*[^/]*)[\\s\\S]*/, '$1') + href;\n } else {\n return base + href;\n }\n}\nvar baseUrls = {};\nvar originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\n\nfunction noop() {}\nnoop.exec = noop;\n\nfunction merge(obj) {\n var i = 1,\n target,\n key;\n\n for (; i < arguments.length; i++) {\n target = arguments[i];\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\nfunction 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 while (--curr >= 0 && str[curr] === '\\\\') escaped = !escaped;\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 i = 0;\n\n if (cells.length > count) {\n cells.splice(count);\n } else {\n while (cells.length < count) cells.push('');\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 return cells;\n}\n\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.\nfunction rtrim(str, c, invert) {\n if (str.length === 0) {\n return '';\n }\n\n // Length of suffix matching the invert condition.\n var suffLen = 0;\n\n // Step left until we fail to match the invert condition.\n while (suffLen < str.length) {\n var currChar = str.charAt(str.length - suffLen - 1);\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, str.length - suffLen);\n}\n\nfunction findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n var level = 0;\n for (var i = 0; i < str.length; 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 if (level < 0) {\n return i;\n }\n }\n }\n return -1;\n}\n\nfunction 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}\n\n/**\n * Marked\n */\n\nfunction marked(src, opt, callback) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked(): input parameter is undefined or null');\n }\n if (typeof src !== 'string') {\n throw new Error('marked(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected');\n }\n\n if (callback || typeof opt === 'function') {\n if (!callback) {\n callback = opt;\n opt = null;\n }\n\n opt = merge({}, marked.defaults, opt || {});\n checkSanitizeDeprecation(opt);\n\n var highlight = opt.highlight,\n tokens,\n pending,\n i = 0;\n\n try {\n tokens = Lexer.lex(src, opt);\n } catch (e) {\n return callback(e);\n }\n\n pending = tokens.length;\n\n var done = function(err) {\n if (err) {\n opt.highlight = highlight;\n return callback(err);\n }\n\n var out;\n\n try {\n out = Parser.parse(tokens, opt);\n } catch (e) {\n err = e;\n }\n\n opt.highlight = highlight;\n\n return err\n ? callback(err)\n : callback(null, out);\n };\n\n if (!highlight || highlight.length < 3) {\n return done();\n }\n\n delete opt.highlight;\n\n if (!pending) return done();\n\n for (; i < tokens.length; i++) {\n (function(token) {\n if (token.type !== 'code') {\n return --pending || done();\n }\n return highlight(token.text, token.lang, function(err, code) {\n if (err) return done(err);\n if (code == null || code === token.text) {\n return --pending || done();\n }\n token.text = code;\n token.escaped = true;\n --pending || done();\n });\n })(tokens[i]);\n }\n\n return;\n }\n try {\n if (opt) opt = merge({}, marked.defaults, opt);\n checkSanitizeDeprecation(opt);\n return Parser.parse(Lexer.lex(src, opt), opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if ((opt || marked.defaults).silent) {\n return '

    An error occurred:

    '\n        + escape(e.message + '', true)\n        + '
    ';\n }\n throw e;\n }\n}\n\n/**\n * Options\n */\n\nmarked.options =\nmarked.setOptions = function(opt) {\n merge(marked.defaults, opt);\n return marked;\n};\n\nmarked.getDefaults = function() {\n return {\n baseUrl: null,\n breaks: false,\n gfm: true,\n headerIds: true,\n headerPrefix: '',\n highlight: null,\n langPrefix: 'language-',\n mangle: true,\n pedantic: false,\n renderer: new Renderer(),\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartLists: false,\n smartypants: false,\n xhtml: false\n };\n};\n\nmarked.defaults = marked.getDefaults();\n\n/**\n * Expose\n */\n\nmarked.Parser = Parser;\nmarked.parser = Parser.parse;\n\nmarked.Renderer = Renderer;\nmarked.TextRenderer = TextRenderer;\n\nmarked.Lexer = Lexer;\nmarked.lexer = Lexer.lex;\n\nmarked.InlineLexer = InlineLexer;\nmarked.inlineLexer = InlineLexer.output;\n\nmarked.Slugger = Slugger;\n\nmarked.parse = marked;\n\nif (typeof module !== 'undefined' && typeof exports === 'object') {\n module.exports = marked;\n} else if (typeof define === 'function' && define.amd) {\n define(function() { return marked; });\n} else {\n root.marked = marked;\n}\n})(this || (typeof window !== 'undefined' ? window : global));\n","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.DOMPurify = factory());\n}(this, (function () { 'use strict';\n\nfunction _toConsumableArray$1(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar hasOwnProperty = Object.hasOwnProperty;\nvar setPrototypeOf = Object.setPrototypeOf;\nvar isFrozen = Object.isFrozen;\nvar objectKeys = Object.keys;\nvar freeze = Object.freeze;\nvar seal = Object.seal; // eslint-disable-line import/no-mutable-exports\n\nvar _ref = typeof Reflect !== 'undefined' && Reflect;\nvar apply = _ref.apply;\nvar construct = _ref.construct;\n\nif (!apply) {\n apply = function apply(fun, thisValue, args) {\n return fun.apply(thisValue, args);\n };\n}\n\nif (!freeze) {\n freeze = function freeze(x) {\n return x;\n };\n}\n\nif (!seal) {\n seal = function seal(x) {\n return x;\n };\n}\n\nif (!construct) {\n construct = function construct(Func, args) {\n return new (Function.prototype.bind.apply(Func, [null].concat(_toConsumableArray$1(args))))();\n };\n}\n\nvar arrayForEach = unapply(Array.prototype.forEach);\nvar arrayIndexOf = unapply(Array.prototype.indexOf);\nvar arrayJoin = unapply(Array.prototype.join);\nvar arrayPop = unapply(Array.prototype.pop);\nvar arrayPush = unapply(Array.prototype.push);\nvar arraySlice = unapply(Array.prototype.slice);\n\nvar stringToLowerCase = unapply(String.prototype.toLowerCase);\nvar stringMatch = unapply(String.prototype.match);\nvar stringReplace = unapply(String.prototype.replace);\nvar stringIndexOf = unapply(String.prototype.indexOf);\nvar stringTrim = unapply(String.prototype.trim);\n\nvar regExpTest = unapply(RegExp.prototype.test);\nvar regExpCreate = unconstruct(RegExp);\n\nvar typeErrorCreate = unconstruct(TypeError);\n\nfunction 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\nfunction 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\n/* Add properties to a lookup table */\nfunction 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 while (l--) {\n var element = array[l];\n if (typeof element === 'string') {\n var lcElement = stringToLowerCase(element);\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\n/* Shallow clone an object */\nfunction clone(object) {\n var newObject = {};\n\n var property = void 0;\n for (property in object) {\n if (apply(hasOwnProperty, object, [property])) {\n newObject[property] = object[property];\n }\n }\n\n return newObject;\n}\n\nvar 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', '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\n// SVG\nvar svg = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'audio', 'canvas', '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', 'video', 'view', 'vkern']);\n\nvar 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']);\n\nvar 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']);\n\nvar text = freeze(['#text']);\n\nvar html$1 = freeze(['accept', 'action', 'align', 'alt', 'autocomplete', 'background', 'bgcolor', 'border', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'coords', 'crossorigin', 'datetime', 'default', 'dir', 'disabled', 'download', 'enctype', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'integrity', 'ismap', 'label', 'lang', 'list', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'name', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', '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', 'type', 'usemap', 'valign', 'value', 'width', 'xmlns']);\n\nvar svg$1 = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', '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', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', '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\nvar 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\nvar xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);\n\nvar MUSTACHE_EXPR = seal(/\\{\\{[\\s\\S]*|[\\s\\S]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\nvar ERB_EXPR = seal(/<%[\\s\\S]*|[\\s\\S]*%>/gm);\nvar DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]/); // eslint-disable-line no-useless-escape\nvar ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\nvar 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);\nvar IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nvar ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205f\\u3000]/g // eslint-disable-line no-control-regex\n);\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar getGlobal = function getGlobal() {\n return typeof window === 'undefined' ? null : window;\n};\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 */\nvar _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, document) {\n if ((typeof trustedTypes === 'undefined' ? 'undefined' : _typeof(trustedTypes)) !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n return null;\n }\n\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 var suffix = null;\n var ATTR_NAME = 'data-tt-policy-suffix';\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 (error) {\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\nfunction 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 /**\n * Version label, exposed for easier checks\n * if DOMPurify is up to date or not\n */\n DOMPurify.version = '2.0.8';\n\n /**\n * Array of elements that DOMPurify removed during sanitation.\n * Empty if nothing was removed.\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\n return DOMPurify;\n }\n\n var originalDocument = window.document;\n var useDOMParser = false;\n var removeTitle = false;\n\n var document = window.document;\n var DocumentFragment = window.DocumentFragment,\n HTMLTemplateElement = window.HTMLTemplateElement,\n Node = window.Node,\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\n // 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 if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n\n var trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, originalDocument);\n var emptyHTML = trustedTypesPolicy ? trustedTypesPolicy.createHTML('') : '';\n\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\n\n var hooks = {};\n\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n DOMPurify.isSupported = implementation && typeof implementation.createHTMLDocument !== 'undefined' && document.documentMode !== 9;\n\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 /**\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(html), _toConsumableArray(svg), _toConsumableArray(svgFilters), _toConsumableArray(mathMl), _toConsumableArray(text)));\n\n /* Allowed attribute names */\n var ALLOWED_ATTR = null;\n var DEFAULT_ALLOWED_ATTR = addToSet({}, [].concat(_toConsumableArray(html$1), _toConsumableArray(svg$1), _toConsumableArray(mathMl$1), _toConsumableArray(xml)));\n\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n var FORBID_TAGS = null;\n\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n var FORBID_ATTR = null;\n\n /* Decide if ARIA attributes are okay */\n var ALLOW_ARIA_ATTR = true;\n\n /* Decide if custom data attributes are okay */\n var ALLOW_DATA_ATTR = true;\n\n /* Decide if unknown protocols are okay */\n var ALLOW_UNKNOWN_PROTOCOLS = false;\n\n /* Output should be safe for jQuery's $() factory? */\n var SAFE_FOR_JQUERY = false;\n\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n var SAFE_FOR_TEMPLATES = false;\n\n /* Decide if document with ... should be returned */\n var WHOLE_DOCUMENT = false;\n\n /* Track whether config is already set on this instance of DOMPurify. */\n var SET_CONFIG = false;\n\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 var FORCE_BODY = false;\n\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 var RETURN_DOM = false;\n\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 var RETURN_DOM_FRAGMENT = false;\n\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 var RETURN_DOM_IMPORT = false;\n\n /* Try to return a Trusted Type object instead of a string, retrun a string in\n * case Trusted Types are not supported */\n var RETURN_TRUSTED_TYPE = false;\n\n /* Output should be free from DOM clobbering attacks? */\n var SANITIZE_DOM = true;\n\n /* Keep element content when removing element? */\n var KEEP_CONTENT = true;\n\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 var IN_PLACE = false;\n\n /* Allow usage of profiles like html, svg and mathMl */\n var USE_PROFILES = {};\n\n /* Tags to ignore content of when KEEP_CONTENT is true */\n var FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n\n /* Tags that are safe for data: URIs */\n var DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image']);\n\n /* Attributes safe for values like \"javascript:\" */\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\n /* Keep a reference to config to pass to hooks */\n var CONFIG = null;\n\n /* Ideally, do not touch anything below this line */\n /* ______________________________________________ */\n\n var formElement = document.createElement('form');\n\n /**\n * _parseConfig\n *\n * @param {Object} cfg optional config literal\n */\n // eslint-disable-next-line complexity\n var _parseConfig = function _parseConfig(cfg) {\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n\n /* Shield configuration object from tampering */\n if (!cfg || (typeof cfg === 'undefined' ? 'undefined' : _typeof(cfg)) !== 'object') {\n cfg = {};\n }\n\n /* Set configuration parameters */\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 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 ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n SAFE_FOR_JQUERY = cfg.SAFE_FOR_JQUERY || false; // Default false\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n RETURN_DOM_IMPORT = cfg.RETURN_DOM_IMPORT || false; // Default false\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n IS_ALLOWED_URI$$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI$$1;\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n\n /* Parse profile info */\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, [].concat(_toConsumableArray(text)));\n ALLOWED_ATTR = [];\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\n /* Merge configuration parameters */\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\n /* Add #text in case KEEP_CONTENT is set to true */\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n }\n\n // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n if (freeze) {\n freeze(cfg);\n }\n\n CONFIG = cfg;\n };\n\n /**\n * _forceRemove\n *\n * @param {Node} node a DOM node\n */\n var _forceRemove = function _forceRemove(node) {\n arrayPush(DOMPurify.removed, { element: node });\n try {\n node.parentNode.removeChild(node);\n } catch (error) {\n node.outerHTML = emptyHTML;\n }\n };\n\n /**\n * _removeAttribute\n *\n * @param {String} name an Attribute name\n * @param {Node} node a DOM node\n */\n var _removeAttribute = function _removeAttribute(name, node) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: node.getAttributeNode(name),\n from: node\n });\n } catch (error) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: node\n });\n }\n\n node.removeAttribute(name);\n };\n\n /**\n * _initDocument\n *\n * @param {String} dirty a string of dirty markup\n * @return {Document} a DOM, filled with the dirty markup\n */\n var _initDocument = function _initDocument(dirty) {\n /* Create a HTML document */\n var doc = void 0;\n var leadingWhitespace = void 0;\n\n if (FORCE_BODY) {\n dirty = '' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n var matches = stringMatch(dirty, /^[\\s]+/);\n leadingWhitespace = matches && matches[0];\n }\n\n var dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;\n /* Use DOMParser to workaround Firefox bug (see comment below) */\n if (useDOMParser) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, 'text/html');\n } catch (error) {}\n }\n\n /* Remove title to fix a mXSS bug in older MS Edge */\n if (removeTitle) {\n addToSet(FORBID_TAGS, ['title']);\n }\n\n /* Otherwise use createHTMLDocument, because DOMParser is unsafe in\n Safari (see comment below) */\n if (!doc || !doc.documentElement) {\n doc = implementation.createHTMLDocument('');\n var _doc = doc,\n body = _doc.body;\n\n body.parentNode.removeChild(body.parentNode.firstElementChild);\n body.outerHTML = dirtyPayload;\n }\n\n if (dirty && leadingWhitespace) {\n doc.body.insertBefore(document.createTextNode(leadingWhitespace), doc.body.childNodes[0] || null);\n }\n\n /* Work on whole document or just its body */\n return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n };\n\n // Firefox uses a different parser for innerHTML rather than\n // DOMParser (see https://bugzilla.mozilla.org/show_bug.cgi?id=1205631)\n // which means that you *must* use DOMParser, otherwise the output may\n // not be safe if used in a document.write context later.\n //\n // So we feature detect the Firefox bug and use the DOMParser if necessary.\n //\n // Chrome 77 and other versions ship an mXSS bug that caused a bypass to\n // happen. We now check for the mXSS trigger and react accordingly.\n if (DOMPurify.isSupported) {\n (function () {\n try {\n var doc = _initDocument('

    ');\n if (doc.querySelector('svg img')) {\n useDOMParser = true;\n }\n } catch (error) {}\n })();\n\n (function () {\n try {\n var doc = _initDocument('</title><img>');\n if (regExpTest(/<\\/title/, doc.querySelector('title').innerHTML)) {\n removeTitle = true;\n }\n } catch (error) {}\n })();\n }\n\n /**\n * _createIterator\n *\n * @param {Document} root document/fragment to create iterator for\n * @return {Iterator} iterator instance\n */\n var _createIterator = function _createIterator(root) {\n return createNodeIterator.call(root.ownerDocument || root, root, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT, function () {\n return NodeFilter.FILTER_ACCEPT;\n }, false);\n };\n\n /**\n * _isClobbered\n *\n * @param {Node} elm element to check for clobbering attacks\n * @return {Boolean} true if clobbered, false if safe\n */\n var _isClobbered = function _isClobbered(elm) {\n if (elm instanceof Text || elm instanceof Comment) {\n return false;\n }\n\n if (typeof elm.nodeName !== 'string' || typeof elm.textContent !== 'string' || typeof elm.removeChild !== 'function' || !(elm.attributes instanceof NamedNodeMap) || typeof elm.removeAttribute !== 'function' || typeof elm.setAttribute !== 'function' || typeof elm.namespaceURI !== 'string') {\n return true;\n }\n\n return false;\n };\n\n /**\n * _isNode\n *\n * @param {Node} obj object to check whether it's a DOM node\n * @return {Boolean} true is object is a DOM node\n */\n var _isNode = function _isNode(obj) {\n return (typeof Node === 'undefined' ? 'undefined' : _typeof(Node)) === 'object' ? obj instanceof Node : obj && (typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object' && typeof obj.nodeType === 'number' && typeof obj.nodeName === 'string';\n };\n\n /**\n * _executeHook\n * Execute user configurable hooks\n *\n * @param {String} entryPoint Name of the hook's entry point\n * @param {Node} currentNode node to work on with the hook\n * @param {Object} data additional hook parameters\n */\n var _executeHook = function _executeHook(entryPoint, currentNode, data) {\n if (!hooks[entryPoint]) {\n return;\n }\n\n arrayForEach(hooks[entryPoint], function (hook) {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n };\n\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n *\n * @param {Node} currentNode to check for permission to exist\n * @return {Boolean} true if node was killed, false if left alive\n */\n // eslint-disable-next-line complexity\n var _sanitizeElements = function _sanitizeElements(currentNode) {\n var content = void 0;\n\n /* Execute a hook if present */\n _executeHook('beforeSanitizeElements', currentNode, null);\n\n /* Check if element is clobbered or can clobber */\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Now let's check the element's type and name */\n var tagName = stringToLowerCase(currentNode.nodeName);\n\n /* Execute a hook if present */\n _executeHook('uponSanitizeElement', currentNode, {\n tagName: tagName,\n allowedTags: ALLOWED_TAGS\n });\n\n /* Take care of an mXSS pattern using p, br inside svg, math */\n if ((tagName === 'svg' || tagName === 'math') && currentNode.querySelectorAll('p, br').length !== 0) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Remove element if anything forbids its presence */\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n /* Keep content except for black-listed elements */\n if (KEEP_CONTENT && !FORBID_CONTENTS[tagName] && typeof currentNode.insertAdjacentHTML === 'function') {\n try {\n var htmlToInsert = currentNode.innerHTML;\n currentNode.insertAdjacentHTML('AfterEnd', trustedTypesPolicy ? trustedTypesPolicy.createHTML(htmlToInsert) : htmlToInsert);\n } catch (error) {}\n }\n\n _forceRemove(currentNode);\n return true;\n }\n\n /* Remove in case a noscript/noembed XSS is suspected */\n if (tagName === 'noscript' && regExpTest(/<\\/noscript/i, currentNode.innerHTML)) {\n _forceRemove(currentNode);\n return true;\n }\n\n if (tagName === 'noembed' && regExpTest(/<\\/noembed/i, currentNode.innerHTML)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Convert markup to cover jQuery behavior */\n if (SAFE_FOR_JQUERY && !currentNode.firstElementChild && (!currentNode.content || !currentNode.content.firstElementChild) && regExpTest(/</g, currentNode.textContent)) {\n arrayPush(DOMPurify.removed, { element: currentNode.cloneNode() });\n if (currentNode.innerHTML) {\n currentNode.innerHTML = stringReplace(currentNode.innerHTML, /</g, '<');\n } else {\n currentNode.innerHTML = stringReplace(currentNode.textContent, /</g, '<');\n }\n }\n\n /* Sanitize element content to be template-safe */\n if (SAFE_FOR_TEMPLATES && currentNode.nodeType === 3) {\n /* Get the element's text content */\n content = currentNode.textContent;\n content = stringReplace(content, MUSTACHE_EXPR$$1, ' ');\n content = stringReplace(content, ERB_EXPR$$1, ' ');\n if (currentNode.textContent !== content) {\n arrayPush(DOMPurify.removed, { element: currentNode.cloneNode() });\n currentNode.textContent = content;\n }\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeElements', currentNode, null);\n\n return false;\n };\n\n /**\n * _isValidAttribute\n *\n * @param {string} lcTag Lowercase tag name of containing element.\n * @param {string} lcName Lowercase attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid, otherwise false.\n */\n // eslint-disable-next-line complexity\n var _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {\n /* Make sure attribute cannot clobber */\n if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {\n return false;\n }\n\n /* Allow valid data-* attributes: At least one character after \"-\"\n (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n We don't need to check the value; it's always URI safe. */\n if (ALLOW_DATA_ATTR && regExpTest(DATA_ATTR$$1, lcName)) {\n // This attribute is safe\n } else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR$$1, lcName)) {\n // This attribute is safe\n /* Otherwise, check the name is permitted */\n } else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {\n return false;\n\n /* Check value is safe. First, is attr inert? If so, is safe */\n } else if (URI_SAFE_ATTRIBUTES[lcName]) {\n // This attribute is safe\n /* Check no script, data or unknown possibly unsafe URI\n unless we know URI values are safe for that attribute */\n } else if (regExpTest(IS_ALLOWED_URI$$1, stringReplace(value, ATTR_WHITESPACE$$1, ''))) {\n // This attribute is safe\n /* Keep image data URIs alive if src/xlink:href is allowed */\n /* Further prevent gadget XSS for dynamically built script tags */\n } else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) {\n // This attribute is safe\n /* Allow unknown protocols: This provides support for links that\n are handled by protocol handlers which may be unknown ahead of\n time, e.g. fb:, spotify: */\n } else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA$$1, stringReplace(value, ATTR_WHITESPACE$$1, ''))) {\n // This attribute is safe\n /* Check for binary attributes */\n // eslint-disable-next-line no-negated-condition\n } else if (!value) {\n // Binary attributes are safe at this point\n /* Anything else, presume unsafe, do not add it back */\n } else {\n return false;\n }\n\n return true;\n };\n\n /**\n * _sanitizeAttributes\n *\n * @protect attributes\n * @protect nodeName\n * @protect removeAttribute\n * @protect setAttribute\n *\n * @param {Node} currentNode to sanitize\n */\n // eslint-disable-next-line complexity\n var _sanitizeAttributes = function _sanitizeAttributes(currentNode) {\n var attr = void 0;\n var value = void 0;\n var lcName = void 0;\n var idAttr = void 0;\n var l = void 0;\n /* Execute a hook if present */\n _executeHook('beforeSanitizeAttributes', currentNode, null);\n\n var attributes = currentNode.attributes;\n\n /* Check if we have attributes; if not we might have a text node */\n\n if (!attributes) {\n return;\n }\n\n var hookEvent = {\n attrName: '',\n attrValue: '',\n keepAttr: true,\n allowedAttributes: ALLOWED_ATTR\n };\n l = attributes.length;\n\n /* Go backwards over all attributes; safely remove bad ones */\n while (l--) {\n attr = attributes[l];\n var _attr = attr,\n name = _attr.name,\n namespaceURI = _attr.namespaceURI;\n\n value = stringTrim(attr.value);\n lcName = stringToLowerCase(name);\n\n /* Execute a hook if present */\n hookEvent.attrName = lcName;\n hookEvent.attrValue = value;\n hookEvent.keepAttr = true;\n hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set\n _executeHook('uponSanitizeAttribute', currentNode, hookEvent);\n value = hookEvent.attrValue;\n /* Did the hooks approve of the attribute? */\n if (hookEvent.forceKeepAttr) {\n continue;\n }\n\n /* Remove attribute */\n // Safari (iOS + Mac), last tested v8.0.5, crashes if you try to\n // remove a \"name\" attribute from an <img> tag that has an \"id\"\n // attribute at the time.\n if (lcName === 'name' && currentNode.nodeName === 'IMG' && attributes.id) {\n idAttr = attributes.id;\n attributes = arraySlice(attributes, []);\n _removeAttribute('id', currentNode);\n _removeAttribute(name, currentNode);\n if (arrayIndexOf(attributes, idAttr) > l) {\n currentNode.setAttribute('id', idAttr.value);\n }\n } else if (\n // This works around a bug in Safari, where input[type=file]\n // cannot be dynamically set after type has been removed\n currentNode.nodeName === 'INPUT' && lcName === 'type' && value === 'file' && hookEvent.keepAttr && (ALLOWED_ATTR[lcName] || !FORBID_ATTR[lcName])) {\n continue;\n } else {\n // This avoids a crash in Safari v9.0 with double-ids.\n // The trick is to first set the id to be empty and then to\n // remove the attribute\n if (name === 'id') {\n currentNode.setAttribute(name, '');\n }\n\n _removeAttribute(name, currentNode);\n }\n\n /* Did the hooks approve of the attribute? */\n if (!hookEvent.keepAttr) {\n continue;\n }\n\n /* Work around a security issue in jQuery 3.0 */\n if (SAFE_FOR_JQUERY && regExpTest(/\\/>/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n\n /* Take care of an mXSS pattern using namespace switches */\n if (regExpTest(/svg|math/i, currentNode.namespaceURI) && regExpTest(regExpCreate('</(' + arrayJoin(objectKeys(FORBID_CONTENTS), '|') + ')', 'i'), value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n\n /* Sanitize attribute content to be template-safe */\n if (SAFE_FOR_TEMPLATES) {\n value = stringReplace(value, MUSTACHE_EXPR$$1, ' ');\n value = stringReplace(value, ERB_EXPR$$1, ' ');\n }\n\n /* Is `value` valid for this attribute? */\n var lcTag = currentNode.nodeName.toLowerCase();\n if (!_isValidAttribute(lcTag, lcName, value)) {\n continue;\n }\n\n /* Handle invalid data-* attribute set by try-catching it */\n try {\n if (namespaceURI) {\n currentNode.setAttributeNS(namespaceURI, name, value);\n } else {\n /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n currentNode.setAttribute(name, value);\n }\n\n arrayPop(DOMPurify.removed);\n } catch (error) {}\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeAttributes', currentNode, null);\n };\n\n /**\n * _sanitizeShadowDOM\n *\n * @param {DocumentFragment} fragment to iterate over recursively\n */\n var _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {\n var shadowNode = void 0;\n var shadowIterator = _createIterator(fragment);\n\n /* Execute a hook if present */\n _executeHook('beforeSanitizeShadowDOM', fragment, null);\n\n while (shadowNode = shadowIterator.nextNode()) {\n /* Execute a hook if present */\n _executeHook('uponSanitizeShadowNode', shadowNode, null);\n\n /* Sanitize tags and elements */\n if (_sanitizeElements(shadowNode)) {\n continue;\n }\n\n /* Deep shadow DOM detected */\n if (shadowNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(shadowNode.content);\n }\n\n /* Check attributes, sanitize if necessary */\n _sanitizeAttributes(shadowNode);\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeShadowDOM', fragment, null);\n };\n\n /**\n * Sanitize\n * Public method providing core sanitation functionality\n *\n * @param {String|Node} dirty string or DOM node\n * @param {Object} configuration object\n */\n // eslint-disable-next-line complexity\n DOMPurify.sanitize = function (dirty, cfg) {\n var body = void 0;\n var importedNode = void 0;\n var currentNode = void 0;\n var oldNode = void 0;\n var returnNode = void 0;\n /* Make sure we have a string to sanitize.\n DO NOT return early, as this will return the wrong type if\n the user has requested a DOM object rather than a string */\n if (!dirty) {\n dirty = '<!-->';\n }\n\n /* Stringify, in case dirty is an object */\n if (typeof dirty !== 'string' && !_isNode(dirty)) {\n // eslint-disable-next-line no-negated-condition\n if (typeof dirty.toString !== 'function') {\n throw typeErrorCreate('toString is not a function');\n } else {\n dirty = dirty.toString();\n if (typeof dirty !== 'string') {\n throw typeErrorCreate('dirty is not a string, aborting');\n }\n }\n }\n\n /* Check we can run. Otherwise fall back or ignore */\n if (!DOMPurify.isSupported) {\n if (_typeof(window.toStaticHTML) === 'object' || typeof window.toStaticHTML === 'function') {\n if (typeof dirty === 'string') {\n return window.toStaticHTML(dirty);\n }\n\n if (_isNode(dirty)) {\n return window.toStaticHTML(dirty.outerHTML);\n }\n }\n\n return dirty;\n }\n\n /* Assign config vars */\n if (!SET_CONFIG) {\n _parseConfig(cfg);\n }\n\n /* Clean up removed elements */\n DOMPurify.removed = [];\n\n /* Check if dirty is correctly typed for IN_PLACE */\n if (typeof dirty === 'string') {\n IN_PLACE = false;\n }\n\n if (IN_PLACE) {\n /* No special handling necessary for in-place sanitization */\n } else if (dirty instanceof Node) {\n /* If dirty is a DOM element, append to an empty document to avoid\n elements being stripped by the parser */\n body = _initDocument('<!-->');\n importedNode = body.ownerDocument.importNode(dirty, true);\n if (importedNode.nodeType === 1 && importedNode.nodeName === 'BODY') {\n /* Node is already a body, use as is */\n body = importedNode;\n } else if (importedNode.nodeName === 'HTML') {\n body = importedNode;\n } else {\n // eslint-disable-next-line unicorn/prefer-node-append\n body.appendChild(importedNode);\n }\n } else {\n /* Exit directly if we have nothing to do */\n if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT && RETURN_TRUSTED_TYPE && dirty.indexOf('<') === -1) {\n return trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;\n }\n\n /* Initialize the document to work on */\n body = _initDocument(dirty);\n\n /* Check we have a DOM node from the data */\n if (!body) {\n return RETURN_DOM ? null : emptyHTML;\n }\n }\n\n /* Remove first element node (ours) if FORCE_BODY is set */\n if (body && FORCE_BODY) {\n _forceRemove(body.firstChild);\n }\n\n /* Get node iterator */\n var nodeIterator = _createIterator(IN_PLACE ? dirty : body);\n\n /* Now start iterating over the created document */\n while (currentNode = nodeIterator.nextNode()) {\n /* Fix IE's strange behavior with manipulated textNodes #89 */\n if (currentNode.nodeType === 3 && currentNode === oldNode) {\n continue;\n }\n\n /* Sanitize tags and elements */\n if (_sanitizeElements(currentNode)) {\n continue;\n }\n\n /* Shadow DOM detected, sanitize it */\n if (currentNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(currentNode.content);\n }\n\n /* Check attributes, sanitize if necessary */\n _sanitizeAttributes(currentNode);\n\n oldNode = currentNode;\n }\n\n oldNode = null;\n\n /* If we sanitized `dirty` in-place, return it. */\n if (IN_PLACE) {\n return dirty;\n }\n\n /* Return sanitized string or DOM */\n if (RETURN_DOM) {\n if (RETURN_DOM_FRAGMENT) {\n returnNode = createDocumentFragment.call(body.ownerDocument);\n\n while (body.firstChild) {\n // eslint-disable-next-line unicorn/prefer-node-append\n returnNode.appendChild(body.firstChild);\n }\n } else {\n returnNode = body;\n }\n\n if (RETURN_DOM_IMPORT) {\n /* AdoptNode() is not used because internal state is not reset\n (e.g. the past names map of a HTMLFormElement), this is safe\n in theory but we would rather not risk another attack vector.\n The state that is cloned by importNode() is explicitly defined\n by the specs. */\n returnNode = importNode.call(originalDocument, returnNode, true);\n }\n\n return returnNode;\n }\n\n var serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n\n /* Sanitize final string template-safe */\n if (SAFE_FOR_TEMPLATES) {\n serializedHTML = stringReplace(serializedHTML, MUSTACHE_EXPR$$1, ' ');\n serializedHTML = stringReplace(serializedHTML, ERB_EXPR$$1, ' ');\n }\n\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;\n };\n\n /**\n * Public method to set the configuration once\n * setConfig\n *\n * @param {Object} cfg configuration object\n */\n DOMPurify.setConfig = function (cfg) {\n _parseConfig(cfg);\n SET_CONFIG = true;\n };\n\n /**\n * Public method to remove the configuration\n * clearConfig\n *\n */\n DOMPurify.clearConfig = function () {\n CONFIG = null;\n SET_CONFIG = false;\n };\n\n /**\n * Public method to check if an attribute value is valid.\n * Uses last set config, if any. Otherwise, uses config defaults.\n * isValidAttribute\n *\n * @param {string} tag Tag name of containing element.\n * @param {string} attr Attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid. Otherwise, returns false.\n */\n DOMPurify.isValidAttribute = function (tag, attr, value) {\n /* Initialize shared config vars if necessary. */\n if (!CONFIG) {\n _parseConfig({});\n }\n\n var lcTag = stringToLowerCase(tag);\n var lcName = stringToLowerCase(attr);\n return _isValidAttribute(lcTag, lcName, value);\n };\n\n /**\n * AddHook\n * Public method to add DOMPurify hooks\n *\n * @param {String} entryPoint entry point for the hook to add\n * @param {Function} hookFunction function to execute\n */\n DOMPurify.addHook = function (entryPoint, hookFunction) {\n if (typeof hookFunction !== 'function') {\n return;\n }\n\n hooks[entryPoint] = hooks[entryPoint] || [];\n arrayPush(hooks[entryPoint], hookFunction);\n };\n\n /**\n * RemoveHook\n * Public method to remove a DOMPurify hook at a given entryPoint\n * (pops it from the stack of hooks if more are present)\n *\n * @param {String} entryPoint entry point for the hook to remove\n */\n DOMPurify.removeHook = function (entryPoint) {\n if (hooks[entryPoint]) {\n arrayPop(hooks[entryPoint]);\n }\n };\n\n /**\n * RemoveHooks\n * Public method to remove all DOMPurify hooks at a given entryPoint\n *\n * @param {String} entryPoint entry point for the hooks to remove\n */\n DOMPurify.removeHooks = function (entryPoint) {\n if (hooks[entryPoint]) {\n hooks[entryPoint] = [];\n }\n };\n\n /**\n * RemoveAllHooks\n * Public method to remove all DOMPurify hooks\n *\n */\n DOMPurify.removeAllHooks = function () {\n hooks = {};\n };\n\n return DOMPurify;\n}\n\nvar purify = createDOMPurify();\n\nreturn purify;\n\n})));\n//# sourceMappingURL=purify.js.map\n"],"sourceRoot":""}